1 of 85

Data Entry App: Custom Form Findings Debrief

2 of 85

Questions to Answer

  • Could adding more features to the standard forms natively support the needs for custom forms and cater for most all of the possible use cases for Web and Android?

  • Could implementation of support for plugins for custom forms in Web, AND adding select features to the standard forms needed for “custom forms” in Android be a solution ?

  • Should we continue to support custom forms with (CSS/JS) functionality for the time being, and reevaluate “custom forms” for Web and Android at a later time?

3 of 85

Project Goal

The functional design team role has been to gather user stories and make sure that the development team hears the input from the community in a synthesized way.

This can give the development team an understanding of the user and highlight any potential needs for further user analysis. We believe having this understanding of the user will assist in the development strategy of the overall architecture of the app and will assist the development team in answering these questions.

4 of 85

Aim / Objective

Aim:

With the new design and build of the Aggregate Data Entry application the team worked to better understand the landscape and the use cases of :

  • WHY people have used custom forms?
  • What needs are being met through creating custom forms?

Secondary Aim:

  • Who is the user for the data entry app
  • WHAT additional considerations and needs are for Android

Objective:

What use cases can we potentially support more natively in DHIS2 (skip logic, layout and color customization, etc.)?

5 of 85

Gathering User Requirements

User stories and user experiences were gathered through 3 main methods.

  1. Cross product design meetings with HISP groups focused on the topic of Data Entry app and Custom forms x 3. See user stories

  • A Google survey sent out HISP groups, and the DHIS2 Community of Practice. We collect 17 responses from the survey participants, highlighting different DHIS2 products
    1. 52.9% Data Entry app
    2. 35.3% Tracker
    3. 21.8% Other

  • 1:1 brief conversations with implementers

6 of 85

Survey Results

7 of 85

Prevalence of Custom Forms used in Implementations

I cannot say what percentage for sure because there are many systems being supported, however:

  • With the national HMIS, all the aggregate forms are custom
  • When it comes to Education; the forms for termly tool, school feeding, annual census, Sierra Leone annual census, Lesotho annual census.

All these are custom forms.”

“epivac, eIDSR, eCBSSS also have a couple of forms which are custom”

-HISP implementer

I would say as a rough estimate, 80% of my implementations are using custom forms.

-NGO implementer

Two Users Experiences

8 of 85

The Data Entry Users

Data Entry Clerks

These uses have a stacks of paper forms at their desk that need to be entered into the computer. They will try and get as many forms entered into the DHIS2 data entry form app as fast as possible.

District Teams

These users can be responsible for compiling district reports. They will compile multiple data sources creating a single output in the DHIS2 data entry form app. This work can be done at the district office or while away from their desks.

Web:

Most people will use the web. If web users have unstable internet, user might leave the application open and do their data entry and then sync their work once they have internet

Android:

With infrastructure challenges, such as limited computer availability and poor internet connectivity in certain areas, users are generally drawn to Android devices. District teams responsible for data entry on behalf of clinics and schools without any internet access sometimes prefer the convenience of entering data on Android devices while they are away from their desks.

Technical Staff, Monitoring & Evaluation Staff

9 of 85

DHIS2 Implementers

  • DHIS2 implementers are hit with the initial task with finding a way to satisfy their client (MOH, Health program, ect) of creating a form in DHIS2 that will “match” the paper form they are using.
  • Not only do these implementers have to match the look of the paper form, but then they have to translate the paper form layout into DHIS2 configurations.
  • And once these implementers translate the paper form into a DHIS2 data entry form, it has to be just as easy and or more “logical” than their paper form to be accepted.

This task is a skill of negotiation and digitalization education.

10 of 85

Results: Why a custom form?

Clients want the the form in the system to look the same as the paper form.

As non-technical users,clients, want a simple layout and more integrated complex logic

11 of 85

Data Entry Form Evolution

Paper Web Android

EMIS Termly Data reporting form, Uganda

12 of 85

EMIS Android Demo Videos

This here is the Termly Tool android where we used ages as DEs so that there could be a bit of likeness to the paper tool making data entry easier and also so the form wouldn’t be extremely wide.

We had one single data element enrolment, broken down by age, sex and class/grade. Notice here the android form becomes shorter and wider.

13 of 85

Data Entry Form Evolution

INFORMATION FORM BOOK 8: REGISTER OF PLANNED PARENTHOOD [HISP Tanzania]

Paper Web

14 of 85

Findings

Three overarching themes emerged:

  • Formatting/Layout/Styling
  • Custom Logic
  • Other

15 of 85

Formatting / Layout /Styling

  • Formatting
    • Transpose and nesting function
    • Rendering of DE’s (Radio buttons, Drop downs)

  • Layout
    • Headings / Subheadings
    • Flexibility on sections
    • Custom display layout (cell /text size, have the width of the form adapt to the width of the window)
    • View (Collapse /expand sections, Freeze columns or rows, )

  • Styling
    • Form Styling (font size /type, wrapping sections, colors, images, text box,

16 of 85

Formatting

  • Transpose and nesting function

  • Rendering of DE’s (Radio buttons, Drop downs)

17 of 85

Transpose and Nesting function

What:

Want the ability to transpose the default row/column layout (i.e. make the disaggregations by rows and the data elements be columns) [Tech 1418] , [DHIS2-13469]

  • Rearrangement of categories including some in rows and some in columns
    • Can lead to nesting of some columns/row, or splitting of some into more than one table
  • Flexibility for options; data elements in rows or columns
  • Display indicators - either as separate columns or else as “add-on” to an existing row with data elements / cat combos (i.e. totals). For example; Add row with total using an indicator that calculates the total, and be able to choose where that indicator should be (row, column, etc)

Why:

With many categories in cat combo of a data element, the form tends to be extremely wide making data entry tedious and makes it difficult to create sections. (i.e. A lot of scrolling). Users want the flexibility to decide what goes on each table (or section).

Formatting / Layout / Styling

18 of 85

Example:

Flexible section forms for aggregate

Patrick (HISP Uganda)

User story:

Patrick (HISP UG): I suggest section management be improved to allow users to create sections based on dataSet operands (dataelement+categoryOptionCombo) not just the data elements. With this, users can created smaller sections with flexibility to have more items vertically and not just horizontally and event have sub totals in sections.

Transpose functionally

19 of 85

Example:

EMIS Termly Data reporting form (Digital)

Dasiy, (HISP Uganda)

User story:

Daisy (HISP UG) Flexibility to choose which categories appear in the rows and columns (TECH-1418), to avoid the extremely wide forms where multiple category combinations are being used for a single data element

[DHIS2-13469]

Transpose functionally

20 of 85

Rendering of Data Elements

What:

Want the ability to add an option set as a:

  • Drop down
  • Radio buttons
  • Check boxes (Vertical and horizontal)

Why:

To have the form look more like a paper form. In Data entry app now it is as a dropdown but the paper form might have it as checkboxes next to each other. It will make it easier to see the options you can choose from without having to click the dropdown etc.

Design considerations: There are many other rendering types for Tracker DE’s, which might be needed to Aggregate DE’s (icons as buttons + +)

Format / Layout / Styling

21 of 85

Example:

MoH IPC data assessment tool (Digital)

Patrick, (HISP Uganda)

Rendering of Data Elements

22 of 85

Rendering of Data Elements

Example:

Facility Assessment

Standard Data Entry App (Beta)

23 of 85

Example:

PSI, JM

User Story: I want to to have a text box where I can add links and supportive links and text

Text box as an object

24 of 85

Layout

  • Headings / Subheadings

  • Flexibility on sections

  • Custom display layout (cell /text size, have the width of the form adapt to the width of the window)

  • View (Collapse /expand sections, Freeze columns or rows, )

25 of 85

Headings and Subheadings

What:

I want to be able to add Heading and Subheadings; such as,

  • Title
  • Section title
  • sub sections titles.

Including nesting of headings

Also adding a heading for names and report information. For example having this Header/Section that shows up before all the other sections

Why:

To make it easier for users to understand the layout of your form

Formatting / Layout /Styling

26 of 85

Example:

PSI Malawi Reproductive Health Monthly Site Report

Headings and Subheadings

27 of 85

Example:

Performance based finance ( J. Paul)

User Story: Added a heading for names and report information. This heading and section shows up before all the other sections in order to have the report information section on top

Headings and Subheadings

28 of 85

Flexibility of Sections

What:

Want the ability to open select sections at a time and make the form more compact

  • Flexible positions of tabs
    • Vertical or Horizontal nested sections/tabs

Why:

Without having nested sections/ tabs the form is difficult to manage and is to large

Format / Layout / Styling

29 of 85

Example:

EMIS Termly Data reporting form (Digital)

Daisy, (HISP Uganda)

Flexibility of Sections

30 of 85

Example:

Performance based finance ( J. Paul)

User Story: Tabs and custom display on each tab was done in Madagascar to allow slow internet facilities to load the whole reporting form at once

Flexibility of Sections

31 of 85

Example:

Pakistan.

George

Flexibility of Sections

32 of 85

Custom display layout

What:

Want the ability to adjust the width and length of data entry form, cell width/ height and text size

  • Cell width / height
  • Text size
  • Have the width of the from adapt to the width of the window

Why:

To optimize and reduce the size of the form and reduce scrolling

Format / Layout / Styling

33 of 85

Example:

PSI Malawi Reproductive Health Monthly Site Report

(JM)

Custom Display Layout

34 of 85

Example:

PSI Malawi Reproductive Health Monthly Site Report

(JM)

Custom Display Layout

Have the width of the form adapt to the width of the window

35 of 85

View

What:

The ability to:

  • Collapse / and Expand Sections
  • Freeze columns or rows

Why:

To manage large forms. If it is a long form going down the user collapse the section and the user can continue to enter data and doesn't have to scroll

Format / Layout / Styling

36 of 85

Example:

Form Features (PEPFAR has the following features to the forms as a whole)

  • Left Side Vertical Tabs
  • Collapse All

View

37 of 85

Example

EMIS

Termly Tool on Android

Frozen column

View

38 of 85

Styling

  • Form Styling
    • Font size /type,
    • Dynamic sizing,
    • Colors, shading,
    • Images (logos and country flags)
    • Text boxes (static text, instructions, Links)

39 of 85

Form Styling

What:

I want to be able to make the form pleasant to look at:

  • Change font size and type
  • Add colors, and shading
  • Images (for example, logos and country flags)
  • Text box (static text, instructions, links)

Why:

To create a form that stands out and makes it easier to remember.

Using images to make it clear to the user what form they are working in at a glance. Using colors to make it clear when something ends and begins. Using font size and type to differentiate items in the form

Format / Layout / Styling

40 of 85

Example:

Ministry of Health and Sanitation.

Monthly Summary of Out-Patient Morbidity

Calle

Custom header with flag logo

Form Styling: Logos / Flags

41 of 85

Example:

PSI, JM

User Story: I want to break up the sections to help data entry users differentiate where they are working by using different colors. This also makes it easier for the user to consume the form information

Form Styling: Colors /Shading

42 of 85

Example:

Performance Based Finance used a custom display of data entry form (J. Paul)

User Story: Alternate colors for rows and set up sections, row or column by color.

I want to be able to break up the white standard rows to help data entry users differentiate what row they are working with. This also makes it easier for the user to consume the form information

Form Styling: Colors / Shading

43 of 85

Example:

Ministry of Health and Sanitation.

Monthly Summary of Out-Patient Morbidity

Calle

User Story: Alternate colors for rows and set up sections, row or column by color

I want to be able to break up the white standard rows to help data entry users differentiate what row they are working with. This also makes it easier for the user to consume the form information

Form Styling: Colors /Shading

44 of 85

Example:

PSI, JM

User Story: I want to to have a text box where I can add links and supportive links and text

Text box as an object

45 of 85

Custom Logic

  • Color code responses based on logic
  • Logic depending on response (“Data set Rules”)
    • Prompts, and instructions, which show us with certain values
    • Hide and show cell, section, data elements
    • Assign values
    • Get values from previous period
    • Custom validations
    • Frequency Locks: Lock the data entry boxes from being used if it is not in the correct period (i.e., we are in the wrong quarter for a semi-annual or annual indicator)

USER STORY: “We want just like it is in the program rules for Tracker”

“People were primarily reflecting on program rules to envision “data set rules” and hence basic assumption would be to have most functionalities available in program rules covered”

46 of 85

Color code responses

What:

I want to have color coded responses based on logic.

Why:

To be able to give users color cues as they are entering data.

**Design considerations:

Can we utilize legends-need to make sure the design does not confuse colors already used in the Data entry app; for invalid (red) and saved (green) values. Android design of a thick line on the left could work?

Custom Logic

47 of 85

Example:

MoH IPC data assessment tool (Digital)

Patrick, (HISP Uganda)

Being able to arrange sections based on operands rather than data elements (the primary motivation here is having items be vertical)

Colour cues are useful to users (e.g. highlighting cells with a certain colour given an operand’s selection) (helps users as they enter data)

**Users wanted to be able to have the colors in the data cell, but the team was unable to create that so they made this color cue box

48 of 85

Logic depending on response

What:

Users want “Data set Rules”. rules.

  • Prompts, and instructions, which show us with certain values
  • Hide and show cell, section, data elements
  • Assign values
  • Get values from previous period
  • Custom validations
  • Frequency Locks: Lock the data entry boxes from being used if it is not in the correct period (i.e., we are in the wrong quarter for a semi-annual or annual indicator)

Why:

They want the same functionality as Tracker program. This could reduce data entry errors, and support users to validate the data being entered

**Design Considerations:

Need to make sure these “data set rules” do not clash with predictors which also deal with automating/assigning values.How would this function alongside validation rules?

Custom Logic

49 of 85

Example:

[Custom form] INFORMATION FORM BOOK 8: REGISTER OF PLANNED PARENTHOOD [HISP Tanzania]

Added scripting to trigger hide and show fields

50 of 85

Other

There was a category of users that created custom forms for additional functionality but could have potentially utilized current core DHIS2 functionality; such as predictors, and indicators. For example, pushing data values to other org units based on custom logic.

Other user stories noted the limiting functionality when applying a custom form in DHIS2; such as, not being able to support objects that are not related to metadata for translation.

**Supporting the strengthening of feature knowledge and usability, and improving on specific DHIS2 functionality could be prioritized outside of the conversation of Custom Forms in DHIS2.

51 of 85

Questions to Answer

  • Could adding more features to the standard forms natively support the needs for custom forms and cater for most all of the possible use cases for Web and Android?
    • Therefore the functionality for creating custom forms could be removed?

  • Could implementation of support for plugins for custom forms in Web, AND adding select features to the standard forms needed for “custom forms” in Android be a solution ?
    • What are the implications of plugins as a solution for devs and users?
    • What are the priority features to support?

  • Should we continue to support custom forms with (CSS/JS/HTML) functionality for the time being, and reevaluate “custom forms” for Web and Android at a later time?
    • Would a form builder ever be a possible solution?

52 of 85

Recommendations

  • Custom forms are frequently used to supplement for the Data-Entry app in order to meet the needs of user acceptance.
    • The solution would be good to focus on accommodation for the users with a basic technical level understanding of html
  • We need to consider the implications of making changes to custom form functionality with the existing custom forms

  • Transpose and Nesting and Custom Logic were the top two repeating user themes.
    • See: data entry appuser stories

53 of 85

Thank you

Questions and Follow up

54 of 85

Next steps (6.6.23)

  • Lets see what we can do for 41
    • Delaying struts for another year. This is a large technical debt. There is also a security risk keeping the struts
    • Supporting current custom forms without struts???
    • Implement as much as possible a new way of doing custom forms. People would have re make their custom forms
  • Look at the program rule engine could have matching functionality
  • Introduce these strategies to the HIPS groups this week

55 of 85

Resources

56 of 85

Annex: Examples and Screenshots

Details can be found here

57 of 85

  • 1. Header
    • a. Title: We must be able to put the name of the indicator in the header.
    • b. Frequency Color: The color of the header indicates how often the indicator needs to be reported (Quarterly, Semi-annually, and Annually). We must be able to set this color.
      • i. Frequency Locks: We must be able to lock the data entry boxes from being used if it is not in the correct period (i.e., we are in the wrong quarter for a semi-annual or annual indicator)

    • c. Expand/Collapse: The indicator must be collapsible so that only the header is shown.

  • 2. Section Headers
    • a. Priority Indicator: In the illustration, this is the blue box. We must be able to put text here to show which sections are Required, Conditional, Optional, or Auto-Calculated.
    • b. Description: We must be able to put a description at the top of each section. We must be able to have some of the text in the description be a different color.
    • c. Contents: We must be able to uniquely label each data entry section by the required category options. Number 3 of this list will go into further detail on the requirements.
    • d. Expand/Collapse: We must be able to have the option of including an expand/collapse button for the section. This is commonly associated with “Conditional” priority indicators.

58 of 85

  • 3. Contents in Detail
    • a. Sub-sections: Within each contents section, we must be able to further divide the data entry boxes so that each category is clearly defined.
    • b. Left side description: We must be able to create a unique description for eachdata entry group on the left side of the subsection.
    • c. Top side description: We must be able to create a unique description above each data entry box. This is most commonly used for age band disaggregation.

    • d. Subtotal automatic calculations: We must have a subtotal box that automatically sums all of the data entered in its designated data entry group. We must be able to calculate subtotals across multiple indicators.
    • e. Mutually Exclusive Data Entry: We must be able to lock out data entry boxes based on whether or not data was entered in another section of the form. Most commonly used when optional “coarse” disaggregation (<15, 15+) is used instead of “fine” disaggregation (10-14, 15-19, 20-24, etc...) or vice versa.
    • f. Multiple Data Elements: We must be able to use multiple data elements in one section.

  • 4. Data Entry Box Details: When selecting a data entry box, we must be able to show a tooltip with the metadata related to the data entry box. We use this to show the organisation unit, period, data element, and category option combo of the data entry box. Form Features In addition to the indicators, PEPFAR has the following features to the forms as a whole:

59 of 85

  • 5. Left Side Vertical Tabs
    • a. We must be able to have tabbed sections of the form in addition to the standardtop side horizontal tabs. Each left side vertical tab must be able to have its own subset of top side horizontal tabs.
  • 6. Collapse All
    • a. We must be able to have a button at the top of the form that will expand/collapse all of the indicators.

  • Wish List
    • These are features that do not currently exist in DATIM that we would like to have, if possible. Consider these “nice to have” features.
  • 7. Validation Rules
    • a. Real time validation checking while entering in data. We would like for users to be notified when their data is breaking validation rules while they are entering in data, without having to click on the “Run Validation” button.

60 of 85

Example:

Flexible section forms for aggregate

Patrick (HISP Uganda)

61 of 85

Example:

MoH IPC data assessment tool (Paper form)

Patrick (HISP Uganda)

1 of 2

62 of 85

Example:

MoH IPC data assessment tool (Digital)

Patrick, (HISP Uganda)

2 of 2

Being able to arrange sections based on operands rather than data elements (the primary motivation here is having items be vertical)

Colour cues are useful to users (e.g. highlighting cells with a certain colour given an operand’s selection) (helps users as they enter data)

63 of 85

EMIS Termly Data Reporting Form

  • Daisy from HISP Uganda shared screenshots of the paper form used to create a custom form

  • This EMIS termly Data reporting form highlights a common scenarios for survey forms
    • A Long extensive form
    • Separated into sections
    • Aggregate data and tracker data in a single data entry form.

Notes:

  • Needed to implement a custom form because they had data elements with very many operands and they didn’t want the form to sprawl horizontally as on a native form
  • There were many data elements, so they wanted to create a menu in javascript that allowed easier navigation
    • Karoline wondered if the new feature to stop auto-grouping by common disaggregations in Data Entry (Beta) would help with this (DHIS2-11600)
  • Also repeated the request for the ability to switch between rows/columns

64 of 85

EMIS Termly Data Reporting Form & Surveys in General

Use Case: As an aggregate district data entrant and analyst, I want to enter all my data both Yes/No/Option questions together with aggregate data in one entry screen/capture and analyze them all using the same analytics tools

  • Location of the school (1. Urban, 2. Peri-urban, 3. Rural)
  • Number of children enrolled in Primary 7 by end of March

Country implementation experience: Using Tracker/Events has not been a great solution.

  • When using Tracker/Events you are able to collect the data; however you are limited on needed analytical output. For example they want to be able to use the strong analytical tools in DHIS2; Data approval, and Data set report (where you can see who reported and who did not). The reporting tools in DHIS2 are very strong for M&E. The users are not satisfied just seeing the data in a pivot table.
  • Most or all of EMIS implementations do not have a foundation of DHIS2 for EMIS, and the MOE has to build DHIS2 capacity from the ground up. Many countries want to start with aggregate because it is simpler, and easier to train on. Starting with Tracker/Events is a steep learning curve, and you are jumping over starting with aggreatage.
  • A criticism of DHIS2 is that is a big monster, and the learning curve is to much. It is important to keep it simple!
  • HISP TZ has build a custom app for this (I think)

65 of 85

Example:

EMIS Termly Data reporting form (Paper 1 of 11 screenshots)

Dasiy, (HISP Uganda)

66 of 85

Example:

EMIS Termly Data reporting form (Paper 2 of 11 screenshots)

Daisy, (HISP Uganda)

67 of 85

Example:

EMIS Termly Data reporting form (Paper 3 of 11 screenshots)

Daisy, (HISP Uganda)

68 of 85

Example:

EMIS Termly Data reporting form (Paper 4 of 11 screenshots)

Daisy, (HISP Uganda)

69 of 85

Example:

EMIS Termly Data reporting form (Paper 5 of 11 screenshots)

Daisy, (HISP Uganda)

70 of 85

Example:

EMIS Termly Data reporting form (Paper 6 of 11 screenshots)

Daisy, (HISP Uganda)

71 of 85

Example:

EMIS Termly Data reporting form (Paper 7 of 11 screenshots)

Daisy, (HISP Uganda)

72 of 85

Example:

EMIS Termly Data reporting form (Paper 8 of 11 screenshots)

Daisy, (HISP Uganda)

73 of 85

Example:

EMIS Termly Data reporting form (Paper 9 of 11 screenshots)

Daisy, (HISP Uganda)

74 of 85

Example:

EMIS Termly Data reporting form (Paper 10 of 11 screenshots)

Daisy, (HISP Uganda)

75 of 85

Example:

EMIS Termly Data reporting form (Paper 11 of 11 screenshots)

Daisy, (HISP Uganda)

76 of 85

Example:

EMIS Termly Data reporting form (Digital)

Dasiy, (HISP Uganda)

77 of 85

Example:

J. Paul

78 of 85

Example:

J. Paul

Performance Based Finance used a custom display of data entry form

The standard entry form missed custom display and additional columns for the specific use cases

Display and integration with core data entry and tracker app displays and data source

79 of 85

Example:

Ministry of Health and Sanitation.

Monthly Summary of Out-Patient Morbidity

Calle

80 of 85

Example:

Monthly Summary of Paediatric HIV/AIDS

Calle

81 of 85

Example:

ART Register

Calle

82 of 85

Example:

PEPFAR Custom Forms - Kyle Pittleman

(details in link)

83 of 85

Example:

PEPFAR Custom Forms - Kyle Pittleman

(details in link)

84 of 85

Example:

[PAPER FORM] INFORMATION FORM BOOK 8: REGISTER OF PLANNED PARENTHOOD [HISP Tanzania]

85 of 85

Example:

[Custom form] INFORMATION FORM BOOK 8: REGISTER OF PLANNED PARENTHOOD [HISP Tanzania]

Added scripting to trigger hide and show fields