← Back to team overview

dhis2-users team mailing list archive

dhis version 2.19 is released


Hi all,

DHIS version 2.19 is out. We have some great new features for you.



*Data ranges in event analysis:* In event reports and visualizer you can
define and display numeric values in ranges. This is useful e.g. for age,
weight and scores where aggregate values can be presented in ranges such as
“1-5”, “5-10” as opposed to by discrete numbers. The ranges are based on
legend sets (must be created in GIS for now). You can enable ranges from a
drop-down next to each data item in the left panel.

Report demo
| Chart demo
| Report docs <https://www.dhis2.org/doc/snapshot/en/user/html/ch25.html>
| Chart
docs <https://www.dhis2.org/doc/snapshot/en/user/html/ch26.html>

*Plain tables in event reports:* In event reports you can display the items
from multiple data elements and attributes as a single dimension. Normally
each data element is displayed a separate dimension. You can enable this
from “Layout” > “Collapse data dimensions”. This allows you e.g. to create
large reports with items from many data elements coming down on the rows.

| Table screenshot
| Layout

*Value dimension and aggregation operator in event analysis:* In event
reports and visualizer you can define which data element to use as the
metric to display in the report or chart. You can also define which
aggregation operator to use for that metric. E.g. you can now display the
average weight or age in the report. You can enable this from “Layout” in
the “Value” box.

Report demo
| Chart demo
| Table screenshot
| Layout screenshot

*Enrollment output type in event analysis:* In event reports and visualizer
you can select the output type, which refers to how the system counts the
number of matches for the criteria. You can select between number of
“events”, number of “enrollments” and number of “tracked entity instances”
(persons). This is useful for tracker programs.

Screenshot <https://www.dhis2.org/images/219/event-report-output-type.png>

*Hide n/a options in event analysis:* In event reports and visualizer there
is a new option for hiding n/a data items. Often, several data elements
might not have a value for events which will lead to rows and columns with
a count of n/a. From “Options” > “Hide n/a data” you can now easily hide
all those items when desired.

| Screenshot <https://www.dhis2.org/images/219/event-report-hide-na.png>

*This relative periods:* New relative periods have been added for this
week, this month, this quarter and this six-month in all five analysis apps
and analytics Web API.

Screenshot <https://www.dhis2.org/images/219/this-relative-periods.png>

*Aggregation type:* In data visualizer you can specify the aggregation type
for the chart items. You can select between sum, count, std dev, variance,
max, and min. This is useful when more than one aggregation type is needed
per data element. Std dev and max/min are useful to look for outlier values
and data quality issues. The demo shows std deviation for immunization
doses administered.

| Screenshot

*Identifier schemes in analytics output:* You can choose between using UID,
code and name as identifiers when you download pivot tables or access the
analytics Web API. This is useful e.g. when you want to export aggregated
data and exchange it with a third-party system which are synchronized on
meta-data codes.

Screenshot <https://www.dhis2.org/images/219/analytics-id-schemes.png>



*Variable substitution in SQL views:* You can insert variables directly in
SQL views and pass in values to be substituted in the request URL. This
adds flexibility in how you create SQL statements, and can improve
performance since you can place variables in the main where query, as
opposed to filtering the entire result set as it is done with the existing
criteria function.

| Docs
| Screenshot <https://www.dhis2.org/images/219/sql-view-variables.png>

*Materialized SQL views:* You can create materialized SQL views. In the
“add new SQL view” screen you can select “Materialized SQL view”.
Materialized views store a copy of the actual result set of the view query.
This performs better than regular SQL views which needs to be retrieved
from the underlying table each time. The down

| Screenshot <https://www.dhis2.org/images/219/materialized-sql-views.png>

*Option set and long text attribute types:* Dynamic meta-data attributes
can now be of type option set, which display as a drop-down selection
field; and long text, which has no length limit and displays as a text area.

| Screenshot <https://www.dhis2.org/images/219/long-text-attributes.png>

*Resend user invitations:* In the user app > list of users, you can re-send
invitations to create user accounts by clicking on an unrealized account
invitation. This is useful as people sometimes fail to notice the
invitation email or it ends up in spam filters. Requires full system

Screenshot <https://www.dhis2.org/images/219/resend-invite.png>

*Identifier and code matching in GML import:* The GML importer lets you
match incoming features using UIDs and codes. Previously only matching name
was supported. This is useful for scenarios where established identifier /
code lists are in use.

Docs <https://www.dhis2.org/doc/snapshot/en/user/html/ch20.html#d5e2904>

*Footers in email messages:* A footer with a reply link has been added to
email messages. This is useful in order to easily reply to messages which
are read in an email client. This requires that you set “Server base URL”
under general settings and configure an SMTP server under email settings.


*Offline org unit level cache per org unit level:* The number of
organisation unit levels to cache offline for data entry purposes can now
be controlled per organisation unit level. This is useful for global system
implementations, e.g. where you have global users which do not need to do
offline data entry and do not want to wait for a very large number of org
units to be cached.

Screenshot <https://www.dhis2.org/images/219/org-unit-level-cache.png>

*Analysis about page:* All analysis apps now have an about page which shows
time since last analytics table update, current DHIS 2 version, revision
and username. This also applies to the about page under profile. This is
useful when debugging and supporting end-users. Click on About in the top
right corner on the demo.

Demo <https://apps.dhis2.org/demo/dhis-web-pivot/>

*Separate logs for background processes:* Output from processes such as
analytics table generation, data exchange and data synchronization are now
written to separate logs. Main log is also written to a dedicated log file.
These logs are found under DHIS2_HOME/logs and are capped at 50MB. Main
logs are still written to standard out.

Docs <https://www.dhis2.org/doc/snapshot/en/implementer/html/ch08s07.html>



*Location in map:* In event capture you can set the location in terms of
longitude and latitude for where an event took place directly from Google
Maps. This requires that coordinate capture is enabled for the program. In
the add new event form, click the blue icon next to longitude to open the
map, then click on the map to set the location. Try it out on the demo on
the “Information campaign” program.

Demo <https://apps.dhis2.org/demo/dhis-web-event-capture/index.html#/> |
Screenshot <https://www.dhis2.org/images/219/event-capture-long-lat.png>

*Search in org unit tree:* In tracker capture search you can now search
across all organisation units that you have access to by opening an org
unit tree inside the advanced search area. This is useful as you can now
search across organisation units independently of which organisation unit
you have selected for registration of persons in the left-side tree

Demo <https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/> |

*Enrollment status filter in search:* In tracker capture search you can now
filter on persons based on their enrollment status. The options are active,
completed and cancelled enrollments. Use the 4 icons at the top to filter.

Demo <https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/> |
Screenshot <https://www.dhis2.org/images/219/enrollment-status-filter.png>

*Custom form for person registration:* You can define custom forms to use
for registration of people and things. This is useful when you have
detailed requirements of need for scripting for registration. You can
create custom registration forms from Programs / attributes > Tracked
entity form. Check it out on the demo by registering a child for the “Child

Demo <https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/> |
Screenshot <https://www.dhis2.org/images/219/custom-registration-form.png>

*Nicer program summary:* The tracker program summary report is now easier
to read and looks better. Each program stage appear in tabs, and each
person or thing is displayed with event date and organisation unit.

| Screenshot <https://www.dhis2.org/images/219/program-summary-tabs.png>

*Next and previous in dashboard:* In tracker capture dashboard you can
quickly navigate between persons and things by clicking on the next and
previous button in the top left corner.

| Screenshot

*Tracker dashboard layout:* The tracker dashboard now remembers the
position of each widget between each time you access it.


*Periodic events:* You can capture events at fixed, periodic intervals. The
period type of the interval can be set in the program stage management.
When creating a new event for that stage the user is asked to enter a
period, e.g. a month, instead of the usual date.

Screenshot <https://www.dhis2.org/images/219/tracker-periodic-events.png>



*Translations:* Translations are now included in the standard meta-data
payload, meaning you can easily export and import meta-data translations.
Also, a locale query parameter can now be supplied to all meta-data
resources to get the meta-data translated according to the desired locale.


*Enum options:* All valid options for enum-type properties are exposed
through the API payload. This makes it easier to use such properties in
apps. See e.g. report table > aggregation type property.

Demo <https://apps.dhis2.org/demo/api/schemas/reportTable.json>

*Meta-data validation:* Meta-data is now being validated according to
constraints such as min and max-length and not null. You can investigate
current constraints and validate your payload against the schemas resource
to check validness.


*Merge strategies:* When importing meta-data now you can now define whether
the API should merge existing properties or overwrite when updating objects.


*Approval level parameter in analytics:* You can define an explicit
approval level in analytics request which tells the system to only include
data up to that approval level in the aggregation.

Docs <https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s24.html>

*Data validation:* Data values for a data set can be validated according to
relevant validation rules using the new validation resource.

Docs <https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s13.html>

*Identifier schemes for event export:* You can now choose between using
UIDs or codes as identifiers for event export payloads.

Docs <https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s11.html>

*Preheat cache for data import:* The dataValueSet data import resource now
supports a preheat cache option for controlling whether to load all
necessary meta-data into memory before import.


*Scheduling:* All background tasks such as analytics table generation and
data monitoring can be scheduled through the new scheduling resource.

Docs <https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s42.html>

*Field filtering:* Support for filtering of fields has been added to the
schemas, properties and dimensions resources.

Docs <https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s07.html>



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:


Enjoy the new features.

best regards,

the DHIS 2 development team

Follow ups