Google Summer of Code wrapup: OpenMRS
October 24th, 2014 | Published in Google Open Source
As a long-time Google Summer of Code participant, OpenMRS had twelve Google Summer of Code students in 2014. One of those students, Stephen Po-Chedley, writes more about his experience below as well as other students’ projects.
Waking up to an uneventful landing in September 2013, I found our plane surrounded by dry grass fields. I couldn’t even tell that we were on a runway. I had slept through the approach over small clay houses and family gardens. This small, dusty country of Malawi is where I would spend the next year.
Prior to Autumn 2013, I had been a PhD student studying climate change in Seattle. As part of my research, I was constantly working through random technical and computational challenges. It seemed like every week I was hacking together some code in some unfamiliar language. While the work was challenging and interesting, I wanted to take some time away from my studies to apply some of these technological skills to issues even more acute than climate change.
Upon deplaning, I stepped away from supercomputers meant for climate research and found myself in Malawi working with barely functional laptops. As a volunteer with a health NGO in Malawi, I was slotted to help support the OpenMRS based electronic medical records system that was crucial for monitoring and evaluating the remote district’s health progress. OpenMRS is an open source medical records system used on every continent. The system was created to help provide management tools to meet global health challenges, especially in resource poor countries.
I quickly understood why OpenMRS was such an important tool. The system could generate reports to help us track down patients that had missed appointments, we could flag people who needed a change in medication or a new lab test, doctors could get an overview of their clinical practices, and clinical programs could get a snapshot of their patient cohorts.
Of course, any information that we derive is only as good as the data it comes from. With an entire district of health data being fed into the system, it is easy to miss some parts of records or mis-enter information. Any errors have the potential to affect patient care or high-level decisions made about programs. We need not only good data, but to also understand the quality of the data we have. And this is where Google Summer of Code (GSoC) became so important.
Over the last few months, I was able to work with mentors to design and begin to build a module within OpenMRS to help assess data quality. Beginning work on the project was terrifying for me because my programming experience was mostly hacking together code for scientific analysis. Most of my programming education has been through exhaustive Google searches and discussions with fellow geeks, but this was nearly impossible in Malawi working off of an unreliable satellite internet connection with pretty limited bandwidth.
But I could see that the project was important. My mentors were awesome and the OpenMRS community was incredibly supportive, offering invaluable advice to those that are new to the community. Throughout the summer, I learned a ton of new technologies and — together with my mentors — made a lot of progress on our project.
Waking up to an uneventful landing in September 2013, I found our plane surrounded by dry grass fields. I couldn’t even tell that we were on a runway. I had slept through the approach over small clay houses and family gardens. This small, dusty country of Malawi is where I would spend the next year.
Prior to Autumn 2013, I had been a PhD student studying climate change in Seattle. As part of my research, I was constantly working through random technical and computational challenges. It seemed like every week I was hacking together some code in some unfamiliar language. While the work was challenging and interesting, I wanted to take some time away from my studies to apply some of these technological skills to issues even more acute than climate change.
Upon deplaning, I stepped away from supercomputers meant for climate research and found myself in Malawi working with barely functional laptops. As a volunteer with a health NGO in Malawi, I was slotted to help support the OpenMRS based electronic medical records system that was crucial for monitoring and evaluating the remote district’s health progress. OpenMRS is an open source medical records system used on every continent. The system was created to help provide management tools to meet global health challenges, especially in resource poor countries.
I quickly understood why OpenMRS was such an important tool. The system could generate reports to help us track down patients that had missed appointments, we could flag people who needed a change in medication or a new lab test, doctors could get an overview of their clinical practices, and clinical programs could get a snapshot of their patient cohorts.
Of course, any information that we derive is only as good as the data it comes from. With an entire district of health data being fed into the system, it is easy to miss some parts of records or mis-enter information. Any errors have the potential to affect patient care or high-level decisions made about programs. We need not only good data, but to also understand the quality of the data we have. And this is where Google Summer of Code (GSoC) became so important.
Over the last few months, I was able to work with mentors to design and begin to build a module within OpenMRS to help assess data quality. Beginning work on the project was terrifying for me because my programming experience was mostly hacking together code for scientific analysis. Most of my programming education has been through exhaustive Google searches and discussions with fellow geeks, but this was nearly impossible in Malawi working off of an unreliable satellite internet connection with pretty limited bandwidth.
But I could see that the project was important. My mentors were awesome and the OpenMRS community was incredibly supportive, offering invaluable advice to those that are new to the community. Throughout the summer, I learned a ton of new technologies and — together with my mentors — made a lot of progress on our project.
Myself (crouching lower left) with my mentor Cosmin Ioan (standing left), and other colleagues climbing Sapitwa Mountain in Malawi. |
Being involved with OpenMRS and Google Summer of Code 2014 was incredibly exciting and I feel fortunate that there are opportunities to continue to stay involved with the community. One important lesson was that open source projects have all kinds of ways to help. The OpenMRS tagline for GSoC is “Write code. Save Lives.” From my experience as an implementer and developer of OpenMRS, that motto rings completely true. It has been inspiring to see code pieced together by a diverse community of contributors from all over the planet to create a system that is literally saving lives.
You need look no further than the projects worked on during GSoC 2014 to get an idea of all the important work going on at OpenMRS:
- Vaibhav Agarwal – OpenMRS CDA Generator – Enabled the production of clinical document architecture (CDA) documents via OpenMRS.
- Duque Alexis – Atlas Module 2.0 (live) – Refactored registration and mapping of OpenMRS deployments with features to enable cross-site information sharing and to understand the global scope of OpenMRS.
- Ujjwal Arora – Administration Tools Module – Updated administrative tools so that they work seamlessly with the most recent OpenMRS releases.
- Lukas Breitwiseser – Operation Theater Module – Developed functionality to efficiently schedule operating theater resources.
- Wiehwa Cheung – OpenMRS ID Platflorm Improvements – Updated the OpenMRS ID Platform to improve functionality and performance.
- Sara Fatima – IHE Interoperability Patient Administration Management – Enabled OpenMRS interoperability with health information exchanges (IHE).
- Aniketha Katakam – OpenMRS RegaDB Integration – Enabled interoperability between OpenMRS and national Anti-Retroviral and Tuberculosis databases.
- Joseph Kaweesi – Chart Search Module – Developed a robust, easy to use method to peruse patient data.
- Vineet Kumar – ETL & Predictive Modeling across Multiple Platforms – Developed functionality for intelligent extraction, transformation, and loading of large datasets.
- Stephen Po-Chedley – Encounter Audit Module – Developed functionality to analyze OpenMRS data quality relative to original paper records.
- Shubham Rai – OpenMRS Lite Module – Improved OpenMRS performance over cellular or low bandwidth connections.
- Milinda Rukshan – System Performance and Utilization Module – Added features that give a summary of system performance such as memory in use, user logins, and patient encounters.
On behalf of all the students involved with OpenMRS and the Google Summer of Code 2014, thank you to OpenMRS and to Google for supporting our work and to our mentors that helped make the summer so successful. It was an incredible opportunity to learn so much from world-class mentors, be involved in important work that makes a huge difference, and to get exposure to the rich communities that support open source projects.
By Stephen Po-Chedley, OpenMRS Student, 2014