A Django site.
April 25, 2008
» Summer of Code 2008


Woohoo yaaayyyyy … After delayed for a week, Google finally announce the list of accepted students for this year Google Summer of Code and guess what, I’m on the list. Wooohhhhoooo … I was so excited when I saw my name in the list which means I’m accepted as an intern student in OpenMRS for the 2008 Google Summer of Code (GSoC 2008) wooohhoooo yaaayyyy …

Open Medical Record System (OpenMRS) formed in 2004 is an open source medical record system framework for developing countries. For this year GSoC, OpenMRS have so many projects to offer to the students. I’ll be working to Extend Patient Matching Analyzers and Heuristics Support. This blog is dedicated to post any progress that I made on this project.

Right now, I’m still trying to understand current implementation of the patient matching in OpenMRS. My mentor, Shaun Grannis, give me some journals and publications to read in order to understand the matching algorithm. The main idea of the patient matching project is to enable aggregation patient’s data that is scattered in different places with different patient identifier. I think the work will be very interesting and challenging. Burke Mamlin, another mentor in OpenMRS, said that students will have fun working for OpenMRS and I think he’s right. The community is really fun and full of friendly people.

April 23, 2008
» Accepted to google summer of code!

I was accepted to participate in Google Summer of Code. I will be blogging regularly about my progress. The project I will be working is a Groovy Forms Module, which will enable administrators of OpenMRS to quickly create forms along with HTML and controllers. I think it will be a fun experience.

April 22, 2008
» It's official: I'm participating in Summer of Code

Yesterday I was notified that my project application got accepted into Google Summer of  Code. I can't wait to begin! I'll be working for OpenMRS, a web based medical record system primarily focused on developing countries. During the summer I will make a medical image viewer with several features for studying and annotating images, typically X-ray photos.

My original application proposed to implement the image viewer as a Java applet. The plans have since been revised, and the plan now calls for an AJAX web app instead. I will be using the Google Web Toolkit (GWT) and  the Google Maps API during development, something I'm really looking forward to.

The change from Java applet to AJAX will lead to much better performance in low-bandwith scenarios. It will also move much of the image processing workload from the client side to the server, enabling better performance on low-end hardware but probably stressing the server somewhat more.

I will keep this blog updated with my progress during the summer, posting at least once a week.

March 25, 2008
» Summer of code 2008: what will you be doing?

As posted earlier that OpenMRS is participating in Google Summer of Code as a mentoring open source project. Working with OpenMRS will be highly rewarding knowing that you are single-handedly affecting the lives of people in developing nations ravaged by HIV/AIDS. If you are a student (undergaduate/graduate) you are eligible! So go apply for summer of code with OpenMRS! Student applications opened up yesterday and will be accepted up until Monday, March 31st 2008.

Stop by #openmrs on irc.freenode.org for more information -- ask for docpaul or burke.

March 24, 2008
» Wanna make some money while making a difference?

Hey guys,

OpenMRS is an open source medical records system that is used in many third-world developing countries where HIV/AIDS is an epidemic. Now here's where you can make a difference: They are participating in Google Summer of Code. You can make $4500 this summer while making a difference in the lives of people ravaged by the HIV/AIDS epidemic in developing third-world countries. Here's how it works: at the beginning you will get $500; after the mid-term evalations you will get $2000; at the end you will get the final $2000. Check out the projects you could potentially work on! For an overview click here.

Apply here.

Drop by #openmrs on irc.freenode.org for more information. Ask for docpaul, burke or bwolfe

January 18, 2008
» Another OpenMRS Milestone…


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.

January 15, 2008
» Another OpenMRS Milestone…


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.

November 20, 2007
» Google Summer of Code Mentor Summit


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:

Google Summer of Code Mentor Summit

(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:
    1. Adopt unit testing cultures ASAP
    2. Lower barriers to entry around good OpenMRS programming practices
    3. 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!

August 25, 2007
» OpenMRS Invades Googleplex


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!