Entities in Repeat Groups

I am trying to connect two forms using entities. The first form collects household data then uses a repeat to collect individual information for each household member present. Each household member is assigned a barcode (this occurs inside the repeat). I am trying to use entities here to connect the household form to the test results form. However, when uploading the form to ODK I got the error "The XLSForm could not be converted: [row : 28] Currently, you can't create entities from repeats. You may only specify save_to values for form fields outside of repeats."

Is there a work around here? I am trying to avoid creating an additional form.

Thanks in advance!
Emalee

Hi @Emalee_Martin,

We are currently planning out how to add entities from repeats to support your exact scenario, but it won't be available for several months.

As a temporary workaround, is there a maximum number of household members you usually expect? Could you not use a repeat and basically "unroll" or manually copy what would otherwise be in the repeat by referring to specific numbered members? member_01_barcode ... member_10_barcode? You could use a relevant command to only show the next member if the previous one was filled in and it was less than the number of household members? Sorry, this isn't a very elegant solution! But maybe something like this will work for you until we can build support for entities from repeats.

type name label hint required constraint relevant
text household_id Household ID yes
integer num_members Number of household members yes . > 0
note member_note Now we'll collect information for each member
Member 1
text member1_name Name (Member 1) yes ${num_members} >= 1
select_one gender member1_gender Gender (Member 1) yes ${num_members} >= 1
integer member1_age Age (Member 1) yes . > 0 ${num_members} >= 1
barcode member1_barcode Scan barcode for Member 1 yes ${num_members} >= 1
Member 2
text member2_name Name (Member 2) yes ${num_members} >= 2
select_one gender member2_gender Gender (Member 2) yes ${num_members} >= 2
integer member2_age Age (Member 2) yes . > 0 ${num_members} >= 2
barcode member2_barcode Scan barcode for Member 2 yes ${num_members} >= 2
Member 3 (and so on...)
text member3_name Name (Member 3) yes ${num_members} >= 3
select_one gender member3_gender Gender (Member 3) yes ${num_members} >= 3
integer member3_age Age (Member 3) yes . > 0 ${num_members} >= 3
barcode member3_barcode Scan barcode for Member 3 yes ${num_members} >= 3
2 Likes