Android Capture App V2.2 Overview

 

DHIS2 Android Capture App version 2.2 is out with many new features, apps, improvements and bug fixes. The primary new features in this release are the support of validation rules for data sets, new filters and sorting for events and TEI lists, many new visualizations in maps, and the possibility to encrypt the database of the device, together with many small interface changes that result in a better user experience. For important information on upgrading to this app version, please read the Release Notes.

This version of the App is compatible with DHIS2 version 2.34, as well as versions 2.33-2.30.

Log in with android / Android123 on the demo system.

Data Sets
Data Sets Validation Rules
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
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
Filtering Added in TEI Dashboard
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.
New Filter Enrollment Date
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
Android satellite view map layers
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.
Android Event layer TEI program maps          
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.
Android display TEI relationships map          
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.
Android carousel map view
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.

GENERIC FEATURES
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 ]
Android change color of long text fields          
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.

Android category options searchable
Make category options searchable

When creating events in programs or compelting 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
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
Android redesign of event and TEI cards          
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.

Android improve data set screen
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.

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 explicitely click on the specific tab in the secion header menu.
[ Jira]
Android event status icon design          
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.

Android updated sync icons
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.

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.
QUALITY / SECURITY / PERFORMANCE
Encrypt Database

The database in the android devices can now be encrtypted 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…).
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 ]
Release info
To find more details about... Follow this link
Download app from Google Play or Github Downloads
Documentation and Javadocs 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