HELP NEEDED: USE CASE -Tracker design issue

Hi Community,

I have the following case and your guidance will be highly appreciated.

I am trying to produce a training attendance form that enrolls a list of participants, registers training sessions they attended, the topics that were discussed and facilitators.

USE CASE

Each participant has to attend six training sessions for the same topic, that is:

Participant A has to attend six training sessions about Infant feeding

Participant A has to attend six training sessions about Maternal feeding

Participant A has to attend six training sessions about Malaria

Participant A has to attend six training sessions about Hygiene

Participant A has to attend six training sessions about SRH/FP

Participant B has to attend six training sessions about Infant feeding

Participant B has to attend six training sessions about Maternal feeding

Participant B has to attend six training sessions about Malaria

Participant B has to attend six training sessions about Hygiene

Participant B has to attend six training sessions about SRH/FP

ETC

Indicators

Total of participants who attended training sessions whose topic was malaria (disaggregated by gender, age)

Total of participants who attended training sessions whose topic was infant feeding (disaggregated by gender, age)

Total of participants who attended training sessions whose topic was SRH/FP (disaggregated by gender, age)

Thanks.

Hi there,
I can’t understand, why the fields on each training different? They must be either Absent or Present.
Can you share whole logic please.
Regards, Ulanbek

Hi @Ulanbek,

Please excuse my delay in replying. Time in is data element in each training that should be a drop down list with two options: present and absent. You are right that in the form this data element was not clear. The logic is below and above the form. I can provide more details depending on what you want me to.

Iam struggling to design this tracker. Looking for guidance

Hi @ferdinandmussavene,
In general, you have to create a tracker for each topic with 6 stages. Create an option list (present, absent etc.). Excellent guidance you can find here:

Good luck
Regards, Ulanbek

Hi @Ulanbek,

I have gone through tracker related documentation on Logical outcomes and it is really helpful. Iam happy with your suggestion that I create a tracker for each topic with six stages, A thought occurred to me on how I could structure the tracker as follows, but Iam facing some difficulties:

Iam thinking of having topic as a tracked entity for each tracker, then each program stage (six in total) to record all the trainings. Following this way, how can I register each trainee/ participant details (First and last name, age, gender) – Having registered topic as tracked entity - so that I get these indicators:

Indicators

Total of participants/trainees who attended six trainings whose topic was malaria (disaggregated by gender, age) – Tracker whose topic is Malaria

Total of participants who attended six trainings whose topic was infant feeding (disaggregated by gender, age) – Tracker whose topic is infant feeding

I do not know if this would be viable correct thinking to get the desired output
Any more guidance/hints will be helpful

Thanks again.

Hi @ferdinandmussavene ,
Sorry for the late answer. Too busy with my project as well. In general, they are the same.
So create program attributes: surname, name, and whatever else you need
For program stages create DATA elements:
training date, status, and whatever else you need
Status should can be done either as an option list, or just checkbox like Absent or Present, which means if it has tick will be either Absent or Present.
and create a 6 tracker program with same program entity, inside 6 stages.
That’s it!
Then create your reports.
Good luck !

Hi @Ulanbek,

Thank again you for your help. The steps you have described are clear: I will create 6 tracker captures because there are six topics? My other question is: What about the link between Topic and Training as shown in the image above? As I think that creating topic as a data element and assigning it to program stage (training) won’t help get the indicators above.

As depicted above,.participant X has to attend six training sessions about the topic Infant feeding

Participant X also has to attend six training sessions about the topic Malaria and so on.

This is how things should work for every topic in each tracker.

I truly appreciate your time and effort to help me although you are busy with your project

Hi! Is it acceptable to capture the attendance at the end of all the malaria sessions, or do you need a program stage for each of the 6 sessions for each health area?

The participant would be the tracked entity, with whatever attributes you need (age, sex, etc).

You could then do it one of two ways: One, have one tracker program with a non-repeatable program stage for each health area, and each stage has a data element asking how many sessions did the participant attend. For example, stage 1 would be Malaria. A data element would be number of sessions attended on malaria (1-6). Your indicator would be a TEI count where the number of malaria sessions ==6 (&& age>15 && age<=19 &&sex==female for example). Then the same for each health area.

If you need each session documented in your system, you could consider instead of having a different tracker program for each health area, and a repeatable stage for each session. And then you add multiple enrollments to the same tracked entity instance (participant) - each participant would be enrolled in the tracker program for malaria, the tracker program for infant feeding, etc. I have found program indicators for repeatable stages to be pretty tricky. Probably someone else here could advise you better.

Hi @Natalie_Tibbels

Great help. I may opt for the first approach as it is clear and easy to implement. I will discuss the possibility of capturing the attendances at the end the sessions with the team.

if I were to consider the second approach, in the 6 programs each health area should be a tracked entity with a repeatable stage for sessions? How can multiple enrollments be added to the tracked entity instance in this case? I might have misunderstood your explanation for part 2 (i.e second approach)

I also agree with you that building indicators from repeatable stages is challenging.

Thanks

For option 1, you could still have the session data potentially within the one “Malaria stage” (for example) using data elements with different data types (date of session 1, yes/no data element for attendance at session 1, session 2, session 3 etc). The only problem is that the program indicators use the event date, and you will have to specify what you want the event date to be (for example, it could be the date of the last session).

For the second option, you would assign multiple programs to the SAME tracked entity (participant). [I’m assuming from your original post that you need to have the individual client data in your system] I think @Ulanbek or others may have more input on multiple enrollments. I have only tried to do it on one project, and the idea is cool - for each tracked entity instance (each individual participant), you can see all the different experiences they are having. However, I don’t think analysis across multiple program enrollments is straightforward, and also, our data collectors had a lot of trouble managing multiple enrollments in the app. If you want to try it on play demo, you can click into a TEI profile in the child programme, for example, and then click on the program dropdown and move it to TB program (see screenshot).

Hi @Natalie_Tibbels,

I will also explore option 2 but I want to stick to option 1. What you mean in option 1 would be something like the image below?

What has attracted my attention is the fact that program indicators use event date. I hadn’t had any explanation about that as most things I am learning from the Community.
Date of last session - you have mentioned -, would mean date of session 6 (that is the last session) if the above demo tracker above makes sense? What would be the steps to compose an indicator considering this date?

Another question, In our situation the facilitator fills the forms manually and his/her name appears on the completed form, but it’s the data capturer who fills the data electronically in the system. From your experience, how would you treat facilitators? Registering them as attributes or category combination so that they appear as drop down?

You must be very busy, so I am so thankful for all the support I received.

Hi! No problem, I am still learning myself, and hope you can update on the post once you implement about how it worked. And that others with more experience feel free to jump in.

How you have it is exactly how I would do it! With a few questions/caveats:
Do you need the due date and the ability to schedule future sessions? I’ve found that confusing for data collectors and only useful if they need to keep track of when to follow up individual clients. If they are collecting on paper and the DCs are entering later, I might “hide due date” and remove the scheduling option.
You could consider adding a data element for “total malaria sessions attended”. You could either have the data collector count up the yes responses and enter it, or you could create a program rule and assign value. If they are collecting the data through the Android app, sometimes those program rules don’t work the same way on the browser so proceed with caution. Or a compulsory yes/no data element “Did the participant complete all 6 sessions”. That might make your program indicators more straightforward (both having at least one compulsory data element to ensure that your indicators do not count blank stages, and having a summary variable for sessions attended, either total number of all, yes no)

In event reports you will be able to see all the session dates, but for program indicators, it either uses the enrollment date or the event date for the stage. So I would think about how frequently you need to be reporting. It sounds to me like renaming the event date “date of final session” will allow you to easily count the number of participants who attended all sessions, which I believe was your key indicator.

I definitely recommend setting it up, creating your program indicators, and entering a few test participants to ensure that you are able to get the analysis you want!

I forgot to reply about the facilitator question, that is very timely because I am trying to figure out the best way to do that myself.

For projects where I would like to be able to extract the name or code of the facilitator occasionally for process monitoring or something, I would just create a data element and use an option set (dropdown). And assign it to each stage. If it’s ALWAYS the same facilitator for each participant (same facilitator does all of the health area sessions), you could have it as a tracked entity attribute. In either case, you will be able to easily obtain the information in event reports.

For one project I’m on, supportive supervision of the facilitators is a key element of the project and we basically want to view all of the data through the lens of the facilitator performance. In that case, I’ve created a catcombo for the facilitators that is an ATTRIBUTE (not a disaggregate) and assigned it to the tracker programs themselves. That allows you to filter all the data on dashboards by the facilitator. However, a huge warning: it’s complicated the configuration in so many ways. For one thing, you can’t use enrollment counts or TEI counts for program indicators, only event counts in (because you can’t assign a catcombo to the client, only to a stage). And in general it’s just a lot more work with sharing, user permissions, user groups, reporting rates - all of that was affected. So I would avoid this route unless absolutely necessary and include the facilitator as a tracked entity attribute or a tracker data element in each stage through an option set.

Hi @Natalie_Tibbels

No, I do not need the due date and the ability to schedule future sessions, so I will hide the due date and remove the scheduling options.

Of course, Total malaria sessions attended is one of my indicators, although not mentioned in my previous post. I will either have the data collector count up the yes responses or I will create a program rule and assign value to the data element.

You are right. About reports, I absolutely must rename the event date “date of final session” because other of my key indicators are: Total participants who attended all malaria sessions and Total participants who attended all malaria sessions (disaggregated by age and gender) – Event date to be renamed we are referring to is the report date?

Iam thinking of designing the two bolded program indicators above as follow: Will this work?

aggregation type: count

analytics type: enrollment

Expression: V{event_count}

Filter: (what would be the filter for the last two indicators to get the total who attended all malaria sessions?

About the facilitator question, it’s another good lesson I have learned. We also have a project called GAC where supportive supervision of the facilitators is a key element. Configuring facilitator as an attribute or as a data element are other two great points applicable to other projects I am working on.

You’re the best. I wouldn’t have finished this on time without you.

Again, I truly appreciate your invaluable guidance. It was a challenging issue, but you are making it easier for me.

Thank you.

Not an expert on any of this, but sometimes it just helps to talk through with someone. There are many ways to configure a tracker program and others may have different approaches, but this is probably how I would do it.

I think if your expression is event_count, then your analytics type would be event. Unless you wanted to use the enrollment date as the date that is counted - but I think you would probably want to count according to the date of the last session (which is event date).

It depends on how you “summarize” the attendance of the client. If you have a data element at the end of the stage that says “Did the participant attend all the sessions? yes/no”, then the filter would be {UID for attended all sessions}==1
If instead you have a data element with a value type “zero or positive integer” that is “How many sessions did the participant attend?”, the filter would be {UID number of sessions attended}==6

If you didn’t want a summary element, which is a little redundant for the data collector, then for each indicator you would need to have the filter with the UID for each data element {attended session 1}==1 && {attended session 2}==1 && etc etc for all of the attendance data elements. You can always use that to count all the participants who attended session 1 or 2… etc.

To add age and sex, it would be the filters above and then also && {age}>=15 && {age}<20 (etc)

Note that you are choosing the attributes and data elements from the menu on the side, not typing in the UIDs. Also note that you will need to decide if you create a different set of data elements for each health area (for example, “Participant attended session 1 (Malaria) - yes/no”). It’s more streamlined to have the same data elements in each stage, but then you’ll need to make sure you are labeling the indicators and choosing the DEs from the correct stage when you do the filters so that there’s no double counting.