Randomly selecting cases

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

Hi, Emily,

I’m not sure if this would work for you or not, but one idea would be to
use the random function
https://help.commcarehq.org/display/commcarepublic/CommCare+Functions#CommCareFunctions-random
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

··· On Tue, Feb 24, 2015 at 6:03 AM, wrote:

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


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-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Jeremy Wacksman
Dimagi http://www.dimagi.com, Inc.

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

··· On Tue, Feb 24, 2015 at 9:50 AM, Jeremy W. wrote:

Hi, Emily,

I’m not sure if this would work for you or not, but one idea would be to
use the random function
https://help.commcarehq.org/display/commcarepublic/CommCare+Functions#CommCareFunctions-random
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

On Tue, Feb 24, 2015 at 6:03 AM, emily@aquaya.org wrote:

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


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-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Jeremy Wacksman
Dimagi http://www.dimagi.com, Inc.


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-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

··· On Wednesday, February 25, 2015 at 1:38 AM, Clayton Sims wrote:

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

On Tue, Feb 24, 2015 at 9:50 AM, Jeremy W. <jwacksman@dimagi.com (mailto:jwacksman@dimagi.com)> wrote:

Hi, Emily,

I’m not sure if this would work for you or not, but one idea would be to use the random function (https://help.commcarehq.org/display/commcarepublic/CommCare+Functions#CommCareFunctions-random) 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

On Tue, Feb 24, 2015 at 6:03 AM, <emily@aquaya.org (mailto:emily@aquaya.org)> wrote:

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


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-users+unsubscribe@googlegroups.com (mailto:commcare-users+unsubscribe@googlegroups.com).
For more options, visit https://groups.google.com/d/optout.


Jeremy Wacksman
Dimagi (http://www.dimagi.com), Inc.


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-users+unsubscribe@googlegroups.com (mailto:commcare-users+unsubscribe@googlegroups.com).
For more options, visit https://groups.google.com/d/optout.


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-users+unsubscribe@googlegroups.com (mailto:commcare-users+unsubscribe@googlegroups.com).
For more options, visit https://groups.google.com/d/optout.