Building > Features > Integrations > DHIS2
Send aggregate, patient, and event data to DHIS2
The CHT Core Framework includes functionality that allows sharing data with any API-based system. Developers have configured CHT integrations with OpenMRS, KenyaEMR, Bahmni, DHIS2, RapidPro, Apache NiFi, OpenHIM, custom electronic medical records (EMR), and several other systems.
Integrating a CHT App into your digital health ecosystem starts with identifying an integration use case. It’s important to first understand all the components present in the ecosystem (EMR, laboratory system, community health information system, etc) and then plan out what the workflow will look like operationally. It is important to consider what information is needed at each point, will it be available to them, what happens if it is not, is this workflow even useful for them.
One of the biggest challenges in developing integrations between systems is patient matching and/or deduplication. Sometimes this can be controlled operationally, other times it requires complicated algorithms or human intervention.
Below are a few example integration use cases:
As you design your use cases, creating a sequence diagram will be helpful in illustrating what the flow will look like. Here is an example sequence diagram for an integration use case with RapidPro.
There are a number of different interactions that may occur between digital health systems. Below are some common use cases:
Using the outbound push feature, you can configure the CHT to send data to another system. Before starting, you’ll want to make sure you understand the APIs of the destination system and have login credentials with adequate privileges.
To send data to other systems from the CHT, you will need to do the following:
outbound
in app_settings
Enable the mark_for_outbound
transition in app_settings
.
Whenever a document is changed (such as submitting a form, creating a new contact, or editing an existing one) you can configure outbound to send data to another system. The relevant_to
property in the outbound configuration is used to identify which activities will trigger the sending of data.
assessment
form where referral = true
.The destination
property in the outbound configuration is used to specify where to send data. This will normally be the API endpoint of the destination system or interoperabiliy layer.
/api/v1/referral
endpoint in the destination system.You configure what data is sent using the mapping
property. You will map data from the CHT to the format required by the destination API endpoint.
contact.name
field in the CHT to the patient.name
field in the EMR.Credentials for the destination system are stored in CouchdDB. You will need to set this up before you can test your configuration.
The CHT has a complete RESTful API that other systems can utilize to interact with data in the CHT.
The most common uses are:
The CHT has a number of different API endpoints that can be used to look up data.
You can use the contacts_by_phone
endpoint will return the fully hydrated contact information for those patients.
You can use the hydrate
endpoint to obtain this information. to look up the complete information for that contact.
The CHT API also allows you to POST data. Using these endpoints, you can create new records in your CHT API. You can store activities that took place in another system on that contact’s profile in the CHT, and even create tasks for CHWs in the CHT based on activities that took place in the other system.
You can do this by submitting a JSON Form to the records endpoint.
You would do this by simply configuring a task to be generated based on criteria available in the report that was created in Example 1.
Send aggregate, patient, and event data to DHIS2
Integrate interactive messaging conversations into your workflows
Exchange patient-level data with systems based on the OpenMRS platform
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.