DHIS version 2.23 is out with a lot of new features, apps and improvements. Log in with admin/district on the demo system while reading.
Event clustering in GIS
You can now view clusters of events in the event layer of the GIS app. This dramatically improves the scalability and lets you visualize millions of events in a single map. Try zooming in and see the clusters being updated. The event layer clusters are based on the longitude/latitude of the events which allows for geospatial analysis of disease outbreaks, surveys and more. Filters can be defined per data element, e.g. you can filter age groups and gender in a similar style as you do in event reports. After drilling down to individual events you can click on points to show a dialog with additional information about the event. You can select start and end dates or relative periods for the time dimension. The color and size of the clusters / points can be controlled under options.
GIS OSM Light basemap
The GIS app features a new OpenStreetMap Light basemap which is great for thematic mapping, as it emphasizes the data layers and provides a clean basemap with high contrast and less color. OpenStreetMap is now the default basemap which renders faster and smoother. You can select basemap from the right-side Layer stack menu.
New favorite solution in pivot tables
The solution for managing favorites in the pivot table app has been improved and aligned with traditional file editors, providing a more familiar way of interaction. You can now easily create new, open, save, rename and share the current favorite from the new favorites menu, removing the need for having to search for and find the current favorite. We will roll this solution out to all analysis apps eventually.
A new app called Usage Analytics is available and lets you visualize statistics on how people (end-users) are utilizing the analytical features of DHIS 2. This includes how many times people have viewed charts, pivots, dashboards; how many favorites of various kinds people have created and how many people are logging in versus total number of users. The system will capture and store daily snapshots of usage statistics automatically which can be visualized through this app.
Event filter in data entry widget
In tracker capture, Events registered to a tracked entity instance are now searchable on any event property in order to locate the event of interest.
[ Screenshot ]
Organisation unit maintenance UI
A new maintenance app is available which includes organisation units, data elements and indicators. The organisation units maintenance user interface has been upgraded to the new material design style. The maintenance app supersedes the data elements and indicators app. Note that you now need to use the Maintenance app instead of the old Data elements and Indicators and Organisation units apps.
User setting fallback to system setting
User settings now fall back to equivalent system settings if not set. You can define system settings for all user settings, meaning you can define system wide default settings. As an example, you can enable system email notifications system-wide, and then allow individual users to disable it for their own account.
Apps as dashboard items
Apps can now be used as dashboard items. You can define the type of app in the app manifest. This is useful e.g. in order to customize the dashboard and to pull in and embed data from external systems.
YouTube video app
A new dashboard app for YouTube videos is available in the app store. This app lets you display YouTube videos directly on the dashboard. This can be useful for showing instruction videos, promotional videos and more to users. First search for "Social media video" and add the video widget, second enter the URL of your desired YouTube video. You can get the app from the DHIS 2 app store under Web Widgets. Have a look at the Info Videos dashboard on the demo.
Web API features
Data set metadata exchange
Data sets can now be exported and imported with all related metadata. This is intended to simplify the common task of moving a data set with related associations e.g. from a development instance to a production instance.
Program metadata exchange
Programs can now be exported and imported with all related metadata. This is intended to simplify the common task of moving a program with related associations e.g. from a development instance to a production instance.
User based data store
In addition to the existing general-purpose data store, a new key-value JSON data store has been introduced. Unlike the general-purpose data store which is shared between all users, the new user-based data store is linked to the currently logged in user. Only the user linked to the data store can add, edit, update or delete data in their store. This is useful for apps which need to store personalized data for a user, for example user-defined settings.
Encryption of data store values
Data stored in either the general-purpose data store or the user-based data store can optionally be encrypted upon creation. Existing data and data initially created as unencrypted can only be encrypted by deleting the data and creating it over with encryption enabled. Values will be encrypted when a encrypt=true query parameter is supplied.
Data set report
Added data set reports to the web api. The resource can be found at /api/dataSetReport and returns a HTML report based on your input parameters.
User setting Web API changes
The user setting web api now allows fetching setting with or without using the fallback to system setting mechanism. That means a user setting will return 'null' if no value has been set for the user setting in question if required, but will return the value of the system setting by default if the user setting has not been assigned a value.
Support for identifier schemes in aggregate analysis requests
The analytics web api resource now has support for other identifiers schemes than UID. The resource now accepts a new parameter inputIdScheme which determines how identifiers are handled. Currently both UID and CODE can be used as identifiers.
Ordering for event and eventRow endpoints
Added parameter order to /api/events and /api/events/eventRows so result can be ordered on any property, either ascending or descending.
Average aggregation in analytics
Analytics web API now supports for an AVERAGE aggregation type.
Support for coordinate clustering
Event analytics now has support for coordinate clustering through a new /api/analytics/events/cluster resource.
Usage statistics endpoint
Using the new /api/dataStatistics endpoint, you can now create event views and fetch data statistics between two dates and by different intervals.
User credentials endpoint
A new endpoint /api/userCredentials has been added. This will enable lookup of users by username through a database-optimized search.
CSV import of translations
Translations can be imported in CSV metadata format, both through the Web API and the user interface.
Clearing analytics tables
The /api/maintenance resource now supports dropping all analytics tables from the database.
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: