1. The timeline should be easy to read. This is of high importance as there is bound to be a lot of information most of which a doctor might not want to spend time on. He/she would want to concentrate on the big picture. If a person has say, diabetes, that is important. But a visit to a doctor for say, common cold is not.
One way to solve this issue would be to use bigger font sizes and a variety of colors to indicate the event. Diabetes would be a big font with a red background. Similarly if a lab test was done and the reports were negative for a disease, it could have a green background and so on.
The basic idea here being that the doctor would not miss much if he takes a look only at the items marked in red. Thus he would have a decent idea of the patient's medical history.
2. Timeline should not display all information regarding the visit upfront. Only key data is displayed (such as final diagnosis). On clicking, more information such as the drugs prescribed and lab test results can be shown. This ensures a clean look for the application.
3. There should be an easy way to write to the application. Ideally, a web based form would be enough. How that is managed would depend on the technology we make use of. (Pure JS, python or desktop app with embedded web page viewer? - just a few rough ideas here.)
4. Export and import features are critical to this project in my opinion. Without it, this project would not make much sense and the timeline is likely to be duplicated and broken by visits to different hospitals or doctors. This defeats the purpose of the project.
Such a feature would depend on the framework used as it depends on the model that is used to store data. Ex: timeglider uses JSON. Others may prefer XML. Also this would determine the way in which a doctor or a user enters the data to be added on to the timeline.
5. Ideally, the timeline should contain options to store data such as scan images, reports, prescriptions etc, the complete set of medical records.
These are a few things i came up with. They are just my thoughts on the project. It is, at the moment, a rough draft. I would be glad to refine it further in the next few days accumulating new ideas. I would welcome any suggestions that you may have as well and corrections in case i misunderstood the intent of the project.