Difference between revisions of "Pied Piper"

From mn/ifi/inf5750
Jump to: navigation, search
(Licensing)
Line 10: Line 10:
  
 
=== Assignment description ===
 
=== Assignment description ===
Create an app that provides a visualisation of a clinical cascade, with the HIV 90-90-90 cascade as the primary example.  
+
Create an app that provides a visualization of a clinical cascade, with the HIV 90-90-90 cascade as the primary example.  
  
 
=== Features ===
 
=== Features ===
 
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:
 
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 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. difference between target and actual).
+
* 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 different axis), i.e. bars with the raw data and a line with the percentage.
+
* 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:
 
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 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.
 
* 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. Cascades are often done for different population groups (by sex, age etc). Therefore, it should be possible to save different configurations.
+
* 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.
 
* Switch between the different configurations.
* Select the time period and organisation unit to display data for. Either as part of the configuration or when generating the visualisation.
+
* 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 visualisations.
+
* There must be support for downloading the visualizations.
  
 
== Architecture ==
 
== Architecture ==
We will develop the product with React framework due to personal interest, experience and wwell-documentedframework.
+
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.
 
Higcharts (depends on license)/react chartjs will be used to plot the data on to the application.
 
== Timeline ==
 
== Timeline ==
Temporary timeline due to indefinite deadline.
+
Temporary timeline due to an indefinite deadline.
 
[[File:Timeline Pied piper.png|thumb|893x893px|none]]
 
[[File:Timeline Pied piper.png|thumb|893x893px|none]]
  

Revision as of 15:04, 6 December 2017

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

Assignment description

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

Features

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.

Architecture

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.

Timeline

Temporary timeline due to an indefinite deadline.

Timeline Pied piper.png

Licensing

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

https://github.uio.no/PiedPiper/inf5750-dhis2-app

References