Project Cases

In the course project, your group has been contracted to design and develop a new component or app/widget for DHIS2 based on a descriptive case. The cases have been developed based on real problems discovered during interactions with end-users and implementers of the DHIS2 software.

Cases

This year, we have four cases. Your group will select and work to solve one.

General requirements

  • The basis for your application should be generated using the App Shell/Platform using the command d2 app scripts init <appname> (description here). If you are doing case 3 (activity widget) you should use the dashboard app skeleton, as this does not include the header bar and will build it as a dashboard app.
    • NB! The app shell/platform is relatively new and might pose challenges. If you experience any challenges, please post them on piazza
    • The setup should be done on one computer only, pushed to git to be cloned by the rest of the group
  • The DHIS2 Headerbar (available through the dhis2 ui-widgets) must be included in the application (except in the widget of case 3). The Headerbar is integrated in the App Shell/Platform. 
  • The DHIS2 ui-core component library must be used in the design of user interfaces in your solution. If the library does not have the needed components, you can use other libraries or pure html/css, but follow the dhis2 design principles
  • The application must be runnable as an internal app in dhis2
  • The application must be uploaded to the course-server

Keep in mind

  • Make sure the node_modules folder is not included in the final app
  • If using the App Shell/Platform, make sure not to add your file into a folder hierarchy with naming conventions using spacing

Practicalities

  • The deadline for the project is HARD, as it is considered a home exam (rules about home exam). 
  • Working on ifi-computers requires an update of the node version, see instructions.
  • To get started with the App Platform it could be useful to read this this guide.

Grading

For each case, a set of fundamental requirements and potential additional features are listed. For the group to receive a C grade on the project, all the fundamental requirements must be met. Beyond C, it is expected that your solution incorporates functionality beyond the fundamental requirements. The additional features listed serve as suggestions of such functionality, not meaning that you have to implement all of them in order to achieve a top grade. Amount of functionality is only one aspect of the evaluation of your projects. See the evaluation form for more details on how the projects will be evaluated (will be published soon). 

Useful links

Title

Description

Link

DHIS2 Design Lab

Course design lab for learning React, the DHIS2 API, UI Libraries and apps

https://dhis2designlab.github.io

 

DHIS2 Design System

The DHIS2 design system providing information on how to use the UI components and general design principles for DHIS2

https://github.com/dhis2/design-system

 

DHIS2 Dashboard App Skeleton

“Create-react-app” for DHIS2 dashboard applications. This is strictly only needed for case three’s dashboard widget part.

https://dhis2designlab.github.io/dashboard#skeleton

 

DHIS2 Platform

“Create-react-app” for DHIS2 applications. The app-platform should be used as a default for all cases.

https://platform.dhis2.nu/#/getting-started

 

DHIS2 Developers

General DHIS2 Developer portal

https://dhis2.nu

 

Storybook Widgets

Live demos of widget components

NB! Not finished

https://d2-ci.github.io/ui-widgets

 

Storybook ui-core

Live demos of ui-core components

https://d2-ci.github.io/ui-core

 

DHIS2 Docs

About DHIS2

https://docs.dhis2.org/2.26/en/user/html/ch01.html

DHIS2 course server DHIS2 instance setup specifically for the IN5320-course. Version 2.32.2. https://course.dhis2.org/
Ifi-computers node update In order to use App Shell/Platform and create-react-app, the node version on ifi-computers needs to be updated.  https://github.uio.no/wahidulm/IN5320/blob/master/week39-dhis2/node-update-ifi-machines.md

The platform: DHIS2

District Health Information Software 2 (DHIS2) is an open-source health information platform which is mainly used in developing countries. The most typical use of DHIS2 is for supporting reporting of routine health data from health facilities throughout the country, for instance, the number of people that have been vaccinated against certain diseases, or that have been infected or died for different reasons within specific districts and regions.  After data has been collected and submitted in DHIS2, a variety of analytical tools can be used to analyze and present the data, for instance in charts, pivot tables, and maps. This information is used by decision-makers to plan interventions to strengthen health care services.

 

Typically, DHIS2 is used to support multiple data reporting regimes within the same installation. This means that multiple data entry forms and presentation formats (such as graphs and maps) are configured to be used by many different user groups within the software.

Example

A typical basic example is the reporting of number vaccination given at a health facility. For decision-makers, it is important to know how many people that are vaccinated for a certain disease in different districts. In this case, a data entry form is created in DHIS2 containing several data elements representing the number of different types of vaccines given. The health workers at, for instance, a clinic, will on a routine basis (e.g., every month), fill out this form on the computer and submit the values. By combining the number of vaccines given that are reported in the form, and statistics about population, an indicator can be created in DHIS2 that indicate something about the status of vaccination in that district, i.e. the percentage of the population that has been vaccinated. The data can also be aggregated so that national health managers can see data per region, state, etc.

The figure below illustrates how a health worker or data entry clerk enters a report into DHIS2 through the “Data Entry” app, and that decision-makers use this data for planning through different analytics apps.

What, where, and when

For routine health data to be useful for decisions, there are typically three aspects that are registered. What - what we are collecting data on (e.g., how many people died of Malaria), where - where the data applies to (e.g., which district, health clinic, etc.), and when - for what time period is the data relevant (e.g., September 2019, or Week 37). Data entry forms or ‘data sets’ in DHIS2 is organized around this principle. Data is collected based on counting something, the what, for a certain location, the where, for a certain time period, the when.

 

Typical DHIS2 terminologies and concepts

Data element = one bit of data that should be collected and used for analysis. For example the number of BCG vaccine doses given.

Data Set = is a collection of data elements, together forming one reporting form. For example “Child Health”, which contains a variety of data elements related to this aspect. Data Sets are what the health workers see as forms to be submitted in DHIS2 on a routine basis.

Period = The ‘when’ for a collected piece of data.

Indicator = A combined element of two or more data elements, that together provide meaning. For example, by combining the number of BCG vaccine doses given within a month, and the estimated population in that area.

Organisation Unit (org unit) = Represents a facility / district / region / country. (the ‘where)

 

Published Sep. 26, 2019 2:08 PM - Last modified Sep. 27, 2019 1:53 PM