GSoC 2014

CSM-58 Define categories – GSoC Week 2

GSoC 2014 Daily Update – Second week

This week I have been working on CSM-58, I decided to work on this issue with my mentor having postponed work on (CSM-25) which would have been my next ticket according to my project plan: see plan’s wiki page here.

For this week, here is my progress on a daily basis from Sunday to Friday(Today);

On Sunday, 25/05/2014
I did plan for the week and looked into several documentations.

Monday, 26/05/2014
1. Looked into the available Code from Tobin’s team.
2. Communicated with Tal and Eli as far as CSM si concerned and what they have been doing via Google-chat.
3. Troubleshooted some bugs in CSM’s code.
4. Went through and made some subtasks from it
5. Blockers:(2) CSM is not returning results, and jQuery not working as expected in ui-framework.

Tuesday, 27/05/2014
1. Implemented some parts of resister categories
2. Blockers:(2) CSM is not returning results, and jQuery not working as expected in ui-framework.
3. Scheduled hangout with Tobin’s team and my mentor to discuss Blockers and other issues with CSM which did not happen.

Wednesday, 28/05/2014
1. Troubleshooted some Spring MVC related issues.
2. Read about Spring Annotation Based Controllers.
3. Worked on some parts of registering categories to filter returned results after which I made an initial commit in a Pull request for CSM-58 i created.
4. University Call.
5. Blockers: None

Thursday, 29/05/2014
1. Read/Researched about Faceted Search with Lucene/Solr which is what am planning to use to implement categories and sub-categories
2. Added a second commit for CSM-58 where I wrote some initially though of DiagnosesCategoryFilter etc, and made some changes to my initial commit.
3. Developers forum.
4. Searched for omod file for CSM before merging Tobin’s teams’ branch into openmrs CSM repo to test results before the merge.
5. Was able to re-trace and compile and run the first module omod before we merged CSM openmrs repo with Tobin’s team branch and wrote to Dragggonz, about the behavior code he wrote for GSoC 2013 , having played around with what he implemented.
6. Blockers: None.

Friday, 29/05/2014
1. Coded DiagnosesCategoryFilter
2. added a commit for DiagnosesCategoryFilter
3. write this weekly Blog Post.
4. Submitted a weekly report.
5. Blockers: None.

In general I have had a very busy week with lots of troubleshooting work and researching, then also coding as can be found in a pull request for CSM-58.
Will be pushing further and hoping to get more feedback about my code as i have already began receiving from Burke,
This week is indeed a great learning experience for me, Am learning to interact with the OpenMRS data model and to practically use the OpenMRS API, plus Spring MVC, UI framework among others,
Pending: I failed to have the hangout with Daniel and Tobin’s team and so i still have not been able to clear the two blockers i reported on Monday and Tuesday.

GSoC 2014

User Interface Development (GSoC 2014 week 1)

This is what I have for this first week’s development in GSoC 2014;

Chart Search Module UI

Week 1’s work plan

  1. Changing chart search icon on Patient client facing page. (CSM-54)
  2. Adding Category filter UI feature. (CSM-21)
  3. Add a patient header to the chart search module page. (CSM-61)



19/05/2014 – GSoC 2014 Daily Update

  1. Changed Chart Search Icon and label (Fixed CSM-54)

  2. Created and added a prototype on how the Category filter might look like (At CSM-21). Please check this out and reply what you think.

  3. Worked on CSM-61 and added an initial commit. Continuing work here.

  4. Blockers: Not much

20/05/2014 – GSoC 2014 Daily Update

  1. Added a patient header on to the Chart Search page and removed all previous labels(Fixed CSM-61)

  2. Added some initial ui for categories filter (CSM-21)

  3. Blockers: (1) Very small description at, commit at, and what I need

21/05/2014 – GSoC 2014 Daily Update

  1. Added an initial commit on CSM-21

  2. Reading openmrs-2.0 core developers guide.

  3. Resolving review comments at

  4. Blockers: (1), Yesterday’s issue

22/05/2014 – GSoC 2014 Daily Update

  1. Revisited Spring MVC.

  2. Added a categories filter onto the chart search module’s user interface. (CSM-21)

  3. Fixed the blocker I had from Tuesday.

  4. Developers forum.

  5. Using jQuery to implement the behavior of the categories filter currently.

  6. Blockers: None.

23/05/2014 – GSoC 2014 Daily Update

  1. Blog Post.

  2. Categories filter functionality with Jquery

  3. Weekly report

  4. Blockers: None


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.

GSoC 2014

Community bonding period

Objectives for the Community Bonding Period

From 21st – April, to 18th – May, we are now going through the Community Bonding period for this (2014)year’s GSoC and this is what I expect to achieve within this same time.

  • Get to Know my mentor(s); Daniel and Tobin.

  • Intense reading Documentations for Solr/Lucene,

  • Exploring of available Chart Search tools.

  • Contact Tobin’s Team to checkout what they are currently working on.

  • Finalize with a whole documentation of the period and post a time-line which I hope to follow to ensure that I leave nothing out and do all in time.

Accomplished by now:

This week I have been contacting Tobin’s team, and after finishing my end of semester exams looked into the Solr Documentations in much details and am still Doing that until next week when I hope to publish a much more detailed project plan before I will be getting on board to begin coding on 19th – May.


GSoC 2014

Participating in GSoC 2014


Am glad to announce to you that I on 21st April 2014 received an acceptance email from Google to participate in GsoC 2014 saying; ‘Your proposal “Chart Search for the Reference Application” submitted to OpenMRS has been accepted for Google Summer of Code 2014…….. ‘ 🙂

I have already updated my Blog here and added a new GSoC 2014 category where am going to maintain my weekly progress updates, And now this post is acting as introduction to my plan about this opportunity and a brief update of what is already done.

What I have done from my acceptance!!!

  • I already have an OpenMRS account, and already subscribed to the main OpenMRS mailing lists.

  • I introduced my self to OpenMRS talk already see the general intro here or the GSoC 2014 intro here

  • I have done some communication(s) with my mentor(s) and soon hope to come up with a detailed project plan which I will post here as well.

  • Once again my Blog is ready and am prepared to submit a weekly status report.

  • Currently going through the scope and documentation, so am ready to begin coding by 19th May 2014. Am in a meantime linking up with my mentor(s) @Daniel and @Tobin