GSoC 2014

Chart Search Module project plan

As we come to the end of the community bonding period, there’s need for me to submit a whole project plan that I have agreed upon with my mentors.

This plan however can change and be updated afterwards, here is a copy of it, or go for the original from

The same can be traced from the project page as a child page 🙂


Project title:Chart Search for the Reference Application

Initial Project proposal:



Communication Plan with my mentor(s):

The UN-ordered lists for each mentor represents the communication means we shall use and have both agreed upon respectively, the list goes down with decreasing precedence and so if IRC is the first option, it means it will be our major way of communicating.

With Daniel(my primary mentor)

  • IRC

  • Email

With Tobin(my backup mentor)

  • Email

  • Whatsapp

  • Skype

  • IRC


Development Time-line:

Here are a list of tasks we hope to have in our GSoC 2014 project scope, I have grouped them in tasks which we hope to break down into sub-tasks. Still In this plan am hoping to spend at-least one week for each task except extra huge tasks that require more time, like CSM-58.

I have rebelled these tasks with the dates within which we plan to have them worked upon. I will be sending out some summary of what we will be working on a week before it happens to obtain necessary feedback and plan much properly for each week, this weekly plan I hope to draft and share it every Saturday night with the help pf my mentor(s).

19/05 to 23/05 : User Interface development; (CSM-54, CSM-21).

  • Changing chart search icon on Patient client facing page.

  • Adding Category filter UI feature.

25/05 to 30/05 : First phase for Defining search query syntax; (CSM-25).

  • Adding a SolrQuerySyntax class where to perform all this logic, like;

if a user enters “Blood Pressure”, should we search it as phrase or as two distinct words, Among other behaviors.

01/06 to 06/06 : Second phase for Defining search query syntax; (CSM-25).

08/06 to 20/06 : First phase for Defining Categories; (CSM-58).

  • Implementing filters for the user to restrain returned results to for-example; diagnoses, labs, meds, orders, reports, vitals, etc. in such distinct categories.

22/06 to 27/06 : Mid-term evaluation preparation and bringing together all the previous features.

29/06 to 04/07 : Second phase for Defining Categories; (CSM-58).

06/07 to 11/07 : Searching patient’s Forms; (CSM-56).

13/07 to 18/07 : Revisiting and finalizing work on CSM-56 above.

20/07 to 25/07 : Ensuring that all issues are resolved for; CSM-25, CSM-58 and CSM-56 Plus adding their documentations.

  • Going over these issues to ensure all is as expected.

  • Fix any issues that may not be as we hoped.

  • Writing documentations for these issues.

27/07 to 01/08 : Ensure all available Categories and UI features work very well as expected.

  • Writing any necessary unit tests.

03/08 to 08/08 : Finalizing my Project, obtain user’s feedback on the general functionality.

  • Integrated testing.

10/08 to 15/08 : Scrubbing code.

  • Writing any left-out tests.

  • Refactoring code.

  • Improving documentations.



  1. Daily committing to openmrs repository except Saturday.

  2. Daily Scrum updates except Saturday and Sunday.

  3. Weekly work-plans at Saturday night.

  4. Weekly Blog updates on Thursday.

  5. Weekly report on Friday.


Important Dates:

23 June 19:00 UTC : Mentors and students can begin submitting mid-term evaluations.

27 June 19:00 UTC : Mid-term evaluations deadline.

18 Aug 19:00 UTC : Firm ‘pencils down’ date. Mentors, students and organization administrators can begin submitting final evaluations to Google.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s