Jump to main content

Join us for the DHIS2 Digital Annual Conference from 21-25 June 2021 Learn more & register

DHIS 2.29 Overview

Explore DHIS2 version 2.29, 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.29 here, or on our YouTube channel.

    Analytics Features

    Dashboard app

    A new dashboard app is now available which lets you arrange the dashboard items in a completely flexible way. It features better dashboard search, allows you to create shortcuts by marking dashboards as favorites, switch between visualization types such as pivot, chart and map and insert free-text items. Dashboards can be shared, translated and filtered.

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

    Maps app

    A new maps app (previously GIS) is available, offering a new, intuitive and user-friendly interface for creating map layers. It lets you arrange the order of map layers in a simple way, and view the map data in a data table. Any number of map layers can be added to a map, even layers of the same type. The contents and order of map layers can be viewed in the left side menu.

    Screenshot 1 | 2 ][ Demo] [Docs]

    Last value aggregation type

    A new “last value” aggregation type is available for aggregate and event analytics for data elements and attributes. This aggregation type will use the last available value or event in the time dimension, and either sum or average across other dimensions. This is useful e.g. for facility surveys to analyse data based on the last observation, or for “patients currently on care” type of analysis.[ Demo ][ Screenshot]

    Pivot table scalability panel in maps

    The pivot table rendering engine is now around 10x more scalable, and allows for very large pivot tables to be viewed in the web browser. This is accomplished through progressive rendering, i.e. the browser will only render what you currently see and not load the entire pivot table into the browser memory.

    Demo ]

    Event reports table layout download

    You can now download event reports in Excel or CSV format in the same tabular format which was rendered in the web browser.

    Screenshot]

    Configurable financial year in analytics

    The starting month of the financial year to use in all analytics apps can now be configured in the settings app. Available options are April, July and October.

    Screenshot] [ Demo ]

    Tracker Features

    Data capture and data view sharing levels

    The sharing solution has been extended with two new levels for “data capture” and “data view” access for users and user groups. These levels apply to programs, program stages, data sets and category options, and replaces the link between user roles and data sets/programs. This offers a simplified and more flexible access control solution.

    Screenshot] | [Docs]

    Integrated search and registration

    The steps for searching and registering new tracked entities are now integrated. When registering a new tracked entity instance, the registration form will automatically search for possible duplicates and alert the user in case of suspected duplicates. When a search comes back with no hits, the searched values are carried over to the registration form.

    Screenshot] | [Docs]

    Improved configurability and security in searches

    Search authorization can now be granted to users at any location in the org unit structure, while also allowing for configuration that restricts the information returned in the search results per tracked entity instance. The max number of search results can also be restricted, to avoid general searches returning long lists of tracked entity instances.
    Screenshot] | [Docs]

    Tracker programs in maintenance app

    You can now create and modify tracker programs in the maintenance app. The workflow for creating programs have been made more intuitive and effective, where stages, sections, data entry forms and notifications can be created from within the main page.

    Demo ]

    Sending of messages based on program rules

    You can now create program rules which trigger messages to be sent to designated recipients (through SMS, email or DHIS2 messages) from a notification template. Messages are triggered when data is received by the DHIS 2 API based on events or tracked entity instances. This is useful e.g. for disease surveillance, where certain conditions would trigger an immediate message to a case investigator to follow up a notifiable case.

    Demo ] | [Docs]

    ID-generation based on functional patterns

    Unique IDs can now be generated based on a configured pattern. The patterns can contain various components such as org unit code, year and sequential numbers.

    Demo ] | [Tutorial] | [Docs]

    Program indicator custom date boundaries

    Program indicators can now query data relative to the reporting period. In the program indicator user interface there are now options for customizing what data is used in the evaluation of the program indicator. As an example, an indicator could evaluate all events
    up to the end of the reporting period, or evaluate events from enrollments which happened in an earlier period relative to the aggregation period. This is useful e.g. for cohort analysis and for creating moving-average or cumulative program indicators.

    Screenshot ] | [Docs]

    Compare forms when entering tracker data

    Individual program stages can be configured to display previous events side-by-side with the current event for ease of comparison.

    Screenshot ] | [Docs]

    Fixed information in top menu for tracked entities

    You can now configure a fixed information bar containing key attributes or calculated values for individual tracked entities. The information bar will always be visible at the top of the screen while capturing data for a single tracked entity.

    Screenshot 1 | 2 ]

    Image type attributes

    Images can now be stored as tracked entity attributes and be displayed in lists and the profile widget in tracker capture. When the image value type is used for a data element, the image will be visible in data entry forms.
    Screenshot ] | [Docs user guide] | [Docs API]

    Attributes for tracked entity types

    Tracked entity types can now have attributes. This allows e.g. for searching for attributes across multiple programs which share the same tracked entity type.

    Demo ] [Docs]

    General Features

    Job scheduler

    A new solution for scheduling of background jobs is now available. With the new scheduling system you can configure exactly when and how often a job should run, job-specific parameters for how the job should be performed and more. Multiple background jobs of the same type can now run simultaneously and provide notifications independently.
    Screenshot ] [ Demo] [ Docs user guide] [ Docs API]

    Validation message tickets

    Similar to ticket/feedback messages, validation messages now have access to status, priority and user assignment. The messages will inherit the priority based on the importance of the validation result.

    Demo ][ Docs ]

    In-app authorities

    Apps can now contain app-specific authorities which can be assigned to user roles in the same way you assign regular authorities. Apps can use these authorities to grant or restrict access to functionality.

    Docs]

    Complete only when compulsory fields filled

    A new option is available for data sets which only allows users to complete a data set in aggregate data entry if all compulsory fields have been filled.

    Demo ]

    API Features

    Analytics table SQL hooks

    This API lets you hook into the resource table and analytics table generation process using custom SQL scripts. These scripts can manipulate the content of the mentioned tables, such as adding, updating and removing rows, to cater for special analytics requirements.

    [Docs]

    Metadata audit

    A new API for auditing of metadata is now available. All creation, edits and deletion of metadata objects are now audited, and the audit trail information includes which properties were changed, at what time and by which user.

    Docs]

    Multi-property metadata search

    Using the metadata endpoints, you can now filter (search) for objects using tokens (individual words) across the name, UID, code and short name properties.
    Docs] [ Demo]

    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
    Documentation and JavadocsDocumentation
    Upgrade notesUpgrade
    Details about each feature on JIRA JIRA
    Overview of fixed issuesFIXES
    Source code on GithubDHIS2 source code
    DHIS2 communityDHIS2 Community of Practice