Experiences integrating CommCare with OpenMRS

At PIH Mexico we’re using CommCare for mobile form entry. We have a WIP OpenMRS implementation. I’d like to integrate CommCare with OpenMRS.

The main features we’d ultimately like to have are:

  • visits from CommCare show up in OpenMRS
  • patient-CHW assignments in OpenMRS show up in CommCare
  • last n observations for certain concepts in OpenMRS show up in CommCare

I’m interested in knowing what people have achieved thus far, and how the experience of development and maintenance is. I hear Possible (@laxman?) has an OpenMRS/CommCare integration, about which I guess I’d also like to know how Bahmni-specific their integration is.

I think the Possible Health integration might be the most recent. At one point there was also an OpenMRS/MoTeCH/CommCare integration, which was based on vanilla OpenMRS.

1 Like

Can anyone do me a favor and tag some people who might know about this?

Would be pretty cool if OpenMRS Talk supported tagging orgs…

Does it help to search on Talk using this text? CommCare

For posterity:

I had a call with a Bahmni implementer who said that Dimagi is working on a CommCare integration. It is not ready yet. I got the impression that it won’t be Bahmni-specific. It will support two-way data syncing between CommCare and OpenMRS.

@bistenes, at Possible we just had a pilot rollout of the Commcare-Bahmni integration in two villages, starting with demographic data. It has only been a week but we are able to successfully sync demographic data, and are now preparing to roll out two-way sync of healthcare information in the next few weeks. This should work the same for OpenMRS as well.

As part of the initial care delivery sync rollout we will be:

  • syncing visit/obs from Commcare to Bahmni
  • syncing obs from Bahmni to Commcare

Hi Brandon,

Connecting OpenMRS with CommCare is completed through the open source solution MOTECH. And, as mentioned, Bahmni can be utilized through this integration as well.

The integration leverages the organizational structure that you set up in CommCare to sync data with several OpenMRS instances. The push (CommCare -> OpenMRS) can create visits, encounters, and observations and update patient demographic information. The pull (CommCare <- OpenMRS) can happen in two modes: (1) through a report, when we apply logic to select patients, etc or (2) atom feed, which is a module that returns changes in an OpenMRS instance.