DHIS2.29 Overview

DHIS version 2.29 is out with a lot of improvements and new features.

Log in with admin/district on the demo system.

Analytics features
Dashboard app
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.
Maps app
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
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.
Pivot table scalability
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
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.
Configurable financial year in analytics
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.
Tracker Features
Data capture and data view sharing levels
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]
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 ]
Integrated search and registration
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]
Integrated search and registration
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]
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 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
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
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
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.
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
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.
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.
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 info
To find more details about... Follow this link
Download release and sample database Downloads
Documentation and Javadocs Documentation
Upgrade notes Upgrade
Details about each feature on JIRA JIRA
Overview of fixed issues Fixes
Source code on Github DHIS2 source code
Demo instance Demos
Instructions for signing up for DHIS 2 mailing lists Mailing list