DHIS2 Z-Score Functions Capped at -3.5 How to Monitor Improvement in Severe Malnutrition Cases?

Hi everyone,

I’m currently implementing malnutrition indicators in a DHIS2 Tracker program and using the program rule functions based on the WHO growth standards:

  • d2:zScoreWFA (Weight-for-Age)
  • d2:zScoreHFA (Height-for-Age)
  • d2:zScoreWFH (Weight-for-Height)

From the documentation, these functions return values between -3.5 and 3.5, meaning -3.5 is used as the floor value.

In our setting we work in remote clinics, and we use the Z-scores to monitor severe malnutrition cases. Sometimes children present with Z-scores well below -3.5, and we provide nutritional support (e.g., rice or other food support).

For clinical monitoring it would be very helpful to see how the Z-score changes over time, even when it is below -3.5, to determine whether the child’s condition is actually improving.

At the moment, if the value stays at -3.5, it is difficult to distinguish whether the child is:

  • still extremely malnourished, or
  • improving but still below the threshold.

So I was wondering:

  1. Is there a way in DHIS2 to display Z-scores below -3.5, or are the functions intentionally capped at this value?
  2. Has anyone implemented a workaround to capture the full Z-score range?
  3. Are there recommended approaches in DHIS2 to monitor improvement in severe malnutrition cases when values are below the threshold?

For context, we are using the Android Capture App and are aware of the earlier bug (ANDROAPP-5063), which appears to be fixed in newer versions.

Any guidance or examples would be greatly appreciated.

Thanks!

Hi @hannahchek

Functions are intentionally capped, and you cannot get values below −3.5 from them. This behavior comes from the way DHIS2 implements the WHO growth standard algorithm, not from Android or Tracker limitations.

Recent versions fixed several anthropometry bugs including ANDROAPP-5063, but the −3.5 cap is not a bug. It is part of the function logic shared with the server.

So large DHIS2 nutrition implementations e.g., CMAM trackers typically monitor:

  • Admission criteria
    MUAC
    WFH Z-score < -3
  • Follow-up indicators
    Weight gain (g/kg/day)
    MUAC improvement
    Edema resolution
    % target weight

Not extreme Z-score movement.

Some nutrition programs compute Z-scores using the official WHO software:

  • WHO Anthro
  • ENA for SMART
  • R package zscorer

Then push the full Z-score value into DHIS2 as a data element.

I’m sure you can do it :clap:

2 Likes