22.2 Configure event programs in the Maintenance app

22.2.1 About event programs

Single event without registration programs are called event programs. You configure them in the Maintenance app. Event programs can have three types of data entry forms:

Types of data entry forms for event programs

Form type



Lists all data elements which belong to the program. You can change the order of the data elements.


A section groups data elements. You can then arrange the order of the sections to create the desired layout of the data entry form.


Defines the data entry form as HTML page.


  • Custom forms takes precedence over section forms if both are present.

  • If no custom or section form are defined, the basic form will be used.

  • The Android apps only supports section forms.

You can create program notifications for event programs. The notifications are sent either via the internal DHIS2 messaging system, via e-mail or via text messages (SMS). You can use program notifications to, for example, send an automatic reminder to a tracked entity 10 days before a scheduled appointment. You use the program’s tracked entity attributes (for example first name) and program parameters (for example enrollment date) to create a notification template. In the Parameters field, you’ll find a list of available tracked entity attributes and program parameters.

22.2.2 Workflow: Create an event program

  1. Enter the event program details.

  2. Assign data elements.

  3. Create data entry form(s): Basic , Section or Custom .

  4. Assign the program to organisation unit(s).

  5. Create program notification(s).

22.2.3 Create or edit an event program Enter event program details

  1. Open the Maintenance app and click Program > Program .

  2. Click the add button.

  3. Enter program details, then click next.




    The name of the program.

    Short name

    A short name of the program. The short name is used as the default chart or table title in the analytics apps.


    A detailed description of the program.


    The version of the program. This is used 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.

    Category combination

    The category combination you want to use. The default setting is None .

    Data approval workflow

    The data approval workflow you want to use. The default setting is No value .

    Completed events expiry date

    Defines the number of days for which you can edit a completed event. This means that when an event is completed and the specified number of expiry days has passed, the event is locked.

    If you set “Completed events expiry days” to 10", an event is locked ten days after the completion date. After this date you can no longer edit the event.

    Expiry period type

    Expiry days

    The expiry days defines for how many days after the end of the previous period, an event can be edited. The period type is defined by the expiry period type. This means that when the specified number of expiry days has passed since the end date of the previous period, the events from that period are locked.

    If you set the expiry type to “Monthly” and the expiry days to “10” and the month is October, then you can’t add or edit an event to October after the 10th of November.

  4. Click next. Assign data elements

  1. Click Assign data elements .

  2. In the list of available items, double-click the data elements you want to assign to the event program.

  3. (Optional) For each data element, add additional settings:




    The value of this data element must be filled into data entry form before you can comple the event.

    Allow provided elsewhere

    Specify if the value of this data element comes from other facility, not in the facility where this data is entered.

    Display in reports

    Displays the value of this data element into the single event without registration data entry function.

    Date in future

    Will allow user to select a date in future for date data elements.

    Render option as radio

    Displays a radio button in the data entry form. It’s only possible to use for option sets.

  4. Click next. Create data entry forms

The data entry forms decide how the data elements will be displayed to the user in the Event Capture app.

  1. Click Create data entry form .

  2. Click Basic , Section or Custom .

  3. To create a Basic data entry form: Drag and drop the data elements in the order you want.

  4. To create a Section data entry form:

    1. Click the add button and enter a section name.

    2. Click the section so it’s highlighted by a black line.

    3. Add data elements by clicking the plus sign next to the data elements’ names.

    4. Repeat above steps until you’ve all the sections you need.

    5. Change the section order: click the options menu, then drag the section to the place you want.

  5. To create a Custom data entry from: Use the WYSIWYG editor to create a completely customized form. If you select Source , you can paste HTML code directly in the editing area. You can also insert images for example flags or logos.

  6. Click next. Assign organisation units

  1. Click Assign organisation units .

  2. In the organisation tree, double-click the organisation units you want to add to the program to.

    You can locate an organisation unit in the tree by expanding the branches (click on the arrow symbol), or by searching for it by name. The selected organisation units display in orange.

  3. Click next. Create program notifications

  1. Create the message you want to send:

    1. Click What to send? .

    2. Enter a Name .

    3. Create the Subject template : Double-click the parameters in the Template variables field to add them to your subject.


      The subject is not included in text messages.

    4. Create the Message template : Double-click the parameter names in the Template variables list to add them to your message.

      Dear A{w75KJ2mc4zz}, You’re now enrolled in V{program_name}.

  2. Define when you want to send the message:

    1. Click When to send it? .

    2. Select a Notification trigger .

      Notification trigger


      Program stage completion

      The program stage notification is sent when the program stage is completed

      Days scheduled (due date)

      The program stage notification is sent XX number of days before or after the due date

      You need to enter the number of days before or after the scheduled date that the notification will be send.

  3. Define who you want to send the message to:

    1. Click Who to send it to? .

    2. Select a Notification recipient .

      Notification recipient


      Tracked entity instance

      Receives program notifications via e-mail or text message.

      To receive a program notification, the recipient must have an e-mail address or a phone number attribute.

      Organisation unit contact

      Receives program notifications via e-mail or text message.

      To receive a program notification, the receiving organisation unit must have a registered contact person with e-mail address and phone number.

      Users at organisation unit

      All users registered to the selected organisation unit receive program notifications via the internal DHIS2 messaging system.

      User group

      All members of the selected user group receive the program notifications via the internal DHIS2 messaging system



    3. Click Save .

  4. Repeat above steps to create all the program notifications you need.

  5. Click Save .


You configure when the program notifications are sent in the Data Administration app > Scheduling > Program notifications scheduler .

  • Click Run now to send the program notifications immediately.

  • Select a time and click Start to schedule the program notifications to be send at a specific time.

22.2.4 Reference information: Program notification parameters

Program notification parameters to use in program notifications

Notification type

Variable name

Variable code


Current date


Days since enrollment date


Enrollment date


Incident date


Organisation unit name


Program name


Program stage

Current date


Days since due date


Days until due date


Due date


Organisation unit name


Program name


Program stage name