DHIS 2.26 Overview

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

Log in with admin/district on the demo system.

Analytics features
Enrollment analytics
Enrollment analytics
Program indicators can now utilize a new aspect of the analytics engine for program enrollments. This implies that you can compare data values and dates from different stages and events within an enrollment. This allows for calculation of indicators such as “average inpatient bed days” and “hemoglobin improvement since first visit”.
Daily relative periods
Daily relative periods
You can now push data analysis in the form of reports, charts and maps to your users via email. This helps improve awareness and visibility of your data, and can encourage people to more actively look at analysis. Push analysis is based on dashboards, and can be set up, run and scheduled from the Maintenance app. You can also run this immediately and preview from the the context menu.
Data element event clustering in GIS
Data element event clustering in GIS
Using the event layer in the GIS app, you can now specify which data element or attribute to use as a basis for event analytics and clustering. The data item must be of value type coordinate. As an example, for a malaria case program, you can have data elements of type "coordinate" for place of infection and household location, and visualize those locations on the map for the malaria cases.
[ Screenshot ] [ Demo ] [ Doc ]
Pivot table cell background coloring
Pivot table cell background coloring
You can now specify whether to color the cell text or cell background of pivot tables based on legend sets. This is helpful if you're creating scorecards, for example, where high and low values can be easily identified. Go to Pivot table > Options > Legend display style.
[ Screenshot ] [ Demo ][ Doc ]
Analytics group sub-hierarchy inclusion
Analytics group sub-hierarchy inclusion
When opening favorites in the Pivot Table and Visualizer apps, the browser address bar URL shows the current favorite URL. This makes the sharing of favorites easy through copy-and-pasting the URL.
[ Demo 1 | 2 ] [ Screenshot 1 | 2 ] [ Documentation 1 | 2 ]
GIS improvements
GIS improvements
Labels are positioned smarter on the map to avoid collisions. Interactivity on a boundary layer is disabled when combined with a thematic layer. Automatic color scales for thematic maps can be flipped, such as from low to high or from high to low.
Most viewed favorites
Most viewed favorites
The opening screen of the Pivot Table app now displays links to the top 10 most viewed favorites for the current user. This provides you with quick access to your most relevant data.
Expected reports in analytics
Expected reports in analytics
In reporting rate analytics in Pivot Table and Chart apps, the number of expected reports is always shown even if no completeness registrations exist.
[ Screenshot ] [ Demo ]
Better interpretations
Analytics performance improvements
Analytics table generation and analytics queries performance has been significantly improved. Depending on the system configuration, the improvement is in the range of 20 to 40%.
[ Demo]
Better interpretations
Better interpretations
The Interpretations app has been rewritten and now provides support for event reports and event charts, using the dynamic visualization plugins. It also provides a better commenting solution.
General features
Explicit open periods for data entry
Explicit open periods for data entry
You can now specify exactly which periods should be open for data entry per data set. You can also determine when those periods will be made available for data entry. This is useful when you need finer control over which periods should be possible to enter data for, and when you need to schedule these periods to open at precise times.
Validation notification templates
Validation notification templates
You can now specify templates for notifications which are to be sent for data validation violations. The templates gives you full control over the notification text and supports variables for injecting the org unit name, period, validation rule and current date.
Event data in validation rules
Event data in validation rules
You can now use program data elements, tracked entity attributes and program indicators inside validation rules. Aggregated values will be utilized from the event analytics engine when the validation rules' expressions are evaluated. This allows for combining routine data and event data in the same validation rule. This is useful for comparing thresholds collected as routine data with disease cases reported as events, for example. Validation rule management is now available in the Maintenance app.
<br />
Translations app
Translations app
We've now included a new app for translating database content in bulk. You can translate lots of metadata much faster by selecting the object type, then translating all objects from within a list. Open it from Apps > Translations.
Category combination metadata export
Category combination metadata export
The metadata export with dependencies now supports the export of category combinations, which will include all related category objects. This is useful when exchanging metadata between instances.
Auto-select single options in data entry
Auto-select single options in data entry
In the Data Entry app, when the data set or category selections only have one option, that option is automatically selected. This makes data entry more efficient.
Automatic totals in section forms
Automatic totals in section forms
Section forms can be configured to display totals for columns and rows in aggregate data entry. Set it up from Maintenance > Data sets > sections. Check out the “reproductive health” data set on the demo.
Assign message to user
Assign message to user
In the Messaging app, a message can now be assigned to a DHIS2 user. This allows you to treat messages as support tickets and assign them to users (agents). Note that this feature is only available to users belonging to the “feedback recipient” user group.
Tracker Features
Age value type
Age value type
Data elements and attributes support a new value type: “Age”. This renders as a widget in Event/Tracker Capture apps and means you have to enter the age in weeks, months or years. The selected input converts to a date of birth. This simplifies the input of age at points of care, for example.
Google base maps for coordinate picker
Google base maps for coordinate picker
When capturing coordinates in Event Capture and Tracker Capture, you can now switch between using Google Maps and OpenStreetMap as a base map.
Hide program stage program rule action
Hide program stage program rule action
Program rules now support an action for hiding program stages. This is useful for disease case investigations, for example, where various stages are relevant only for certain diseases.
System Administration Features
Analytics cache of old data
We've added a new system setting for the caching of analytics data, where data older than a specified number of years will be cached. You can avoid caching your latest data, while older data that never changes, can be cached.
Public/private analytics cache setting
There's a new system setting for controlling whether cached analytics data should be public or private, meaning whether proxies should be able to cache the content. This is useful for heightening the security of sensitive data while still allowing web browsers to cache content.
Approval in analytics threshold setting
We've added a system setting which defines for how many years back in time approval should be relevant. After the specified number of years, all data becomes available in analytics - even if unapproved. This means that data will automatically be approved and visible after a given number of years. This enables you to prune the approval table and ensure that system performance is not degrading.
Env variables in config
Environment variables are now supported in the dhis.conf configuration file. You can use this for example to externalize database connection information such as URLs, user and password, instead of storing this data directly in the config file. This is useful for server administration and for cloud environments.
User account lockout
The system now supports locking the user account for 15 minutes after five successive failed login attempts. This is useful to prevent brute-force authentication attacks.
Configurable session timeout
The session timeout can now be configured from the dhis.conf configuration file. This is useful to comply with specific security regulations.
Web API features
Analytics raw data
We've introduced a new resource for retrieving analytical data without aggregation at /api/analytics/rawData. This resource lets you retrieve raw data denormalized across any data dimension. This is useful when integrating third-party BI/analytics tools, as you will get data values with all data dimensions “flattened out” without any pre-aggregation, allowing the external tool to perform the aggregation and filtering.
Pre-aggregation measures in analytics
The analytics API lets you specify measure criteria to be applied before data aggregation takes place. This allows for better filtering of data before aggregating.
Filter operators in SQL views
You can now use the fields filtering syntax known from the metadata API on SQL views. This allows you to fetch only the fields (columns) you are interested in from large SQL views.
Prune data element
Data elements with corresponding data and audit values can be pruned using the /api/maintenance/dataPruning resource.
Data set completeness exchange
The API resource for import and export of data set completeness records has been rewritten and is now a lot more scalable and supports more features for controlling what to exchange.
Soft event delete
Events are now deleted “softly”, meaning marked as deleted instead of being removed in the database. The events resource can include deleted events in the response, allowing clients to handle events which have been deleted on the server.
Release info
Download
You can download Live package, WAR file, sample data and source code here:
https://www.dhis2.org/downloads
Documentation
You can find documentation and Javadocs here:
https://www.dhis2.org/documentation
Upgrade notes
You can read the Upgrade Notes and find the upgrade script here:
https://www.dhis2.org/226-upgrade
Source code
You can find the source code on Github here:
https://github.com/dhis2
Demo
You can access the demo application here:
https://play.dhis2.org/demo
Launchpad
You can find details about each feature on JIRA here:
https://jira.dhis2.org/issues/?filter=10251
Mailing lists
Get instructions about signing up to the DHIS2 mailing lists here:
https://www.dhis2.org/contact
Testimonials
Contributions to this release were done by PSI (interpretations app) and BAO Systems (translations app). Thank you!