The DHIS2 Annual Conference will take place from 12-15 June! Learn More & Register
Android Capture App V2.2 Overview
DHIS2 Android Capture App version 2.2 is out with many new features, apps, improvements, and bug fixes, including UI improvements, validation rule support, new map visualizations, and encryption options
Jump to a section on this page
Data Sets
Validation Rules
The App supports Validations Rules. The validation step has been integrated in the save and complete flow and the app supports both when the validation rules are configured as mandatory and when they are optional. The app will display a new card with the errors helping the user identify which values are incorrect.

Listing, Filtering & Sorting of Events

Sorting of lists of Events and TEIs
The app now supports sorting of lists of Events and TEIs. Sorting is integrated with the filters menu and users will be allowed to sort the list by one chosen parameter either in ascending or descending order. Sorting is applicable by date and organization unit, and by enrollment date and status when applicable. The screens that allow sorting are:
- Single event listing
- TEI Search screen list (When a TEI has multiple events, the app will order based on the most recent event)
- TEI Dashboard event list
[ Screenshot ][ Jira ]

New Filter: Enrollment Status
In the Program Search screen, the user is able to filter the TEI list by Enrollment Status. This filter does not allow multiselection. Users are not able to filter by more than one enrollment status at a time.
[ Screenshot ][ Jira]

New Filter: Enrollment Date
In the Program Search screen, the user is able to filter the TEI list by Enrollment Date (in addition to event date, which was already available). The filter will use the lable of the enrollment date when available.
[ Screenshot ][ Jira ]
Changes in filter names
The previous “Period” filter has been renamed as follows:
- Date in Home Screen and Event program screen.
- Event Date in Tracker program screen.
- Remains as Period for Datasets.
Maps

Satellite view in map layers
The user will be able to change the map background to satellite view. Satellite view is available as an option in the map layer dialog. When selected, it will replace the default background image.
[ Screenshot ][ Jira ]

Event layer in TEI program maps
When opening the map view in tracker programs, the program stages with coordinates will be available as layers. When the program stage layer is selected, the events of that stage with coordinates will be displayed in the map in combination with the other layers selected.
[ Screenshot ][ Jira ]

Display TEI relationships in map view
When opening the map view in tracker programs, the Relationships between TEIs with coordinates will be available as layers. When the Relationship layer is selected, the TEIs with coordinates which are part of that relationship will be displayed in the map in combination with the other layers selected. The direction of the relationships will be represted with an arrow pointing in the corresponding direction. Bi-directional relationshiops will have arrows in both ends.
Users will be able to switch between list and map view from the TEI Dashboard relationships tab.

Carousel for navigating Events, TEIs & relationships in map view
A carousel with TEIs, Events or Relationships cards has been added to the map view. The carousel and the map will respond to the user selection in both directions. If the user selects an object on the map, the carousel will position the corresponding card on the screen. If the user selects a card on the carousel, the map will be centered to the corresponding object in the map and the icon for any selected object in the map will be remarked with a slightly bigger size.
[ Screenshot ][ Jira 1 | 2 ]
Generic Features

Change the color of long text fields in forms
Long text value type fields had a darker background. It has been changed to white to align it to other value types.
[ Screenshot ][ Jira ]
Pre-select the previous Organization Unit when entering Events
When creating a new event, either in Tracker or Event Programs, if the user has more than one Organization Unit assigned for data capture, the app will pre-select the Organization Unit that was selected by the user the last time.
[ Jira ]
Disable grammar spelling in predefined option fields
Grammar spelling is disabled for fields that use option sets or categories. Even if the options have spelling mistakes, the app will not show a warning. This warning is removed because for predefined options the user cannot correct the error even if the app points it out.
[ Jira ]
Make category options searchable
When creating events in programs or completing Data Sets with category, having to scroll through long lists without the option to search made data entry slower. The app now will have a search box when there are more than 15 options in the category. This is implemented in the following screens:
- Event listing category option combo filter
- Event initial category option selectors
- Data set listing category option combo filter
- Data set initial category option selectors
- TEI dashboard for autogenerated events
[ Screenshot ][ Jira ]

Tracker Features
Inherit values when creating new TEI for relationship
When creating a new TEI as part of a relationship, the TEI will inherit any program attribute marked with the Inherit parameter in the tracked entity attribute configuration.
[ Jira]
User Experience & User Interface

Redesign of Event and TEI cards
The event and TEI cards have been improved and made more intuitive and informative. The cards display now the name of the attribute or data element next to the value for the first three marked to be displayed. It is also possible to expand the card to display the rest of the attributes or data elements, which are shown following the same format. The new cards are available in Tracker programs for the TEI list, the events of the TEI Dashboard and the cards in the maps carousel.
[ Screenshot ][ Jira ]

Improve Data Set screen
The Data Set screen has been redesigned, the header information has been simplified and the a tab with the details of the Data Set (Status, Period, Org. Unit) has been aded in the data entry section. The data set will always open in the Data Entry tab.
[ Screenshot ][ Jira ]

Update Event Status icons to new design
The new design simplifies the Icons and aligns the aesthetics with the app’s User Interface. All icons are identifible by their shape. Color differentiation is no longer used to add information.
[ Screenshot ][ Jira ]

Updated sync icons to new design
The new design removes icons that were only differentiated by color. All icons are identifible by their shape. When an object is already synchronized there is no sync icon displayed.
[ Screenshot ][ Jira ]
Disable horizontal swipe for tabs in Data Sets
Horizontal swipe will navigate the user inside the dataset table, but will not navigate the different tabs. User experience was sometimes confusing and resulting in non-voluntary changes of section. Changing sections requires the user to explicitly click on the specific tab in the section header menu.
[ Jira]
Improved settings section for sync parameters via new Android Settings DHIS2 web app
The sync settings sections has been redesigned and expanded to accomodate the settings from the new Android Settings DHIS2 web app. The new Android Settings web app allows you to configure the sync settings for all devices in your implementation. When settings are configured centrally, they will overwrite the settings at device level.
[ Jira ][ Web App Announcement ][ Web App Documentation ]
Quality, Security, Performance
Encrypt Database
The database in the android devices can now be encrypted to increase the protection of your sensitive information. This is an action that will affect the local database of all android devices synchronizing with your server (it will not encrypt the DHIS2 server database). By default the android app database is not encrypted, but an admin can check the Encrypt device database in the new Android Settings DHIS2 Webapp to encrypt the data and metadata stored in every device. Encrypting the database will have an impact on the database volume and performance of the android app. Selecting or unselecting this option causes no data loss (even if it hasn’t been previously synchronized with the server).
[ Jira ][ Jira SDK ][ Web App Announcement ][ Web App Documentation ]
Extended error log
The error log in the app has been expanded to include all errors captured during the use of the app. The error log is available in the Settings Screen and can be share via the default options of any Android smartphone (email, instant messaging applications, SMS, copying text…).
[ Screenshot ][ Jira ]
Other quality and performance improvements
- [Maps] Unify map data manager [ Jira ]
- [Maps] Unify Geometry Utils [ Jira ]
- [Maps] Library and map view initialization (I) – Library init and structure [ Jira ]
- [Maps] Library and map view initialization (II) – Map view initialization [ Jira ]
- [Bitrise][CI] Create a PR reminder that is launch twice a day [ Jira ]
- [Functional Test][Sync] Datasets [ Jira ]
- [Functional Test][Sync] Event [ Jira ]
- [Functional Test][Tei Dashboard] Enrollment [ Jira ]
- [Functional Test][Sync] Tei [ Jira ]
- [Performance] Improve home performance [ Jira ]
[ Jira]
DHIS2 Core Compatibility
Android Capture App version 2.2 is fully compatible with DHIS2 version 2.34, as well as versions 2.33-2.30.
Release Info & Demo
To find more details about... | Follow this link |
---|---|
Download app from Google Play or Github | Downloads |
Documentation | Documentation |
Details about each feature on JIRA (requires login) | Details on JIRA |
Overview of bugs fixed on JIRA (requires login) | Overview on JIRA |
Source code on Github | DHIS2 source code |
Demo instance (user / password) | Demos (android / Android123) |
DHIS2 community | DHIS2 Community of Practice |
SDK Source Code on Github | Android SDK source code |