I am trying to consolidate a number of existing Survey123 forms into one form in order to simplify backend processing and reporting and also enhance the end user experience.
Currently, each survey is comprised of 10-15 questions, with a Y/N/NA/Other response choices, when other is selected a conditional text field is conditionally formatted and stores an outlier response.
The driving force behind the redesign is to capture more granular detail from the end user, instead of the “Y,N,N/A,Other” format, we would like to provide a series of domain/list of choices that we have identified as common issues or violations for each question, which will also include Yes (compliant), N/A, Other.
Our desired structure in Survey123 & ArcGIS Online will look like the following:
Site – Parent Table – Containing Site Specific Detail (Address, City, State etc.)
FQA Survey approx. 20 Surveys comprised of at least 10 questions – Related to Parent
In our initial design we are using the <begin group> to group each FQA aesthetically, followed by <begin repeat>, which creates the related table, and use one select_one question for compliance and a select_multiple in the instance where non-compliance was found and the ability to select multiple violations per question. When using the select multiple function, I am also employing the hidden field technique to avoid all selections being stored in one field as comma separated values.
Yes – Compliant
N/A – Not Applicable
No – Show Select Multiple list of common infractions, where one or many can be chosen, including Other.
Other – Conditional Text Box Appears where user can enter what the issue is/was.
The challenge we are trying to overcome in the XLS Form is, using the begin repeat function, when the end user doesn’t not fill out all surveys, which will be the majority of the time, we get Null records in each related table that is not filled out of applicable to the site observation being performed.
Is there a way to have a site table, related to multiple observation tables, and not have all groups filled out, and still not have records (null) created for each group that has not been used during a specific observation?