IngenRomForFeil

From mn/ifi/inf5750
Revision as of 15:59, 19 October 2017 by Martiaes@uio.no (talk | contribs) (Technologies and Framework)

Jump to: navigation, search

Group members

Herman Krogstad Nerskar (hermankn@ifi.uio.no)

Martin Arentsen Espeland (m.a.espeland@usit.uio.no)

Nicolay David Mohebi (n.d.mohebi@usit.uio.no)

Product descriptions requirements

Assignment :

Requirements:

Description:

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

Basic functionality:

  • Present visualizations as bar charts from left to right, where each bar is presented as a subset to previous.Needs to be able to be presented in at least three possible 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.
    • As raw data and percentages (on different axis), i.e. bars with the raw data and a line with the percentage.

Specific functionality that is requested:

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:

  • 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.
  • 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.
  • Possible to save different configurations
  • Switch between saved configurations
  • In addition to data element, there must be possible to define time periods and organization unit to display.
  • There must be support for downloading the visualizations.

Mock-up of the web application:

Our first mock up on how we pictured the application layout to be. It is inspired by the "Data Visualizer" app from DHISP2.

Cascade analysis.jpeg.png

Architecture

We have built our application as a single page application, using the angular2 framework. All of the component for handling configuration, data, bar charts and selections are pushed to the same html page, and are displayed accordingly to the basic layout that we have created for the application. From here the services handles all data communication with both users and with DHISP2 through the restful API's Analytics and Data Store.

For more information on the general architecture of angular2 look here:

- https://angular.io/guide/architecture

Technologies and Framework

The biggest choice in this application was to chose the framework Angular 2.

  • Angular 2 / 4
    • MaterialUI
  • HTML
  • CSS
  • RESTFUL API DHISP2
    • Analytics
    • Data Store

Tools

  • Webstorm

Why

  • Trello

https://trello.com/b/xj55ZWho/plans

  • Slack

Why

  • Github

Licensing

TODO, wait after the lecture regarding the subject

Discuss the implications (if any) on the product you are development from the software licenses of the frameworks and libraries you are using.

Division of labour

Martin: Design & Documentation

Herman: Data handling & Analysis

Nicolay: FrontEnd

Testing: All

Link to project repository

https://github.uio.no/IngenRomForFeil/HIVCascade