Your organization is collecting patient data in a custom EMR application.
Your government partner wants you to start sending newly registered patient records from your EMR to its national DHIS2 system on a weekly basis.
You’ve been asked to design a workflow to:
- extract data from your app (which has a REST API that returns data in JSON)
- map the data elements to the DHIS2 data model, and
- sync patient records as “Tracked Entity Instance” records to DHIS2
Job 1: Get users from this endpoint https://jsonplaceholder.typicode.com/users
Job 2: For each user, create 1 tracked entity instance
in DHIS2.
See mapping spec here and sample output linked below
Job 1: Sample Users Data
http
adaptor
Job 2: I use the following to access via the web UI. Not sure that URL is required for the API. (Note this is DHIS2 v2.39.0.1
)
https://play.dhis2.org/2.39.0.1/
(UN: admin
, PW: district
See the latest DHIS2 Adaptor docs here: https://docs.openfn.org/adaptors/packages/dhis2-docs
I think this is what the final DHIS2 payload needs to look like: DHIS2 Sample Payload
FYI - To create tracked entity instance
, using the lates version of language-dhis2
create("trackedEntityInstances", {
orgUnit: "TSyzvBiovKh",
trackedEntityType: "nEenWmSyUEp",
attributes: [
{
attribute: "w75KJ2mc4zz",
value: "Gigiwe",
},
],
});
@haftamuk here is how to setup the credentials for the DHIS2, as mentioned in the State section of the challenge
If you want to learn more about the configuration schema for DHIS2 here is the link https://docs.openfn.org/adaptors/packages/dhis2-readme#sample-state