With SurveyCTO, much of the "workflow" of filling out survey forms depends on the design of your forms: users move through the various form fields that you have defined, filling them out, being subjected to constraints that you have configured, etc. But there are also key elements of the workflow that are controlled not by the form definition itself, but by how the client is configured (in this case, client refers to what is being used to fill out the form— either the SurveyCTO Collect mobile app or a web form). This help topic discusses the options that are available for this type of configuration.
In the SurveyCTO Collect mobile app, you can find workflow settings in two places: from the main Collect menu, open the three-dot menu in the upper-right and choose either Admin Settings or General Settings. These settings control aspects of the user experience before, during, and after the actual filling out of survey forms. Most of these settings are available for web forms as well: scroll to the Web data collection section of the Collect tab, select a form from the list, and click Settings.
You can control the options a user sees in the SurveyCTO Collect app main menu, as well as the settings that they can edit. Once you have configured devices with the desired survey forms, for example, you might limit the main menu choices to only Fill Blank Form, Edit Saved Form, and Send Finalized Form; you might also prevent users from changing any of the settings (without a special password). See Managing device settings for details.
In the standard workflow, users run the SurveyCTO Collect app and choose Fill Blank Form to start filling out a form. However, on Android devices you can also place a shortcut to that form directly on the device's home screen, so that users can boot up their devices and start filling out a new form with just one click. The process differs a bit by device: on some devices, you hold your finger down on an empty part of the home screen, then choose "Add Shortcut", "SurveyCTO Form", and the form you'd like the shortcut to launch; on others, you click into the Apps view, then choose "Widgets", "SurveyCTO Form", and, after dropping the widget onto an empty location, select the form to launch.
You can also organize the filling out and editing of forms around specific "cases," where cases might be households, health centers, schools, etc. See the help topic on Case management for details.
While the user is filling out a form, most of the experience is controlled by the design of the form itself. This primarily involves a sequential process by which the user fills out form fields, one by one. However, Designing for easy navigation discusses more advanced navigation options open to the form designer.
Typically, the user navigates forward and backward by "swiping" with his or her finger. In the Collect app, there is a Navigation setting in General Settings that allows you to enable on-screen forward and back buttons; these buttons can be used in addition to or instead of swiping. For web forms, the on-screen buttons will always be visible, but there is an option to disable swipe navigation (in case of compatibility issues with your users' web browsers).
It is also typical to enforce field constraints field-by-field, as the user progresses through each survey form: if a user enters an invalid value (e.g., an implausible age, such as 122), he or she is not allowed to continue until the entry is corrected. The Constraint processing behavior setting in General Settings allows you to override this behavior and instead defer all field validation to the point at which the survey is finalized (at the very end). For the vast majority of cases, the default – validating field-by-field – is the way to go, but it depends on your preferences.
While within-form navigation is mostly controlled by the form designer, there is an option for the user to jump from one place to another, outside the standard sequence. This option is typically used, for example, when the user realizes that an earlier response was mistaken and wishes to correct it. In the Collect app, he or she can do so by opening the three-dot menu, and choosing the Go To Prompt (or clicking the button with the arrow pointing to the dot). In web forms, the Go to menu is accessible from the options menu (on mobile screens, click the three lines icon () in the top left of the screen), or directly from the Go to button in the top right (on larger screens). From within the Go to menu, users can scroll to the desired question, and click on it to jump there. If you want to prevent users from being able to jump around in this way in the Collect app, open Admin Settings, scroll down to the User can access form entry items section, and un-check Go To Prompt. For web forms, disable the Allow 'go to' menu option, which is part of the Allow non-linear form navigation options set.
In the standard, field-by-field sequence, the user cannot skip fields that are marked as required or proceed if an entry violates a constraint. There may be circumstances where the user cannot yet fill out a particular response and wants to move on and circle back to fix it later (e.g., the response concerns entering a child's weight but the user is awaiting the necessary scale, or the particular respondent necessary for a question is currently busy). In such a circumstance, the user can open the three-dot menu and select Skip to Next (in the mobile app), or select Skip to next from the options menu for web forms. This is effectively a shortcut for choosing Go To Prompt, scrolling down to the next question, and clicking on it to jump there. If you want to prevent users from being able to jump in this way in the Collect app, open Admin Settings, scroll down to the User can access form entry items section, and un-check Skip to Next. For web forms, disable the Allow skip to next option, which is part of the Allow non-linear form navigation options set.
If an interview is interrupted for some reason, the user needs to be able to save, exit, and resume later. In the Collect app, he or she does this by clicking the back button to exit the form. A pop-up menu will ask whether to Save Changes or Ignore Changes. The latter option will delete any data entered since the form was last saved, so Collect will ask the user to confirm that they wish to exit without saving their changes. If the user instead chooses to Save Changes, he or she can resume later by selecting Edit Saved Form from the main Collect menu and choosing which form to edit. For web forms, the workflow is a little bit different, since web forms are automatically saved, even if the browser window is closed. However, if a logged-in user wishes to return to the main menu while filling out a web form, they can do so by selecting Exit to main menu from the options menu, and they will see a very similar set of pop-ups. If going back to edit forms later is common in your workflow, see Dynamically naming filled-in forms for information on how to name forms in a way that makes them easier to identify and edit.
Validating, saving, and finalizing
Before a form can be submitted to the server, it must be "finalized", and before a form can be finalized, it must be free of any errors – in other words, all required responses must be entered, and all entries must satisfy their respective field constraints. This is because the survey designer's specifications for which fields are required and what constraints should be enforced is what produces "clean" data (i.e., data that is ready for review and analysis). Finalized forms cannot generally be edited, so finalization is the last (in-the-field) step of the data-collection process.
In some projects, individual enumerators finalize their respective forms upon concluding a field survey. Other projects require enumerators to save their forms and review them later, before finalizing. And some projects may require that a supervisor review the form for mistakes (using Edit Saved Form) before it can be finalized.
When the user reaches the end of a survey form, he or she is presented with a final screen that displays a Save and Exit button (unless they are filling out a web form anonymously, in which case that final screen only has one button: Submit Form). That screen also has a checkbox for whether or not to finalize the form. By default, that checkbox is checked – but you can change this default in the Collect app by un-checking the Default to finalized option in General Settings. You can also hide the checkbox altogether by unchecking the Mark form as finalized option in Admin Settings.
When a user marks a form as finalized, SurveyCTO will validate the entire form to confirm that all required fields are complete and that all constraints have been met. If there are any problems, the user will be forced to correct them.
SurveyCTO does not validate a form or force the user to make corrections when the user saves without finalizing. In the Collect app, you can override this default with the End-of-form save logic option in the Advanced Settings section of Admin Settings: if you choose Force corrections on Save and Exit, the form will be validated and the user will be forced to make corrections before being allowed to Save and Exit – even when he or she is not yet finalizing. Note, however, that in the Collect app, the user will still have the option to exit the form if an interview cannot be completed by using the back button to exit and save changes. If you do not want to force corrections on Save and Exit, there are two options in the End-of-form save logic setting: (1) Don't check answers (quick save) and (2) Check answers on Save and Exit. Of the two, the "check answers" option is generally preferred, as it will record the submission's validation status for the Edit Saved Form screen.
Finally, if users jump around within a survey – and/or if you have set validation to happen at the very end rather than field-by-field – they can easily lose track of what has already been completed and what remains incomplete. While any constraint violations or missing required responses will be flagged at the very end, users may want to jump back and start cleaning up required or invalid responses earlier in the interview process. To prompt SurveyCTO to validate every field from beginning to end, users can choose Validate Form in the the device's option menu. If Collect identifies any problems, the user will be sent back to correct them. This feature allows the user to jump around the form without missing required responses. Similar to other user options in the Collect app, you can disable this feature if you wish: simply un-check Validate Form in Admin Settings.
Please note: web forms will send their data to your server as soon as they are completed. This section pertains to the mobile app only.
Presuming that you are not pulling data directly off your devices via local WiFi sync, collected data has to be sent to your server, where it will be aggregated, de-duplicated, and made available for download, export, and/or publishing. This might be immediate (e.g., if all of your devices have sim cards and data connections), it might be nightly (e.g., if all of your devices can reach a WiFi hotspot, such as a data connection shared as a hotspot by a supervisor's device), or it might be less often. There are a few basic workflows through which forms can be submitted:
The most standard workflow is manual: once an Internet connection is available, the user selects Send Finalized Form from the main Collect menu, checks any or all listed forms, and clicks Send Selected. By default, Collect will only list forms that have been finalized but not yet sent to the server, so the user's task is to check all, send, and await confirmation.
There are also two options to automatically send finalized forms: in Collect's General Settings you can choose Auto send with WiFi and/or Auto send with network ("network," in this case, meaning a cellular data network). If you check one or both of these options, Collect will automatically attempt to send all finalized forms to the server whenever the allowed connection type is available. (There are also two "auto update" settings that can be used to automatically check for and download form updates – which are particularly useful when forms include pre-loaded data that changes from time to time.)