Pied Piper

From mn/ifi/inf5750
Revision as of 11:03, 7 December 2017 by Dawoodah@uio.no (talk | contribs) (Presentation)

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

Group members

  • Dawood Ahmad (dawoodah@ifi.uio.no)
  • Larry Parker (larryp@ifi.uio.no)
  • Thomas Kristiansen (tomkri@ifi.uio.no)
  • Ullvar Brekke (ullvarb@ifi.uio.no)

Product descriptions requirements


Assignment description

Create an app that provides a visualization of a clinical cascade, with the HIV 90-90-90 cascade as the primary example.


Present the cascade 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.
  • As raw numbers, but showing both the actual number and the gap (i.e. the difference between target and actual).
  • As raw data and percentages (on a 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. That gives us these required features:

  • Configure 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.
  • Configure 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.
  • Save different configurations. The cascades are often done for different population groups (by sex, age etc). Therefore, it should be possible to save different configurations.
  • Switch between the different configurations.
  • Select the time period and organization unit to display data for. Either as part of the configuration or when generating the visualization.
  • There must be support for downloading the visualizations.


We will develop the product with React framework due to personal interest, experience, and well-documented framework.

Higcharts (depends on license)/react chartjs will be used to plot the data on to the application.


sources: https://docs.dhis2.org/master/en/developer/html/technical_architecture.html


Week Milestone
44 Uploaded Wiki
45 Project setup in React - ESlint, Flux
46 Discovered how Analytics worked
47 Discovered how to utilize API to get resources required
48 Created interface for saving config in DHIS2 storage
49 Finishing Touches - Deployed app in DHIS2


An open license for student (non-profit) developers for React and Highcharts.

DHIS2 license

Division of labour

Everyone works on everything.

We will use Trello to create a backlog of assignments, and everyone pulls an assignment from that backlog when they are going to work on the project.

We will meet at least once a week to discuss and possibly merge our work together.

Github project repository



File:INF5750 - Presentation.pdf