RomForFeil

From mn/ifi/inf5750
Revision as of 17:39, 6 December 2017 by Elinhage@uio.no (talk | contribs)

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

Group members

Svein Manum (sveinbma@student.matnat.uio.no)

Tore Alvik (torealv@student.matnat.uio.no)

Andreas Kemkers (andreafk@student.matnat.uio.no)

Elin Hagen (elinhage@student.matnat.uio.no)

Product Description and Requirements

Project choice

We have chosen the HIV Cascade Analysis project. In this project the goal is to design and implement an app that provides a visualization of a clinical cascade, with the HIV 90-90-90 cascade as the primary example.

Primary functionality

  • Represent a clinical cascade using a bar/column chart where (from left to right) each consecutive bar represents a subset of the previous.
  • Visualize the margin between real values and target values by associating a target value with each bar.
  • Have options for representation. The minimum requirement is to have support for the following three representations:
  1. As percentages, where the first bar in the cascade is 100%, and the subsequent bars is expressed as percentages of the previous.
  2. As raw numbers, but showing both the actual number and the gap to target.
  3. As raw data and percentages (on different axis), i.e. bars with the raw data and a line with the percentage.

Secondary functionality

  • Have configuration options for what data elements/indicators to include in the cascade.
  • Have configuration options for the target for each data element/indicator.
  • Have configuration options for time period and organization unit to display cascade for.
  • Have the option to save a configuration and to quickly be able to swap between saved configurations.
  • Have the option to download a generated visualization.

Mockups

Mockup of display pane.
Mockup of display pane.
Mockup of configuration pane.
Mockup of configuration pane.

Architecture

Frontend
  • We have chosen React because of its ease of use and the team's personal preference. React is a great framework to build single-paged, component based web applications.
  • We will also be using Bootstrap for some predefined styling as to not reinvent the wheel.
Charting
  • Highcharts is at the top of the charts of javascript charting libraries. It is also the library that existing DHIS2 visualization apps is built on top of so we saw it as a fitting choice.
Collaboration and planning
  • Trello is an online collaboration tool making it easy to coordinate work for our team, and giving us a broad view of our development progress.
  • Github

Timeline

Milestone Deadline
Form group 16. October
Planning, design and Wiki 1. November
Working frontend prototype 8. November
Complete DHIS2 API calls and charting 15. November
Testing and final touches 20. November

Licensing

Our License: MIT license

DHIS2 API: BSD license

React: MIT-license

Bootstrap: MIT license

Highcharts: Highcharts non-commercial license (free usage with attribution)

Division of Labour

DHIS : data storage and API - Tore

Highcharts : Charting and analytics - Elin

React : Frontend design and coding - Andreas & Svein

This is the intended division of responsibility, but as a group we aim to get a little experience in all areas. The labour will also be divided fluently through the project as we see what takes most of our time.

Link to project repository:

https://github.uio.no/RomForFeil/HIV-Cascade-Analysis