Coding can be frustrating. Sometimes it feels like you are trying to figure out how to accomplish a task that seems insurmountable. But in the end, it is highly rewarding. The more out of sorts a software project gets you, the more satisfying the EUREKA moment is! For software entrepreneurs, it is easy to become distracted by the promise of applications and products whose usage and market penetration can go viral, making them tons of money. I found myself with that mindset in 2013, when, after some months of intensive coding, I was convinced I had created a web application whose success was a sure shot. But lo and behold, two months after launch, I had fewer than fifty registered users. That marked the lowest point of my career in software development.
“I want to ensure that my work saves and improves other people’s lives, and there is no greater motivation than knowing my code is being used in resource-constrained settings.”
In hindsight, I realize that my motivation for coding was in the wrong place. I still want to develop a product that is used by millions, but that is no longer my end goal. Now I want to ensure that my work saves and improves other people’s lives, and there is no greater motivation than knowing my code is being used in resource-constrained settings.
With this motivation in mind, I applied to be a Global Health Corps fellow in early 2017. After going through a rigorous selection process, I received an offer for a Medical Informatics Specialist position at Partners In Health in Malawi. I now write code that helps to improve health outcomes in Neno, a rural district in Malawi.
In our work, we use OpenMRS electronic medical record system to manage clinical data from two hospitals and twelve health centers for our HIV and non-communicable diseases clinics, and soon for our palliative care program, too. OpenMRS is a free and open-source software which means that outside the cost of hardware, there are no costs associated with implementation of an OpenMRS system. Additionally, OpenMRS development is supported by an ever-growing worldwide community of software developers and implementers who dedicate their time and resources to fix issues and add new functionalities, which make it very stable. Over 60 countries across the globe have implemented OpenMRS.
On the Informatics team, we manage patient data and develop features that extend OpenMRS functionality. Each patient’s encounter with a healthcare provider is entered in OpenMRS in a patient record called a MasterCard. There are different MasterCards for different conditions. Several reports are then generated from the software for program monitoring, evaluation, and quality improvement. One report helps in patient tracking and retention for missed visit appointments or when lab tests are due; another shows all patients who need a particular test done at a specific appointment.
Outside of reports, we have a feature for printing out inpatient summaries that show past regimens, weight trends, and a condition list, which helps clinicians in decision-making for patients with HIV or non-communicable diseases. There is also a tool in the software called cohort builder, which we use to pull cohorts or groups of patients for all sorts of data analyses. Medical Informatics, with guidance from the clinical team, are continually developing new reports and features whenever a need arises.
“Meeting this determined and committed community has boosted my drive and sense of purpose for writing code. I feel like this is the kind of project that I can contribute code to for many years to come.”
Learning to develop for OpenMRS was far from easy, and I questioned my coding skills at times. I was coming from a web application development background in a different software stack model called LAMP. Fortunately, I have a lot of support from Medical Informatics teams across the Partners In Health sites and the wider OpenMRS community through several discussion and collaboration platforms. The Medical Informatics team at Partners In Health in Boston are also founding partners of OpenMRS, together with a team from Regenstrief Institute. I had the opportunity to spend a week with the team in Boston just before I started my fellowship, which kick-started my development for OpenMRS.
More recently, I attended the 12th annual International OpenMRS Implementers’ Conference in the capital city of Malawi, Lilongwe from 12 to 16 December 2017. At this annual event, volunteers, developers and implementers came together to talk about all things OpenMRS and develop strategies for the evolution and applications of the software. There is no place where it is more evident how close knit the OpenMRS community is. The one running theme for this year’s conference was sustained support among the community, whether it was seasoned OpenMRS developers carving out time to work on issues with new developers or female developers making sure other women getting into OpenMRS have an enabling environment where they can thrive. Meeting this determined and committed community has boosted my drive and sense of purpose for writing code. I feel like this is the kind of project that I can contribute code to for many years to come. At the conference, I was reminded of a common Global Health Corps saying: “Once a fellow, always a fellow!”
In the weeks building up to the conference, I was excited and also a nervous wreck. I was looking forward to meeting in person with the Medical Informatics teams from different Partners In Health sites and the wider OpenMRS community. I also wanted to learn how other organizations are implementing OpenMRS to support their work. I was nervous because my colleague and I were presenting a case study on how Partners In Health has implemented OpenMRS in the the Neno District to support a model for health care delivery that integrates care for HIV and non-communicable diseases. Our patients benefit from this care model by going to only one appointment to be seen for multiple chronic conditions and get all their treatments at that same visit.
It turned out that presenting to a room of around 140 people was not so bad at all. When I stood in front of that microphone the tension just ebbed away. Each day of the conference was a source of learning something new. One part that I liked the most was the lightning talks. These were five minute slots when a speaker had to give a presentation on some topic of interest to the conference attendees. As diverse as the backgrounds for the attendees were, so were the topics. They ranged from data warehousing and data visualization to what is ICAN, the 2017 Nobel Prize for Peace laureate, and why they won it. For over an hour of lightning talks, I got to hear about amazing work that different organizations are doing to improve people’s lives and the technological tools they are using. Also worth mentioning were the myriad demonstrations of technologies being used in health care delivery across the globe like OpenSRP, a platform for digitizing paper-based registers into electronic registers that are inter-operable with existing health management information systems such as OpenMRS and DHIS2.
Even more amazing was the large number of African developers at the conference. Teams from Malawi’s Baobab Health, eSaude from Mozambique, and Kenyan implementors showcased how they have configured OpenMRS and extended its functionality for their specific settings. The Kenyan team is using OpenMRS for their implementation called KenyanEMR at 350 health facilities across Kenya, most of them in the western part of the country. In one chat that I had with Paul Biondich, OpenMRS co-founder and the Project Lead, he said that his vision is to see Africans take the charge of the direction that OpenMRS goes. Judging by the interest I witnessed at the conference, that is not that far-fetched at all.
For all the developers out there, and anyone interested in coding to save and change lives, there has never been a better time to join the OpenMRS community! You do not even need to be a software developer to play a part. You can be a product tester for the software or volunteer in any of the countless roles in the community. To get started you can sign up for an OpenMRS ID. This is your key if you want to join the OpenMRS discussion forums, make code contributions or help solve issues that have been reported in the software on the ticketing system. There are also amazing resources for reference or introductory materials on the OpenMRS wiki to get you jump started. Have fun collecting the badges throughout your journey in OpenMRS!
Limbani Thengo is a 2017–2018 Global Health Corps fellow at Partners In Health/Abwenzi Pa Za Umoyo in Malawi.