Difference between revisions of "Pied Piper"
(→Licensing) (Tag: Visual edit) |
(Tag: Visual edit) |
||
Line 10: | Line 10: | ||
=== Assignment description === | === Assignment description === | ||
− | Create an app that provides a | + | 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. | + | * 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 | + | * 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 | + | * There must be support for downloading the visualizations. |
== Architecture == | == Architecture == | ||
− | We will develop the product with React framework due to personal interest, experience and | + | 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
Contents
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.
Licensing
An open license for student (non-profit) developers for React and Highcharts.
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