Go to the main page

DHIS 2.30 Overview

Explore DHIS2 version 2.30, which includes many new features, apps, improvements, and bug fixes. On this page you can find information on this software version, including feature descriptions, links to technical documentation, and more

Jump to a section on this page

    Feature Spotlight Videos

    Watch our Feature Spotlight videos for DHIS version 2.30 here, or on our YouTube channel.

    Analytics Features

    Linkable dashboards

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

    [ Video ][ Demo][ Screenshot 1]

    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.

    [ Video ][ Screenshot 1][ Demo]class=”rightFeature”>

    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 1]

    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 1] [ Demo ]

    File menu in maps

    The maps app now supports the file menu you are used to from pivot table and chart apps.[ Demo ][ Screenshot 1]

    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 1] [ 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.
    Demo][ Screenshot 1 | 2]


    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.
    Demo][ Screenshot 1 | 2 ]

    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.

    Demo][ Screenshot 1 | 2]

    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.

    Demo][ Screenshot 1 | 2 | 3]

    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.

    [ Video ][ Demo][ Screenshot 1 | 2]

    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.

    Demo][ Screenshot 1 | 2 | 3]

    Tracker Features

    [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 ]

    [Model Updates] 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.

    Demo][ Screenshot [ Jira ]

    [Security] 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.
    [ Video ][ Docs][ Screenshot] [ Jira ]

    [Security] Improved audit logos

    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]

    [Security] Capture polygons for events

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

    Screenshot] [ Jira ]

    [Program rules] 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.

    Docs][ Screenshot 1 | [Screenshot 2] [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 ]

    [Program rules] 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 ]

    [UI rendering options] 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 | [Demo] [ Docs] [ Jira ]

    [UI rendering options] 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 ]

    [UI rendering options] Capture polygons for events

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

    Screenshot ] [Jira ]

    General Features

    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 Features

    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.


    Release Information

    Click on the links in the table below for more information about this software release.

    To find more details about...Follow this link:
    Download release and sample databaseDownloads
    Documentation and JavadocsDocumentation
    Upgrade notesUpgrade
    Details about each feature on JIRA JIRA
    Overview of fixed issuesFIXES
    Source code on GithubDHIS2 source code
    DHIS2 communityDHIS2 Community of Practice