CHW performance monitoring

Hi all,
We are beginning a deployment where 160 or so lay cadre support individual clients and facilitate group sessions, using both tracker and event programs. I am wondering if others have used DHIS2 this way and done performance monitoring of the individual CHWs. I have 3 questions:

  1. We have 10 key performance indicators linked to these event and tracker programs using program indicators (CHWs use the DHIS2 app to document home visits and various outcomes, and then there are program indicators for number of home visits made, number of assessments administered, referrals given, etc etc - drawing from a tracker program). But the team wants to have dashboards that summarize each CHW’s daily or weekly progress on the 10 indicators, so if I’m calculating right, that would be 1600 program indicators - event or TEI counts filtered for each CHW code and each DE that populates a KPI. We can’t just do an API call or event report, right?, because we want non-M&E staff to view a comprehensible summary of performance, by CHW, at any time in tables on dashboards. There has to be a better way to do this than asking for the CHW code in every form, then setting up 1600 program indicators… Any ideas?

  2. is there a way to populate a data element or attribute based on the login credentials, meaning, could the CHW code be autopopulated in in every form based on the login credentials.

  3. Finally, I’ve found the legend sets or the scorecard app to be useful for annual proportion-based indicators. Is there any way to do a scorecard view based on numeric targets for individual CHWs that change weekly? I imagine there is not, but wanted to see if anyone had found a way to hack this, besides creating a bunch of targets datasets.

Thank you!

Hi @Natalie_Tibbels,
Just one question, Are the 160 or so CHWs (Codes used) constant through out the implementation? If yes, may I suggest that you make these OrgUnits that way you analyse data by OrgUnit for the 10 KPIs. Additionally you can group them.
As for the users, you can create a user and assign it to that CHW assuming the HR turnover rate is high you use a generic username and have the different individuals create their own passwords incase they leave all you have to do is update the password.
I hope this is helpful.

Stay Safe!

1 Like

Hi Emma, that’s a GENIUS idea about the org units. I’m checking with the team if the CHWs are dedicated to specific sites and would not ever have multiple “parent” OUs.
If others have ideas, would love to hear them! Especially about the targets, or other ways people have approached performance monitoring (of lay cadre using event/tracker) at scale in DHIS2.

I am currently monitoring productivity of community health workers. My team wanted to have information on what each community health worker was doing. They wanted to understand who was finding more positives or linking clients on ART.

So what I did was to create the CHW name and attached them as children to the facilities they were attached to. I then created a dataset where they would enter these numbers on a weekly basis based on a set of indicators my team were interested in monitoring. I then created a pivot table and assigned custom legends to help visualize data. To further improve on it, I used the scorecard app.

I am happy to show you how I did this, pls feel free to write to me on and we could anytime.


1 Like

I ended up using the CHW name/code as an attribute of the programs (thanks to a BAO colleague for the idea). It is complicated (have to change all indicators to event rather than enrollment count). Now I’m trying to figure out targets. Each CHW has weekly targets. Unmet targets are added to the subsequent week and so forth. It’s not just a matter of the target line because they need to be able to view their progress against their current weekly target in real time. I set up an aggregate dataset for targets, and created indicators with the program indicator (# reached) over the target data element (also created legends for a scorecard). But there’s a lot of manual processes. I’m imagining that we will have to have an upload template for the weekly target to the aggregate dataset. Each week we will have to create a pivot table of achievements, then download to excel, calculate the gaps, add to the next week’s targets, copy into the data value column in the template, and upload for the subsequent week. Can anyone think of a better workaround than this? Thank you!

Also, is it possible to apply legends to only certain DEs/indicators in a pivot table? I can only figure out how to apply one legend to the entire table.