Hi dears,
I have a questionnaire that collect information from household, the questionnaire consists of three groups of questions. I want to make an entry question directly after name, if the person accept to collect his information. So if yes, we go through the three groups of question. And if he refused, the questionnaire goes to the end that will be text question for remarks.
Hi @mohammedrezeq ,
You could do this as outlined in the image below:
In the survey tab of your xlsform:
In the choices tab of your xlsform:
Data entry screen seen in Enketo: If the respondent wishes to continue the survey
Data entry screen seen in Enketo: If the respondent does not wish to continue the survey
Reference xlsform:
Skipping Questions (End Survey).xlsx (10.8 KB)
Have a great day!
Many Thanks dear, it is greatā¦ i did it.
1 Like
wroos
April 28, 2020, 9:47pm
4
Hello,
see also previous discussions on the same topic:
Hello,
You would need to put ALL following questions in a group and set a relevant on group level (Qx = āyesā)ā¦
A little disadvantage of grouping is that (all) group titles show on top of the screen (if no title as empty line), at least in KoBoCollect. As far as I know, there is no option to suppress the group title. (KoBo Formbuilder will even ask you for a group title, different to XLSForm)
Only, if you want to DELETE this case (with ānoā), there would be a 2nd option, without this groupinā¦
Put all the questions relevant only for beneficiaries in a group, and set that groups relevant/skip logic accordingly. Then put all the questions relevant only for non-beneficiaries in another group and similarly set its relevant/skip logic to the opposite. Therefore, after determining whether they are a beneficiary or not, only the relevant subset of questions will appear, thus ending the form immediately thereafter.
The simplest way to āskip to the end of a formā is put all (subsequent) optional questions in a group, and make that group irrelevant; eg by having a question somewhere āDo you wish to continue Y/N?ā and having the group relevant = ${response} != 'N'
If you wish to skip different things in multiple places, then you may need to expand the scope of your optional group(s) relevance expression; eg relevant = ${response1} != 'N' and ${response2} != 'N'
This is not actually an accurate description of whatās going onā¦ What happens is that every question in a form can have an associated relevant XPath calculation, which if it evaluates to TRUE means the question is displayed, otherwise if FALSE not (ie hidden, or āskippedā). Groups may also have an equivalent relevant calculation, which if FALSE means every question (or subgroup) within the group is not displayed. By default relevant is assumed TRUE if unspecified.
These relevant calculations cā¦
At the point in your form that you determine whether to continue to āskip to the end of formā, put all the subsequent questions inside a group, and put your skip logic on the relevant property of that group. As a consequence, when you want to skip, all the following questions (which are now in the group) will be hidden, basically immediately bringing up the end of the form.
Its good to remember that you never actually skip to something; rather, you hide everything in-between
Best regards
2 Likes