Help needed with a use case and program indicators

Hi, all.

I have a form that registers activities (activ.A, activ.B, activ.C and activ.D) and I enroll participants in these activities. I defined activity as a tracked entity. The registration form registers date of activity, name of activity, topic.

Attendance form which is configured as repeatable stage captures participant’s data: First name, Last Name, Age, Gender.

when it comes to designing program indicators, I get stuck.

I would like to have the following 2 program indicators:

Total number of participants who attended at least two activities.

Total number of participants who attended all activities (A. B, C and D)

Please, can you help me with a step by step procedures for designing these indicators?

Any help is appreciated

Hi @dmbantu,

That is a very interesting configuration, but I think it would be problematic for making those indicators.

If you can still change your configuration I would suggest that you,

  1. Create a single program with different stages for each activity.
  2. Change your TE to be a person and capture their age, name, etc as TE attributes in the program enrollment.

By doing this you should be able to make the program indicators you need.

If you can not change your configuration, then I think you might need some custom scripts to produce those indicators. @juan has quite a lot of experience with this.

All the best,

Hi @Scott

I did what you suggested and created TE as a person and captured First Name, Last Name, Age and Gender; I also created each name of activity as a program stage. I also produced this on demo

To define the second program indicator, Total number of participants who attended all activities (A. B, C and D), I did the following:
Aggregation and Analytics type



But I get zero(0) as a result. I am sure there is something wrong with the indicator. The first indicator, Total number of participants who attended at least two activities., is even harder for me to design.

Note: A person can attend all activities and I think each person may be counted only once even if attending multiple activities.

More help is appreciated.

If I’m understanding correctly, I think if you want to use enrollment count (or TEI count) in the expression, the aggregation time should be count and the analytics type enrollment. I’ve done it where the filter then is a compulsory data element in each stage. You can add a compulsory data element “Client attended Activity A” as a yes/no data element in Activity A, B, C etc, then the filter is Client attended Activity A==1 && Client attended Activity B==1 etc. You can also make another piece of information you’re collecting compulsory in each stage, and use d2:hasValue. Hope this is addressing your question.

Hi @Natalie_Tibbels,

I have added a Yes/No compulsory in each program stage as shown in the image below:

Aggregation type: count

Analytic type: Enrollment

Expression: V{enrollment_count}


But I do not see any data in the pivot table for the program indicator

What you have looks right to me… Was the enrollment in the month of July? When you use enrollment count, by default I believe the program indicators use enrollment date for analytics, not the event date. Did you run analytics and clear your cache or use incognito mode?

1 Like

Hello @dmbantu, To add to what @Natalie_Tibbels told:

Can you also make that program indicator “Display in form” so that it also appear in the GUI, so you can cross check what’s happening.

After you enable that to display in form it will appear in the highlighted portion of your screen

Hi @jthomas,

This is how image looks after enabling display form in program indicators. I entered some test data; 3 participants having participated in all activities and one participant having participated in 2 activities, so I was expecting to see 3 in the pivot table, but it still empty.


1 Like

Great so we are somewhere near

  1. did you already run analytics suggested by @Natalie_Tibbels and then clear-cache and then try report again

  2. Can you change the period for last six months, just to make sure it doesn’t fall on June

Thank you @Scott, @Natalie_Tibbels and @jthomas. With your help, the second program indicator ( Total number of participants who attended all activities (A. B, C and D)) is working . For the first indicator ( Total number of participants who attended at least two activities.), what is confusing me is the word at least. Is there any hint on how to build this program indicator?

Thanks in advance

Hi, I am also interested in this, particularly for repeatable stages.

If you have only 4 non-repeatable stages, it would be annoying, but you could just create a filter with all possible combinations of 2 sessions.

I think what Jins was suggesting was to create an indicator “number of sessions attended” that would show on the individual’s dashboard. You would basically just do an event count. Then the client profile would show that that client participated in 3 sessions without having to count up the stages. However, it would be amazing to have a second level indicator, number of clients where the value for that indicator is >2. I don’t think that’s possible. Maybe in event reports, you could filter for that?

Thank you @Natalie_Tibbels,

Your help has been great. As you say, I had also thinking of creating a filter with all possible combinations of 2 sessions, but I asked myself what if there are a lot of program stages.

it’s also a good idea to create an indicator “number of sessions attended” that would show on the individual’s dashboard as Jins is suggesting.

We are in the same boat! I posted looking for creative solutions with repeatable stages, though not exactly the same scenario you have: