A Doctor Learns How to Code Through Open Source


Judy Gichoya is a medical doctor from Kenya who became a software developer after joining the open source medical records project, OpenMRS. The open source project creates medical informatics software that helps health professionals collect and present data to improve patient care in developing countries.

After seeing how effective the open medical records system was at increasing efficiency and lowering costs for clinics in impoverished areas of Africa, she began hacking on the software herself to help improve it. Then she set up her own implementation in the slums outside Nairobi, and has done the same for dozens of clinics since.

This is a classic story of open source contributors, who join in order to scratch an itch. But Gichoya was a doctor, not a programmer. How did she make the leap?

Meeting open source

The radiology resident at the Indiana University School of Medicine began her career learning technology at IMIS, an information services management program. But, eventually,  Gichoya went to the Moi University Schools of Medicine (MUSOM) and Public Health (MUSPH) in western Kenya. There she continued her association with the IT world with a part-time job assembling computers for a local company but didn’t have much time, or use, for developing her programming skills.

Dr. Judy Gichoya
After her clinical work began, Gichoya found that instead of taking care of patients, she was spending most of her time completing paperwork. She was running around the hospital from one department to another looking for lab work and other documents. There was no centralized or electronic system for such data. In her own words, “it was very frustrating.”

Because of her computer background, she knew very well that there was a better way of organizing all of this information; something that would vastly improve the way healthcare was being delivered. Gichoya set out to find a solution.

She started talking to people about how they conducted care for their patients, and that’s when she discovered the AMPATH Medical Record System (AMRS), a program to support HIV prevention and treatment in Africa. She got involved with the program and started learning how to code to help with openMRS, an open source project started by two doctors at Indiana University School of Medicine to help scale the AMRS software to serve more clinics in developing countries.

Three years later in 2009, when she graduated from medical school, she still had no idea what open source actually was, despite being involved with openMRS for AMRS. It was only in 2010 when she did her own implementation of openMRS that she came to understand the value of open source.

After graduation, Gichoya went to work in a clinic in the Kibera slums, which is one of the largest slums in Africa, near Nairobi, Kenya. She wanted to improve healthcare in the slum so she decided to use openMRS. She bought some old computers, installed OpenMRS, and trained a young guy to use computers and openMRS who had never used computers before. Since then, she has done many other such implementations across different regions in Africa.

From doctor to software developer?

It wasn’t an easy transformation for Gichoya to get into software development. She had learned Pascal and Visual Basic at IMIS. But, by the time she got involved with OpenMRS no one was using those languages anymore. It was all about Java.

Back in 2006, when Gichoya started working on OpenMRS, Internet connectivity was very poor and very expensive, and it was hard for her to learn Java on her own, due to the lack of mentors and teachers. But, she learned bit by bit, and now, she has learned many other languages including Python, Angular JS, and various HTML5 technologies.

“Things are better nowadays, as there are disciplines like Informatics for doctors that help those who want to study IT and be a doctor,” she said.

As important as software is, Gichoya also feels that it’s just a tool for accomplishing what you want to do.

“Maybe you are just trying to discover a new drug. You want to focus your mind on the new drug and let the tools help you manage data,” she said. “Knowledge of programming helps a lot. But, you shouldn’t be wasting time trying to fix your programming language or trying to fix your operating system. Then you lose focus from your real goal.”

That’s true not only for medical professionals but everyone else.

openMRS and the Future

Gichoya still has one more year of her radiology residency at Indiana University. She is currently working on one of her most ambitious projects: a radiology information system.

Her earlier projects were more about electronic medical record systems, which house patients’ records. Now she wants to make a direct impact on how healthcare is delivered to patients — to make an impact on the real world.

Currently, if someone is diagnosed with a cough, they are sent to a big facility with CT scanning capabilities. They get examined there and get a date for CT scanning. They make a second trip for actual scanning and then are called again to collect the report. That’s three trips. There are only a few such facilities and most patients live far away. Each trip could be 3-4 hours one way. Making three such trips discourages people from going in at an early stage.

Gichoya wants a system where the patient has to go to the big facility only once for the actual scan. The reports would be exchanged between the local medical center and the big facility over email so the treatment can start at an earlier stage. This approach will have a direct impact on how people receive healthcare. It will also encourage people to see doctors at earlier stages and start receiving treatment quicker.

Join the movement

One of the biggest challenges Gichoya faces to this ambitious project  is talent. Previously, she had two developers helping her code — a developer from Austria, doing most of the coding, and a Google Intern from Cameroon.

So Gichoya is thinking innovatively. She said that in many countries students have to do projects at school. What if they could help with actual projects like hers? “Nothing big and serious, just some non-essential things that we need and these students get credit for that. It’s a win-win situation: those students get real projects that help real people and we get the much-needed resources,” she said.

But that’s more or less getting help with the basics. She also has a plan to get real experts involved with her project. Gichoya said that nowadays a lot of big companies have started offering sabbaticals to their employees.

“People have started to take time off work, sabbaticals. Innovation is driven by creative minds, and companies encourage these people to take time off, to remain sharp, to avoid burnout. What if these people come to Africa and work on different projects? They get to take a break from their work and get to see amazing places in Africa. It’s very rewarding, personally: you help a good cause and you also get a new experience. It’s a big win-win,” she said.

Open Source: The Kenyan way

Now that she has learned how to be a developer as well as a doctor, Gichoya must learn another fundamental skill of open source: community building. Open source is as much about people as it is about software. How different people from different cultures and regions come together to weave this fabric of technology that improves everyone’s quality of life.

Fortunately, Gichoya said, this is a skill she comes to naturally as a native of Kenya.

“The most interesting thing about Kenyans is coming together. After colonials left, my parents relocated to a portion we live in. They started digging wells, tubs, and created a community,” she said. “There was no school; the community came together to create schools and build things. And that’s what open source does, too. People come together to help each other and build things.”