Threshold values or composite scores using predictors

Posted on behalf of Tabu Tshibambula

In my program i have seven norms for checking if health status is reach or not and for each norm a threshold is apply as below
Norms Threshold value
Norm 1 50%
Norm 2 80%
Norm 3 80%
Norm 4 80%
Norm 5 60%
Norm 6 70%
Norm 7 50%

Assessment of each norm is done through data element calculation, my question about how can I use d2: condition to evaluation if all norm reach they threshold in unique formula like below:
NB: that exemple is just for one norm
d2:condition(‘Visite Post Certification.Puits proteges * 100 / Visite Post Certification.Menages interviewes + Visite Post Certification.Source amenagee * 100 / Visite Post Certification.Menages interviewes + Visite Post Certification.Eau du robinet * 100 / Visite Post Certification.Menages interviewes + Visite Post Certification.Borne Fontaine * 100 / Visite Post Certification.Menages interviewes >= 80’,1,0)
I want to know if the following expression is acceptable with dhis2
d2: condition(‘Nom1>=50, Norm2>=80, Norm3>=80, Norm4>=80, Norm5>=60, Norm6>70,Norm7>=70’,1,0)
is it possible to return string in d2: condition as below?
d2: condition(‘Nom150, Norm2>=80, Norm3>=80, Norm4>=80,Norm5>= >=60,Norm6>70,Norm7>=70’,”Maintien”,”Perte”)
thank in advance for your orientation

Hi Tabu,

I would recommend using predictors for this. Steps outlined below:

  1. Create a new aggregate data element for each of your norm’s with aggregation type to sum
  2. Create a new predictor for each of the norm’s
    a. put in your exact formula ad you have defined it above. Put “IF” instead of “d2 condition”. Here is an example: IF(#{wF85Ye1ZHrZ} == #{chAbRNgZ1Qd},1,0)
    b. set sequential and annual sample count to zero
    c. assign the predictor to the corresponding data element.
  3. Group your predictors together.
  4. In the scheduler app create a new predictor job to schedule your server to produce these predicted values. It is best to at most have it run daily. I would not recommend continuous execution as this will tax your server. Make sure it is scheduled to run before your analytics tables or the values will not show up in your analytics.
  5. You should now have a count of each norm. You could then use the norm data elements to make any kind of indicators you would like. For instance you could get something like ‘the percentage of XX in 80% threshold’

Please let me know if this is confusing or does not work.

1 Like