Randomly selecting cases

34 views
Skip to first unread message

em...@aquaya.org

unread,
Feb 24, 2015, 6:03:16 AM2/24/15
to commcar...@googlegroups.com
Hi CommCare users,

I'm trying to figure out how to do a workflow and hoping someone else has experience with this.

On the first day, enumerators will map all households in a village and determining which ones meet eligibility criteria for our study. The plan is to have a 'registration' form to map the household and determine eligibility.  On the next day (or several days later), enumerators will re-visit and enroll a randomly selected subset of these households (10-20%) (and have backup households ready in case the original households are not home).

I'm trying to figure out how to randomly select a subset of cases.

My thought for this work flow is:
1. The registration form opens households as cases only if they are eligible.
2. Field supervisors download case data from CommCare HQ and use Excel/another means to randomly select households and backups.
3. They then map the GPS points from these cases (target and backup) and find the clusters of selected households and use commcare to 'reassign cases' to enumerators (the mapping is to ensure that the enumerator aren't running from one side of the village to another, since there'll be 5 enumerators per village).
4. The enumerators then go to those households that they are assigned to.

However, I am nervous about this because this means that the phones have to assuredly sync before we can assign cases, the field supervisor needs to have internet access on their computer, and then all the phones need to sync again to get the cases assigned to each enumerator. I think mobile networks should be OK, but it is a rural area so it's not guarantee.

Has anyone done anything similar or have advice to offer?

Thanks,
Emily


Jeremy W.

unread,
Feb 24, 2015, 9:50:37 AM2/24/15
to commcar...@googlegroups.com
Hi, Emily,

I'm not sure if this would work for you or not, but one idea would be to use the random function to give a random number 0-1 in the screening form to every household that is eligible.
Then you would create a separate hidden value that decides whether or not this household should be selected for followup.

For example a hidden value called register_household_followup might have a calculation like: if(/data/eligible = 'yes' and /data/random_number < .3333, "yes","no").

Then in the case management you would add a condition to case creation to only open a new case if /data/register_household_followup = "yes"

In that case, for 2/3 of households screened you would only have a screening form, and for 1/3 you would have screening forms + active cases that you then followup with later. You could adjust the random number cutoff and/or use a second random number to create "backup" households as well.

Jeremy

--
You received this message because you are subscribed to the Google Groups "commcare-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commcare-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Jeremy Wacksman
Dimagi, Inc.

Clayton Sims

unread,
Feb 24, 2015, 5:38:25 PM2/24/15
to commcare-users
Emily,

Jeremy's recommendation is likely the most robust if you need the solution to work reliably offline. This should work reliably if your overall sample size is large enough.

There are some very, very complex ways to pre-load some randomization data, but all randomizations will be imperfect unless they are performed all at once and synced back down, so if you won't have a reliable way to do so this should be a reasonable first order approximation unless your cohorts are fine grained.

-Clayton

Emily Kumpel

unread,
Feb 25, 2015, 2:45:33 AM2/25/15
to commcar...@googlegroups.com
Hi Jeremy and Clayton,

Thanks for your responses. Jeremy, that’s a great idea.  I realized we can simplify this quite a bit more even - it’s actually that enumerators will be going to a set number of households each per day.  So we could also just assign each household during mapping a random number, then sort the case list by that number and have them work down the list until they’ve reached their quota for the day.

However, the advance of your suggested method, Jeremy, is that we’d know on the spot whether a household is included or not and that way we could notify the household if we’d be coming back the next day to do a survey.

Thanks!
Emily
You received this message because you are subscribed to a topic in the Google Groups "commcare-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/commcare-users/JWPq0oYlDnU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to commcare-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages