To conduct a panel data survey, we are using the dynamic data attachment to create a survey form that references the data from Phase 1 (the first wave) in the Phase 2 (the second wave) form.
The attached files are screenshots for parent and child forms.
When school is answered as “No”, questions such as “grade” and “subject” are not asked (due to the relevant: ${school}=‘1’).
If the answer is “No” in the “school” question on the Phase 1 form and “Yes” on the Phase 2 form, an error is displayed because “grade” and “subject” ds will be blank. The data I entered disappear, so I cannot submit it.
No error will be displayed in the online survey on the web, but an error will be displayed when you download it to your tablet and enter the data.
Is it possible to avoid the error even if we quote blank data?
@rbm, did you try this on a parent-child form? Maybe you could achieve this on the same form by linking it to itself. But you may also need to add a layer of another variable say round so that you can correctly capture the changes from each round when making data collection.
Thank you very much for your suggestion. I tried this sample on my tablet. However, I still get the same error about the blank data from the previous page.
When I enter a different number for “Identification number” from Phase 1, I get an error when I finalize the form (see attached image). This is because there is no data for the next “Name” field if the ID is different.
In my example, if “No” is selected for “shool” in Phase 1 and “Yes” is selected in Phase 2, an error will occur because there is no data from Phase 1 for “grade” when “school” is “No”.
Again, this does not give an error online survey, but only on KoBo Collect app on a tablet or phone.
Is there any way to solve this problem? Such a link (i.e., a relevant) is very common in a panel data survey.
I don’t understand how to use the a layer of additional variable as you mentioned that “add a layer of another variable say round so that you can correctly capture the changes from each round when making data collection.”
Could you explain a little more about this?
I think everyone should understand that Kobo Toolbox cannot work well for a panel data survey using tablets because a link (“relevant”) between questions is very common for an interview.
In your child form you have the name question required = TRUE. I’m unclear why Enketo isnt enforcing this, but… if any question has required = TRUE then you will be unable to submit the form until it has a value, calculation value or otherwise.
However, there is no reason required has to be strictly just TRUE (or FALSE). Instead you can write an expression for it. In your case, it looks like it is required but only if there is a matching entry in the parent data. So you might try something like this:
or something of that nature; hopefully you get the idea. Basically, it is required if there is a matching id in the parent form, otherwise not. So that condition needs to be your required expression for c_name, and probably all the other child questions too.
Dear Xiphware,
Thank you for your suggestion. It is a great idea and it actually works.
The idea is to delete the requirement (“TRUE”) in the Child survey when the Parent survey is blank for that question. However, this creates another problem that there is no requirement in the Child survey for the question, and there is a possibility that enumerators will forget to enter the data. So it’s not a fundamental solution, but it is a nice second-best solution.
Can you please post your new revised form, and we can take a look.
So is the idea is that if the parent id is found, that you just copy across all the name, sex, school, etc from the parent into the child form, and the enumerator cant change them (ie they are read-only)? Whereas if the parent id is not found, then you want them all to be required?
Dear Xiphware, It’s not the problem you have mentioned, but something simpler.
In the revised version, when “school” (Do you go to school?) = 0 (No) in the Parent survey and “c_school” = 1 (Yes) in the Child survey, we can Finalize without answering “c_grade” (What is your grade?) (see the screenshot).
In this case, the problem is that the “requirement” for “c_grade” is removed in the new form. child_questionnaire_20250328.xlsx (15.1 KB)
Again, I’m trying to interpret your desired logic here… But I think what you desire is probably quite possible, it just needs to be expressed correctly. These required expressions can be as complex or convoluted as needed.