Master Facility List

From mn/ifi/inf5750
Jump to: navigation, search

Background

DHIS2 is used primarily for collection of data from health facilities, and making this data available for users at all level of the health systems - from the national level, through regions/ provinces, districts to facilities. Consequently, a list of organisation units is always maintained in DHIS2, and in many countries this is the most up-to-date list of health facilities that exists. The list/ hierarchy of organisation units are associated with related objects such as organisation unit groups and organisation unit group sets. These are used to classify/ categorise organisation units into type (hospital, health centre, community clinic), ownership (private, public, religious etc), services provided (outpatient, inpatient, deliveries etc) etc.

Requirements

This assignment involves making a Web App for searching, browsing and proposing changes to organisation units and related resources such as organisation units groups. DHIS2 has, as part of the Maintenance app, an interface for managing organisation units. However, this is tailored towards editing rather than browsing, and is also only available to system administrator. The app should therefore focus on a user friendly searching and browsing experience rather than editing, and support for editing is an optional feature that should only be available to users with the appropriate user authorities.

All attributes of of the organisation units should be displayed, as well as:

  • GIS coordinates (on a map) when available.
  • Membership in organisation unit groups.
  • Data sets assigned to a particular facility.

It should also be possible to configure the app to show data element and/ or indicator values for the particular organisation unit for the current/ last year, such as population estimates, staff count etc. This would require a "configuration" page where an administrator can select what data to display.

The interface should support searching/ filtering. As a minimum it should be possible to search by name, however, advanced searches would be advantageous, for example searching/browsing based on organisation unit groups, the organisation unit hierarchy, data sets and a combination of these (for example listing "health centres" (organisation unit group) providing "deliveries" (organisation unit group) in "Region A" (organisation unit)). Note: organisation unit groups and group sets are different in each DHIS2 implementation.

While editing of organisation unit information is not a requirement , there should be support for any user of the app to propose changes/ edits to the information being displayed. There will also have to be a related interface for administrators (i.e. users with the authority to edit organisation units) to quickly review the submitted proposals and marking them as resolved/invalid as appropriate. This list should be filtered to show only proposals relevant for the particular administrator (i.e. an administrator for District A should only see proposals for related to organisation units in District A, not those in District B).

Key resources

DHIS2 manual on organisation units:

API endpoints:

  • /api/organisationUnit* - endpoints directly related to organisation units.
  • /api/dataStore - endpoint which supports storing or arbitrary data for an app.
  • /api/me and /api/user* - to identify user’s authorities, e.g. if they can administrate organisation units.

Deliverable

The deliverable should be an app for DHIS2. Optionally, you can also create a version that can be deployed outside DHIS2, but still using the DHIS2 API.