We use survey 123 for preventative maintenance on many of our field assets. Most of our forms have a few questions and a long todo list. (Clean area, grease fittings, fill tank, etc.) Currently we use a select multiple question to present the worker with the punch list and then we use multiple selected() functions in the constraint to make sure required items in the list are completed. We have tried other things, yes_no lists with different appearances, but the workers much prefer the check box we get with the select multiple question type.
But select multiple questions make it difficult to extract the individual tasks performed because the tasks are listed in a comma separated list. So as the survey 123 result is logged into the maintenance system the values in the field must be parsed. It would be nice to have each task as it's own question and a check box to indicate it is done.