DHIS version 2.30 is out with many new features, apps and improvements.

Login with admin/district on the demo system.

Analytics

Linkable dashboards: Individual dashboards can now be linked to through the URL. This makes it easier to share dashboards through email and chats.

Screenshot | Demo

Mentions in interpretations and comments: You can now mention users in interpretations and comments by using @. Users who are mentioned will receive a notification in the messaging app. Notifications over email and SMS can also be enabled through user settings. Interpretations can be written from the right-side panel.

Screenshot | Demo

Subscribe to analytics items:  You can now subscribe to analytics items. Subscribing means that you will receive a notification whenever a new interpretation or comment is made for the analytical object you subscribed to. Look out for the bell icon.

Screenshot | Demo

Interpretations panel in maps: The maps app now has an interpretations panel to the right which lets you write new interpretations and view existing ones for a map.

Screenshot | Demo

File menu in maps: The maps app now supports the file menu you are used to from pivot table and chart apps.

Screenshot | Demo

Buffers in event map layers: You can now render buffers for events in the maps app. This is useful e.g. for visualizing coverage of health services. Zoom in to see buffers on the demo.

Screenshot | Demo

Tracked entity thematic layer: The maps app now provides a thematic layer for viewing tracked entities. Users can choose the the tracked entity type, program, active or complete, period of last updated, organizational unit, and style including an optional buffer.

Screenshot 1 | 2 | 3 | Demo

Style by data items in event maps: In the maps app you can now style each event layer independently, i.e. chose the color and size of event points and clusters.

Screenshot 1 | 2 | Demo

Apps

We have completely rewritten 5 web apps to provide a consistent and better user interface and improve the software architecture:

User app: The user app has been redesigned with Material UI to provide a more elegant and user-friendly interface. User roles and authorities management have been reworked to make it a lot clearer and easier to get the overview of the available authorities. Tracker authorities have been replaced to a large extent by the new data level sharing model, simplifying the setup of tracker user roles.

Screenshot 1 | 2 | Demo

Import-export app: The import-export app also has a new, fresh look. The new app also exposes a lot more of the features and options available through the API in a rich and intuitive interface.

Screenshot 1 | 2 | Demo

Messaging app: The messaging app is also refreshed, and styled in the manner of modern email and messaging clients. Messages are categorised on the left to allow clear distinction of different types of message for different uses. The ticket message type allows the messaging platform to be used as a simple and effective ticketing system. The new messaging app allows for adding people to an existing conversation, and to search message conversations based on the message content.

Screenshot 1 | 2 | 3 | Demo

Data quality app: The data quality app has been rewritten and features a Material UI based design which is simpler and more intuitive to use.

Screenshot 1 | 2 | Demo

Data administration app: The data administration app has been rewritten and has a nicer-looking UI. The analytics table generation UI has been moved here from the reports app.

Screenshot 1 | 2 | Demo

Tracker

Model updates

Ownership concept: A tracked entity instance (TEI) can now be owned by one org unit per program. The owner will be the latest organization unit that enrolled the TEI into each program. A TEI is searchable in the context of every organization unit that owns any programs for that tracked entity instance, as well as the original registering organization unit. When performing a permanent referral, ownership of the program in the tracked entity instance will be transferred to the receiving organization unit, while the registration org unit remains the same for the purposes of analytics.

Docs | Jira

Enhanced relationships: The relationship model is updated to be more expressive and expandable. All relationships are now modelled as one-way relationships. In version 2.30 relationships between tracked entity instances are supported. Each side of the relationship now is constrained to a tracked entity type and the types on the two sides might be different.

Screenshot | Jira

Security

Improved UI for sharing programs and stages: Building on the new granular sharing model there is now an improved UI for sharing programs and program stages available. The add and edit program wizard now includes a step called Access where the configurator will be presented with tools to share the program and program stages.

Screenshot | Demo | Jira

Breaking the glass: If the program access level is set to protected the user is now required to provide a reason for reading a tracked entity instance belonging to an organisation unit where the user does not have data capture access. The reason given will be stored and linked to the tracked entity instance and program.


Screenshot | Docs | Jira

Improved audit logs: Audit logs will now retain information on users that read enrollments, whether or not they change or enter data. This will enable improved audit reporting tools and UI in future releases.

Docs Jira

Capture polygons for events: It is now possible to to capture map polygons instead of coordinates (points) for events.

Screenshot | Jira

Program rules

Organisation unit groups in program rules: New function that allows program rules to check whether the user is part of an organisation unit group.

Docs | Jira

Hide options and option group with program rules: Use program rules to selectively hide options in an option set. Option groups can be used to hide or show options effectively for large option sets. This feature can be used when some data entered into an event can help qualify or disqualify options in an option set. An example is showing relevant malaria vectors based on the location of the infection.

Screenshot 1 | 2 | Docs | Jira

Variable for program rule runtime environment: Program rules now have a new variable that can be used to see which runtime environment is triggering the rule: Web client, Android client or server. This can be useful when making a rule that for example only should run on the web client and not on Android.

Docs | Jira

UI rendering options

Icon library for metadata: You now have the ability to associate icons to programs, stages, data elements and the options of an option set. There are currently 134 icons available through the maintenance app. In the Android app, program icons render in the home screen, and stage icons render when adding a new stage. For data elements and options, the icons render for single event programs when a section contains a single data element.

Screenshot 1 | 2 | 3 | Demo | Docs | Jira

Color palette for metadata: The new Android app can now assign background colours for programs, stages, data elements and options in option sets. A color in the maintenance app allows selection from a optimized color palette.

Screenshot 1 | 2 | Demo | Docs | Jira

Rendering types for program sections: For the new Android app, a program section with a single data element and associated option set can render the options in sequential or matrix layout based on the the associated icon of the option.

Screenshot 1 | 2 | 3 | Docs | Jira

 

General

Horizontal scalability: DHIS 2 can now be scaled horizontally at the application layer by hosting multiple DHIS 2 application instances in a cluster. Several technical challenges have beens solved, such as shared sessions, shared application cache and cluster leader election through the use of the Redis data store, and Hibernate cluster cache invalidation. The Redis data store is a requirement for horizontal scalability.

Docs

Two-factor authentication: You can now enable two-factor authentication for your DHIS 2 user. This lets you to enable a secondary authentication step for improved performance, using a TOTP based authentication app such as Google Authenticator. You can enable 2FA from Profile menu > Account settings. Admins can disable 2FA for other users from the list of users in the user app.

Docs

API

Kafka support: DHIS 2 now utilizes Kafka for queueing events sent to the API before being imported into the system. This will allow for improved performance and scalability of bulk imports of events, enrollments and tracked entity instances.

Docs

Release info

Release Information

Link

Download release and sample database

https://www.dhis2.org/downloads

Documentation and Javadocs

https://www.dhis2.org/documentation

Upgrade notes

Upgrade notes on GitHub

Details about each feature on JIRA (requires login)

https://jira.dhis2.org/issues/?filter=10708

Overview of issues on JIRA (requires login)

https://jira.dhis2.org/issues/?filter=10873

Source code on Github

https://github.com/dhis2

Demo instance

https://play.dhis2.org/2.30/

Instructions for signing up for DHIS 2 mailing lists

https://www.dhis2.org/contact

Enjoy the new release.

Best regards,

The DHIS2 development team