User Extended App for the Norwegian Refugee Council & WHO Integrated Data Platform


The Norwegian Refugee Council is an independent humanitarian organisation helping people forced to flee as we introduced in our Case Study for the Dataset Configuration Web App.


The NRC uses DHIS2 as a basis of their normal operation on the field, storing and analyzing the resulting data with this platform. Their extensive use of DHIS2 lead them to reach some of the limitations of the system, needing some customizations for their specific use case. DHIS2 user management interface is not particularly good for managing a big set of users, and the NRC had a huge one. For this reason, they decided to fund a separate app called Users App in its origin but now called User Extended App (to distinguish from the official DHIS2 Users App).

WHO started using DHIS2 with the so-called WIDP (WHO Integrated Data Platform) composed by more than 5 DHIS2 instances working in parallel for different uses. The international organism is collaborating with EyeSeeTea since May 2018. As part of the general maintenance of the WIDP, WHO decided to back also some specific new features in the User Extended App.


We developed an app that enables the user to perform a wide range of operations that are really difficult or heavy using the normal UI that DHIS2 offers. Operations like bulk assigning users to OUs or roles became possible in DHIS2, as well as others became much easier with the new User Extended App. It has been proven to be extremely useful for any organization using DHIS2 at a large-scale. Concretely features like bulk disabling users, or even users replications, users import from CSV files or users export to CSV files, made life easier for WHO departments to manage multiple instances with several different profiles of users.


The User Extended App is open source and has been submitted to the DHIS2 public App store to let any organization download and use it in their own platforms. You can check out our open source code at our GitHub repository for this app: