Skip on days of the week


There is a food diary questionnaire which fills everyday, but three questions (weight, height, and waist size) should be asked only once in a week, let’s say each Sunday.

Question. Is possible to put a skip logic on chosen date/day. For instance, date question comes first, if it is 28/02/2021, which is Sunday, then above three questions pops up.

Many thanks,

Yes, it could be done exactly as how you say. Maybe the image shared below should help you better understand:

In the survey tab of your xlsform:

Image 1

In the choices tab of your xlsform:

Image 2

Data entry screen as seen in Enketo: when a condition is not met

Data entry screen as seen in Enketo: when a condition is met

Reference xlsform:

Skip.xlsx (28.5 KB)

We do many of these date tricks in our forms. One way to do this without requiring any user input for the date is to upload a csv file having date (yyyy-mm-dd format) and day columns in the form media. Populate the date and day columns for the next year or two, depending on how long your survey will run.

In the form, enable the question ‘today’ which will capture the date when the form is being filled, in yyyy-mm-dd format.

Use pulldata() to pull the day of ‘today’ from the CSV, and then you can continue with the skip logic as @Kal_Lam has provided.