Child pages
  • Patient Data Based Timeline Module
Skip to end of metadata
Go to start of metadata

2014 Internship Project

This project is being considered as a potential project for 2014 Internships. If you are a potential intern and are interested in working on this project, please discuss it in detail with the mentor(s) listed here before submitting your internship proposal.

Primary mentor

Harsha Kumara

Backup mentor


Assigned to



Viewing patient data by going through all the sections in patient profile is burden for users in many occasions. The main objective of this module is to implement a user friendly timeline of patient activities. Patient profile associate with observations, encounters, lab reports, images etc. Viewing the order of activities happen with the time is very useful in observing patient profile data over the time. So this module will be very useful for users of OpenMRS under various roles to see the patient activities over the time. Implementer should careful about exposing patient data to various roles and needs to have set of wel define priviledges to view data of a patient.


  1. Create a new module following Creating Modules (improve the documentation if needed)
  2. Apply for a repository at and a JIRA project
  3. Create tickets in JIRA for tasks to be completed during GSoC
  4. Look for all the possibilities of data available in patient profile to include as timeline events
  5. Prepare a weldefine set of priviledges required to view data
  6. Design a appropriate interface for display timeline of a particular patient
  7. Images and other documents needs to display in the timeline in a proper manner like twitter or Facebook
  8. Timeline should be filter by each category such as observations, encounters etc.
  9. Design a effective user interface which can easily manage and use by users
  10. Wike page needs to be develop for usage of this module
  11. Timeline should be dynamically loaded

Extra Credit

  • Use Ajax support as applicable as possible when loading data
  • Make it possible to extend this module to load data to timeline from custom modules 


  • No labels


  1. this is a great idea. giving this the Facebook kind of felling is much much better.

  2. This is very interesting project. How can I get more information about this project ?

  3. Harsha would update this page very soon. Since you have commented in this thread. you will receive notifications when he makes any changes. Thanks

  4. You can start creating the proposal. Meanwhile make sure your contributions to OpenMRS got count when selecting the best proposal. This project is mainly focus on patient data viewing. Design a facebook like simple timeline for view patient data over the time. So it will be easy for Doctor or other related people to go through the patient activities over the time. Now situation is, related person needs to go through the whole patient profile to understand the how activities relates to each other. 

  5. Also suggest people who interested on this project to look at the patient dashboard and identify the related events which can listed in the patient profile. For now I mostly target on designing solid model for data viewing.Then it can expand to data coming through openMRS modules too. 

  6. Thanks for the details Harsha. Can I know what kind of activities should view in the time line. Are they medical reports time to time? 

  7. In OpenMRS there are many activities relates to patient.There are observations,visitis, encounters, reports, x-rays etc... These activities needs to view in the patient timeline. And also you needs to do a research on what kind of activities can extract from the patient dashboard of openmrs. Also if you still didn't contribute to openmrs, I highly recommend you to start contributing by fixing couple of bugs, so chances are getting higher for selecting for openmrs. It will help to familiar with technologies used in openmrs too.  

  8. Hi Harsha,
    I am familiar with the technology for rendering data as timeline, data such as images, text data etc.
    I am very much familiar with OpenMRS database I already worked upon it, what I am thinking we can categories the view in timeline ,what data patients want to see in his Timeline ie 1. Full data(Full timeline ie all encounters,all observations,all orders,all images,all reports etc) OR 2. All observations 3. Drug prescription 4. Lab orders 5. Drug orders 6. All encounters. 
    Also we can add some Reports using BIRT (business Intelligence reporting tool) ie patient can view their reports and will be able to download them in either format pdf,doc,xls etc.

    I want to discuss this project with you and your organization in detail. Can we? 
    Harsh Chhabra( 

  9. Hi Harsh,

    Very good thoughts about the project.It's the main target of this module to have a complete patient timeline. You can discuss any issues relates to project with me(reach me at Meanwhile doing some contributions as hit couple of bugs will be more count you to select your proposal. Any contribution to OpenMRS will count (smile). Buzz me if you have any doubts. I'm more oftenly available in gtalk. 



  10. Hi harsha,
    I explored database again and thought of making Timeline  on the following data. 
    1. Observations : includes images of patients 'vector record image'.
    Concept description 

    2. All Encounters : includes encounter date and time and encounter type. 
    3. Vital sign : vital name date and value example : 

    Value : 99
    Date : time stamp 

    4.Orders : includes 
    Drug name 
    Type : syrup, capsule etc 
    Expire date 

    5 .medical images 

    Apart from that 
    Reports : Using java BIRT tool and integrated in to Web application. (able to download in pdf, doc, excel)

    Which reports we should include,which will be helpful in anyway to a patient ? 
    My suggestions :
    Drug prescription : should be able to download inorder to buy medicines. 

    X-ray and medical images: helpful if want to consult with someone. 

    What do you think about the Timeline module, what else it should have to make it unique? 

  11. Seems pretty good. And I also thinking about building this using new Reference Application User interfaces.That will make this more useful and attractive. I also want the implementer think about the way we can add custom data into the timeline field. Because there are some modules which also input data to the database.If we can have a way to take that data into the timeline, it will extend the usability of this module more. Think a about that aspect too.

    Filtering capability also highly needed. This use case comes when particular people want to see the specific events happen not the all the events. 

    These are some features which make this project unique.I'll think about more and posted in here. 

    Meanwhile make some contributions, chances getting high. (smile). You have a good idea about the project. 

  12. Hi harsha,

    I am creating a prototype asap. This is how I am implementing timeline.

    implementation detail of project:

    1.We will be using openmrs rest api's to access data.

    2.will display this data in components ie encounters ,vital sign,observations etc in time order of occurring of events.

    3. Can we insert something in to database ? As we discussed about adding of a  feature named 'add note' for each post of timeline ? 

    I am working on it right now will be back with somescreen shots.

    Implementations of downloadable reports(As I told you in mail how they going to be helpful for patients).

    1. Template will be designed using java BIRT.

    • for the reports Drug descriptions.
    • Lab and drug orders.
    • Reports eg. xray ,medical images .
    • Here we can can add more reports as well.

    2. We can integrate this reports with webapps using java BIRT api.

    3. Then clicking on any reports will display the report on web and will be able to download in any format excel , doc and pdf all supported by BIRT.

    give your feedback on this.








  13. Looks good Harsh, As I have seen we don't have Complex Obs support in OpenMRS REST API. You can query other data for sure. Yeas notes will be good feature to have in timeline. Also think

    about how we can have a mechanism to add data which coming from the custom modules.There may be several modules which contains their own data which would be nice to have in the timeline. 

    Having customize option to query data from that modules also would be good feature to have in the time line. It may can achieve specifying some customized queries through this module configuration.Also

    add some filtering support where user can spcify what needs to be in the timeline of a patient.

    All your thoughts are really good. (smile)

  14. Hi harsha,

    Can we fire sql query directly to database,instead of rest api ?

    For accessing the data from custom module and to insert data.


  15. yeah that's fine. But first look at is it achievable via REST API. May be you can extend REST module API through your module. That will standardize your module and further decouple it.  

  16. Okay right now I am thinking of accessing database directly Because as we are thinking of adding BIRT reports in timeline(Downloadable) which requires  sql  direct queries in  it's templates .

    2. I am mailing you some screeshots of timeline which I have created in past days give your feedback on same.

    Issues :

    Database access : Either we can access it directly by query or via rest api ,Is there any problem if we access it directly ? reports required direct access .

    Add Note feature : Requires to insert data corresponding to each component ,we can do it in either way.

    Use data coming from custom module : Obviously direct sql queries will be needed.

    3. What should be exact list of deliveries  ?

     - Timeline view of all data includes all encounters ,observations , drug prescriptions(BIRT) , All medical Images, all orders lab and drug (BIRT) ,what else do you see in timeline ? 

     - BIRT reports and its integration with web app.

     -  Add note features.

    Give your feedback on everything and let me know if I am leaving something.





    1. I always needs to have a effective user interface for this module where any person(Doctors) can go through the timeline very quickly. Always add filters and system needs to use ajax for data loading aspects. Viewing all the data at one time always not very effective and have a limit per view. (smile)

  17. yes, I am reading how we can apply filtering on data,I came to know that we can use jquery 'datatable' to filter data along with ajax and also we need to use ajax scroll events as user scrolls down more data will be added in to timeline , this add dynamic nature in the page.


  18. Hi, today I fixed an appointment  an appointment with 2 doctors in order to get the actual requirement regarding timeline and reports. As students applications already started ,we must specify actual list of deliveries and requirements .


  19. And also I have gone thorough this project in category  unassigned projects

    good news is that all requirements matches with my skills set and out patient timeline project.

    I am expertise in BIRT framework and I already worked on a BIRT reporting module for Raxa(opensource) which uses openMRS CMS as base and also for a private org named

    Project detail : 

    Harsha, should I start writing proposal now ?, if yes we need to design all requirement and implementation details .


  20. Yes you can start writing the proposal. Meanwhile do some contributions as I mentioned you. (smile). It will help to get additional marks when proposal rankings. That's really good to have some inputs from doctors, Meanwhile we can use openmrs user list for get more requirements once this project selected. We can have many input sources. So far I think project objectives are clear. As you did background research on many data will available for display in timeline is high requirements. Timeline should contain some configurations for users to display one they want. Good work!. (smile) .Placed the proposal and I will give you comments. (smile). Meanwhile I'm thinking some additional features to include in this project.

  21. Hi harsha,

    Yesterday I met with Dr. Ravi Gupta(M.B.B.S,Medical officer a Dwarka Health Center,Delhi) ,First I made him to understand what data we have then I asked what he would like to see in patient timeline dashboard  and Reports.

    Things suggested by him on timeline was :

    • Sharing of prescription and reports like xray ,blood   : he said what if we want something to share with doctor via email or something .
       -According to me as we are providing options to download BIRT reports such as Prescription,Reports and orders, then they can directly mail to desired person.
    • Alerts : Add some schedule events which keep alerting patient about his/her next meeting and medicine. This could be the nice feature to have ,we can think of it ,what do you say ?
      -For this particular what I remember is,In my 2nd year internship I worked on crone(Time based event)  that code and programming knowledge can help us. 
    • Security : He suggested that whatever you do it must be secure because patient's data must be confidential even between doctors .
      -For this we need patient's patients user loing ,Do we have database for patients login and password ? OR First we need to register them and add database for it ?

    Various Reports Suggested by Him:

    • -Hematology tests(which Includes various Blood test depending upon patient diseases)
      -URINE test
      -Report on Billing and accounts
      -H1N1 test report(common test)
      -Widal test report(common test) etc.
      -this reports suggested by him as a doctor , I think we don't have data for such reports,right ? So should we include such reports ,if yes we need to design some pages to get such data.

      Otherwise we will have reports for all data we have ie 

    • -A long reports on all encounter any patients had in time manner.

    • Report on on what day what observation he had.(Observation report )

    • Order and purchase report includes Drug and lab orders.
      Suggest my any other report coming in your mind.
      -Right Now I am working on reports will back to you with some demo (smile)

    And I am looking on some intro tickets if time permits I will hit some,Thanks a lot Harsha (smile) 



  22. What We can do in alert feature is-

    Step 1. Allow a patient to schedule as event ,Provide a calender and time for input the schedule time.

    Step 2. We can display all schedule events in upper right section ,Same as ticker in facebook,what you say about adding this feature ?

  23. Your thoughts are very good. Please make the proposal so that I can give you more comments about your approach. Meanwhile hit couple of bugs as possible. (smile)

  24. Hi I am writing proposal ,It will take a little bit time.Right now I have created a automated BIRT report of encounter and sharing same with you of one patient.We can work on interface .

    Such reports will be able to download in timeline. 

    see this report 

    I am enjoying the work (smile)

    Thanks (smile) 


  25. That's cool. Enjoy the work..(big grin)

  26. Hi harsha ,

    Have  u reviewed the proposal ? Please give feedback and do I need to make any changes ?

  27. Hey  Harsha Kumara ,

    This Projects interests me . From where I can find the status of the project