How i can create indicator of indicators?

Dear All

Is there anyone who can help me on how to create an indicator of indicators on DHIS2 V2.30?

As you can see from attached, I create 7 indicators on data quality dimensions to execute the “overall data quality result” I need to create one indicator based on the 7 indicators.

Thanks in advance for your support DHIS2 family!Indicaators


Hi Alefe,

One way to do this is by attributing a weight to each indicator in the overall data quality indicator whether you attach an equal weight to each one or decide for instance that accuracy is more important to you and give a slightly higher weight to it. The challenge would be how to set it up in DHIS2. You could certainly attempt to set up a composite indicator using each of the numerators and each of the denominators but this could prove challenging.

Another way is to set up a HTML report in which you could calculate the results because you could then pull the values for each into the report and make a calculation in the HTML. I imagine that this could be a very neat report where you show the overall data quality score and the value for each of the sub-indicators.

I am really interested to learn more about your formulas for these indicators. Good luck!




Hi @alefema,

You could also make each of these indicators as a predicted value. This would produce the calculated (indicator) value as a data element. You can then combine these data elements with weights as @Elmarie_Claasen suggests in a normal indicator.

If you do this there are a few things to keep in mind. First you’ll do not need to specify a sequel or annual sample count for the predicted valued. Second, you’ll need to schedule your predictor jobs in the scheduler app before the analytics tables run probably by a few hours. Last, predictor saves values as data elements meaning it will take up server space. If you have dozens of predictors running daily for many many (1000+) org units you may be significantly taxing your server and using up your memory more quickly.

If you have any questions please reach out. We’re happy to help.



Hi @Scott and all,

I have a similar question but related to Program Indicators. I have a check list , sort of a survey - with sections and subsections, and each of them comprised by a battery of questions, which some of them are compulsory and others don´t. Per section I need to calculate a score, based on the number of questions responded, as denominator, which is dynamic, since the questions can be or not responded. All questions, btw, are Yes/No DEs, no numeric

I was investigating and trying with different “d2” functions and found the d2:oizp, but seems that one only works for number as value type in the DE :frowning_face:

If you have had a similar case, could you please advise on how to create this kind of “dynamic” numerator in an indicator like this?

Hopefully I´ve expressed correctly my question.

Thanks much in advance!

Ana María


Hi @anamariaelsal,

That is a very good question. Composite indicators can be difficult but not impossible. If you are using tracker for your questionnaire you can probably use program indicators, but if you are using aggregate then you can use predictors. Which are you using?

I assume you what to use the number of ‘yes’ answers to be the numerator and the number of total responses ‘yes’ + ‘no’ to be part of the denominator. If this is right, then you will have a problem in counting the number of ‘no’ responses because the yes/no value type only counts the ‘yes’ answers. I suggest using an option set with ‘yes’ and ‘no’ options for your question. This would allow you to count both responses.



Hello @Scott
Thanks much for your quick reply.
Responding to your question of the program type, I´m implementing the questionnaire in Tracker, so that makes me use program Indicators. Also, I need the end users are able to see the indicators using the “inline indicators” feature in tracker

About the numerator, your assumption is correct. All the mandatory questions responded with Yes are used as that. For the denominator is the tricky thing. Sometimes, there are some mandatory questions that are hidden since don´t apply to be responded, so those should not be used as part of the denominator. So, the issue is how to make the system understands this variation in the denominator?

We used the d2:condition function and seemed to work as a single statement, but if we try to do an arithmetic operation (division in this case) then, the systems is lost

This is the way we built the Indicator:


Perhaps we´re using wrongly the function?

Any comments is much appreciated! Thanks again!

Ana María


Hi @anamariaelsal, That is a bit too advanced for me (I’m not on the tracker team).

@Markus, @mike, @Stian, @Shurajit_Dutta, or @prosper might be able to explain how to best use the d2:conditions here.