The Tracker
page walks you through steps that help you to import data from a source (Excel, CSV, JSON, API or Go.Data) to a DHIS2 program events data. We can also use the same page to configure importing from a DHIS2 program's events data to Go.Data.
The steps involved in the mapping and import process depend on whether DHIS2 is the source or destination system.
Step 1 - Use existing mapping or create a new one
This step lists the previously created mappings that you can choose from to start the data import. You can also create a new mapping by clicking the Create New Mapping
button at the bottom right corner of the page.
![]() |
---|
Saved mapping step |
Step 2 - Select DHIS2 program to map metadata
Once you choose to create a new mapping, you then have to select a DHIS2 events program whose related metadata you want to map with. In this step, a list of available DHIS2 programs is provided. Select the desired program to proceed to the next step.
![]() |
---|
DHIS2 tracker program listing |
Step 3 - Specify import sorce and related configurations
Once a program has been selected, you provide details for where you intend to import data from. in this step, we specify the name
, description
of the mapping, import source
(Go.Data, Excel, CSV, JSON or API), source authentication credentials
, and the active outbreak
if the source is Go.DATA. Click the Save
button at the bottom center of the page to save the provided details.
![]() |
---|
Import source configuration |
For the Go.Data import type, the outbreak can be selected by clicking the Select Outbreak
button at the bottom left corner of the page. This uses the credentials provided to fetch the list of outbreaks from Go.DATA and displays it in a modal for you to select one. Once you select an outbreak, you will transition to the next step.
![]() |
---|
Selecting Go.Data outbreak |
Prefetching Data
Step 4 - Set some mapping options
In this step we set some mapping options that are critical to how the data import is made from the current mapping.
Organisation unit Column
- select an organisation unit colum or specify a custom JSON path
to where it can be pickedCreate Entities
- specifies if we are to create tracked entitiesCreate Enrollments
- specifies whether to create enrollments upon importUpdate Entities
- specifies whether we shall update events as we importEnrollment Date Column
- specify which field or column holds the enrollment date in the source data.Incident Date Column
- specify which field or column holds the encident date in the source data.![]() |
---|
Set mapping options |
Step 5 - Mapping locations with DHIS2 Organisation Units
This step shows the list of organisation units in DHIS2 and makes a provision for a select field that is used for mapping each organisation unit to a source location or organisation unit.
There is also a provision for a free-form search field that can be used to search through DHIS2 organisation units so that you can quickly map a specific one.
![]() |
---|
List of organisation units to map |
After mapping locations, you can check the Show Mapped Organisations Only
checkbox to display the ones mapped so far. Remeber to hit the Save
button to persist your current mapping.
![]() |
---|
Listing of mapped organisation units |
If the source location ids match the DHIS organisation unit ids, the import wizard will auto map for you the organisation units.
Step 6 - Map tracked entity attributes
In this step we match the tracked entity attributes for the DHIS 2 program with attributes from the source. Typically, a list of attributes in DHIS2 is displayed in a table where a select field is provided to aid the matching.
First, you choose the Tracked Entity Column
in your source data from the dropdown provided or you check the Custom Tracked Entity Column
checkbox to specify a custom expression used to access it in your source data.
The attributes listed in the table can be marked as either mandatory
or unique
by ticking the corresponding checkboxes in the table row.
When mapping an attribute, it is also possible to create a custom JSON Path
like mapping by ticking the checkbox in the Map Manually
column. This is especially useful if the value of the attribute being mapped is deeply nested within the JSON object of data for Go.Data or JSON sources.
There is also a provision for a free-form search field that can be used to search through DHIS2 program attributes so that you can quickly map a specific one.
![]() |
---|
Mapping program attributes |
Some
Step 7 - Map data elements in the available program stages
This step focusses on mapping data elements tracked in the different program stages of the DHIS2 event or tracker program to those data elements in the import source.
In addition to the data element mapping, we set some configuration on how the data is imported in the respective program stages. The available configuration options include:
Create Events
- specifies whether to create events in current stage upon data importUpdate Events
- specifies whether to update to update events when importing dataMark Event Date As Unique
- When set, this option ensures that the event date is unique for the tracked entities in the specif program stage.Event Date Column
- specifies what the event date maps to in the import source.Event Id Column
- specifies what the event ID maps to in the import source. The IDs hould be valid DHIS2 UIDs.Click on one of the program stages (marked in red in graphic below), right below the steps to see the mapping configurations and the data elements to map for the stage.
![]() |
---|
Event Mapping |
Remember to click the Save button at the bottom center of the page to save the recorded mapping.
Important!
At this point, a saved mapping can be used to schedule data import from Go.Data to DHIS2 even if you do not proceed to the next steps of Import Preview and Import SummaryHowever, if you are importing from Excel, CSV or JSON as a source, you will have to proceed to the next steps.
Step 8 - Preview for the data to be imported
Once the mapping is complete, the application provides a preview for the data to be imported into the DHIS2 tracker or event program.
Step 9 - The data import summary
The steps involved in the proccess of importing data from DHIS2 to Go.Data are slightly fewer than when doing the reverse import. In this section, we describe the process of importing data from a DHIS2 tracker or event program to Go.Data.
Step 1 - Use existing mapping or create a new one
This step lists the previously created mappings that you can choose from to start the data import. You can also create a new mapping by clicking the Create New Mapping
button at the bottom right corner of the page.
![]() |
---|
Saved mapping step |
Step 2 - Select DHIS2 program to map metadata
Once you choose to create a new mapping, you then have to select a DHIS2 events program whose related metadata you want to map with. In this step, a list of available DHIS2 programs is provided. Select the desired program to proceed to the next step.
![]() |
---|
DHIS2 tracker program listing |
Step 3 - Specify import sorce and related configurations
Once a program has been selected, you provide details for where you intend to import data from. in this step, we specify the name
, description
of the mapping, import source
(Go.Data, Excel, CSV, JSON or API), source authentication credentials
, and the active outbreak
if the source is Go.Data. Click the Save
button at the bottom center of the page to save the provided details.
![]() |
---|
Import source configuration |
For the Go.Data import type, the outbreak can be selected by clicking the Select Outbreak
button at the bottom left corner of the page. This uses the credentials provided to fetch the list of outbreaks from Go.Data and displays it in a modal for you to select one. Once you select an outbreak, you will transition to the next step.
![]() |
---|
Selecting Go.Data outbreak |
Prefetching Data
Step 5 - Mapping locations with DHIS2 Organisation Units
This step shows the list of organisation units in DHIS2 and makes a provision for a select field that is used for mapping each organisation unit to a source location or organisation unit.
There is also a provision for a free-form search field that can be used to search through DHIS2 organisation units so that you can quickly map a specific one.
![]() |
---|
List of organisation units to map |
After mapping locations, you can check the Show Mapped Organisations Only
checkbox to display the ones mapped so far. Remeber to hit the Save
button to persist your current mapping.
![]() |
---|
Listing of mapped organisation units |
If the source location ids match the DHIS organisation unit ids, the import wizard will auto map for you the organisation units.
Step 4 - Set some mapping options
In this step we set some mapping options that are critical to how the data import is made from the current mapping.
Organisation unit Column
- select an organisation unit colum or specify a custom JSON path
to where it can be pickedCreate Entities
- specifies if we are to create tracked entitiesCreate Enrollments
- specifies whether to create enrollments upon importUpdate Entities
- specifies whether we shall update events as we importEnrollment Date Column
- specify which field or column holds the enrollment date in the source data.Incident Date Column
- specify which field or column holds the encident date in the source data.![]() |
---|
Set mapping options |
Step 6 - Map tracked entity attributes
In this step we match the tracked entity attributes for the DHIS 2 program with attributes from the source. Typically, a list of attributes in DHIS2 is displayed in a table where a select field is provided to aid the matching.
Some attributes can be marked as either mandatory
or unique
by ticking the corresponding checkboxes in the table row.
When mapping an attribute, it is also possible to create a custom JSON Path
like mapping by ticking the checkbox in the Map Manually
column. This is especially useful if the value of the attribute being mapped is deeply nested within the JSON object of data for Go.DATA or JSON sources.
There is also a provision for a free-form search field that can be used to search through DHIS2 program attributes so that you can quickly map a specific one.
![]() |
---|
Mapping program attributes |