DHIS 2.33 Overview
Explore DHIS2 version 2.33, which includes many new features, apps, improvements, and bug fixes. On this page you can find information on this software version, including feature descriptions, links to technical documentation, and more
Jump to a section on this page
Multiple maps and timelines
In the maps application you can now render multiple maps in the same screen to show how the data has evolved over time. You can also have a single map which can “play” the changes to data on a timeline to show the change over time. This is useful e.g. to show how an outbreak is spreading over time, or how coverage of a service changes over time.
Single value charts and dashboard items
You can now render a single aggregated value in data visualizer. This simple visualization displays a single value which can be saved and added to the dashboard. This allows for a dashboard item which provides essential information at a glance, such as the number of new cases of a disease or the number of facilities currently having a stock-out.
[ Video ][ Demo][ Screenshot 1 | 2 ][ Jira]
Patient line-listing with data from multiple stages in event reports
You can now create a list of patients or tracked entity instances based on enrollment that displays data across any number of stages in a single table. In the case of disease surveillance patients line listing, this would typically be demographic data (Patient/TEAs), initial clinical examination and diagnosis (stage 1), specimen tracking & lab results (stages 2x), case investigations (stages 3x), follow-up visit stages and final outcome stage, all in a single table.
Improved date reporting in Event reports
Event reports now show enrollment dates and incident dates as well as event program stage dates. It can also show the description of these dates instead of just “Event date”. This can be configured in the program, e.g. as “Date of birth” or “Date of postnatal visit”.
Google Earth Engine Layers
Several improvements have been made to the temperature and precipitation layers from Google Earth Engine. Previously it took a long time to load the weekly periods for multiple years. Two dropdowns have been added, one for year (default is the most recent) and one for week. For temperature layers, the data set has been updated to include the more recent time periods.
Tracker and Event Features
Performance and stability improvements
This version offers significant performance and stability improvements, in particular in the area of transaction handling and queries optimization:
- The system has been reviewed to minimize the number of expensive read-write transactions, which has an impact on overall performance and might lead to database deadlocks.
- Tracker attribute uniqueness check performance has been optimized.
- Tracker notifications are asynchronous to avoid blocking.
- Tracked entity instance auditing is asynchronous to avoid blocking.
- Removed expensive circular checks for tracked entity instances, enrollments and events.
- Removed expensive loops checking access permission on data elements during import.
- Database indexes reviewed to make sure the relevant indexes are used for data-intensive queries
Working lists based on user assignment in tracker capture
It is now possible to build working lists based on user assignment of events. This functionality lists tracked entity instance and filtering criteria and makes it easier to view and follow up on events. Working lists can be incorporated into the user’s normal work processes, enabling planning, prioritization and focus on specific events and specific TEI.
Working lists and user assignment in capture app
Similar to the working lists in tracker capture, single event programs can now be configured to allow user assignment of events and create working lists based on filtering criteria such as user, date, status, etc.
Listing of tracker programs in capture app
It is now possible to add relationships between events and tracked entity instances. When adding or editing event it is possible to link to existing tracked entity instances, or create new ones to link to. This is useful when event programs is used to capture data that somehow is related to tracker data. For example when adding single events that will later be linked to a tracked entity instance.
Display of program ownership
The current ownership of all enrollments in the selected program is now displayed as “owned by” in the enrollment widget. The ownership is first assigned to the organisation unit that enrolled the TEI into the given program, and is transferred by referring a TEI using the “move permanently” option. Ownership can be different for a single TEI in different programs, for example one clinic can follow up a patient in HIV, while another clinic follows up the same patient in MCH.
A user that has capture access to the organisation unit that is the current owner of the TEI/Program will have write access to all enrollments for that TEI/Program combination. A user that has search access to the organisation unit that is the current owner will have access to search and find the TEI/Program combination.
Deduplication flagging in tracker capture
When searching for tracked entity instances in tracker capture, it is now possible to flag the presence of possible duplicates in the results. When a duplicate is flagged, it acts as a reminder that the data needs to be cleaned up, and as information for anyone using the data in their daily work. The data is also available for future functionality for identifying and merging duplicates.
Bidirectional relationships can now be configured in tracker capture. A relationship represents a link between two entities in the tracker data model, and is considered data in DHIS2 based on a Relationship Type, similar to how a Tracked Entity Instance is based on a Tracked Entity Type. Relationships can now be defined as unidirectional or bidirectional, with bidirectional relationships creating an automatic relationship on both sides of the linked entities, such as a Mother and Child.[ Screenshot 1][ Docs][ Jira]
Z-score calculations in program rules
Standard functions for calculating Z scores “weight for height” and “height for age” are now available in program rules. Z score calculation for weight for age was present from 2.32. This is useful in settings where a clinician would otherwise be calculating Z-scores by hand. The d2 function calculates z-score based on data provided by WHO weight-for-height indicator. Its value varies between -3.5 to 3.5 depending upon the value of height.
[ Screenshot 1 | 2 ][ Docs ][ Jira 1][ Jira 2]
It is now possible to resize/downgrade the images stored in the server when returned via the API, in order to reduce bandwidth consumption when downloading associated images to DEs, TE attributes or Options, and to minimize storage on the Android database. When requesting a data value of type image, the query can specify Small (256x256px); Medium (512x512px); Large (1024x1024px).
Enrollment section forms
You can now create section-based forms for enrollments in tracker. The configuration can be done in the maintenance app under the “attributes” section > “Create registration form” in the tracker program configuration wizard. This allows for creation a section-based tracker enrollment form without creating custom HTML-based forms.
Click on the links in the table below for more information about this software release and to access an interactive demo.
|To find more details about...||Follow this link:|
|Download release and sample database||Downloads|
|Documentation and Javadocs||Documentation|
|Upgrade notes||Upgrade notes for 2.33 on GitHub|
|Details about each feature on JIRA (requires login)||Details on JIRA|
|Overview of issues on JIRA (requires login)||Overview on JIRA|
|Source code on Github||DHIS2 source code|
|DHIS2 community||DHIS2 Community of Practice|