Xlsform programmation odk

Good morning

I wanted to know if it is possible to block the responses chosen in an ODK form so if we select a modality that the response remains locked without the possibility of editing it afterwards

As workaround: For Collect, you could use a dynamic read_only (column) expression, based on the blocking status question. The blocking status question might have acknowledge are select_one type for example. But it would still be possible to reset this blocking.

If you have finished the form, finalizing it will also do the job now, i.e. block any editing.

1 Like

I agree with @wroos's suggestions and I also want to add that Collect has a setting to block any backwards movement in a form. See its documentation.

It would be helpful for future evolution of the platform to learn more about your workflow. For example, do you have something like a repeat that represents a household roster and you want to make sure it's stable once you start asking questions about each household member? A high-level description like that would be helpful.

You could also do this using a calculate field and once() to preserve the first answer - the enumerator can go back and choose a different responce, but you would still have a record of the first response submitted. See attached.
Select_Once_20240211.xlsx (10.3 KB)
Note that I only tested this in Enketo and it may behave differently in Collect. I may also have misunderstood the question