The PIH informatics team’s blog

  • PIH logo
  • Advertisements

Job posting: Haiti Software Developer, Medical Informatics

Posted by ellenball on January 26, 2011

Reports to:      Director of Software Development, Medical Informatics
Location:        Haiti, with additional time in Boston, Massachusetts

Organizational Profile:
Partners In Health is a non-profit corporation based in Boston, Massachusetts, whose mission is to provide a preferential option for the poor in health care. Through service delivery, training, research, and advocacy, PIH works globally to bring the benefits of modern science to those most in need, and to serve as an antidote to despair. PIH currently has programs in Haiti, Peru, Guatemala, Mexico, Russia, Rwanda, Lesotho, Malawi, and Boston.

PIH is part of the collaborative for OpenMRS, an open source electronic medical record system, and is the recipient of a grant from the International Development Research Center (IDRC) aiming to strengthen Haitian eHealth systems to support improved health care delivery.

Job Description Overview:
We are looking for a full-time Java EE developer to create functionality in OpenMRS for our sister organization in Haiti, Zamni Lasante (ZL). He or she will be working in a complex and fast-paced environment with experienced technical teams in both Haiti and Boston, travelling frequently between both locations.  In Haiti the developer will work closely with clinical, data entry and monitoring and evaluation teams at PIH/ZL in the design and implementation of the systems, and will mentor PIH/ZL software developers.  He or she may also serve in a mentorship role to other PIH/ZL IT staff.  This job combines exposure to leading developments in medical informatics in developing countries with the opportunity to have a direct impact on patient care in Haiti.

Primary Responsibilities:
1.      Design, develop, and support new features in OpenMRS based on needs identified by PIH/ZL.
2.      Bug fixes and improvements to existing features.
3.      Mentor less experienced programming staff to undertake projects of increasing complexity and to work with autonomy over time.
4.      Support clinical teams by improving tools to document and present patient-level data.
5.      Provide reporting tools for project monitoring and quality improvement.
6.      Support research teams by querying and exporting data for academic publications.
7.      Contribute modules and patches to the OpenMRS open source project.
8.      Take on additional work as required by PIH and PIH/ZL.
9.      Significant travel between Haiti and Boston.

1.      2+ years experience Java EE web application development.
2.      Fluent in English and French, experience in Haitian Creole a plus.
3.      Knowledge and experience in several of the following areas:
a.       Spring, Hibernate, MySQL, Tomcat, Eclipse, Linux.
b.      UI development skills including AJAX, JQuery, or other technologies.
c.       Test-Driven Development or Behavior-Driven Development.
d.      Design patterns and best practices.
e.       OpenMRS or other medical software.
4.      Strong communication and organizational skills and ability to work independently.
5.      Comfortable living and working in rural areas.
6.      Ability to take initiative and work with minimal direction.
7.      Exposure to issues relevant to public health and international development.
8.      A commitment to global health equity and social justice.



Posted in Boston, Haiti | Leave a Comment »

Job posting: French or Creole speaking OpenMRS programmer for Haiti

Posted by hfraser on August 13, 2010

PIH is looking for a French and preferably Creole speaking Java programmer to work on the expansion of OpenMRS in Haiti. This is part of our IDRC funded  project with Itech and trhe Haitian government. The full job description is here.  Hamish


Posted in Uncategorized | Leave a Comment »

Rwanda: Upgrade to OpenMRS 1.6 with sync module

Posted by ellenball on June 8, 2010

The Rwanda OpenMRS servers were upgraded to OpenMRS 1.6 in May 2010.

The Northern Provinces have a single server in Butaro, and that was upgraded in early May from 1.4 to 1.6 by Dave Thomas, Edwin Musonga, Marc Harrison (Paris).

Maros Cunderlik, Ellen Ball & Edwin Musonga

The Eastern provinces were upgraded with a replacement of OpenMRS (sync branch 1.4) with OpenMRS 1.6.2 along with the new sync module (RC1).  Thanks to the dedication of volunteer extra-ordinaire Maros Cunderlik, Dave Thomas, Edwin Musonga, Ben Wolfe, Marc Harrison and Mark Goodrich.  The process was very smooth (if not along some bumpy and scenic dirt roads in Rwanda).   The Rwinkwavu server was replaced on Tuesday morning, May 25th and followed by visits to Kirehe, Rusumo and Rukira on that same day.  The next day (Wednesday), the servers were replaced in Mulindi and Nyurabuye.

Dave Thomas and Edwin Musonga heading back to ambulance transport at Mulindi

The quote at the end of day 2:   “Things are working” –Maros

Thanks to Biega for morning coffee and providing some sanity.  Apologies to all the goats that gave their lives to become brochettes at Coco Park.  Great appreciation to Cheryl Amoroso for dealing with some challenges with sync during the past year+.

Posted in Rwanda | Tagged: , | 1 Comment »

We’re hiring!

Posted by djazayeri on December 3, 2009

Are you a J2EE Web Developer? Want to save the world? At least as much as you can by programming?

Check out the job posting.

Posted in Boston | Tagged: | Leave a Comment »

OpenMRS Workshop for Central America

Posted by jblaya on July 12, 2009

Workshop participantsWe just finished a 3 day (July 8-10, 2009) workshop on OpenMRS in Guatemala for Ministry of Health and CDC personnel from different Central American countries, though unfortunately those from Honduras were not able to make it because of the current conflict there.

During this workshop we addressed:

  • The current state of medical informatics in the world and lessons learned from developed countries in the implementation of Electronic Medical Records (EMRs)
  • Overview of the PEPFAR program and CDC’s involvement in the region
  • Overview of OpenMRS, it’s vision, and current implementations
  • Other open source projects working with OpenMRS such as mobile devices (OpenROSA) and DHIS.
  • Installation of OpenMRS and modules
  • Creation of concepts and forms
  • Working with cohort builder
  • Creating reports and exports

In a broad group discussion we also found what were the benefits and disadvantages of OpenMRS that were most important in this region.  They will be included in a separate document to be attached. Finally, we had small group discussions about possible implementations of OpenMRS in projects and clinical sites throughout the different countries represented at the meeting.  All were excited about the ability of OpenMRS to unify the many disparate information systems that were being implemented for all of the different programs in their respective countries.  Overall, the meeting ended with a lot of enthusiasm showing the need for a Latin American OpenMRS Implementers meeting, which should happen in Lima in late september.

Posted in Uncategorized | Tagged: , , , | 1 Comment »

Rwanda Upgraded to OpenMRS 1.4

Posted by djazayeri on November 20, 2008

I want to congratulate Chase and Maros for getting Rwinkwavu and Kirehe’s OpenMRS servers upgraded to version 1.4 with sync. Jeremy and Evan, you two owe them beers for having upgraded first and finding and fixing a whole slew of bugs in 1.4 that you would otherwise have had the pleasure of experiencing firsthand.

I’d also like to share this conversation for those who couldn’t be here:

(Scene 1: Wednesday night, 10pm)

Maros: So, Darius, unless you tell us not to, we’re going to start the upgrade now.
Darius: Hmm…okay, go ahead.
Simon (BCG): WTF? You’re going to do a major upgrade on a Wednesday night?
Chase: Yes.

(Maros and Chase leave.)

Simon: You’re really okay with this?
Darius: Yes, I have complete confidence.

(Scene 2: Thursday morning, 8am. Chase and Maros are sitting around their laptops. They haven’t slept. Darius and Simon arrive.)

Simon: So?
Chase: Rwinkwavu is up and running.
Darius: Whew.

Not that I doubted for a moment. 🙂


PS- Anyone reading this from the broader OpenMRS community, we’re going to release 1.4 as alpha now that this first round of bugfixing has happened.

Posted in Uncategorized | Tagged: , | Leave a Comment »

OpenMRS Implementers Meeting

Posted by ellenball on July 15, 2008

It was a great honor to attend the OpenMRS Implementers Meeting – 17-20 June 2008 at the Elangeni Hotel in Durban, South Africa.  It was my first OpenMRS meeting and also my first trip to Africa.

Monday was spent at an OpenRosa meeting which was moderated by our old friend and colleague, Neal Lesh.  This group has made great progress.  Here’s a description of OpenRosa:

OpenROSA is a consortium formed to create open source,
standards-based tools for mobile data collection, aggregation,
analysis, and reporting. By developing open source solutions and
conforming to standards based on the XForms specification, our
different projects can easily share code, data, ideas and

The rest of the week was filled with OpenMRS.

The most interesting presentations were ones from the implementers — the ones from our own PIH team Jeremy Keeton for Lesotho, Christian Allen about synchronization with great graphics about doctors traveling by camel and many funny subliminal messages), Baobab (Mike McKay and Jeff Rafter), Millennium Village Project (Andy Kanter) and Albert Schweitzer Hospital in Haiti (James Arbaugh).  The many different uses of OpenMRS is fascinating and creative.  Albert Schweitzer has over 700K patients in OpenMRS!  MVP uses OpenMRS as a primary care system.

Two other presentations were valuable.  Ben Wolfe from Regenstrief Institute gave a demo of building odules. This was well timed since I was building my first module.  Too bad this wasn’t more of a hands-on lab class, but it was still very useful.  A panel discussion about the current concept dictionary, OpenMRS Concept Co-op (OCC), Terminology Service Bureau (TSB) and OpenEHR archetypes was a useful finale to a wonderful week.  This area needs attention, but hopefully additional resources will focus on this.  I’d like to do more work in both these areas.

It was great to meet so many active participants in the OpenMRS community and a once-in-a-blue opportunity to get the Partners In Health OpenMRS team together.

Posted in Uncategorized | Tagged: , , | Leave a Comment »

Reporting Framework at Durban

Posted by pihemr on July 14, 2008

The Durban conference presented the community with a great opportunity to discuss many newly developed features soon to be released in OpenMRS version 1.3.  One of the most significant of these is the new reporting framework.

Although general in nature, the primary goal of the reporting framework is to ease development of aggregate indicator-based reports.  Given that many organizations share the same reporting requirements for agencies like Pepfar and the Global Fund, our goal is to foster collaboration and knowledge, thus reducing the work involved for all.

As developers involved with producing this framework, we entered the conference aiming to demonstrate the capabilities, to gather feedback, particularly on usability, and to rework the functionality as needed.  This proved to be a very valuable experience.  Initial feedback, early in the week, was that the interface was far too unwieldy for a non-technical user of the system.  This resulted in the first of our redevelopment efforts, a completely rebuilt report design interface, in which the user follows a configuration wizard to complete the design process.  As this was iteratively developed on site, by the end of the week we were able to demonstrate these revisions to the wider audience.  We received a very positive response and a number of useful suggestions for continued improvement.

One of the more interesting suggestions came from Christian, never shy with his opinions on user experience.  His contention is that the report design process can be driven wholly from an “example report”, expanding on the ideas utilized in the ReportTemplate module.  The basis of this design would involve starting with a template file in a format that most users are very familiar with – Excel, Word, Text, or similar, and initiating the design process from there, with wizards to help the rest of the way.

It is clear to me following the meetings in Durban that user-experience will continue to play a larger and larger role in the success of OpenMRS and, as with the reporting framework, iterative design and continued community involvement will be key to this success.

-Mike Seaton

Posted in Uncategorized | Leave a Comment »

Data Management in Durban

Posted by evanjmwaters on July 9, 2008

PIH’s team of OpenMRS implementers and data mangers based in Rwanda, Lesotho and Malawi conducted a data management workshop at the HISA 2008 Conference in Durban.  The purpose of the workshop was to identify common data management problems and brainstorm as a group to come up with good solutions.  In addition to the PIH team, current and prospective OpenMRS implementers based in Kenya, Uganda, Tanzania and South Africa were present at the workshop.

The problems discussed ranged from challenges with the initial implementation through to common issues faced by an established project with a large patient population.  Specific examples that attendees gave included:

  1. Getting started with OpenMRS at an existing HIV clinic with approximately 6,000 historical patients, but very poor paper and electronic record keeping practices
  2. Internet and/or power unavailability presenting challenges to a typical implementation
  3. Proliferation of transcription errors leading to poor data quality
  4. Lack of motivation from clinicians to use EMR forms leading to incomplete record sets
  5. Incorrect patient identifiers resulting in lab results being assigned to incorrect patients

Most of the data management problems that were discussed were common experiences for the implementers in attendance, and a number of interesting solutions were shared during the second half of the workshop.  These included:

  1. Focusing on getting a particular record set right at the beginning of an implementation over trying to get all of the data into the system at once.  In the case of the implmenter with 6,000 historical patients, this could involve building a recordset for patients currently enrolled at the clinic, and leaving out patients that were already deceased or transferred out.
  2. Being flexible with power and internet requirements.  Prior to getting internet at its clinics in Lesotho, PIH developed a system for offline data entry using Excel, which were uploaded to a central server in Maseru.
  3. Empowering the data entry team to notify clinicians of transcription errors on forms, and motivating the team to hold itself accountable.  The OpenMRS implementers in Eldorat have developed data accuracy targets and data clerks are rewarded for meeting them.
  4. Making it worthwhile for clinicians to use forms by (a) making the forms themselves improve workflow and (b) focusing on developing useful reports.  Allowing the data entry team to be part of the process by delivering the reports to the clinicians can help build good relationships between the two groups.
  5. Building an electronic system for issuing unique identifiers to patients.  In Malawi, the team from Baobab uses label printers and barcode scanners to issue ids and access patient records.

One of the overriding themes that came out of the workshop is how integral data management is with clinical practice as a whole.  From the moment a patient arrives at a hospital through to the point at which the patient’s record is entered into an EMR, there are countless opportunities for encountering data errors.  Each of these problem points poses an opportunity however, as good data management practices can greatly improve the clinical workflow as a whole.

Another theme from the discussion is that data management should not be an end point, but rather a part of a closed loop between the developers of an EMR and the clinical setting.  Some of the best solutions that were discussed in the workshop involved both a proactive data manager and an attentive development team that was able to help come up with a solution to the problem.

Posted in Uncategorized | Leave a Comment »

A Check Digit for Polyphemus

Posted by chaseinrwanda on June 26, 2008

“‘Cyclops, you asked my noble name, and I will tell it; but do you give the stranger’s gift, just as you promised. My name is Nobody. Nobody I am called by mother, father, and by all my comrades.’

“So I spoke, and from a ruthless heart he straightway answered: ‘Nobody I eat up last, after his comrades; all the rest first; and that shall be the stranger’s gift for you.’

–Odyssey, Book IX

Ever since the age of myth, the human race has been engaged in an epic struggle against mistaken identity. Oedipus unknowingly kills his father and marries his mother, because he does not know their true identity. The unlucky neighbors of Baucis and Philemon in Ovid’s tragic tale could have been spared if only they had a better way to accurately identify guests. Belle was lucky enough that the Beast’s true identity was a handsome prince, but most of us would prefer to know in advance. And of course, “Nobody” knows better than the now-blind cyclops the importance of accurately identifying visitors.

In the medical world, mistaking a patient’s identity can also have severe consequences. Imagine the following scenario. Annie Nonymous goes to the clinic for a scheduled visit and has blood work done. Annie Nonymous has a system ID of 12543912. The lab technician, who enters hundreds of lab tests into his computer every day, mistakenly types in Annie Nonymous’s system ID as 12543412 (which is actually the ID for Anne Nonymous). The next day, the doctor sees Annie’s CD4 count in Anne’s file and mistakenly starts Anne on ART instead of Annie! Of course, this is a simplified scenario, and in reality there are more opportunities to catch mistakes before they result in a change in drug regimen, but medical mistakes based on mistaken identity are indeed a serious problem. In fact, according to the Institute of Medicine, in the United States alone medical errors lead to around 100,000 patient deaths per year [1].

At Inshuti mu Buzima, we are taking a big step forward to prevent mistaken patient identity. From the beginning, we have been issuing patient identifiers that are verified with a check digit, generated according to Verhoeff’s Dihedral Check Digit Algorithm [2]. A check digit is a simply a letter appended to the end of an identifier that is calculated from the rest of the identifier string. You can play with generating check digits here: http://rwanda.pih-emr.org/verhoeff.html.

Although we have been issuing identifiers with check digits from the beginning, until now we had not actually been checking that check digit anywhere in the EMR. OpenMRS used to have the Luhn Check Digit Algorithm hard-coded into place, but we have recently rewritten the OpenMRS core to allow the addition of any check digit algorithm of the one’s choosing. We prefer the Verhoeff algorithm over Luhn because the Verhoeff algorithm guarantees to catch all single digit replacements and transpositions of adjacent digits. For example XXXaXXX will never have the same check digit as XXXbXXX, and XXXabXX will never have the same check digit as XXXbaXX. Luhn can also detect any single digit replacements, but it does not catch all transpositions of adjacent digits.

Now that we have the tools to detect mistaken identifiers, Cheryl, our data manager, is feverishly working to correct identifiers in the system we know are invalid, with the peace of mind to know that more will not be created. Although check digits are not able to prevent all cases of mistaken identity, we’re confident that together with the other systems of checks and balances we have in place, mankind’s ancient struggle against mistaken identity may be drawing to a close.

[1] To Err is Human:Building a Safer Health System. Institute of Medicine. Washington, DC: 1999.

[2] Wagner, Neal. “Verhoeff’s Decimal Error Detection”. The Laws of Cryptography with Java Code. p 54. San Antonio, TX: 2003. http://www.cs.utsa.edu/~wagner/lawsbookcolor/laws.pdf

Posted in Rwanda | Tagged: , , | Leave a Comment »