Synchronizing iHRIS against a Master Facility List

From IHRIS Wiki

This page looks at strategies and concerns when synchronizing the iHRIS facility list with hose

What Is A Health Facility

Before we can begin synchronizing iHRIS facilities against another system, we need to be sure that both systems agree on the definition of a health facility. There are several places where the answer to this question is not clear. For example:

  • Are we looking at both public sector and private sector facilities?
  • Are we looking a facilities that are only places that provide clinical care? This may sometimes (though not always) the case when, for example, you are trying to link to DHIS2 or other system that is interested in reporting clinical data only. iHRIS tends to have a larger set of facilities under it, for example the MOH Headquarters.

If you are asking this question and getting different answers, than you can propose the following questions and answers:

  • What is a health facility? Well, it is a place where a health worker works.
  • So what is a health worker? According to the definition adopted by the WHO it is anyone "engaged in the promotion, protection or improvement of the health of the population."

Notice that a health worker is not just someone providing clinical care, so this includes the Minister of Health, ambulance drivers, cleaning staff, and probably you if you are reading this.

Now that we know who the health workers are, then we can advocate to the keepers of the Master Facility List that they should include the non-clinical facilities in their Master Facility List.

Synchronization or Linking

Depending on the answers to the questions above you may either want to do one of the following:

  • Is there any existing facility data in iHRIS?
  • Are all of the facilities that are needed in iHRIS already in DHIS2 — this is particularly important with respect to thinks like that state MOH HQ, or other entities that are not providing clinical services (as they may not be in DHIS2)
  • If we are importing the DHIS2 facility list, how are the geographic data elements going to be supported

In an existing iHRIS deployment, perhaps the easiest route to take is the “Liberia” approach in which iHRIS and DHIS2 facilities are considered separate but need to be linked. Here, one can import the DHIS2 facility list as a separate list into iHRIS as a separate “DHIS Facility List” using the SVS standard. The existing iHRIS facilities will need to be matched against the DHIS2 facilities if we want to report them.

The “DRC” approach, is for when there are no existing facilities or geographic data in iHRIS and DHIS2 will be the authority for all of this data. In particular, you will not be editing facilities in iHRIS directly. In this case, we can pull the full organizational hierarchy from DHIS2 into iHRIS.

The third approach, the “Ghana” approach, is if there is existing iHRIS facility data, but we want to move to using DHIS2 as an authority. In many ways, this is like the DRC approach, except that we will need to match existing facilities against the DHIS facilities and then “remap” all data that points to the old facilities, districts, etc. into the new versions we got from DHIS2.

Who is the Authority on Facility Data

Sometimes the remote system you wish to synchronize with has both public and private sector facilities listed in it. However, they may not be mandated to cover register both facilities. In this case, you will end up with conflicts when the true authority for one of these sectors starts managing their facility data. Although this is largely a governance issue within the Facility Registry community, it is a good time to ask this question.

For example, in some countries there are two departments at the MOH -- one is in charge of all public sector facilities and one in charge of all private sector facilities.

Extract, Transform, Load

When interfacing with a remote service or external source of data for obtaining the master facility list, have one generic software design pattern you should think of, ETL:

  • Extract: extract the data from the remote system
  • Transform: transform the facility data into a format usable by iHRIS. There are two good candidates here:
    • A module containing magic data for the facility under /I2CE/formsData/forms/facility
    • The iHRIS XML representation of a form. This is used in particular for XML service form storage mechanisms. It is out-of-scope of this wiki article.
  • Load: after successful transformation, load the data into iHRIS.

Direct Load

If the external facility data is an XML file, there is a XML form storage mechanism for reading the data directly in from the file. This can be used in cases where the external data is organized in a simple way and if you don't need to perform any real manipulation of the data.

Remap Existing Facilities in iHRIS

If there are existing facilities in iHRIS, then we will need to do some additional work to:

  • Associate one of the "old" facilities to one of the "new" facilities. This is called "setting remapping data". This can can be done either automatically through the use of a script, or manually through the web-interface.
  • Update any of the positions or other forms pointing to an old facility to point to the new facility data identified by the remapping data.

Automatic Mapping

Here are two commented examples:

  • Kenya MLF: create a list of facilities with duplicate names. If there is one which comes from the MFL, then the others should remap to that


Other Resources