Case 3 - Activity Widget

DHIS2 may be used by very different user groups, for instance, data entry clerks, nurses, health managers, and statisticians. These typically use DHIS2 in different ways, and through different apps. Common to them all is that they do not necessarily have advanced computer skills, and that they often have limited time. The DHIS2 dashboard is normally the landing-page shown to users after login. The dashboard can be configured to display different types of graphs, maps, and data tables to provide a quick overview of the most relevant health data to the current user. However, what many users find lacking is a visible and intuitive way of proceeding to the activity they wanted to do after logging in to DHIS2. In the right corner, there is an app navigation menu, but many argue that the apps relevant to them could be more readily available on the landing page.

In the image below, you see the DHIS2 dashboard with a graph and a map. Further, the “Quick Navigation” section illustrates an envisioned navigation-pane that helps end-users to quickly navigate to the activity they want to do.

The DHIS2 dashboard page supports the installation and display of third-party ‘widgets’, based on web-apps that are installed into the DHIS2 instance. In this case you will design and develop a widget that provides quick access to the apps most relevant to different user groups. This also involves the development of an app where system administrators can configure which apps should be shown in the widget to the different groups of users, and add, remove and rearrange the links to be shown.

Use Scenario

As this case both involves the development of a widget, as well as an app to configure the widget, there are two use scenarios involved:

Use of the widget

Here, the user would typically log into the DHIS2 platform, and be presented with the dashboard landing page. Now, they typically want to proceed with a certain activity using an app or external resource, such as data entry or displaying maps. The widget should make it easy for the users to see and select the available activities. By clicking on the activity, the user should be sent to the appropriate app or resource.

Use of the app that allows for maintenance of the widget

To maintain the widget, a system administrator should be able to open an app (not visible to the normal end-user) and do the needed configuration of what the widget should display per user role. The administrator should have the option to lock the activities (links to apps and other resources) and their arrangement to the end-user. If the administrator does not lock the configuration, end-users should start with the default arrangement and be able to add, remove and rearrange the activities.

Fundamental requirements

Widget

  • Users should be able to see the activities as icons with text labels (as illustrated in the image above) and click on them to get to the chosen activity

Configuration app

  • Administrators should be able to define which activities should be shown to the end-users per user role
    • Includes the ability for the administrator to add, remove and rearrange the activities
    • Adding apps: Administrators should be able to browse the available apps in the DHIS2 instance and add them to the view of certain user roles
    • Adding external resources: Administrators should be able to add links with icons to external resources (links to any page that is not an app within DHIS2)
  • Administrators should be able to lock the activities and their arrangement for some user roles

Other than these basic requirements, you are free to design the application in any way you want, emphasizing easy to use design and the functionality that would make both the widget and the configuration app usable and useful.

Potential additional features

Both

  • Rearrangement can be done through drag-and-drop

Widget

  • Users should be able to add, delete and rearrange them (for instance through drag-and-drop) if the administrator has not locked the configuration. The changes they make should only affect the current user’s configuration.
  • The most used items are moved further up in the list such that as the widget gets more and more data, the most relevant items get increasingly easier to spot
  • A ‘Show more’ or ‘Show less’ button that for example shows only the 10 first items or all items at once. The amount of items can be configurable
  • Advanced configuration should not require the user to leave the dashboard page, but something like a modal could be used to show a simplified configuration page

Configuration app

  • Administrators can semi-lock the configuration meaning that some items cannot be removed and/or moved while still giving normal users the ability to add items from a predefined fixed set
  • Administrators can create configurations targeting not just user role, but other user attributes as well like which organization units a user is assigned to

Useful API calls

Current user information

https://play.dhis2.org/2.32.1/api/me

Get installed apps

https://play.dhis2.org/2.32.1/api/apps

Data store (docs)

https://docs.dhis2.org/2.22/en/developer/html/ch01s62.html

Other resources

DHIS2 dashboard apps

https://dhis2designlab.github.io/dashboard

DHIS2 Dashboard User Guide

https://docs.dhis2.org/2.30/en/user/html/dhis2_user_manual_en_full.html#dashboard

 

Published Sep. 26, 2019 2:09 PM - Last modified Sep. 26, 2019 2:09 PM