Go to the main page

DHIS 2.22 Overview

Explore DHIS2 version 2.22, 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

    Analytics Features

    Data elements and indicators app

    A completely new app for data elements and indicators maintenance features a much slicker user experience, with on-the-fly search, “access” and “last updated” visible in the lists, a new group editor, and much better looks.

    Demo ] [ Screenshot 1 | 2 | 3 ]

    Integrated tracker analytics

    Tracker-type data elements, attributes and program indicators can now be included in aggregate indicators. This allows for creating integrated analysis through indicators where e.g. the numerator is being collected in a program while the numerator is collected in an aggregate form. This means that you can produce integrated analysis without caring about whether the data comes from routine forms, anonymous events or tracking.

    Demo 1 | 2 ] [ Screenshot 1 | 2 ]

    Multiple programs in favorites

    Data elements and attributes from any number of programs can now be included in the same pivot table or chart favorite.

    Demo ] [ Screenshot ]

    File cloud storage in tracker

    The tracker capture and event capture apps now support file storage for data elements of type file. This allows you to use tracker as a document repository, and to upload documentation and files related to events or people. Files can be stored either on the Web server or sent directly to AWS S3 cloud storage.

    [ Screenshot 1 | 2 ]

    Tracker data audit

    Tracker capture and event capture now store the audit trail of changes to data and make it readily available by clicking on the audit icon next to each input field in the form. This is useful to view historical changes to information and a requirement in many settings where sensitive data is being stored.

    Screenshot ]


    Tracker now lets you encrypt identifiable / confidential information in the database. You can set a tracked attribute to “confidential”, which will encrypt the information you capture for it. This protects against attacks directly against the database. Note that due to the nature of encryption you cannot query or do analytics for encrypted attributes. Encryption requires some extra configuration which is outlined in the docs.

    [ Documentation ] [ Screenshot ]


    DHIS 2 now supports authentication against an LDAP server. This is useful in order to centralize user credentials across multiple systems. The LDAP connection can be specified in the dhis configuration file. A DHIS 2 user account can be matched to a directory entry through the username or through an explicit “LDAP identifier” set for each user.

    Documentation ] [ Screenshot ]

    Integrated app store installation

    The apps management app has been rewritten and now lets you install apps from inside your own DHIS 2 instance directly from the app store at dhis2.org/appstore. This means that there is no practical distinction between the core apps (apps being part of the DHIS 2 installation) and external apps (residing in the app store).

    Demo ] [ Screenshot ]

    Approval workflows

    You can now create data approval workflows where each defines a list of data approval levels. Several data sets may be associated with a data approval workflow. This implies that you can have multiple parallel approval workflows in the same system. As an example, health facility reporting may have to be approved at district and provincial level, whereas district population data might have to be approved at the national level only. Approval levels and workflows can be configured in the settings app.

    Demo ] [ Documentation ] [ Screenshot ]

    Aggregate functions in surveillance rules

    For validation rules of type surveillance you can now specify aggregate functions such as average, count, std dev and median. This is useful e.g. in order to identify disease outbreaks and ignore outliers or poor-quality data.

    Documentation ]

    Organisation unit translations

    You can now translate the names and short names of organisation units and have those names be reflected in the hierarchy.

    Screenshot ]

    Unique meta-data attributes

    Meta-data attributes can now be unique, meaning the system will enforce uniqueness for the attribute values for each object type. This is useful as you can use attributes for various identifiers, e.g. personal identifiers and batch identifiers. Dynamic attributes are now also supported for option sets, options and resources.

    Documentation ] [ Screenshot ]

    Data value bulk delete

    A new import strategy for deleting data values is supported in order to make it easier to delete bulks of data.

    Documentation ] [ Screenshot ]

    Analytical object deletion handling

    Associations to pivots, charts and maps will be removed when deleting data elements, indicators, data sets and organisation units.

    Screenshot ]

    User replication authority

    he ability to replicate users can be granted through a new authority “Replicate user”.

    [  Screenshot ]

    Improved tracker capture

    The Tracker capture app has received a range of improvements:

    • Yes/No fields are rendered as radio-buttons instead of drop-downs for faster data entry.
      Demo ] [ Screenshot ]
    • The enrollment and active programs widget have been merged for better usability.
      Screenshot ]
    • Easy search for option sets: Option sets can be searched from within the data entry widget.
      Screenshot ]
    • Enrollments can be incompleted in order to change existing values.
      Screenshot ]
    • You can filter for people who have a scheduled event today.
      Screenshot ]
    • Events of repeatable program stages can be viewed and edited in a list.
      Screenshot 1 | 2 ]
    • Tracker data element and attribute values can contain up to 50’000 characters.
    • The widgets in the tracker dashboard displays a loading indicator until data is available.
    • Whether to include due date input field can be configured per program.
    • Whether to list people on the front page can be configured per program.

    WEB API Features

    ADX data export

    You can now export data in the ADX format natively using the dataValueSets Web API resource with content type application/xml+adx.

    [ Documentation ]

    Dynamic identifier schemes

    For data imports you can now specify unique meta-data attributes as identifier schemes. This implies that DHIS 2 can be used to store any number of sets of identifiers and map data to those during import. This is useful when DHIS 2 is used to integrate data from a large number of systems and each have their own sets of identifiers.

    [ Documentation ]


    SMS can now be completely managed through the Web API, with new resources for sending and receiving SMS, starting and stopping the SMS service and configuration of SMS gateways. The system has now built-in support for five popular SMS gateway providers. The SMS services have been revamped and made more scalable.

    [ Documentation ]

    App store

    The contents of the DHIS 2 app store is available at the appStore resource, which also allows you to install apps from the app store with a POST request.

    Documentation ]

    Field filter operators

    A range of new field filter operators has been added, such as ^(like/ilike) to match from start of string and $(like/ilike) to match from end.

    Documentation ]

    Tracker bulk deletion

    Bulk deletion of events, enrollments and tracked entity instances are now supported through a new delete import strategy.

    [ Documentation ]

    Async data value import

    Data values can now be imported asynchronously through a new async parameter, meaning you can post a large import file and poll for the results rather than having the response block until the process is done.

    [ Documentation ]

    Data pruning by org unit

    Data, complete data set registrations and approvals can be removed by organisation unit through the maintenance/dataPruning resource.

    [ Documentation ]

    Typed user settings

    You can now set all user settings through the userSettings resource, including those of complex types.

    [ Documentation ]

    Data value deletion

    Data values can now more easily be deleted through a new delete import strategy, which lets you indicate explicitly that the posted data values should be deleted.

    [ Documentation ]

    Server management features

    System read-only mode

    You can now set the system to start in read-only mode which means that no database write-operations will be executed when the system starts and when people are logging in. This is useful in order to run DHIS 2 on read-only database replicas for horizontal scaling purposes.

    Documentation ]

    General configuration file

    The DHIS 2 configuration file has been renamed to dhis.conf, and the configuration properties have been given general names, removing the association to the Hibernate framework.

    Documentation ]

    Release Information

    Click on the links in the table below for more information about this software release.

    To find more details about...Follow this link:
    Download release and sample databaseDownloads
    DHIS2 communityDHIS2 Community of Practice