Cases
This year, we have four cases. Your group will select and work to solve one.
- Case 1: Data set report browser
- Case 2: Health commodity dispensing system
- Case 3: Activity menu widget
- Case 4: Data entry forms overview
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.
- 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.
- Example of implementation done without the App Shell/Platform can be found here: https://d2-ci.github.io/ui-widgets/?path=/story/headerbar--default
- 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
- DHIS2 ui-core library and design principles are described in dhis2 designlab: https://dhis2designlab.github.io/ui
- 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 |
https://dhis2designlab.github.io/dashboard#skeleton
|
|
DHIS2 Platform |
https://platform.dhis2.nu/#/getting-started
|
|
DHIS2 Developers |
General DHIS2 Developer portal |
|
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 |
|
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)