Interactive DHIS2 dashboards – Android, Web App, or external “portal”
This project is asking for creative solutions around how different groups of related datasets can be analyzed along both spatial/hierarchical dimensions and according to time periods. We are here talking about “aggregate data”, i.e. numerical statistics such as various measures for maternal and child health. Different variables vary according to spatial and temporal dimensions, e.g. number of deliveries versus number stillbirths or number of antenatal visits every month by district.
DHIS2 offers the users the possibility to easily create their own internal dashboards, by searching and adding predefined maps, graphs and tables (created in their respective modules (GIS, Data Visualizer,Pivot Table). The selected items get added to a grid in a chosen order, and this ordered selection with references to the invidual items is available through the Web API. Each item is a “plug-in” which references the Web API and has its own configuration, such as selection of variables (data elements).
These plug-ins inside the dashboard are somewhat interactive, e.g. one can zoom in the map, and also drill-down from e.g. looking at all provinces to looking at the districts inside one province, and sort on the columns in the tables. However, the dashboards do not offer any further controls, so that if you wanted to e.g. switch from annual data to monthly, you would have to click on “Explore” and go to one of the three design modules mentioned above.
Furthermore, there is no connection between modules, which on the one hand provides maximum freedom for the user to compose exactly the kind of dashboard she wants, but does not take advantage of the possibility to see changes along several variable at the same time – e.g. going from a national view to seeing all the provinces (and back up again).
The idea with this project is to restrict the absolute freedom somewhat in the sense of “generating” dashboards where the various elements are logically synchronized, in the sense that they are varying in concert along the time and space axis, as well as with regards to which data elements or indicators are displayed – in other words, there is coordinated variation along the dimensions of WHEN, WHERE and WHAT things are displayed.
An example of this kind of functionality, though somewhat limited is in an app made earlier, which allows the user to choose either bar or line charts, choose a number of variables and then interactively drill down or up between the levels. So in this case, the WHEN dimension is fixed to last 12 months, the type of display is limited to two kinds of charts. More variable, the WHAT dimension is picked first, and then the WHERE dimension is completely interactive.
The task is to extend this functionality to allow for additional types of display (not just two kinds of charts, but also maps and tables, and even other kinds of charts). E.g. one could imagine starting by displaying a map of all the provinces together with a time chart for each province covering the same time period. Then the user could select one province, in one of the following ways:
- selecting from a drop-down
- clicking on it in a map
- clicking on a control attached to the chart for that particular province
This project can be approached in three possible ways:
- As a Single Page App packaged to run inside the dhis2 web portal using the app framework
- As an external web page or portal, which could either be directly linked to dhis2, or self-contained and standalone (those also containing all the data extracted from dhis2)
- As a native Android app – targeting either a smartphone or a tablet (with the most salient difference being screen size). This could also allow for offline capabilities