DHIS version 2.20 is out and has a lot of great features and improvements.
You can log in with admin/district on the demo system.
Program indicators and data elements in aggregate analytics apps: You can now get aggregate data for program indicators, tracked entity attributes and tracker data elements in the pivot table and data visualizer apps. This means that you can produce aggregated results straight from events and programs without going through aggregation queries. It also means you can create pivots and charts which combines aggregate indicators and data elements with event/program-based indicators and data elements.
Flexible internal ordering of data items: In pivot table and data visualizer apps you can now arrange various data items such as indicators, data elements and data sets in any internal order. All data items have been merged into a common “Data” selection which provides a drop-down for selecting the various types of data items.
Program indicator filter: Program indicators now has a filter property. In analytics, this property will filter the events data source before the expression is being calculated. Now that program indicators are supported in analytics, this is useful e.g. to produce analysis based on stratified sampling, where the calculations can be based on age groups, wealth quantiles and so on. You can create program indicators from the context menu of a program.
Program indicators in data entry: Tracker capture and event capture apps can now display calculated values for program indicators on the fly in data capture forms.
Section selector in event capture: Event capture now supports a section selector which makes it easier to navigate between sections in long forms.
Default tracker dashboard layout: In tracker capture, users with the right privileges can now define default layout of tracker dashboards per program. Inside the dashboard, from the widget selector you can choose “save dashboard layout as default”.
ADX data exchange format: This release includes early support for a new standard for aggregate data exchange called ADX. ADX is developed by the Quality Research and Public Health (QRPH) technical committee of the IHE consortium and is based largely on dxf2. The final version of the standard is due to be published later this year.
Approval level option in pivot table: The pivot table app now has an approval level option for explicitly defining the approval level for which data in the pivot table must be approved up to. This is useful for when doing user support and for viewing data approval status. This is only visible when the “hide unapproved data” setting is enabled.
Dynamic dimension filters: The pivot table and data visualizer apps now provide item filters also for dynamic dimensions.
All items selector: In pivot table and data visualizer apps, you can now select “all items” next to dynamic dimensions in order to render all dimension items in the pivot table / chart. This is used to optimize the request going to the server and fixes the problem of “request URL too long” which is often encountered when creating very large pivot tables.
Refresh materialized view: You can now refresh a materialized SQL view from the context menu of the SQL view.
Open future periods for data entry: A new property for controlling explicitly how many future periods should be available for data entry has been added to data sets. This is an improvement of the current solution where you can only control whether data should be entered for future periods or not. The data set property is called “open future periods for data entry”.
Program rules: The tracker and event capture app now have support for program rules. Program rules are defined per program. A rules is a mechanism for allowing dynamic behavior referred to as program rule actions. The first fully supported type of dynamic behavior is skip logic which makes it possible to hide data elements and sections based on program rules expression.
Some conceptual examples are 1) hide the field for entering HIV test results if another field has indicated that no HIV test is performed and 2) hide field for entering number of pregnancies if the tracked entity attribute “Gender” indicates that the person is a man. There is an ongoing effort to support other actions/dynamic behaviors. We will get back shortly with tutorials.
Skip logic in event capture: The event capture app now supports skip logic, i.e. hiding data element input fields and sections based on certain conditions and values of other data elements. This is based on the new program rules model.
Help text in tracker capture: The tracker capture data entry shows an information icon next to the data elements that contain a description. Clicking the icon reveals the data element description.
Constant and program indicator sharing: Constants and program indicators now support sharing. Constants also has received code, short name and description properties.
Program data entry form navigation: To create a custom program registration form you can use the program context menu and click “Create custom registration form”. This makes navigation easier compared to the current separate left menu item.
WEB API FEATURES
OAuth2 authentication support: OAuth2 is an industry-standard protocol for authentication between applications. This allows for more secure, reliable and standards-based authentication between systems.
Web message error response: A new format for warning and error messages have been introduced consistently across all Web API resources. It contains properties for http status, http status code, message and application status.
Tracked entity instance object query: A new resource for querying tracked entity instances which returns the full objects in the response has been added. This is suitable for clients such as Android apps that need to download and synchronize all information about tracked entity instances.
GML error feedback: The GML importer has been made more robust and now provides proper user feedback when something goes wrong.
Last updated and limit for data values: The data value sets resource now supports parameters for getting data values updated after a given time and for controlling the max limit of data values to return.
Program rule import-export: Program rules, program actions and program rule variables are supported in meta-data import-export.
Enrollment query with last updated parameter: The enrollment query resource has been greatly improved and now lets you filter by last updated.
You can download Live package, WAR file, sample data and source code here:
You will find documentation and Javadocs here:
You can read the upgrade notes and find upgrade script here:
The demo application can be found here:
Full list of features can be found at the Launchpad page:
Instructions for signing up for the DHIS 2 mailing lists here:
the DHIS 2 development team