Go to the main page

The DHIS2 Annual Conference will take place from 10-13 June 2024! Learn more & register

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

    Feature Spotlight Videos

    Watch our Feature Spotlight videos for DHIS version 2.33 here, or on our YouTube channel.

    Analytics Features

    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.

    [ Video ][ Demo][ Screenshot 1 | 2 | 3 ][ Jira]

    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.

    [Screenshot 1][ Jira]

    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”.

    [ Screenshot 1][ Jira 1 | 2 ]

    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.

    [ Screenshot 1][ Jira 1 | 2 ]

    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.

    [ Video ][ Screenshot 1 | 2 ][ Docs ][ Jira]

    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.

    Demo][ Screenshot 1 | 2 ][ Docs 1][ Docs 2][ Jira 1][ Jira 2]

    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.

    Screenshot ][ Docs][ Jira]

    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.

    Screenshot 1 | 2 ][ Docs ][ Jira]

    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.

    Screenshot 1][ Docs][ Jira]

    Bidirectional relationships

    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]

    Updated icon library

    Integrity checks now identify program rules with faulty configurations, and summarizes any problems localized in the report. The integrity checks can be found under Apps > Data administration > Integrity checks.

    Screenshot 1][ Jira]

    Program indicator and program rules health checks

    Program indicators and rules are now evaluated during the integrity check in the Data Administration app, reviewing for invalid expressions and filters; missing actions or priority and more.

    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]

    Image resizing

    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).

    [ Docs][ Jira]

    Apps Features

    Reports app

    The new reports app is out of beta and comes with many new improvements. As an example, standard reports are now linkable and can be opened from a URL. The old reports module has been removed.

    [ Video ][ Demo 1][ Demo 2][ Screenshot 1 ][ Docs ][ Jira ]

    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.

    Demo ][ Screenshot 1 ][ Docs ][ Jira ]

    Android Compatibility

    This version of the DHIS2 core software is fully compatible with the DHIS2 Android Capture App version 2.0.

    Release Information

    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 databaseDownloads
    Documentation and JavadocsDocumentation
    Upgrade notesUpgrade 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 GithubDHIS2 source code
    Demo instanceDemos
    DHIS2 communityDHIS2 Community of Practice