DHIS version 2.17 is released

Written for DHIS by Lars Helge Ă˜verland on 2015-02-01

DHIS 2 version 2.17 is out. We have a wide range of features and improvements for you. The main focus of this release has been performance, analytics, data exchange and interoperability.

Better performance and scalability: Several parts of the system work faster and smoother, including loading of the organisation unit tree, loading of meta-data in data entry, import and export of data and generation of resource tables. Data entry meta-data now respects the offline hierarchy level setting, making it possible to handle very large org unit trees and number of data sets.

Option codes: Options in option sets now have codes as well as names, where the code cannot be changed. This implies that options are more robust, since the name of the option can be changed and translated into multiple languages without affecting existing data or attribute values. All apps will display the option name in the user interface and use the option code for fetching data from the system. In the list of option sets, click "option management" to view options:

Average aggregation operator: Analytics now support an average aggregation operator where data will averaged in both the time period and organisation unit dimensions. The current average operator has been renamed to "Average (sum in org unit hierarchy)" to better reflect what it is actually doing.

Long text: The system support long text data values and comments. A data value can now store up to 60'000 characters, which is the equivalent of 12 pages of text. This makes the system suitable as a text repository. This is useful e.g. for using to system to store narratives linked to data elements and organisation units. See form "Mortality < 5 Narratives" on demo:

Text in analytics: The analytics engine now support text. This means that you can produce pivot tables and standard reports with textual content. This is useful e.g. to present narratives next to data element values in the same report.

Browser support notification: The front page now shows a notification for people using a browser which is not supported by DHIS 2. From version 2.17, Internet Explorer versions 6, 7 and 8 are no longer supported.

Apps as start page: External apps can now be set as start page from settings > appearance > start page.

Display name in analysis apps: A new user setting lets you define whether to use the name or the short name of meta-data items in all analysis apps, both aggregate and event-based. As an example, it lets you define whether to display the full name or short name of data elements in the pivot table app. You can access user settings from Profile > Settings:

Simpler event analysis UI: The selection of data items in event reports and event visualizer has become simpler to use. You can now easily select and remove items from dynamic drop-downs.

Event analysis option ordering: The order of options in option sets are now respected in event-based pivot tables and charts.

Visualizer meter charts: The visualizer app supports meter charts, using background-color from the assigned legend set of the indicator.

Visualizer sorting: Sorting of categories in charts is supported in visualizer. It lets you sort high-to-low and low-to-high based on the data value of the first chart series.

Total options: Pivot table and event reports now have separate options for including column totals/sub-totals and row totals/sub-totals. Look for "Show column totals" and more under table options.

Pivot table dimension labels: The pivot table app displays the name of the data dimension as a label in the top left corner. This can be controlled through the option called "Hide dimension labels" under table options.

Data entry future periods: When a data set is set to allow future dates, you can now select any year in the future in data entry. Have a look at the "Mortality < 5 years" form on the demo:

Indicators in section forms: In section based forms in data entry you can now include indicators, which will be automatically calculated in the same way as for custom forms. Have a look at the "Reproductive health" form:

Message multi-select: The message inbox support multi-select of messages with accompanying operations for marking messages as read, marking as unread and removal.

Missing value validation strategy: An option is added for defining the strategy for when a validation rule should be ignored during validation related to missing data values. The strategies for ignoring rules are a) never b) when any value is missing for the expression and c) when all values are missing for an expression.

CSV event exchange: Events can be exported and imported using CSV format. This is particularly convenient for import as it allows third-party applications to send events to DHIS 2 in an easily understood format. Look under import-export app > "event import" and "event export", then select "CSV" in the format drop-down.

Dashboard exchange: Dashboards can now be exported and imported, both through the user interface and through the Web API.

Identifier schemes for export: Data export supports identifier schemes for name and code. The identifier scheme for data elements, organisation units and categories can be set independently. This makes it possible to export data records using codes or UIDs, allowing for a third-party system to be authoritative on codes and also receive data from DHIS 2. In import-export > data export, click "more options" at the bottom of the screen:

Category option combo codes: You can now define codes for category option combos through the user interface in the "data elements and indicators" app. When combined with the identifier schemes for export, this means that you can let third-party systems be authoritative on "disaggregations" and exchange option combos using codes.

Data exchange and deletion: Data will now be deleted on import if the data value being exchanged is empty or null. Data import now also handles duplicates properly.

Meta-data import access control: User role authorities are now respected in the meta-data importer. As ax example, a person can only import data elements through the meta-data import if she is granted the privilege for creating data elements. Previously the system had an all-or-nothing authority for meta-data import.

Tracker program summary report: Report that allows you to view a summary of all enrollments for a program and view information for each stage in the program.

Tracker program statistics report: Report which provides information about active vs completed enrollments and timeliness in terms of overdue, on-time, active and completed events per program.

Tracker upcoming events report: Report that provides an overview of future scheduled events for a program, including name, organisation unit stage and due date. This is useful e.g. for community workers in need of schedule.

Tracker overdue event report: Report that gives you an overview of events that have passed their due date, including name, organisation unit stage and due date. This is useful e.g. for health workers in order to follow up on persons that have not come to a clinic for a scheduled checkup.

Follow-up analysis by org unit: The data follow-up analysis in data quality app now lists data values by organisation unit, making it possible for lower-level managers to follow up on data issues.

Security and hashing: User passwords are now hashed using BCrypt. This is a far superior algorithm compared the previously used MD5, which is now considered insecure. Bcrypt can also be configured to be more expensive to compute which provides better protection against brute-force attack going forward.

Configurable no of cores for database servers: The number of CPU cores of your database server can be configured as a system setting. This allows the system to perform optimally when the database is hosted on a different server than the application server, as the analytics engine scales linearly on the number of available cores. Look for system setttings app > general settings > "Number of database server CPUs".

System notifications: A system setting for a system email address has been added. Notifications about failures in processes such as analytics table generation will be sent here. This is useful for application monitoring. Look for system setttings app > general settings > "System notifications email address".

Custom forms scripting: The system now provides a rich set of callback methods for scripting in custom forms. This makes it possible to create scripts that react on user loading a form, saving a value, clicking complete and so on. Have a look at the "EPI stock form" on demo:

Calendar: All analysis and tracker apps now support all seven calendars in the new calendar solution in DHIS 2, including Nepali.

- Web API Features -

GeoJSON support: The organisation unit resource now supports GeoJSON meaning you can easily export geographical information. GeoJSON is a format for encoding a variety of geographic data structures.

User invites: You can now crate a batch of invitations through the invite resource. This is feasible for creating scripts for bootstrapping a system by inviting a large number of users.

CSV data exchange: Data import and export using CSV is fully supported in the Web API.

Completeness: Complete data set registrations can now be exchanged in the Web API.

Collections modifications: A new resource has been added for adding and removing items of collections inside objects without having to submit the entire object. As an example, you can easily add a data element to a data element group just by sending the identifiers of the data element group and and the data element you would like to add.

Field filtering: A new "persisted" preset for getting persisted properties only has been added to the field filter, as well as an "owner" preset for getting assocations owned by the object.

User import: The user resource supports import of multiple users with passwords.

Caching: The Web API supports shallow E-tags, which adds validation caching reduces the need for transferring data over the network.

- Technical improvements -

GIS: GIS is rewritten to become a true web app. A new client side translation solution makes load-time faster.

Sharing: The DHIS 2 store layer is rewritten to respect sharing directly in queries, leading to a faster and more secure system.

Calendar support: The flexible calendar solution is now implemented consistently in all analysis, event and tracker apps.

Read all announcements