HIV Cascade Analysis

From mn/ifi/inf5750
Revision as of 10:46, 12 October 2017 by (talk | contribs) (Added examples)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


To end the HIV epidemic, a global target has been set to identify 90% of people with HIV, put 90% of those identified on treatment, and that 90% of those on treatment should be virally suppressed (meaning the treatment is effective). This is often referred to as the HIV 90-90-90 target. Because of the way the target is defined, it is often analysed as a cascade, as you have the same of fewer people as you go from estimated people with HIV, to those testing positive, to treatment, to viral suppression (example). Data on HIV is collected and analysed using DHIS2 in many countries,


This assignment involves making an app that provides a visualisation of a clinical cascade, with the HIV 90-90-90 cascade as the primary example. Basic functionality for presenting cascades as bar charts is already available in the Data Visualizer of DHIS2. However, there are some specific functionality that the built in data visualised does not provide, and this app should address those.

The cascade is typically presented as a bar/column chart, where (from the left to right) the value of each bar represents the subset of the previous, and where there is generally a target (in percent) associated with it. The app needs to be able to present this information in (at least) three ways:

  • As percentages, where the first bar in the cascade is 100%, and the subsequent bars as expressed as percentages of the previous. See example 1 below.
  • As raw numbers, but showing both the actual number and the gap (i.e. difference between target and actual).
  • As raw data and percentages (on different axis), i.e. bars with the raw data and a line with the percentage.

Because this app should be usable in different settings/ countries and thus different DHIS2 databases, there must be an interface for configuring the cascade and a possibility of saving these configurations for reuse later:

  • What data elements/indicators to include in the cascade, as this might differ from country to country or even at different levels within a country.
  • The target for each data element/indicator. While the global target for HIV is 90-90-90, it should be possible to set the target in the app.

Cascades are often done done for different population groups (by sex, age etc). Therefore, it should be possible to save different configurations, and to swap between these. In addition to selection of data, it must be possible to select the time period and organisation unit to display data for, either as part of the configuration or when generating the visualisation. There must be support for downloading the visualisations.

Key resources


DHIS2 standard app, and DHIS2 dashboard app.


Example 1
Example 2
Example 3