← Back to team overview

dhis2-devs team mailing list archive

dhis version 2.17 is released

 

Hi all,

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.

Demo <https://apps.dhis2.org/demo/dhis-web-dataentry/index.action>


*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:

Demo
<https://apps.dhis2.org/demo/dhis-web-maintenance-dataadmin/optionSet.action> |
Demo
<https://apps.dhis2.org/demo/dhis-web-event-reports/index.html?id=fA9MsWSqfc7>


*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.

Screenshot <http://folk.uio.no/larshelg/images/217/average-operator.png>


*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:

Demo <https://apps.dhis2.org/demo/dhis-web-dataentry/index.action> |
Screenshot <http://folk.uio.no/larshelg/images/217/text-data-entry.png>


*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.

Demo <https://apps.dhis2.org/demo/dhis-web-pivot/index.html?id=u17G7LxWEK6>


*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.

Screenshot
<http://folk.uio.no/larshelg/images/217/browser-support-notification.png>


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

Demo
<https://apps.dhis2.org/demo/dhis-web-maintenance-settings/systemAppearanceSettings.action>


*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:

Demo
<https://apps.dhis2.org/demo/dhis-web-commons-about/userSettings.action>


*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.

Demo <http://folk.uio.no/larshelg/images/217/event-item-selection.png>


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

Demo
<https://apps.dhis2.org/demo/dhis-web-event-visualizer/index.html?id=qd2jBEvoRPx>


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

Demo
<https://apps.dhis2.org/demo/dhis-web-visualizer/index.html?id=qrHHe626tmv>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-visualizer/index.html?id=uSkYP6tcYu5>


*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.

Demo <https://apps.dhis2.org/demo/dhis-web-pivot/index.html?id=C5lZxvLliWR>
| Screenshot <http://folk.uio.no/larshelg/images/217/totals-options.png>


*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.

Demo <https://apps.dhis2.org/demo/dhis-web-pivot/index.html?id=IDgeKC48UXd>
 | Screenshot <http://folk.uio.no/larshelg/images/217/totals-options.png>


*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:

Demo <https://apps.dhis2.org/demo/dhis-web-dataentry/index.action>


*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:

Demo <https://apps.dhis2.org/demo/dhis-web-dataentry/index.action> |
Screenshot
<http://folk.uio.no/larshelg/images/217/indicators-section-forms.png>


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

Demo
<https://apps.dhis2.org/demo/dhis-web-dashboard-integration/message.action>
| Screenshot
<http://folk.uio.no/larshelg/images/217/message-multi-select.png>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-validationrule/showAddValidationRuleForm.action>
| Screenshot
<http://folk.uio.no/larshelg/images/217/validation-missing-value-strategy.png>


*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.

Docs
<https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s10.html#d5e1454>
| Demo
<https://apps.dhis2.org/demo/dhis-web-importexport/displayEventExportForm.action>
| Screenshot <http://folk.uio.no/larshelg/images/217/event-csv-import.png>


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

Demo
<https://apps.dhis2.org/demo/dhis-web-importexport/dxf2MetaDataExport.action>
| Screenshot <http://folk.uio.no/larshelg/images/217/dashboard-exchange.png>


*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:

Demo
<https://apps.dhis2.org/demo/dhis-web-importexport/displayDataValueExportForm.action>
|
Screenshot <http://folk.uio.no/larshelg/images/217/export-id-schemes.png>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-maintenance-datadictionary/categoryOptionCombo.action>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/program-summary>
|
Screenshot <http://folk.uio.no/larshelg/images/217/program-summary.png>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/program-statistics>
|
Screenshot <http://folk.uio.no/larshelg/images/217/program-statistics.png>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/upcoming-events>
|
Screenshot <http://folk.uio.no/larshelg/images/217/upcoming-events.png>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-tracker-capture/index.html#/overdue-events>
|
Screenshot <http://folk.uio.no/larshelg/images/217/overdue-events.png>


*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.

Demo
<https://apps.dhis2.org/demo/dhis-web-validationrule/viewFollowupAnalysisForm.action>
| Screenshot <http://folk.uio.no/larshelg/images/217/followup-analysis.png>


*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".

Demo
<https://apps.dhis2.org/demo/dhis-web-maintenance-settings/systemGeneralSettings.action>


*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".

Demo
<https://apps.dhis2.org/demo/dhis-web-maintenance-settings/systemGeneralSettings.action>


*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:

Demo <https://apps.dhis2.org/demo/dhis-web-dataentry/index.action> |
Documentation
<https://www.dhis2.org/doc/snapshot/en/user/html/ch05s02.html#d5e909>


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

Screenshot <http://folk.uio.no/larshelg/images/217/analysis-calendar.png>


- 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.

Docs
<https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s23.html#d5e3319>


*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.

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


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

Docs
<https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s10.html#d5e1454>


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

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


*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.

Docs
<https://www.dhis2.org/doc/snapshot/en/developer/html/ch01s08.html#d5e1000>

*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.

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


*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.


---

You can *download* Live package, WAR file, sample data and source code here:

https://www.dhis2.org/downloads


You will find *documentation* and Javadocs here:

https://www.dhis2.org/documentation


You can read the *upgrade notes* here:

https://www.dhis2.org/217-upgrade


The *demo* application can be found here:

https://apps.dhis2.org/demo


Full list of features can be found at the *Launchpad* page:

https://launchpad.net/dhis2/+milestone/2.17



Enjoy the new features.


best regards,

the DHIS 2 development team

Follow ups