How to aggregate tracker data

Good Day,
i was looking in Sierra leone demo version
they have a tracker program “child program” where they register children with their immunization info … for the aggregation of these data for example BCG doses given they have created an aggregate program “Child health” where all data are configured but once you select the organization unit and the period the DEs get populated immediately , where the data that is populated i would presume are from the tracker child program …

My question is how is this done? like how data are immediately transfered from tracker to aggregate… ??? is there a particular app for that??


1 Like


There is a way to get tracker to aggregate.First it’s recommended to use the new integration tool (T2A) which you can read about here:

And here’s the reference docs: Tracker and Aggregate Data Integration

G’day Haliz,
You can also try the PDAC app, if you don’t want to go to the server level for T2A transformation.
I think there is an update coming soonish, but @plinnegan can advise more on that.
Hope this helps

1 Like

Good Day @dmnscar … Many thanks for your kind suggestion. as a matter of fact i am not a programmer thus whenever its a server issue i get lost . i will be looking into the PDAC app .
Thank you

1 Like

I just checked and i was getting myself around it, however in your demo video you have mentioned filters as below

What do these codes for filters refer to? are they the age ID or its data element or a tracked entity attribute Code? or a category option code or ID ?
I have tried to enter the ID for the age in the filter but it says its incorrect and the page looks like this (with not update button)

i have uploaded the zip from your gethub page the November 21 release.
so how to do the filters please.???
looking forward to your reply with much appreciation.

1 Like

Hi @Haliz.t!

Happy you are having a go using the PDAC app! The filter expressions are made up of two uid parts:

So these combined point to a data element in a specific program stage (in a specific program).

If you do not want to look up these UIDs yourself, I recommend going to the program indicators page in the maintenance app. Selecting the program you want to work with, then clicking create new indicator. In the filter section of this page you can see a list of the data elements in the program, and clicking them will add them into the filter in the format required

1 Like

If you are trying to disaggregate by age for example, there must be an age data element in the tracker program for you to filter on though!

1 Like

@Haliz.t I also recommend getting the app from the dhis2 app hub now, as this is the most up to date version! DHIS2 App Hub

1 Like

Dear @plinnegan
i am trying to aggregate BCG vaccine doses given by age group <1 and sex Male, Female.
since you have mentioned that the filter is composed of {program stage UID and DE} well the age DE in my project is actually a Tracked Entity Attribute (TEA) that is collected or entered at the first data entry page of the program that is before any program stage. Thus how to do this type of aggregation in this case?

Thanks for mentioning it , i have already uploaded it.

@Haliz.t So these can be accessed from the same filter page on program indicators, you just need to look under the attributes tab. To select a tracked entity attribute you can do A{uid} where uid is the uid of the tracked entity attribute you want to use.

So for example if your TEA for age in years had uid cejWyOfXge6 and you wanted to filter by age range less than 1 year, you would put A{cejWyOfXge6} < 1 in the filter. Hope that helps!

Dear @plinnegan
Thank you so much for your patience and clarifications
i have applied what you just mentioned earlier… so actually it worked but a little bit confusingly
so this is how i configured the DE as aggregate with category combination of age and sex

in the tracker capture app for one of the Org. Units i have added two instances as below

one Male and one Female both with BCG dose given

now i ran the PDAC as the following

the result is

what i did wrong , please?