Hi, we want to add a field to enter compound ID in our current form. Right now, a form is a household and several households share one compound ID, and the compound ID will be like 1, 2, 3,... We are planning to print the list of compound ID on paper and have the interviewers mark off numbers when they assigned the numbers. Is there a way to automate this on Commcare?
No, unfortunately. That page is about creating unique ID but my case uses the same ID for households within a compound.
Is the process you want to automate the checking-off of the household IDs themselves? Will all households with the same compound ID be registered at the same time?
If you are registering all of the households with the same ID at once, you could make the process described in that document (of incrementing the ID for each household) conditional inside the form (IE: A question that says "Is this the last household with ID 5") and only increment it if so.
That would let you register a number of households with the same ID before moving onto the next one, but I may be mis-understanding the workflow you are trying to achieve.
-Clayton
Thanks for the rapid response!
Yes, I'm trying to automate the checking-off list, which was planned to be done by paper and pencil. The households with the same compound ID will not be registered as the same time. Our app is designed for households, so each form is a household, and we wanted to add a question "what's the compound ID" to the form. The interviewer will visit households one after another, and households within the same compound live close to each other. So the workflow is like the interviewer go to a household, fill the form (including the compound ID question), then go to another household in the compound, fill a form, until they finish a compound and go to the next compound. The compound ID will reset when the interviewer start a new community. So the unit structure is community/ compound/ household.
One way to streamline the workflow you described would be to create a case type for each of the three cases you are describing, and using Child Cases to structure them such that each
Community -> Opens Child Case Compound
Child Case Compound -> Opens Child Case Household
You can then keep a counter for each case type if desired (or only for compounds) which will allow you to choose a compound id before registering a household.
Those relationships can also be used on the backend to group and pool data regardless of the ID.
-Clayton
Yeah, we thought about that initially but that would require us to redo the overall data structure and app so we dropped it. Thanks anyway!
Got it. It sounds like from your description, specifically the statement
The compound ID will reset when the interviewer start a new community
like you could still use the User Case incrementing ID approach with some additional logic around when the counter should and shouldn't increment.