Difference between revisions of "Pied Piper"
(→Division of labour) (Tag: Visual edit) |
(→Presentation) (Tag: Visual edit) |
||
(25 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. | ||
− | + | 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 == | ||
− | + | ||
+ | {| 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 == | == 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 == | == Division of labour == | ||
Line 32: | Line 70: | ||
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 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. | + | We will meet at least once a week to discuss and possibly merge our work together. |
== Github project repository == | == 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 12:03, 7 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.
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.
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