Until mid-2015, I wrote code for proprietary software.
In August of that year, I joined Thoughtworks as a developer for Bahmni, an open-source hospital information system built for low-resource environments. Bahmni combines lab, billing, pharmacy, radiology and many other features on one platform. It has an offline interface called Bahmni Connect that runs on Android / Chrome. It is a free and open-source distribution of OpenMRS.
Thoughtworks believes in open source. The Thoughtworkers on Bahmni projects consider ourselves an active part of the worldwide OpenMRS community: we contribute to the software, help solve common problems, and aim to attend the yearly meetups.
The Implementers’ Conference in Uganda in December 2016 was my first time at an OpenMRS event. At the conference I found myself among a diverse group of 400 energetic technologists and OpenMRS users, each one passionate about improving healthcare delivery around the world. While I had thoroughly enjoyed my time so far working on Bahmni—and by extension OpenMRS—the conference made me understand why what I do is so deeply satisfying.
1. The reach of your code is global
[The OpenMRS Atlas showing the reach of the OpenMRS software]
The OpenMRS community is “building the world’s largest and most flexible health technology platform to support the delivery of health care in some of the most challenging environments on the planet.” This includes Uganda, Kenya, Bangladesh, India, Nepal, Rwanda, South Africa, Indonesia, Philippines, Kazakhstan, Peru, Bolivia, Aman, Sierra Leone, Peru, United Kingdom, Turkey, and Algeria, to name but a few.
What began as a response to the African HIV crisis in the early 2000s is creating great local impact among communities in many remote corners of the world including for the indigenous population (Adivasis) of Gudalur, a village on the Nilgiri Hills of Tamil Nadu in southern India which use Bahmni, a distribution of OpenMRS.
In fact, a line of code you add to OpenMRS could be running on thousands of computers in remote corners of the world, enabling practitioners provide more effective healthcare.
2. The impact of your work is local
I look forward to the lives of my relatives being saved because we improve healthcare.
This is a quote from Daniel Kayiwa, one of OpenMRS's lead developers in Uganda, summarizing how real and how close the impact of our work is.
While at the conference in Uganda, we visited the Mulago National Referral hospital in Kiruddu, a government facility that uses Ugandan EMR (an OpenMRS distribution customized for Uganda). Here, we could see for ourselves how technology enables better access to healthcare. From the general ward to the burns unit, the maternity ward to the HIV program, OpenMRS touches the lives of thousands in local communities.
3. Problem solving is collaborative
[Hackathon at the OpenMRS Implementers’ Conference in Dec 2016]
The OpenMRS community is an active and vibrant group of volunteers driven by a common passion. Problem-solving here is collaborative. Developers and implementers come together to discuss, debate, and organize around problems that need our attention.
At the two-day hackathon after the conference, some of us came together and picked up an issue in the OpenMRS Reference Application. We reproduced the issue, debugged, and fixed it. We pushed the code and Mike Seaton from Partners In Health who had merge privileges on OpenMRS, reviewed it, and merged it to OpenMRS core.
Not often is the collaboration so immediate or in person, but wherever we are, whatever the problem is, the solution is collaborative.
We also share feedback and suggestions to members of the community to make the solutions stronger. For instance, we received feedback on the form builder and Bahmni Connect (the offline interface of Bahmni) during our demo at the conference. We heard from those who’ve tried building similar features: what they did well, what they didn’t, what to keep in mind and what to avoid. We returned with ideas that can make Bahmni a better product.
4. Problems you’re solving are real and immediate
At the conference, the OpenMRS community shared and discussed problems faced by professionals in healthcare delivery across the globe. These were the needs of on-the-ground users of the product. For instance, we heard about how mobile interfaces can help doctors treat patients more effectively in remote areas. We discussed the need for better data analytics to monitor processes and improving communication. We also talked about the integration of OpenMRS with DHIS2—an open source platform for reporting, analysis and dissemination of data for health programs—towards better monitoring and evaluation of a health program.
When any of these capabilities are built, there are doctors, nurses, hospital staff and other medical professionals whose lives we would have made better.
5. The learning is equally rewarding
OpenMRS has a scalable generic data model and a modular architecture. It is a good framework to learn concepts such as aspect-oriented programming, dependency injection, and modular architecture.
In addition, with OpenMRS, you can choose what kind of contribution you want to make. For instance, a team from Thoughtworks recently conducted experiments with IoT and machine learning to improve patient experiences with Bahmni.
The most rewarding part of my work on Bahmni and the OpenMRS community is the opportunity to work with a distinguished team of specialists and technologists. I learn constantly from them not just about building robust, reusable, scalable technology, but also contributing meaningfully to environments and users that I don’t entirely understand.
If you are a developer, analyst, tester, technologist or even just a curious passer-by, I’d recommend you consider contributing to OpenMRS in some way. Being part of a vibrant community, working towards a worthy goal, making a real impact can be significantly rewarding. I wish for you the satisfaction I have had working on Bahmni and with the OpenMRS community.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.