DHIS2 2.27 Overview

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

Log in with admin/district on the demo system.

Analytics features
Period and organisation unit drill-down
Period and organisation unit drill-down
The Pivot Table app now supports drill-down (and up) for periods and organisation unit. This means that you can, for example, drill down from yearly periods to quarters, months and weeks inside the pivot table. You can also drill down from the global organisation unit to countries, provinces and facilities.
[ Demo1 | 2 ][ Screenshot 1 | 2 ] [Docs]
Organisation unit levels as columns
Organisation unit levels as columns
When downloading a pivot table with organisation units as rows and the “Show hierarchy” option enabled in the options dialog, each organisation unit level is rendered as a separate column. This is useful for example when you create Excel pivot tables on a local computer.
Hide empty columns
Hide empty columns
The Pivot Table app now lets you hide empty columns in the table. You enable this in the Table options dialog.
Legend by data element
Legend by data element
In the Pivot Table app, you can now color the table cells according to each data element or indicator individually. You enable this in the Table options dialog by setting legend to “By data item”.
[ Demo ][ Screenshot 1 | 2 ] [Docs]
Row and column % in pivots tables
Row and column % in pivot tables
In the Pivot Table app you can now display values as percentages of row total or percentage of column total (instead of the aggregated value). This is useful in order to see the contribution of data elements, categories and organisation units to the total value. You enable this in Table options dialog.
100% stacked column charts
100% stacked column charts
In the Data Visualizer app you can now display 100% stacked column charts. You enable this in the Chart options dialog.
Cumulative values in line charts
Cumulative values in line charts
In the Data Visualizer app you can now create line charts with cumulative values. You enable this in the Chart options dialog.
[ Demo 1 | 2 ][ Screenshot] [Docs]
Chart title handling
Chart title handling
In the Data Visualizer app you can now control the chart title and subtitle, in terms of hiding or displaying the as well as specifying custom titles. You enable this in the Chart options dialog.
Hide missing values handling
Hide missing values handling
The Data Visualizer app now offers better control over hiding of missing values. You can choose between “Before first value”, “After last value” and “Before first and after last value”. This is useful for example when creating column and bar charts. You enable this in the Chart options dialog.
EPI weeks
EPI weeks
The system now supports various weekly period types, with Monday, Wednesday, Thursday, Saturday and Sunday as the first day of the week. Data can be collected through data sets configured to use the desired weekly period type. The analytics engine will attribute weekly data to the month which contains four days or more of the week.
Group set flexibility
Group set flexibility
Data element groups and organisation unit groups can now be be part of any number of group sets. This allows for increased flexibility in analysis. This change also allows for persisting the “All items” checkbox as part of favorites in analytics apps.
Attribute option combos in indicators
Attribute option combos in indicators
You can now specify data elements together with attribute option combinations in indicator expressions. This is useful e.g. to compare targets vs results, or the performance of various programs in indicator calculations. UI support is not yet there, attribute option combos can be entered directly in the expression, see the docs.
Reporting rates in indicators
Reporting rates in indicators
Indicator now allows for specifying reporting rates and actual reports in expressions. This is useful e.g. to adjust for data completeness in performance indicators. UI support is not yet there, reporting rates can be entered directly in the expression, see the docs.
[ Demo 1 | 2][ Screenshot ] [Docs]
Favorites and interpretations in event analytics apps
Favorites and interpretations in event analytics apps
The new, file-based favorite solution has been introduced in the Event Reports and Event Visualizer apps, similar to the solution in for example the Pivot Table app. This means that you can now also create and share interpretations for event reports and event charts.
Program category dimensions in event analytics apps
Program category dimensions in event analytics apps
The Event Reports and Event Visualizer apps let you use program categories and category option group sets as dimensions for tables and charts. This applies for programs with category combinations.
[ Demo 1 | 2 ][ Screenshot ] [Docs 1 |2]
Multiple legend sets per data element
Multiple legend sets per data element
In Event reports and Event Visualizer apps you can aggregate events by multiple legend sets per data element. This becomes useful with age groups, for example. You can collectage in years as part of an event and then aggregate into various age groups such as by 10 year intervals or 15 year intervals. This way, data can be collected once and later used to satisfy multiple reporting needs.
[ Demo 1 | 2 ][ Screenshot 1 | 2 ] [Docs]
Program and event status
Program and event status
You can now filter data by program status and event status in the Event Reports and Event Visualizer apps. You can set these filters from the options dialog.
[ Demo][ Screenshot ] [ Docs 1 | 2]
Program stage count in indicators
Program stage count in indicators
Program indicators support a variable for counting the number of events for a program stage.
Most viewed favorites
Most viewed favorites
Event reports and event visualizer provides links to your most popular favorites on the start page.
General features
Sharing dialog
Sharing dialog
A new dialog for sharing of metadata is now available in the Maintenance app, offering a better and simpler user experience.
Notification modes
Notification modes
Validation rule notifications can now be sent as individual messages or as message summaries. This is useful e.g. when you want to send individual messages for high-priority disease outbreaks, and summaries for low-priority routine data validation errors.
[ Demo ] [Docs]
Sliding windows in validation rules
Sliding windows in validation rules
Validation rules can now calculate data based on sliding time windows. This implies that data is evaluated not just for fixed periods, such as weeks, but also for sliding intervals of the same duration, e.g. Wednesday to Thursday.
[ Demo ] [Docs]
Improved password security
Improved password security
The system now provides greater security and control over passwords. To enable this go to System Settings > Access.
  • Email notifications can be sent out to users 14 days before their password expires and must be changed.
  • The minimum number of characters in passwords is configurable and can be between 8 and 14.
  • Password must contain a mix of at least three characters from the following categories: uppercase, lowercase, numeric and special (non-alphanumeric).
  • When changing passwords, users cannot use any of the 24 previously used passwords.
[ Screenshot ] [Docs 1 | 2 ]
Cloud storage for resources
Cloud storage for resources
Resource (files and links, found in the Reports app > Resources) can now be configured and be backed by a cloud storage provider such as AWS S3. This allows for infinite storage of files. This requires that you’ve configures a cloud store in dhis.conf.
Note: if you’ve configured cloud storage in dhis.conf, all files you upload or that the files system generates, will use cloud storage, not only resources.
Improved metadata export
Improved metadata export
Metadata export with dependencies now supports data element groups and dashboards.
[ Demo ][ Docs]
Data store manager
Data store manager
A new app is available which lets you manage the content of the web API data stores. This is helpful when managing apps and external scripts.
Tracker Features
Program rule improvements
Program rule improvements
A completely new user interface for managing program rules has been introduced in the Maintenance app. A range of new program rule actions is now supported in the new user interface:
  • Assign value. Enables client side calculations.
  • Display text. Enables the web client to display text in the indicator or feedback widgets.
  • Display key/value pair. Enables the web client to display a information box with a title and value in either the indicator or feedback widgets.
  • Make field mandatory. Enables program rules to turn a field mandatory based on rule expression.

Other improvements include the ability to delete and change program rule variables (source fields), and the ability to include one data element in several program rule variables. For all warning and error messages it will now be possible to include a dynamic/calculated part at the end of the static error message.

Event programs in Maintenance app
Event programs in Maintenance app
The Maintenance app now supports management of event programs. This includes new UI for creating event programs, organisation unit assignment, sections, custom forms and notifications. The create program screen is designed as wizard where the program can be configured across several steps. Tracker type programs is still located in the old Programs/Attributes app.
Program indicators in Maintenance app
Program indicators in Maintenance app
Program indicators can now be managed in the Maintenance app. The new UI lets you create indicators across three steps and provides a simpler way of creating expressions and filters.
Person search order
Person search order
In the Tracker Capture app, you can now sort the list of tracked entity instances by each column in the search.
Server Admin features
Memcached support
Memcached support
You can now use memcached as an application cache provider. This allows for greater scalability as memcached can be hosted on a separate server off-heap.
[ Docs]
Web API features
Tracker soft delete
Soft deletion has been introduced for the tracked entity instance and enrollment entities. This gives clients with local databases the opportunity to react on deleted entities.
Deleted metadata objects log
Deletion of metadata is now logged and can be queried from a new endpoint /api/deletedObjects. This allows clients with local databases to react on deleted metadata objects.
[ Docs]
Email sending
A new endpoint for sending email is introduced at /api/email.
[ Docs]
Min-max data element values
A new endpoint for setting and retrieving min-max data element values is introduced at /api/minMaxDataElements.
[ Docs]
Lock exceptions
A new endpoint which lets you create, retrieve and remove data set lock exceptions is available at /api/lockExceptions.
[ Docs]
Event export identifier schemes
The event export resource for now supported identifier schemes, i.e. allows for use of code as well as identifier.
[ Docs]
Release info
To find more details about... Follow this link
Download release and sample database Downloads
Documentation and Javadocs Implementation Guide
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