[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
|
|
Subscribe / Log in / New account

Google Summer of Code Series, OpenMRS

June 20, 2007

This article was contributed by Nathan Sanders

This is the third in LWN's series of Google Summer of Code 2007 articles. The first two articles covered the program launch and Ubuntu's projects.

As Google's students continue working on their Summer of Code (GSoC) projects for one of 137 open source mentoring organizations, the relationships between Google's staff, the organization's administrators and mentors, and the students themselves emerge as showpieces for the open source development model. The Open Medical Record System (OpenMRS) project is a particularly interesting case, as it is one of several organizations participating in the GSoC 2007 whose work has widespread consequences for the international medical community. Those signed on with OpenMRS must overcome both technical and social challenges this summer while working within a heavily academic and international developer community. Read on for the impressions and testaments of the GSoC program from every side of OpenMRS' GSoC involvement, including Google's.

Google's open source team sponsors code development through the GSoC and other programs, occasionally overlapping with charitable causes in cases like that of OpenMRS. Another branch of the company, Google.org, is devoted to philanthropy in the areas of global development, public health, and climate change. Another division, Google Grants, doles out free AdWords space to non-profit organizations.

A medical records system widely used in a variety of developing nations presents unique requirements for developers. In addition to typical usability and security expectations, the system must be absolutely reliable, fully multi-lingual, easily extensible, and, above all, extremely scalable. Its developers would like it to assist in the treatment of tens of millions of HIV/AIDS patients and if possible, much of the rest of the population in the developing world. OpenMRS has already been implemented in a handful of African countries and receives support from the World Health Organization, Center for Disease Control, and other medical and charitable entities as a significant tool in the global fight against HIV/AIDS.

Their software provides an architecture for managing medical records that includes an advanced data storage model, programming API, and a set of web applications that includes OpenMRS' standard interface. Their very informative web demo is the best place to learn more about the system.

OpenMRS is new to the GSoC in 2007. Burke Mamlin, one of OpenMRS' founding fathers, admits that they only began to discuss applying a week before the organization application due date. They wrote the application the weekend before the deadline. Google's Open Source Program Coordinator Leslie Hawthorn explains that, like most other organizations, an exhaustive ideas list describing potential student projects was what won OpenMRS admission to the program. The ten student slots awarded to OpenMRS make it the thirteenth (of 137) most active participant this year, a lofty ranking which Hawthorn discloses is due directly to the amount of student applications the organization received - a phenomenal 134.

The OpenMRS development team was eager to pitch in as mentors. Developer Andreas Kollegger writes, "When the participation was announced, I immediately expressed interest in being a mentor. I think we all did (all the developers)." Mamlin adds that they were looking for projects that addressed short term goals which could be addressed in just one summer, but were not "simple bug fixes."

Hawthorn writes of students' attraction to OpenMRS, "I think that the intersection of open source and social change was incredibly inspiring for students, as it is for projects like One Laptop Per Child. It's one thing to hack on something cool, but it's even better to hack on something cool that will have an immediate effect on those in need." OpenMRS mentors would seem to agree. Hamish Fraser, an OpenMRS founder and mentor for Desmond Elliott's digital image tools extension project, concurs that it is the "humanitarian aspect" of his organization which attracted participants.

Perhaps it is to be expected that the students tell a slightly different story. None of the students surveyed seemed to have had any prior involvement with OpenMRS, most only learning about it through advertisements in the GSoC IRC channel or by browsing the list of accepted organizations. Though students seem to feel ingratiated by working for a project aiding developing nations, three explicitly credited the friendly welcoming they received from the OpenMRS team as securing their application.

Michael Zwolinski, a student working with mentor Justin Miranda on the Open Data Access Adapter and RESTful Web Service Module project, describes his courting process with the organization, "I first heard about OpenMRS browsing through the list of accepted mentoring organizations, as OpenMRS is not the type of project I would have come across on my own. At first I passed it up, not thinking much of it. However, I heard it being advertised in the GSoC IRC chat room, and hung out in the OpenMRS IRC room a while. I sometimes left, thinking that it might not be the organization for me, but I kept coming back for some reason. At some point, my current mentor explained the project I am working on now to me, and that hooked me. I liked the general atmosphere of the group, and my project sounded interesting, so I applied. I was actually accepted by another organization as well, but OpenMRS had both a great group of people and a great cause behind it, so the choice for me was a no-brainer."

Although not directly asked, two students offered that they would continue contributing to OpenMRS after the conclusion of the GSoC. OpenMRS's GSoC program organizers felt strongly about this sort of applicant dedication. Although Mamlin acknowledges using standard criteria for student selection (quality of application and experience), he also lists the student's "eagerness and interest in the project" and presence on their IRC channel as vital qualifications.

Geoffrey Rekier's reporting framework integration project mentor Ben Wolfe identifies a potential roadblock for GSoC participants: "OpenMRS is lacking in technical documentation and commenting - both will hinder [Rekier's] (and other students') ability to discern what is going on where and why." Nonetheless, Wolfe attests that the program has been "smooth sailing" thus far. The knowledgeable and attentive mentors supplied by OpenMRS are surely serving to ease students into the codebase and developer community.

Fraser offers the international nature of the organization as another hurdle for student acclimation: "It's a very fast moving project spread out over many countries so communication and coordination is a big deal." He comments that he would have liked more time allotted by Google for the student selection and integration process, particularly for his organization whose members are so frequently engaged in travel.

Participation in the GSoC has invited changes in OpenMRS outside of those being made by student developers. Zach Elko, a student working on the cross-platform installer project, testifies that a very amicable community of student applicants has formed around OpenMRS. He indicates that even those not accepted to work with the organization during the GSoC still keep in contact with the other students. Elko himself is not participating in the GSoC, but is one of two students being sponsored as summer interns by Paul Biondich, another OpenMRS founder. A hundred-thousand dollar grant from the IDRC will sponsor an additional twenty or more students year-round, starting in the Fall.

For better or worse, the OpenMRS team has found themselves forced to look beyond the GSoC for student interns. Biondich says of student internship programs: "Needless to say, we are convinced that this approach is central to our future development growth, as medical record systems are too complex to expect people to easily integrate into the community. We want to provide a richer collaborative substrate that allows people to get some assistance up front. Given the strong philanthropic drive of many within the open source community, we've realized that there's definitely interest, but a mentored internship provides the infrastructure to codify that good will."

Kollegger chimes in, "Google's sponsorship was just the right nudge to get us thinking the obvious, 'maybe we could get some interns to help out with some of this.'... The GSoC opportunity was enough to convince other OpenMRS related organizations that the summer of code should be the beginning of a continuous program sponsoring internships."

The project Kollegger is mentoring is another outside of the GSoC realm, Matthew Harrison's very salient data entry alternatives project. Kollegger explains, "OpenMRS has an unfortunate dependency on Microsoft Infopath for form design and deployment. It makes for a disjunct user experience and increases the cost of ownership. While it has been an obvious candidate for change, what was there worked so it was hard to justify putting development resources on it instead of filling in missing features. Matt is spending the summer integrating OpenOffice. It will be less costly, multi-platform and more nicely integrated."

Mamlin notes that OpenMRS has only made good use of IRC, now firmly integrated into their communications, since their entrance into the GSoC. It seems that an unexpected consequence of their participation in the program has been to, according to Mamlin: "force us to get organized in ways that might not have happened otherwise." Mamlin adds that "GSoC has taught us a ton about being a successful open source project and provided us with opportunities to interact with other successful projects."

The nature of the OpenMRS project has attracted a largely-academic set of developers. Fraser, for instance, is an assistant professor at Harvard Medical School. Major supporters include the Regenstrief Institute and Partners in Health. Not surprisingly, the students who applied and were accepted by OpenMRS also come from a very well-educated background. Though all GSoC participants are college students, about forty-percent of those working for OpenMRS are graduate students. Also like the developer team, OpenMRS GSoC applications came from thirty-four countries and six continents.

One student, Sarp Centel of the record linkage project, is a Fulbright Scholar who will be attending graduate school at Georgia Tech in the fall. His project incorporates data mining and machine learning techniques to couple patients' records across multiple hospitals and record systems. He writes, "I am thrilled with the communication and solidarity within my organization. Guidance of my mentor is great as well." He mentions that he would like to see Google encourage interaction between GSoC participants, though he adds, "considering the size of the program, I can say that it is being managed pretty well"


Index entries for this article
GuestArticlesSanders, Nathan


to post comments

OpenMRS might help more than the developing world

Posted Jun 21, 2007 11:43 UTC (Thu) by dion (guest, #2764) [Link] (13 responses)

Recently there has been a huge software scandal here in Denmark related to creating a common electronic journal system for all doctors and hospitals.

The project was mismanaged from the start, using the typically catastrophic waterfall model of software development and then driven right into the ground by an unholy confluence of bureaucratic ineptness and the greed of the contractors.

I can't help but feel sad that we could have gotten a working solution for much less than the millions already wasted, while helping the rest of the world by contributing to OpenMRS.

OpenMRS might help more than the developing world

Posted Jun 21, 2007 12:54 UTC (Thu) by mtk77 (guest, #6040) [Link]

Exactly the same thing is underway in the UK too. Some estimates put the total cost, if ever it gets delivered, at 50 billion GBP.

OpenMRS might help more than the developing world

Posted Jun 21, 2007 16:34 UTC (Thu) by shane (subscriber, #3335) [Link] (11 responses)

using the typically catastrophic waterfall model of software development

Somewhat off-topic, but the waterfall model gets a lot of bad press. However, in a properly managed software engineering environment, the only downside is cost. The aerospace industry uses the waterfall model exclusively, because it is the only way to get software that is proven to work to the level of safety and reliability required.

I'm not saying the Danish journal system is not a huge scandal, but don't blame a particular software development methodology.:)

OpenMRS might help more than the developing world

Posted Jun 21, 2007 18:08 UTC (Thu) by dion (guest, #2764) [Link] (7 responses)

Well, the waterfall model assumes that you know everything about what you are doing before you start doing it.

So it might work well for very strictly defined problems, like "fly space shuttle", if you do it right.

In the hands of dimwitted, blanco-check writing bureaucrats it's an absolute unmitigated disaster.

Any problem that leads to discoveries during implementation (read: almost all of them) you need something less rigid and less risky.

We as a country has a long history of huge software projects that turn out to be DOA, I remember one system (AMANDA) that took years and millions to produce that ended up being scrapped because it depended on OS/2 and one specific BIOS version, long after both had been EOL'ed.

I think that it would be a great damage control strategy for the government to say that the largest payment that can be made on any governmental software project is 200k DKK (or somesuch) and that the software must be usable before any payment can be made.

A hard cap on single payments will force projects to be cut into smaller pieces and any disaster will be limited to each small sprint rather than be allowed to fester and drag the entire GNP down with it.

That way we could avoid these insane budget overruns and huge software disasters.

It doesn't make any sense to build software like you build bridges, a half finished piece of software can be plenty useful, if not for the end users then for the designers and administrators.

If I was in power I'd also mandate that only my own svn.gov.dk could be used for source control and that all software developed must be publicly accessible and under a Free license.

I'm pretty sure that mandating Agile and OSS would bring down the costs and the risks in these huge administrative software projects.

It's a shame that our politicians are universally IT-retarded so they fall for every trick in the contractors want to pull.

waterfall vs. carousel

Posted Jun 22, 2007 4:03 UTC (Fri) by xoddam (guest, #2322) [Link] (1 responses)

> A hard cap on single payments will force projects to be cut into
> smaller pieces and any disaster will be limited to each small
> sprint rather than be allowed to fester and drag the entire
> GNP down with it.

So what you're saying is "release early, release often", yes?

waterfall vs. carousel

Posted Jun 22, 2007 12:29 UTC (Fri) by dion (guest, #2764) [Link]

To be blunt, yes:)

OpenMRS might help more than the developing world

Posted Jun 22, 2007 10:46 UTC (Fri) by nix (subscriber, #2304) [Link] (3 responses)

Are you sure you don't write for the Private Eye? The writing style (and litany of entirely justified complaints) seems familiar somehow ;}

OpenMRS might help more than the developing world

Posted Jun 22, 2007 12:28 UTC (Fri) by dion (guest, #2764) [Link] (2 responses)

Am I supposed to be flattered or offended by that?

flattered or offended

Posted Jun 22, 2007 15:03 UTC (Fri) by copsewood (subscriber, #199) [Link] (1 responses)

Put it this way, if something I had written had been compared favourably to that long running, satirical, frequently sued, perceptive and witty UK rag I would have felt highly flattered, but not everyone would.

flattered or offended

Posted Jun 23, 2007 21:17 UTC (Sat) by nix (subscriber, #2304) [Link]

It was meant to be flattering. :)

Shuttle iterative development

Posted Jun 22, 2007 17:51 UTC (Fri) by man_ls (guest, #15091) [Link]

So it might work well for very strictly defined problems, like "fly space shuttle", if you do it right.
As you can see from the program managers, it doesn't work [pdf]. An excerpt:
Shuttle program schedules required that the software be certified and ready to support the first orbital flight. However, the detailed definition of all requirements could not be completed in time to support a proven software design, implementation, and verification development cycle (Figure 2) due to the ongoing vehicle engineering analysis work. [...] To satisfy these conflicting demands and still deliver a fully verified, error-free software system consistent with Shuttle flight schedules, a development strategy was evolved that preserved the effectiveness of the proven development cycle and satisfied the customer requirements.

OpenMRS might help more than the developing world

Posted Jun 22, 2007 17:43 UTC (Fri) by man_ls (guest, #15091) [Link] (2 responses)

The aerospace industry uses the waterfall model exclusively, because it is the only way to get software that is proven to work to the level of safety and reliability required.
Where do you get that idea? The Space Shuttle primary flight software was developed using an iterative model: they put out releases every few months, not unlike the current kernel development process. It's even mentioned as an example on the wikipedia article.

The pure waterfall is definitely not the only way to get reliable software, in fact it is often the worst. Why not blame the methodology if it is not right for the job?

OpenMRS might help more than the developing world

Posted Jun 25, 2007 9:35 UTC (Mon) by shane (subscriber, #3335) [Link] (1 responses)

The aerospace industry uses the waterfall model exclusively, because it is the only way to get software that is proven to work to the level of safety and reliability required.
Where do you get that idea?
I got it from a talk at the 23rd Chaos Communication Congress last December, Software Reliability in Aerospace, given by a software engineer who works in aerospace.

If you think about it, the waterfall model makes a great deal of sense for aerospace projects. In these, the requirements are usually understood in much more detail before coding begins than for a lot of software projects. Also, while getting the requirements wrong is costly in any project, when you are working with very expensive hardware it is disastrous. Finally, the benefit of having a partially-working system (for example just "core features") is much less or perhaps even nonexistant for aerospace.

DO-178B and waterfalls

Posted Jun 25, 2007 21:19 UTC (Mon) by man_ls (guest, #15091) [Link]

Fascinating stuff, thanks!


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds