Dhis2 PROGRAM RULES
Dhis2 PROGRAM RULES
User Guide
Comprehensive System Administrator
Guide for [Link]’s DHIS2 Software in
Zimbabwe
SEPTEMBER 2021
Suggested citation: [Link]. (2021). System Administrator User Guide: Comprehensive System Administrator
Guide for [Link]’s DHIS2 Software in Zimbabwe. Washington, DC, USA: [Link], Palladium
This report was produced for review by the U.S. Agency for International Development. It was prepared by [Link].
The information provided in this report is not official U.S. Government information and does not necessarily reflect the
views or positions of the U.S. Agency for International Development or the U.S. Government.
1 | Glossary 1
2 | DHIS2 Fundamentals 2
Indicators - “What” 4
Period - “When” 4
Fixed periods 4
Relative periods 5
Aggregation of periods 5
Analytics 5
Web API 6
3 | Metadata Creation 6
Organisation unit 7
Organisation levels 13
Comprehensive System Administrator Guide for [Link]’s DHIS2 Software in Zimbabwe iii
Category Options, Categories and Category Combos 21
Create categories 25
Updating categories 27
Option sets 28
Data elements 36
Relationships 48
Relationship Types 48
Programs 52
Event Programs 52
Tracker Programs 52
Enrollment details 55
Attributes 56
Assign attributes 57
Section 58
Custom 58
Program stages 59
Stage Details 60
Name 61
Access 63
Notifications 65
What to send? 66
Program rules 67
Indicators 76
Create indicators 76
Indicator groups 78
Program Indicators 79
Edit expression 82
Edit filter 83
Db languages 84
Available Programs 86
5 | User Management 86
User Roles 87
Sharing 88
Username Protocol 89
Data Integrity 91
Clearing Cache 91
Forgotten password 92
Groups of category options: for e.g., a category called ‘Age’ would group
Category
together a series of age category options.
Category
Category combinations are used to disaggregate data elements and are
combination
made up of different combinations of categories (or groups of categories).
(Cat combo)
Category options are the smallest unit of disaggregation. They correspond to
Category
each ‘option’ within a given category. For example, an ‘Age’ category might
options
have two options: <18 and 18+.
A raw unit of data within DHIS2 e.g., number of IUDs removed. Each data
element can have a full name (for database maintenance), short name (for
Data element
viewing in analytics), form name (what appears on the data entry screen) and
description.
Data element Data element groups are used to categorise data elements for data analysis.
group They are necessary for viewing data elements in analytics.
Data element Data element group sets are used to group different data element groups for
group sets extra analysis.
Data sets are a collection of data elements grouped together for the
purposes of data entry. For , a data collection form will be represented in
Data set1
DHIS2 by the data set. A data set is assigned a collection frequency and
organization units to add meaning to the data collected.
A calculated value within DHIS2, with a numerator and denominator made
Indicator
up of data elements. Note, this is different to the M&E term ‘indicator’.
Organization A geographical unit within a hierarchy. These add the ‘where’ dimension to
Unit data collection and are often called OUs or Org Units.
Organization Organization unit groups are used to categorise organizational units. One
Unit Group purpose is to be able to easily assign a group of Org Units to a data set.
Organization Organization unit group sets allow grouping of organizational unit groups for
unit group sets easy aggregation of data along lines different to the Org Unit hierarchy.
1
DHIS2 spells data set with a space (as opposed to ‘dataset’) so this is the spelling used within this document
2 | DHIS2 Fundamentals
Organisation units - “Where”
The organisation unit hierarchy defines the organisational structure of DHIS2, for example, how
health facilities, villages, administrative areas, and other geographical areas are arranged with
respect to each other. The organisation unit hierarchy is built up by parent-child relations, in a
“tree”-like format. In DHIS2, each of these nodes is an organisation unit (org unit). The [Link]
server, for example, has Regions, each of which has a number of Countries as children. Usually,
the lowest level consists of Villages/locations where data is collected as this is where activities
typically occur. Data collection can also be located at higher levels, but in the case of [Link], data
is collected at the lowest level the service delivery point.
DHIS2 is structured so that the organizational unit hierarchy is a geographical hierarchy, and the
Geographical Information System (Maps) module depends on this. Additional hierarchies (e.g.,
the sub location structure or a hierarchy based upon the type of organisation units) can be
modeled using organisational groups and group sets, but the organisational hierarchy is the main
vehicle for data aggregation on the geographical dimension.
Period - “When”
The period dimension defines when a particular piece of data was collected. It is also required
when analysing data to make it comparable over time. For example, when looking at cumulative
data and creating quarterly or annual aggregated reports, or when doing analysis that combines
data with different characteristics like monthly routine data, annual census/population data or
six-monthly staff data.
Fixed periods
In DHIS2, periods are organised according to a set of fixed period types described below. These
fixed periods are used during data collection, and analysis. The following ISO 8601 calendar types
are supported:
❏ Daily
❏ Weekly: These are defined as ISO weeks, beginning on Monday and ending on Sunday.
EPI weeks are also available beginning on Wed, Thurs, Sat and Sun.
❏ Monthly: Refers to standard calendar months.
❏ Bimonthly: Two-month periods beginning from January e.g., January-February, March-
April etc.
❏ Quarterly: Standard ISO quarters, beginning in January e.g., January-March, April-June etc.
❏ Six-Monthly: Six-month periods beginning in January e.g., January-June, July-December
❏ Yearly: This refers to a calendar year, January 1st to December 31st.
Relative periods
In addition to the fixed period types described above, DHIS2 also supports relative periods within
the analysis modules. A relative period operates with reference to the current date. The simplest
scenario is when you want to design a monthly report that can be reused every month without
having to make changes to the report date to accommodate for the changes in period. The
relative period called "Last month" will mean every month the report moves forward relative to
the current date; thus, DHIS2 will always show the results for the previous month with reference
to the current month.
Aggregation of periods
While data is collected at a given frequency to standardise collection and management, this does
not put limitations on the period types that can be used in data analysis and reports. Just as data
gets aggregated up the organisational hierarchy, it is also aggregated according to period, so you
can create quarterly and annual reports based on data that is being collected at the same or a
greater frequency, for e.g., on a monthly basis. The defined period type for a data entry form
defines the lowest level of period detail possible in a report.
When aggregating data in the period dimension there are many options for how the calculation
is done, most commonly sum or average, though others like max are also used in [Link]’s global
indicators. This option is specified per data element in DHIS2 through the use of the 'aggregation
operator' property of a Data Element. Most of the data collected on a routinely basis will be
aggregated by summing up the months or weeks.
Analytics
The analytics resource is a powerful resource that lets you query and retrieve data along all
available data dimensions. For instance, you can ask the analytics resource to provide the
aggregated data values for a set of data elements, periods and organisation units. Also, you can
retrieve the data for a combination of any number of dimensions based on things like partner,
Web API
The Web Application Programming Interface is a component which makes it possible for external
systems to access and manipulate data stored in an instance of DHIS2. More precisely, it provides
a programmatic interface to a wide range of exposed data and service methods for applications
such as third-party software clients, web portals and internal DHIS2 modules. The Web API
adheres to many of the principles behind the Representational State Transfer (REST) architectural
style. It produces JSON, XML, CSV, HTML and Excel response (input/output) formats. It is the Web
API that allows for the integration of data between DHIS2 systems and between DHIS2 and the
other data warehouses.
Organisation unit
Create organisation units
You add organisation units to the hierarchy one by one, either as a root unit or as a child of a
selected organisation unit. You can only have one root organisation unit.
1. Open the Maintenance app; type maintenance in the search apps box in the top right
corner of the DHIS2 window. Click on the ‘Maintenance’ app icon.
As the Organisation Unit hierarchy is used by every user in the system, organisation units do not
require sharing - they are public objects. Users can however be restricted to which parts of the
hierarchy they can see through their user account, explained in the User account section.
1. Open the Maintenance app and click Organisation unit > Organisation unit.
You can move organisation units within the hierarchy by changing the parent of a selected
organisation unit.
1. Open the Maintenance app and click Organisation unit > Hierarchy operations.
2. In the left-hand hierarchy tree, select the organisation unit(s) you want to move. Note that
if the selected organisation unit has sub-organisation units, all of them move also, in the
same order, to the new parent organisation unit.
3. In the right-hand hierarchy tree, select which organisation unit you want to move the
selected organisation unit(s) to.
4. Click Move x organisation units, where x stands for the number of organisation units you
have selected.
You can delete organisation units if no data is associated with them. To delete organisation units:
1. Open the Maintenance app and click Organisation unit > Organisation unit.
2. Click the parent of the organisation unit you want to delete. The child(ren) are listed in the
right-hand window.
3. In the organisation unit list, click the options menu and select Delete.
Organisation levels
When you add children to an organisation unit, DHIS2 automatically creates a new organisation
unit level if necessary. The system also assigns a generic name to this level, for example "Level
4". You can replace the generic name with a contextual name, for example "Continent region" or
"Country". DHIS2 uses the contextual names anywhere levels are referred to, for example in the
Maps app.
1. Open the Maintenance app and click Organisation unit > Organisation unit level.
2. For the organisation unit levels you want to modify, type a name.
1. Open the Maintenance app and click Organisation unit > Organisation unit level.
2. For the organisation unit level(s) you want to translate, click the Translate icon.
4. Type the organisation unit level’s translated Name (naming convention is not required).
Organisation unit groups allow you to classify related organisation units into a common theme.
You can for example group all organisation units that particular partners report at in separate
groups.
1. Open the Maintenance app and click Organisation unit > Organisation unit group.
2. Click the add button ‘+’.
1. Open the Maintenance app and click Organisation unit > Organisation unit group set.
2. Click the add button ‘+’.
3. Fill in:
a. Name: Type a naming convention and provide a precise name for the organisation
unit group set.
b. Code: assign code; mainly used to exchange data with an external system
c. Description: Describe what the organisation unit group set measures or captures.
7. Click Save.
Category Create, edit, clone, share, delete, show details and translate
Category combination Create, edit, clone, share, delete, show details and translate
Category option group Create, edit, clone, share, delete, show details and translate
Category option group set Create, edit, clone, share, delete, show details and translate
This module is important when you need to create disaggregations to apply to data elements. As
an example, this would be where you create options like ‘Male’ or ‘Female’ when disaggregating
your aggregated data for collection.
In the [Link] server, category options are also used as dataset attributes to distinguish data
submitted by different projects. If creating a category option for a project, add it as you would
normally to the [Link]’s Projects category. You will need to run Category Option Combination
maintenance before continuing.
Where possible, try to recycle category options. For instance, there might be two categories which
share a particular category option (e.g., ‘5-15 years’). Rather than creating it twice, reuse the
option. This actually becomes important if there is a need to cross-analyze data elements using
the same options.
1. Open the Maintenance app and click Category > Category option.
2. Click the add button ‘+’.
3. Fill in the form:
a. Name - there is no strict naming convention for category options, but it is
important to remain consistent. For e.g., if using “Years”, do not to use ‘’Yrs” later.
b. Short name.
c. Code (optional): assign code; mainly used to exchange data with an external
system.
d. Start date (optional). This allows for aggregation in analysis within the correct time
boundary.
e. End date (optional). This allows proper aggregation in analysis.
f. Select the related Organisation Unit and assign them specifically for the actors.
Example:
Updating category options is not recommended as it can introduce errors in disaggregation into
the system. If possible, it is best practice to remove the unwanted option and create a new one,
which is not possible if data has already been collected. Speak to the overall DHIS2 System
administrator before editing.
Category options do not get shared as other objects. As they are reused throughout the system,
it makes sense for them to remain as ‘public’ objects but not editable. To share data and metadata
for a category option:
Create categories
When you have created all category options for a particular disaggregation or attribute, you can
add them to a category. A category, literally, is a collection of category options. To create a
category:
Updating categories
As with category options, serious thought should be given before editing categories as it has the
potential to disrupt cross-analysis of data using the same category before and after the edit.
Speak to the DHIS2 System administrator before proceeding.
Category combinations let you combine multiple categories into a related set. This means a given
data element can be disaggregated by multiple categories. It should be noted that it is a ‘category
combination’ which is applied to a data element, so even if there is only one category within the
category combination, this is necessary for the category to be applied to the data element. To
create category combinations:
1. Open the Maintenance app and click Category > Category combination.
2. Click the add button ‘+’.
3. Fill in the form:
a. Name including naming convention.
b. Code (optional) - assign code; mainly used to exchange data with an external
system.
c. Data dimension type. Select ‘disaggregation’ if it is to be applied to a data element,
select ‘attribute’ if it is to be applied to a data set.
d. Skip category total in reports (It is recommended that you leave this unchecked).
4. Select categories and assign them by moving them from the left to the right windows
using the arrows or by double clicking.
5. Click Save.
Option sets
Option sets provide a predefined drop-down menu for use in DHIS2. It is possible to define any
kind of options.
For example, an option set called “Case Report type” would have the options: “In person”, “Over
the phone”, “Virtual platforms”, and “Other”.
To open the Option Sets use the ‘Search apps’ menu in the upper right corner of the home
dashboard to navigate to the Maintenance app. Then click on the Other tab from the top
horizontal menu. Either click on Option set in the left column menu, or click on the Option set
box.
Option group set Create, edit, clone, share, delete, show details
and translate
To open the Option group use the ‘Search apps’ menu in the upper right corner of the home
dashboard to navigate to the Maintenance app. Then click on the Other tab from the top
horizontal menu. Either click on Option group in the left column menu, or click on the Option
group box.
Example
Data elements
Data elements are the basic dimension of DHIS2. Data elements define what is actually recorded
in the system. For example, ‘’REA-Case-Incident type- COVID-19- Limitation: accessing prevention
services” tracks responses in relation to the lack of access to prevention of Covid.
Data elements can be disaggregated by a category combination if they are an aggregate data
element, or an option set if they are a tracker data element.
Data element Create, edit, clone, share, delete, show details and translate
Data element group Create, edit, clone, share, delete, show details and translate
Data element group Create, edit, clone, share, delete, show details and translate
set
1. Open the Maintenance app and click Data elements > Data element.
2. Click the add button ‘+’.
3. In the Name field, define the precise name of the data element. Each data element must
have a unique name.
4. In the Short name field, define a short name for the data element. This must be 50
characters or less. If the object name fits, there’s no need to shorten it. Otherwise, the
short name is a meaningful rewording of the full data element name. This attribute is
often used in reports to display the name of the data element, where space is limited.
5. (Optional) In the Description field, type a description of the data element. Be as precise
as possible and include complete information about how the data element is measured
and what its purpose is.
6. In the Form name field, type the name of the data element exactly as it appears currently
on any existing data entry form. This may be the same or different to the data element
Name. The form name is used in the data entry screen and is what the data entry user
sees when entering data - so it is good to match exactly the wording of any pre-existing
tools.
7. In the Domain type field, select “Aggregate” if the data element will be used in an
aggregate data set, or “Tracker” if the data element will be used in an event or tracker
program.
Organisation Unit Enables selection of a DHIS2 organisation unit as the chosen value
Average the values in both the period and the organisation unit
Average dimensions
Average (sum in org unit Average of data values in the period dimension, sum in the
hierarchy) organisation unit dimensions. For e.g., population data
Last value (sum in org unit The last value (by event date) available but sum up in the
hierarchy) organisation unit hierarchy
Last value (average in org unit The last value (by event date) available but average in the
hierarchy) organisation unit hierarchy
First value (sum in org unit The first value (by event date) but sum up in the organisation
hierarchy) unit hierarchy
First value (average in org unit The first value (by event date) but average in the organisation
hierarchy) unit hierarchy
10. Select Store zero data values if you want to capture the zero value in reports. By default,
analytics will skip copying zero data values from raw data into analytic tables.
11. In the Category combination field, define which category combination the data element
should have, if it is an aggregate data element. If none, leave as default.
Other properties are optional and not covered by this manual. See the DHIS2 documentation for
more information.
Data element groups let you classify related data elements into a common theme. They can be
grouped together into a data element group for ease of analysis together.
A data element must be part of a data element group before it can be analysed in the analysis
apps.
1. Open the Maintenance app and click Data elements > Data element group.
2. Click the add button ‘+’.
3. Fill in the form:
a. Name including naming convention
b. Short name - must be less than 50 characters - will display in analytic modules.
4. Select data elements and assign them by moving them from the left-hand window
(available items) to the right (selected items) with the arrows or by double-clicking.
5. Click Save.
A tracker program must have a tracked entity type associated with it. Tracked Entity Instances
(TEIs) are registered to the program and tracked. For example, if the TET for a program was a
child, then the TEIs would be child 1, child 2, child 3, etc. who are registered to the program.
TEI =
TET = Child 1,
Child Child 2,
etc.
To enroll a tracked entity instance into a program, the tracked entity type and tracked entity type
of a program must be the same.
1. Open the Maintenance app and click Program > Tracked entity type.
i. Select a TET from the left box by double clicking on it or click on it once to
highlight it and using the arrow pointing right, move it to the right box.
Example
1. Open the Maintenance app and click Program > Tracked entity attribute
Relationships include two entities, these can include Tracked Entity Instances, Enrollments and
Events. They can be defined as unidirectional or bidirectional, where unidirectional mean the
relationship can be only added as a one-way relationship (i.e., mother will be created in a
maternal and child health program for ANC, before child is created at birth) and bidirectional
means the relationship can be added at any point from one TEI to the other (i.e. siblings added
to a household).
Relationship Types
Relationships are made up of two sides: ‘From’ and ‘To’. The entities that can be contained for
each side are determined by the Relationship Type.
The properties that determine what each can contain are constraints, specifically, ‘from
Constraint’ and ‘to Constraint’. These are significant to the data later on when understanding
what a relationship can contain.
To create or edit a Relationship Type, open the Maintenance app and click on Program >
Relationship type
*Please note that even though a relationship is tagged as bidirectional, it should be used a
unidirectional in order to function well due to a bug in DHIS 2.
There are two main program types. An Event Program or a Tracker Program.
Event Programs
An Event Program is a program that uses a single event without any registrations of tracked
entities. This means anonymous, individual events are tracked through the health system. No
person or entity is attached to these individual transactions. Examples of this type of system use
include surveys, tracking the distribution of malaria drugs and households for nutrition
programs.
Tracker Programs
A Tracker Program is a program that uses one or multiple events linked to a tracked entity
instance that needs to be registered beforehand. A program must be specified with only one
tracked entity. Only tracked entities that are the same as the tracked entity of the program can
enroll into that program. A program needs several types of metadata which can be established
in the Maintenance apps.
Program details
b. Short name: Enter the short name; it is used as the default chart or table title
c. Code: assign code; mainly used to exchange data with an external system.
d. Color: Color used for this program in the data capture apps
e. Icon: Icon used for this program in the data capture apps
g. Version: The version of the program, this is use for example when people collect
data offline in an android implementation. When they go online and synchronize
their metadata, they should get the latest version of the program.
i. Category combination: The category combination you want to use. The default
setting is none.
n. Expiry period type: defines for how many days after the end of the previous period
an event can be edited.
Attributes
Using the arrows, assign the Tracked Entity Attributes for the program by moving them from the
left box, listing the TEAs available, to the right box, listing the TEAs selected.
Select a TEA from the left box by double clicking on it or click on it once to highlight it and using
the arrow pointing right move it to the right box.
Then using the tick boxes, review the columns outlining the options for each TEA which are listed
in the column on the left; tick/select the options that are valid for them.
Scroll down to the bottom of the page to section two to select a tab for creating either a new form
Section or the Custom form option.
Section
1. Click on the plus button under the section tab
2. Add a new Section name
3. Add a description for the section
4. Mobile render type: makes it possible to select different render types for mobile devices;
available options vary depending on the DE value type.
5. Desktop render type: Can be used to select render types for desktop. Also depend on DE
value type.
Custom
1. Use the WYSIWYG (“what you see is what you get”) editor to create an entirely customized
form. If Source is selected, past HTML code directly into the editing area. You may include
JavaScript or external libraries to enhance the User Experience–but keep in mind that
custom forms are only supported in the web version of DHIS2 and not in the Android app
(DHIS2 Capture app).
Scroll down to the bottom to the page and move to section two.
Using the arrows, assign the data items for the program by moving them from the left box, listing
the data items available, to the right box, listing the data items selected.
Select a data item from the left box by double clicking on it, or click on it once to highlight it and
using the arrow pointing right move it to the right box.
Then using the tick boxes, review the columns outlining the options for each data element, listed
in the column on the left, and select the options that are valid for them.
1. Name
2. Compulsory
3. Allow provided elsewhere
4. Display in reports
5. Date in future
6. Skip synchronization
7. Mobile render type: makes it possible to select different render types for mobile devices;
available options vary depending on the DE value type.
8. Desktop render type: Can be used to select render types for desktop. Also depend on DE
value type.
Basic: Lists all data elements which belong to the program. It is possible can change the order of
the data elements.
Section: A section groups data elements, it is possible then possible to arrange the order of the
sections to create the desired layout of the data entry form.
Select the organization units that will have access to the form by assigning organisation units.
1. In the organisation unit hierarchy tree, double-click the organisation units you want to
add the program to; expand the different levels by clicking on the arrows.
1. The first row shows the main programs access options and each subsequent row shows
the options of one program stage,
2. Program stages with an exclamation mark mean they can be access by a different
combination of users
3. Next, select the program or program stage that requires sharing settings to be edited
4. The Sharing Settings prompt will appear
a. Use the ‘add users and user groups’ search field to search for the users or user
groups that the program or program stage is going to be shared with
b. Click on the relevant search result to add it to the Who has access section
c. Once it has been added, click on the pencil symbol to edit the sharing option for
that user or user group
i. The options for metadata: Can edit and view; can view only
ii. The options for data: Can capture and view; Can view only; no access
d. Then click on apply
5. Click apply to selected stages if the same program sharing settings are relevant for the
program stages
6. If there are different sharing settings for each stage, repeat this process (steps 1-4) for
each program stage
a. It is also possible to copy all access options from the main program to child
programs; to do so, tick the box on the right side of the program stages
Once all sharing options have been edited, click on Next to move to the next section, section 6,
Notifications.
Notifications
What to send?
1. Enter the name or title of the message that will appear
2. Complete the message template
a. Enter the subject template
b. Next enter the message template
i. Double click the parameters in the Template variables field to add them to
your subject. Example: “Hello Jane, you are now enrolled in
V{program_name}.”
Program rules
Program rules can be configured to add conditional behavior to tracker forms.
In this way, they produce dynamic behaviors in tracker and event capture. They belong to one
program and consist of an expression and one or more actions. They are evaluated each time
the user interface is displayed and a data element is changed.
Program rule action Program rules actions are activated when the
expression is true. Actions will be utilized
immediately if the expression is true and will
be reverted if the expression is not true.
Program rule variable Program rule variables are created for the
purpose of including data values and
attribute values in program rule expressions.
Program rule expressions usually contain at
least one data element or attribute value.
There are several types of actions, and several can be used in one program rule.
Most types of actions will take effect immediately when the user enters values in the Tracker
Capture and Event Capture apps.
Actions
1. The program rule must be linked to the data being imported (program stage or data
element)
2. The program rule’s condition must be evaluated to true
The following program rule objects are managed in the maintenance app.
Program rule variables are required to be configured prior to Program Rules, as Program Rules
draw from variables to create their logic. Program Rule Variables belong to a specific program,
have a name and a source type. Source types define where the variable draws the value from
and can be one of:
In case the data element or tracked entity attribute uses an option set it is recommended to ticket
“Use code for option set” as the option code is unique and usually does not change. This has the
advantage of mapping the code to the value directly.
Example
Each program rule has a single expression that determines whether the program rule actions
should be triggered, if the expression evaluates to true. If the expression is true, the program
rule is in effect and the actions will be executed. If the expression is false, the program rule is no
longer in effect and the actions will no longer be applied. You create the expression with standard
mathematical operators, custom functions, user-defined static values and program rule
variables. The program rule variables represent attribute and data element values which will be
evaluated as part of the expression.
Each program rule contains one or multiple actions. These are the behaviours that are triggered
in the user interface when the expression is true. Actions will be applied at once if the expression
is true and will be reverted if the expression is no longer true. There are several types of actions,
and you can have several actions in one program rule.
Indicators are never entered directly in DHIS2, they are calculated from constituent parts - most
notably data elements. That is to say, indicators cannot be entered during data entry. Indicators
can be added, deleted, or modified at any time in DHIS2 without affecting the data. It follows that
indicators are not stored as values in DHIS2, but as formulas, which are calculated whenever the
user needs them. Thus, a change in the formulas will not change the underlying data values, only
the value of the indicator itself.
Before creating an indicator, you would first create indicator types. This has already been done
on the [Link] server.
Create indicators
To create indicators:
3. In the Name field, type the full name of the indicator, applying the naming convention.
a. Short name: does not include a naming convention but must be less than or equal
to 50 characters, including spaces. This can be the same as the full name, or a
meaningful shorter version.
b. In the Description field, type a brief, informative description of the indicator and
how it is calculated. It would also be a good place to provide information about
any relevant report that the indicator reports on.
c. If you want to apply an annualization factor during the calculation of the indicator,
select Annualized. Typically, an annualized indicator's numerator is multiplied by
a factor of 12, and the denominator is for instance a yearly population figure. This
allows for monthly coverage values to be calculated with yearly population figures.
d. Select the number of Decimals in data output. i.e., how many decimals you want
in your indicator value. Leave blank for ‘0’.
e. Select an Indicator type. This field determines a factor that will automatically be
applied during the calculation of the indicator. Possible choices are determined by
the indicator types. For example, a "Percent" indicator will automatically be
Indicator groups
As standard, all indicators relating to a particular technical area within a project should be
grouped together. It is possible to create as many groups as you have reasons to create them
beyond this.
1. Open the Maintenance app and click Indicator > Indicator group.
2. Click the add button ‘+’.
3. In the Name field, type the full name of the indicator group and applying the naming
convention.
4. Select indicators and assign them, moving them from the left window to the right by use
of the arrows.
5. Click Save.
Program Indicators
In DHIS2 Program indicators (PI) are formulated using expressions based on tracker data
elements, tracked entity attributes, or variables. Values are based on a formula. PI are used in
aggregate event reports, event visualizer or aggregate apps. They are linked to one particular
program and are used to calculate across events or enrollments.
1. Open the Maintenance app and click Indicator > Program indicator
2. Click the add button ‘+’
3. In the Program field, select the program from the drop-down menu.
4. In the Name field, type the full name of the program indicator, applying the naming
convention.
a. Short name: does not include a naming convention but must be less than or equal
to 50 characters, including spaces. This can be the same as the full name, or a
meaningful shorter version.
b. Code: assign code; mainly used to exchange data with an external system.
c. Color: to define a color for the Android app (Capture app)
d. Icon: to define an icon for the Android app (Capture app)
e. Description: In the Description field, type a brief, informative description of the
indicator and how it is calculated. It would also be a good place to provide
information about any relevant report that the indicator reports on.
f. Decimals in data output: Select the number of Decimals in data output, i.e., how
many decimals you want in your indicator value. Leave blank for ‘0’.
g. Aggregation type: The aggregation type determines how the program indicator
will be aggregated.
h. Analytics period boundaries: Defines the boundaries for the program indicator
calculation. The boundaries determine which events or enrollments gets included
in aggregations, always relative to the aggregate reporting period start and end.
i. Display in form: whether you want to show the indicator calculated live in data
entry (Tracker capture)
j. Legends: to colour code your indicator
k. Category option combination for aggregate data export: used for system
integrations to map Tracker data into aggregate (data sets)
Edit expression
Edit filter
Db languages
DHIS2 supports translations of database content, such as data elements, indicators, and
programs. All metadata objects in the Web API have properties meant to be used for display / UI
purposes, which include displayName, displayShortName and displayDescription.
Available Programs
Below is a list of programs that are in [Link]’s DHIS2 instance:
User Roles
In [Link]’s DHIS2 instance, these roles are separate from each other and can be used as
standalone roles.
1. Dashboards “View Includes dashboard module only and ability to create private
dashboard only” - read and dashboards.
create private dashboards
2. Analytics only (with Event Includes Dashboard module, Pivot Table, Data Visualizer,
Reports): Read and create Maps and Event reports. Users with this access can create
private analytic favourites private charts and tables favourites, and share them with
others.
3. Analytics only (without Includes Dashboard module, Pivot Table, Data Visualizer and
Event Reports): Read and Maps. Users with this access can create private charts, and
create private analytic tables favourites, and share them with others.
favourites
4. [Link] role to ignore Role for [Link] to conduct data sync without filling all TEAs
validation of mandatory
TEAs
5. Data Entry (tracker data Include Add/Update and Delete of data values in Tracker
entry user): To enter and Capture app
import data, but no specific
data set access
For a user to be able to enter data, simply providing the ‘3. Data entry’ user role is not enough.
They would still require access to the relevant organisation units to be able to see the locations
where particular data are captured, as well as specific data capture sharing access conferred by
Sharing
The below tables define the level of access the various user groups are given, and how specific
objects should be shared with them.
Since there is no project-level administration, all metadata are public read and write. Access to
the applications will be done through User Roles, so even though metadata access may be public,
the user would not be able to update or create metadata in the instance since they would not
have access to the application where this function is performed.
Paired with the user roles, only the Superusers and System Administrators will be able to edit or
add new metadata.
Analytic objects, which includes tables, charts, maps, etc. can also be shared among user groups.
This gives tailored access to different analytic objects based on predefined groups.
Superusers and System Administrators can create public objects. Users who are not Superusers
or System Administrators will only be able to create private objects. They will then be able to
share objects as they wish using user groups or specific users.
Username Protocol
Users will login using their [Link] or other organisational email address, all lowercase letters.
In [Link], all users have access to view data at a country level, so the assigned organization unit
is ‘Ethiopia’.
In [Link], data entry is restricted by using User Roles. To ensure ease of updating users' access
if they need to enter data, all users are assigned the country organization unit (‘Ethiopia’).
User roles are assigned based on the functions the user will need to perform in [Link]. See User
Personas and User Roles sections for more details.
For more information on how to use the BIF tool, refer to the BIF User Guide for the most up to
date information.
● BIF Part 1
● BIF Part 2
● BIF Part 3
● BIF Part 4
● Point of contact
○ FACT and CRS to name at least one individual
● Jenny Mwanza - [Link]@[Link]
● Name - email (System administrator) (TBD)
Clearing Cache
While customizing the configuration of DHIS2, you will oftentimes run into issues with DHIS2 not
reflecting the most up to date changes. This is a side-effect of DHIS2 using the browser cache to
optimize for offline-storage features which helps preserve the system's state when offline.
When this happens, users will simply need to clear their browser cache. This can be done using
the native DHIS2 browser cache cleaning tool which can be found by searching for it in the apps
menu. Other users use the dev tools or a chrome extension to perform this task more routinely
and quickly.
To use the native browser cache cleaning tool, being by searching for it in the apps
menu:
Lastly, select the “clear” button and carry on with your previous task.
Forgotten password
If you have forgotten your password, you can always use the ‘Forgot password?’ link. This will
send an email to the email address associated with your account inviting you to reset your
password.