I got a very exciting invitation yesterday (actually discovered it in my SPAM folder… eek!). There’s a yearly event (now in it’s third year), called Science Foo Camp. In short, it’s a multidisciplinary unconference focused on innovation in science and technology. Doing a Connotea search on scifoo gives you a whole host of chatter about the first two meetings, some of which has me in a lather. I’m particularly excited about this opportunity, because it might present me with the forum to talk about some of the deeper challenges with OpenMRS and serving the underserved as we grow our community. Perhaps I’ll also have a forum to talk about the challenges related to clinical informatics in general: data normalization and aggregation, community-wide decision support, using clinical data retrospectively for pharmacovigilance and quality improvement, and evolving from clinic-centric records into personal health records, etc.
Someone was nice enough to send me a link to an online recording of a presentation I gave in Nairobi around the OpenMRS Concept Collaborative (OCC). Here it is for your listening and viewing pleasure:
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 asked some time ago to present our work on OpenMRS as an example of social transformation at a national conference hosted by our institute. The first thing that went through my mind (besides a large “wha?”), was that I detest giving talks about such wishy-washy, touchy-feely topics. Given that we were asked by our direct mentors and peers to do this, however… we agreed.
Regenstrief’s spiritual leader, Tom Inui, likely sensed our sentiments about giving this talk, and gave me a book as a gift:
He told me that the book described our story and perhaps might help us with further work on OpenMRS. I gave it a shot, and in short, I highly recommend it. It reads easily, and it’s inspiring.
What it taught me:
- Trying to do good things in the world starts with good intentions and isn’t typically associated with deep introspection and planning
- Most people that have succeeded in changing the world feel as if they’re constantly flying by the seat of their pants
- If people readily identify with your cause, then you very well might be onto something… don’t ignore this
I have to tip my hat to Tom and Brad Doebbling (the organizer of the conference we presented at), as they forced us to do something that isn’t in our nature: be introspective and attempt to describe how we’ve evolved OpenMRS to where it is today. Burke talks more about the presentation we gave in his blog post, but I keep coming back to an idea I had as we were in preparation: the open source approach to software development is an extremely potent way to enable social transformations.
The way in which I’ve seen the larger open source community converge on OpenMRS is nothing short of staggering from my perspective, and I can’t help but think that there’s some important lessons in this that can and should be reused by others. I’ll have a lot more to say on this in the weeks to come, as I share some exciting news about the growth of the community.
On a completely different topic, I just got a copy of the new Radiohead album, In Rainbows. Um, wow. A clear standout track: Bodysnatchers. Go download it now! Yes, they’ve actually released the album online, and allow you to decide for yourselves how much to pay for it. Brilliant.
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!
Last week, the folks from Partners-in-Health hosted the Indianapolis OpenMRS contingent (Burke, Ben, Brian, and me) and representatives from Careware, the WHO, and CDC for some strategic planning on developing country health information technology. It was a good visit for a number of reasons. Some highlights:
- My personal highlight was Justin Miranda’s demonstration of the OpenMRS reporting framework. Given that reporting tools were my top OpenMRS priority for 2007, it was great indeed to see a true pathway towards this. It was also fantastic to see Justin hitting his stride with this work, knowing how much time and thought he’s put into it. I suspect that this will enjoy a formal unveiling some time in the next month.
- It appears that OpenMRS synchronization has come a very long way since we’ve last talked with the Boston crew. There are five developers putting real cycles into the code development (including Christian, Darius, Julie, Maros, and Anders, our summer student), and with a few exceptions, their straw man holds up well as a good first pass. They are targetting an October release.
- We had another opportunity to meet a Google Summer of Code intern: Matt Harrison. He’s making good progress on OpenOffice integration. I anticipate working hard over these next few weeks to open doors for him as I reach out to the OpenOffice community in a more deliberate way. It was exciting to see someone so invested in his project, and I got some helpful feedback about his experience this summer over beers downtown. I’m hoping he’ll find time to continue being part of our community…
- Always good to catch up with Jeff from the Careware group. His group continues to pound out new features, and I appreciate his attitude in working with a group like OpenMRS.
- I had the chance to show off progress on OpenMRS MD (minimum dataset), the prepackaged implementation of OpenMRS around the WHO HIV care guidelines and forms. Hunger for this product from the funders perspective is more palpable than anything else on the radar at this point, and so it must be important to the ecology out in the field these days. I continue to have questions of how a software like this will be supported over the long run. Of course, the OpenMRS community can certainly sustain some technical support, but given that we’re reaching out to a more naive audience, it will be interesting to see if WHO/CDC takes more of an active leadership role with it. Here’s my slide show on the topic.
- I also got to talk about my current pet project, the OpenMRS Concept Cooperative. Surprised to see how folks are beginning to arrive at some of the same conclusions Burke and I have re: issues when dealing with clinical vocabulary management. Even more excited to get that first version out the door. Here’s my slide show on OCC.
- Had great meals while we were there, especially the seafood we had on Thursday night, and the great get together we had the night before the meeting with the PIH team.
Despite all of this, it was in fact my first travel away from my son since he’s been born, which was harder than expected. Hopefully it’ll get easier over time, especially as we prepare to head to Eldoret, Kenya in September (gulp!)
Sorry I’ve been quiet for a while, but this is a special time in our lives, as we celebrate (and calibrate with) our first son, Will:
I’ll be back soon, promise!
PS: He’s already asked me for an iPhone. Guess I’ll have to get him one.
During my day job, I work on decision support systems. My first stab at this was a system called CHICA, or the Child Health Improvement through Computer Automation System. Here is a quick overview poster which describes how the system works.