trips and conferences

Participating at #omrs15

Am so thankful to OpenMRS Inc for sponsoring my trip to Singapore a few weeks ago where i participated in our first Summit which happened early  December 2015 through the OpenMRS’s travel grant program. To mention a few key people; I thank Paul Biondich our project leader for the travel grant, Michael Downey for  handling all  the logistics of the event and leading us to key memorial sites in Singapore, Saptarshi and Suranga for helping me out with my ticket payment plus James Arbaugh for helping me out with the hotel room payment.


I travelled a day before the summit began and had a lonely ride from Changi airport to Bencoleen Hotel where i stayed during the summit, that very evening we moved with Michael and R0bby to a few great sites such as Merina Sand Bay where i was marvelled at the creativity of man, and Bugis Street where i picked 4 Singapore t-shirts at $10 which kept me during the stay in Singapore until i received my delayed checked-in bag on the last day before travelling back home.



The following days were technically very helpful; having had ‘Mobile Tools for OpenMRS’ tutorial cancelled, i moved to ‘Health IT & OpenMRS: An Introduction’ instead where i helped out some folks in setting up the OpenMRS environment.

The next day i attended; OpenMRS Concept Management presented by Andrew Kanter and Ellen Ball which got me well informed with the history of CIEL as well as its roadmap, i also had my prior information about the topic updated. ‘Getting Data Out presented by Michael Seaton’ where i was benefited by the demo around the Reporting module as well as the new approach of configuring the Reporting plus another 2.x module to get forms running within OpenMRS 2.x, we also had a Bahmi demo about how to quickly configure forms in OpenMRS 2.x which was equally helpful.


I totally liked and was absorbed into all the following days of the conference, i learnt of the bond that binds our community and the was more convicted of a bright future for OpenMRS, this surely gave me more joy considering having chosen a right health open source community to be a member of.

I enjoyed the powerpoint karaoke being a man that likes fun sessions with co-workers, this was a very longevity increasing activity as most of us laughed our lungs out seeing pals like Maany, Burke, Neha, Willa etc participating.

On one lunch break, we eagerly met and brainstormed about forming an East African OpenMRS community which is being developed, we also planned hosting the first OpenMRS Uganda implementers meeting. this was another subject of my great interest having long worked hard to make this happen.



Though not all our expected hackathon attendees showed up and some were available for a limited amount of time (Some friends such as Nyah Check were missed because of not getting a travel grant). As the hackathon lead, with the help of Michael and other folks in divers ways, we organised the present participants and grouped them up into three teams that worked on three well thought of projects each team having a lead.

The first and best team (Team 1) led by Darius worked on the Dashboard open webapp.

The third and second best team (Team 3) led by Wyclif worked a number of Rest webservice related JIRA tickers; see:

The second team (Team 2) led by Pascal fixed the Swagger Docs app and worked also on another set of Rest webservice related JIRA tickets; see:

All teams were awarded for their participations, we are so so thankful to OpenMRS Inc and Michael Downey for the great trophies and gifts plus James for capturing as many photos and interviews as possible soon to be used in creating a hackathon promotional video.

Am so thankful to Michael for getting us a great judge. here are some excited #omrs15 hackathon winners/hackers.



While at the summit, i met and discussed with several new people such as Hemanth, Neha, Maany, Fabian, Vinay, Sabine, S. Musoke, Jonathan Mpango among others.

This summit was a sure key motivating factor in getting me think of how to better my contributions to OpenMRS by advancing my technicality as well as through meeting and discussing with several wonderful participants to our great community about their OpenMRS commitments.

I think if we (myself and more contributors such as newbies) can get more sponsorships to other upcoming OpenMRS events, this would be an indirect binding agreement as well as an internal motivating force to continue contributing to the our community, meeting with the community makes the contributing force real and opens up more opportunities to our participants which is the best way to keep them supported financially as well as volunteering at OpenMRS



GSoC 2015

Chart Search (GSoC15-wk12) – Completing GSoC Project

It has been a nice marathon this summer which was my second and probably last year of working on Google Summer of Code. I believe that the work i began last year towards the chartsearch module has been brought to the level where the community can trust and use internationally. I hope to continue supporting the module and welcome any contributor to join while being thankful to some that have already come aboard like Nicholas Folk.

Here are some daily updates for this week.

Sunday, 15/08/2015
+ Added some good comments onto chartsearch module classes to easen Collaboration     [CSM-89]
Monday, 17/08/2015
+ Added some class commenting     [CSM-89]
Tuesday, 18/08/2015
+ Added Cummins Regex and added more class comments    [CSM-25]
Wednesday, 19/08/2015
+ Renamed remotes/upstream/1.4 to remotes/upstream/1.4.x
+ Released 1.4.1 maintenance release    [CSM-116]
+ Finished writing and submited my #OMRS15 hackathon proposal
+ Merged Nicholas Folk’s openmrs-module-chartsearch/pull/73 PR    [CSM-89]
+ Removed empty space from colors selector on Notes dialog at
Thursday, 20/08/2015
+ Added number of items from History to details on select at
+ Don’t update comment field background on saving a note at
+ Successfully set up The current 2.3-SNAPSHOT reference application locally to contribute to Admin UI sprint
Friday, 21/08/2015
+ Claimed and working on RA-569
GSoC 2015

Chart Search (GSoC15-wk12) – Collaborating & Releasing 1.4

Hi dear reader;

This week has been another wonderful one, i have worked together with Nicholas Folk, Guiding him through and reviewing his code, This has given an opportunity to collaborate during this task. Here is a summary of bullet points on what i have been able to get done on a daily basis.

Monday, 10/08/2015
+ Planning for openmrs dependency updates app with php and nginx
Tuesday, 11/08/2015
+ Fixing compatibility issues to run chart-search with openmrs 1.12.0-SNAPSHOT/Java 8
Wednesday, 12/08/2015
+ Code Review
+ Ran chartsearch module successfully on java 8 preparing it to run with 1.12.x
+ Updating saved preferences on save/update     [CSM-95]
+ An allergy can have more than one reaction      [CSM-59]
+ Branched off chartsearch 1.4 from master to support maintenance releases  []
+ Manually Prepared ChartSearch 1.4 Release     [CSM-116]
Thursday, 13/08/2015
+ Released ChartSearch Module 1.4     [CSM-116]
Friday, 14/08/2015
+ Working on an OpenMRS related proposal 🙂
GSoC 2015

Chart Search (GSoC15-wk11) – Customizing category display names under preferences

I just noticed having forgotten to post my last week’s update earlier enough after checking on because initially i could do that after receiving a weekly update link from the GSoC managers, Michael and Suranga.

So then i decided to immediately post it in a meantime, here is what i did through the previous week organized in daily achievements;

Sunday, 2/08/2015
+ Added display name poperty onto CategoryFilter object     [CSM-95]
+ Added support for defining preferred names to display under category filter     [CSM-95]
+ Fixed some small bugs under category display naming   [CSM-95]
Monday, 3/08/2015
+ Fixed customizing category filter names   [CSM-95]
+ Including Category Description onto the chartSearchmanager#preferences section     [CSM-95]
+ Fixed bug in ChartSearchServiceImpl#addSingleObsToJSONToReturn     [CSM-95]
Tuesday, 4/08/2015
+ Added feedback functionaly     [CSM-113]
+ Added support for user’s adding their personal colors for Notes     [CSM-95]
Wednesday, 5/08/2015
+ Removed both Commands and Settings tabs from     [CSM-85]
Thursday, 6/08/2015
+ Eagelry responded to Nicholas Folk the intereted contributor to wor on     [CSM-89]
+ Updated CSM-86
GSoC 2015

Chart Search (GSoC15-week10) – Preferences

Almost every important application offers the user ability to get customize and set up some things to his/her preference.

This week has been another good week for me this summer, Most of the tasks i have done were supporting preference where users can configure some things to their preference within the chartsearch module, here is my summarized weekly update;

Monday, 27/07/2015
+ Graph:Fixed time scalling bug on time axis     [CSM-86]
+ Added ChartSearchPreferences class     [CSM-95]
+ Added Work-around fix for CSM-112     [CSM-112]
+ Fixed some small bug in Editing Note on managment page
Tuesday, 28/07/2015
+ Added API play-station for ChartSearchPreference      [CSM-95]
Wednesday, 29/07/2015
+  Returning preferences to the client level       [CSM-95]
Thursday, 30/07/2015
+ Developer Forum
+ Supported Saving/Updating and Restoring Preferences      [CSM-95]
Friday, 31/07/2015
+  Added support functionality for configuring toggle preferences      [CSM-95]
+  Escaped JSON to pass to client using UiUtils#escapeJs     [CSM-105]
GSoC 2015

Chart Search (GSoC15-wk9) – Involving users

Hi, this has been another week of GSoC 2015 in which i have involved and responded to some users feedback.

Here is a summary of this weeks accomplishments;

Tusday, 22/07/2015
+ Teaming up with chartsearch reviewer Romain to clear issues about his installation
+ responding to review feedback
Wednesday, 23/07/2015
+ Making filter labels onclick to dispay/hide filter
Thursday, 24/07/2015
+ Hiding the graph when there’re no duplicate results     [CSM-86]
+ Resolved some more issues like NaN on obs hover
Friday, 25/07/2015
+ Guiding to inquiries from some newbie that wants to contribute to chartsearch
+ Updated chartsearch from 1.2 to 1.4-SNAPSHOT at: for test purposes
GSoC 2015

Chart Search (GSoC15-wk8) – Making returned data more useful

This week had been yet another week in which we have been trying to make the results from the Chartsearch module as much useful as we can, below are bullet daily accomplishments.

As part if these tasks, I have had several lessons learnt this week as i ventured to use flotcharts to graphically display data and include a nice user experience as addition to just displaying it.

Sunday, 12/07/2015
+ Added funtioning Providers and Locations filters      [CSM-99]
+ Re-factored views_factory to remove non used code
+ Fixed bug in ChartSearchNonFacetFiltering#applyNonFacetingLogicWhileSearching  
Monday, 13/07/2015
+ Added obs groups to keyboard navigation     [CSM-109]
+ Fixed some bug in displaying obs js methods     [CSM-109]
+ Fixed some small bug in locations and providers filters      [CSM-99]
Wednesday, 15/07/2015
+ Removed loading icon on filtering
+ Removed duplicate observation singles from Results at the left    [CSM-92]
Thursday, 16/07/2015
+ Adding selected obs single severity marks under history
+ Fixed some small bug in #setResultsJsonAndApplySelectedFilter
+ Hiding graph when it shouldn’t appear or be drawn     [CSM-86]
+ Showing last value onto the graph in addition to history     [CSM-86]
+ Labelled Axises with Value and Time     [CSM-86]
+ Supporting time scaling on X-axis on the graph     [CSM-86]
Friday, 17/07/2015
* Public holiday; Eid day
+ Increased chartsearch version on openmrs-distro-referenceapplication for test purposes    [CSM-111]
+ Re-set version to 1.2 on distro server
GSoC 2015

Chart Search (GSoC15-wk7) – Time, Providers and Locations filters

Here is yet again another week of great progress, We have successfully fixed Time, Providers and Location filters by implementing it’s functionality afresh.

Here are the daily updates:

Sunday, 5/07/2015
+ Designed a simpe useful display of a detailed appointment result and fixed some compatibility issues     [CSM-82]
Tuesday, 7/07/2015
+ Added allergies and appointments category filters    [CSM-108]
Wednesday, 8/07/2015
+ Re-directing to Login page when connecting to the server while session is closed   [CSM-72]
Thursday, 9/07/2015
+ Fixed some bug in Default search and set things up to fix time filter     [CSM-99]
+ Added some js methods to support the new time filter      [CSM-99]
+ Supported all other time filters except custom    [CSM-99]
+ Added Current Year section onto the manage History page   [CSM-103]
Friday, 10/07/2015
+ Fixed some bug in time filter, left only with custom option      [CSM-99]
+ Provided an extra informative message when indexing is in progress at first chart load     [CSM-75]
+ Added a way of choosing custom date range for time filter      [CSM-99]
+ Fixed keyboard navigation after user applies a time filter        [CSM-99]
+ Added a fully working custom date selection time filter        [CSM-99]
Sunday, 12/07/2015
+ Added funtioning Providers and Locations filters      [CSM-99]
GSoC 2015

Chart Search (GSoC15-wk6) – Released ChartSearch Module 1.3

As a gift to the OpenMRS community during this week which has been the mid-term evaluation week, I released ChartSearch Module version 1.3 and do welcome user’s reviews and feedback of all kinds. Here is a summary of what i have worked on this week on a daily basis:

Sunday, 28/06/2015
+ Included Returned allergies after search among returned results  [CSM-59]
Monday, 29/06/2015
+ Designed a simple useful Allergies detail’s display and fixed compatability issues  [CSM-59]
Tuesday, 30/06/2015
+ Added allergies to search suggestions   [CSM-100]
+ Fixed Bug in Editing bookmark feature   [CSM-81]
Wednesday, 1/07/2015
Thurday, 2/07/2015
+ Mid term evaluation
Friday, 3/07/2015
+ Indexed patient’s Appointments and returned them to the client side     [CSM-82]
Next week i hope to finish displaying patient appointments at client level and replace graph, I welcome suggestions and feedback on the graph ticket above, comments can be added here on on the ticket at: