Go to the main page

DHIS 2.23 Overview

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

    Event clustering in GIS

    You can now view clusters of events in the event layer of the GIS app. This dramatically improves the scalability and lets you visualize millions of events in a single map. Try zooming in and see the clusters being updated. The event layer clusters are based on the longitude/latitude of the events which allows for geospatial analysis of disease outbreaks, surveys and more. Filters can be defined per data element, e.g. you can filter age groups and gender in a similar style as you do in event reports. After drilling down to individual events you can click on points to show a dialog with additional information about the event. You can select start and end dates or relative periods for the time dimension. The color and size of the clusters / points can be controlled under options.

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

    GIS OSM Light basemap

    The GIS app features a new OpenStreetMap Light basemap which is great for thematic mapping, as it emphasizes the data layers and provides a clean basemap with high contrast and less color. OpenStreetMap is now the default basemap which renders faster and smoother. You can select basemap from the right-side Layer stack menu.

    Demo ] [ Screenshot ]

    GIS area measurement

    The GIS app now lets you measure areas on the map and provides information about the size of the area and perimeter distance. Use the left-side measurement dialog to put area measurements on your map.

    Screenshot 1 | 2 ] [ Docs ]

    Event layer favorites

    Maps with event layers can now be saved as favorites. You can combine the event layer with any other map layers in the favorite. Event layer maps can also be used on the dashboard. Have a look at the Malaria dashboard on the demo.

    Screenshot 1 | 2 ] [ Docs ]

    New favorite solution in pivot tables

    The solution for managing favorites in the pivot table app has been improved and aligned with traditional file editors, providing a more familiar way of interaction. You can now easily create new, open, save, rename and share the current favorite from the new favorites menu, removing the need for having to search for and find the current favorite. We will roll this solution out to all analysis apps eventually.

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

    Actual and expected data set reports in analytics

    In addition to reporting rate percentages, now actual and expected reports for data set are supported in pivot table. All three metrics can be selected both individually and together.

    [ Demo ] [ Screenshot ] [ Docs ]

    Usage analytics

    A new app called Usage Analytics is available and lets you visualize statistics on how people (end-users) are utilizing the analytical features of DHIS 2. This includes how many times people have viewed charts, pivots, dashboards; how many favorites of various kinds people have created and how many people are logging in versus total number of users. The system will capture and store daily snapshots of usage statistics automatically which can be visualized through this app.

    [ Demo ] [ Screenshot 1 | 2 | 3 ]

    Data table

    A new app for easily viewing aggregated data tables is now available in the app store. The data table lets you view indicator data where both the score, numerator and denominator are displayed per row. You can easily drill down in the time dimension (e.g. quarters to months) and organisation unit hierarchy (e.g. province to districts). This app is only available in the app store – you can install it from inside DHIS 2 by going to the App management app, then the App store section from the left-side menu.

    [ Demo ] [ Screenshot 1 | 2 | 3 ] [ App management ] App store ]

    Tracker Features

    Searchable audit log

    Clicking the audit icon in tracker / event capture will now open a dialog with a searchable log of audits. You can search on either of the columns in the log.

    [ Demo ] [ Screenshot 1 | 2 ]

    Search by incident date

    Advanced search in tracker capture now allows searching by incident date if the selected program has an incident date.

    [ Demo ] [ Docs ] [ Screenshot ]

    Include first stage of program in registration

    Programs can now optionally choose to have the first stage of a program appear on the same page as registration.

    [ Demo ] [ Screenshot ]

    Send SMS in tracker dashboard

    If a person has a phone number attribute, you can now send SMS directly to the person from the tracker dashboard messaging widget.

    Demo ] [ Screenshot ]

    Capture coordinates

    A new value type, coordinates has been introduced, allowing you to capture coordinates for attributes and data elements.

    Demo ] [ Screenshot ]

    Tracked entities instance and event export

    In Event Capture and Tracker Capture you can now export your list of tracked entities or events to XML, JSON or CSV format.

    Demo ] [ Screenshot ]

    Event filter in data entry widget

    In tracker capture, Events registered to a tracked entity instance are now searchable on any event property in order to locate the event of interest.

    Screenshot ]

    Details popup for custom forms

    Popups that shows description and url for data elements and attributes are also available in custom forms in tracker capture and event capture.

    Demo ] [ Screenshot ]

    Validation of regular expression patterns

    Program rules now have support for validating regular expression patterns through the function d2:validatePattern

    Docs ]

    General Features

    Organisation unit maintenance UI

    A new maintenance app is available which includes organisation units, data elements and indicators. The organisation units maintenance user interface has been upgraded to the new material design style. The maintenance app supersedes the data elements and indicators app. Note that you now need to use the Maintenance app instead of the old Data elements and Indicators and Organisation units apps.

    Demo ] [ Screenshot 1 | 2 ]

    User setting fallback to system setting

    User settings now fall back to equivalent system settings if not set. You can define system settings for all user settings, meaning you can define system wide default settings. As an example, you can enable system email notifications system-wide, and then allow individual users to disable it for their own account.

    Docs ]

    Apps as dashboard items

    Apps can now be used as dashboard items. You can define the type of app in the app manifest. This is useful e.g. in order to customize the dashboard and to pull in and embed data from external systems.

    Docs ]

    YouTube video app

    A new dashboard app for YouTube videos is available in the app store. This app lets you display YouTube videos directly on the dashboard. This can be useful for showing instruction videos, promotional videos and more to users. First search for “Social media video” and add the video widget, second enter the URL of your desired YouTube video. You can get the app from the DHIS 2 app store under Web Widgets. Have a look at the Info Videos dashboard on the demo.

    [ Docs ] [ Screenshot 1 | 2 ] [ App store ]

    Current user in menu

    The “profile” link in the header has now been exchanged for the name of the logged in user.

    Demo ] [ Screenshot 1 ]

    Metadata attributes for constant and legend set

    Constant and legend sets now have support for dynamic metadata attributes.

    Demo ]

    WEB API Features

    Data set metadata exchange

    Data sets can now be exported and imported with all related metadata. This is intended to simplify the common task of moving a data set with related associations e.g. from a development instance to a production instance.

    Docs ]

    Program metadata exchange

    Programs can now be exported and imported with all related metadata. This is intended to simplify the common task of moving a program with related associations e.g. from a development instance to a production instance.

    Docs ]

    User based data store

    In addition to the existing general-purpose data store, a new key-value JSON data store has been introduced. Unlike the general-purpose data store which is shared between all users, the new user-based data store is linked to the currently logged in user. Only the user linked to the data store can add, edit, update or delete data in their store. This is useful for apps which need to store personalized data for a user, for example user-defined settings.

    [ Docs ]

    Encryption of data store values

    Data stored in either the general-purpose data store or the user-based data store can optionally be encrypted upon creation. Existing data and data initially created as unencrypted can only be encrypted by deleting the data and creating it over with encryption enabled. Values will be encrypted when a encrypt=true query parameter is supplied.

    Docs ]

    Data set report

    Added data set reports to the web api. The resource can be found at /api/dataSetReport and returns a HTML report based on your input parameters.

    [ Docs ]

    User setting Web API changes

    The user setting web api now allows fetching setting with or without using the fallback to system setting mechanism. That means a user setting will return ‘null’ if no value has been set for the user setting in question if required, but will return the value of the system setting by default if the user setting has not been assigned a value.

    [ Docs ]

    Support for identifier schemes in aggregate analysis requests

    The analytics web api resource now has support for other identifiers schemes than UID. The resource now accepts a new parameter inputIdScheme which determines how identifiers are handled. Currently both UID and CODE can be used as identifiers.

    Docs ]

    Ordering for event and eventRow endpoints

    Added parameter order to /api/events and /api/events/eventRows so result can be ordered on any property, either ascending or descending.

    [ Docs ]

    Average aggregation in analytics

    Analytics web API now supports for an AVERAGE aggregation type.

    [ Docs ]

    Support for coordinate clustering

    Event analytics now has support for coordinate clustering through a new /api/analytics/events/cluster resource.

    [ Docs ]

    Usage statistics endpoint

    Using the new /api/dataStatistics endpoint, you can now create event views and fetch data statistics between two dates and by different intervals.

    [ Docs ]

    User credentials endpoint

    A new endpoint /api/userCredentials has been added. This will enable lookup of users by username through a database-optimized search.

    [ Docs ]

    CSV import of translations

    Translations can be imported in CSV metadata format, both through the Web API and the user interface.

    Docs ]

    Clearing analytics tables

    The /api/maintenance resource now supports dropping all analytics tables from the database.

    Docs ]

    Metadata exchange

    The metadata import-export resource has been completely rewritten and offers better performance and stability. We are gradually introducing Web API versioning and the new metadata resource can be found at /api/23/metadata. The current metadata resource will be phased out in 2.26. We encourage app developers to upgrade their apps.

    Docs ]

    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