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.

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