Difference between revisions of "Pied Piper"

From mn/ifi/inf5750
Jump to: navigation, search
(Product descriptions requirements)
(Presentation)
 
(27 intermediate revisions by 3 users not shown)
Line 6: Line 6:
  
 
==Product descriptions requirements==
 
==Product descriptions requirements==
==='''Assignment :'''===
+
==='''Assignment'''===
 
*[[HIV Cascade Analysis]]
 
*[[HIV Cascade Analysis]]
  
 
=== Assignment description ===
 
=== 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 ===
 
=== 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.
  
=== Assumptions ===
+
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 ==
 
== 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.
 +
 
 +
[[File:Export.pdf|thumb]]
 +
 
 +
sources: https://docs.dhis2.org/master/en/developer/html/technical_architecture.html
  
 
== Timeline ==
 
== Timeline ==
...
 
  
== Link to Github repository ==
+
{| class="wikitable"
 +
!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
 +
|}
 +
 
 +
== Licensing ==
 +
An open license for student (non-profit) developers for [https://github.com/facebook/react/blob/master/LICENSE React] and [https://shop.highsoft.com/media/highsoft/Standard-License-Agreement-9.0.pdf Highcharts].
 +
 
 +
[https://www.dhis2.org/termsofuse 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
 
https://github.uio.no/PiedPiper/inf5750-dhis2-app
 +
 +
== Presentation ==
 +
[[File:INF5750 - Presentation.pdf|thumb]]
  
 
== References ==
 
== References ==
 
* http://www.fhi360.org/sites/default/files/media/documents/linkages-hiv-cascade-framework-oct15.pdf
 
* http://www.fhi360.org/sites/default/files/media/documents/linkages-hiv-cascade-framework-oct15.pdf

Latest revision as of 11:03, 7 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.

File:Export.pdf

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

Timeline

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

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

Presentation

File:INF5750 - Presentation.pdf

References