For a couple of weeks now, I’ve felt particularly good about our progress on OpenMRS, as we’ve *finally* made good on our objective of bringing coders from developing countries into the fold. Honestly, up until recently, I’ve always felt a little disingenuous about our mission as an “open source medical record system for developing countries”, when a large majority of the actual development was taking place in the US and Europe.
Now, we can proudly point to a number of examples of some real, honest to goodness African and developing country coders making real contributions.
For example, take Ime Asangansi, an extremely bright and energetic clinical officer based out of Nigeria who has recently begun a project with me and Tim Cook to create a working prototype that will produce and consume OpenEHR archetypes. This kind of work is not for the faint of heart, believe me, and it’s *inspiring* personally to see someone so passionate about the opportunity to work on this in earnest as one of the inaugural OpenMRS Internship Program’s interns.
Then there’s Sam Ndichu, a young Kenyan who is conceptualizing and leading coding efforts to build a patient tracking module for OpenMRS. These ideas were informed through some work he’s done in the past with clinical environments in Kenya. Ben practically gushes about this guy’s talent and potential, and I know how difficult it is to impress Ben. 😉 I’m excited to see what he’ll come up and hope that he’ll step up and take on a leadership role in our public discussion areas.
I’m also excited to see two developers, Abyot Asalefew and Anthony Muyepa take on the strategically important priority of creating a strong interface between OpenMRS and DHIS. I think that this work has a ton of value outside of trickling patient-level data up to an aggregate level reporting system such as DHIS: it’ll likely be the foundation for communicating indicators to the outside world in general. We’re also very pleased to see the DHIS team taking a very active role in their mentorship.
Finally, last but definitely not least, how could I make a blog post without mentioning Daniel Kawiya? Back when Burke and I really put our heart and full commitment into OpenMRS, I think one of the big questions and criticisms of our approach was our assumption that our success was tied to Africans and other developing country contexts taking hold of this project and making it theirs through their active, passionate involvement. We were told by many that this was too unrealistic of an expectation given the circumstances in many of these environments. In retrospect, I even caught myself wondering from time to time if we were too ambitious in our aims?
Daniel has demonstrated to us all in some remarkable ways that we were all wrong in those assumptions. When Burke and I first met Daniel back a couple of years ago, that symbolized for me a turning point for this project. It seems like at almost every meeting or get together that we have in Africa, that Daniel knocks us all out of our seats with a remarkable bit of code, or insight as to how to make OpenMRS a better piece of software. A couple of months ago, for example, he independently wrote code which enables XForms functionality in OpenMRS, and just sprung it upon us at an international meeting. He’ll likely single-handedly demonstrate to the rest of the community how we can move forward with alternatives to InfoPath for data collection. This is likely the most requested feature from end users.
He’s in fact become so invested in the OpenMRS work that he’s taken it on as his full time endeavor recently. I can’t tell you how important of a milestone this was for me personally, because in Daniel I see the future of health information for Africa. His humble, yet commanding presence is such an empowering example to the likely thousands of other Africans who are wondering to themselves: “do I have what it takes to make a difference in the HIV crisis?”. His commitment to this work definitely helps gets me out of bed to work on the project. 🙂
We’re committed to seeing more and more new developers come and take part in this initiative. I want you all out there to make the guys who have gotten this project started obsolete! Nothing would make me prouder than for OpenMRS to evolve to a place where I need to step aside, as it becomes more and more led by those who will be using it on a daily basis. So, from my perspective, these examples are another milestone towards this goal.
Powered by ScribeFire.
So, this post is *long* overdue. In early October, four of the OpenMRS team had the opportunity to join 113 other open source projects on Google’s Mountain View Campus for the third annual Google Summer of Code Mentor Summit. This was an awesome opportunity to co-mingle with other open source projects, learn a ton about continued community development techniques, and spread the good OpenMRS love to those in the larger F/OSS community. Here we are basking in the coolness of the Googleplex:
(Above: Justin, me, Burke, and Darius looking forward to the after party after a long day)
What did we take away from the day?
- For many different reasons, other open source projects would like to work with us. Whether it’s demonstrating the utility of their work, finding value in some of the work that we’ve done, or just being good world citizens… they’ve either expressed interest or have actually already gotten down to work with us. You’ll see more of this in the months to come
- We’re not doing so bad in community development. There’s a general trend of “I wish we could make better documentation” or, “I wish we had better unit testing practices” among the legions of other projects. Talking to others allowed us though to continue prioritizing where we need to be focused:
- Adopt unit testing cultures ASAP
- Lower barriers to entry around good OpenMRS programming practices
- Continue to be leary of recreating what’s already released out into the wild and proactively seek partnerships at every opportunity with other F/OSS projects
- We need to think hard about creating a non-profit organization to support OpenMRS’ growth. The continued, loud advice is to do this, and do it quickly.
- Poolside pizza, lots of bottles of alcohol, and open source geeks together make for one interesting party.. 😉
Even though this marked the end of our first Summer of Code with Google, it’s easy to avoid sadness knowing that from this came so many learnings, good experiences, and future leads for our work that have helped to transform the project in some important ways. We also will soon be announcing our “Southern Summer of Code” project, sponsored by the IDRC, so stay tuned!
Burke and I were invited to spend a day at the Googleplex on Thursday. Despite the fairly quick turnaround on travel (so that we could both be home with our families for the weekend), it was an outstanding trip!
We started the day having breakfast with Allen Gunn. I was struck with his breadth of experience with open source project management. Despite this, he was humble, genuine, and a lot of fun to talk with. Some of the advice he gave us:
- Start investigating the steps involved in creating a foundation for OpenMRS. Perhaps this would give us some flexibility to utilize resources with more dexterity than we have now?
- Work harder at journaling our experience. In many ways, we’ve traveled uncharted waters with this whole community-based approach to medical record system development, and Gunner thought that a description of how we got here might ultimately be more valuable than the software itself over the long run. Seems like wise advise to me. I’ll start blogging more, and see how that works. Will also poke Burke, Hamish, and Chris to do the same.
- Meet up with Karl Fogel, author of Producing Open Source Software. Gunner thinks he could help us in a number of ways, especially with issues around community development.
- Do a thorough analysis of all of OpenMRS’ open source “includes” to see how their licenses impact our ability to bundle software together into a single package. For example, OpenMRS uses frameworks like Tomcat, Spring, etc. While we’ve done a good job including licenses and giving appropriate credit, we might have to investigate whether we’re truly legit in how we’re incorporating packages. For example, what percentage of our dependencies are GPL’ed? When he asked this, I didn’t know. 😦
We finished up breakfast, excited about the new friend we’ve made in Gunner, and the three of us headed to the Googleplex to get ready for our presentation. The campus is as big as everyone describes, and it definitely has a carefree vibe going on. Leslie was as high-energy and effervescent as I envisioned as well. Really very kind. We wasted no time at all, having given our Tech Talk literally 20 minutes upon arriving. I think it turned out pretty well. Here it is for your viewing pleasure!
We had a good audience with lots of thoughtful questions. We also had the opportunity to reach out and ping the OpenOffice.org, Eclipse BIRT, and Pentaho communities. A couple of ladies within the audience were part of google.org, the philanthropic arm of Google, and graciously joined us for lunch. The food services at the Googleplex are every bit as obscene and over the top as the net describes. Wow…. fun to watch people so happy. 🙂 We had a fine time talking over lunch about real world issues of clinician adoption, how our framework can help with medical reporting, and common areas of interest between our groups. It’ll be interesting to see how that relationship evolves over time.
We then met up with the Google Health folks, and saw some really cool technology that I wish I could talk about. While I think there was a little bit of “magical thinking” about how their technology will work, in general there was a number of excellent innovative ideas in what we saw. We also got a personal tour from Leslie, met up with a number of the engineers on the campus, raided the schwag closet, and did some planning for some future surprises for our community.
It was a great day, which culminated in a mini-bar crawl with Leslie. Beers, margaritas, and some good mexican food combined with plans for world domination followed. After waving goodbye to Leslie, we headed to San Francisco to meet up with Tom Hubschman, who just moved to the area. He’s a good guy, who we first met in Cape Town at one of our OpenMRS implementer’s meetings. He has a good series of ideas of tools that the HIV community wants/needs, and Burke and I enjoyed hearing about his travels over wine. In short, we left acknowledging that the OpenMRS community would be lucky to have his involvement.
Thanks to everyone at Google, and especially Leslie for the 5 star treatment on Thursday. Looking forward to having more fun with this organization in the future!