SurveyCTO Programming
The impact evaluation team (or research team) must begin by first designing and translating the survey instrument (or questionnaire). Once the translated survey instrument is ready, the next step in primary data collection is to program the electronic survey for a CAPI or a CATI. The biggest challenge in questionnaire programming is keeping track of the content and structure of the questionnaire. While there are several software tools available for questionnaire programming, SurveyCTO is the most commonly-used Open Data Kit (ODK)-based tool in development research. Learning the steps and best practices in SurveyCTO programming is therefore essential for anyone who wishes to code a complex, high-quality survey instrument.
Read First
- DIME Analytics has created the following SurveyCTO user guide for enumerators.
- The research team must only move to questionnaire programming after finalizing the design and translated versions of a questionnaire.
- SurveyCTO is the most commonly-used Open Data Kit (ODK)-based tool for programming electronic surveys in development research.
- There are two common methods involved in SurveyCTO programming - using the built-in form builder in SurveyCTO, or by writing the code in an Excel sheet.
- While it is easier to program an instrument using the form builder, we strongly recommend switching over to the Excel method as soon as possible. A research team will have to do this eventually as the instrument becomes longer and more complex.
- It is easy to switch back and forth between the form builder and the Excel method.
- A recommended strategy to transition into programming with the Excel method is to create a form using the form builder method, and then download and inspect it in Excel.
Form Builder Method
There are two common ways to program your questionnaire in SurveyCTO: using the form builder or writing your code in an Excel Sheet. The form builder is useful for beginners and also when you need to make a quick edit in a form already uploaded to a server. Keep in mind, however, that the complexity of a typical DIME survey makes all projects sooner or later switch to the Excel method.
As a questionnaire grows bigger, even the best coders lose the overview over the questionnaire. This is the most significant advantage of coding in Excel. While it is possibly to push through and keep using the form builder, data sets from questionnaires not finalized in Excel tend to be less well structured and more cumbersome to work with.
We do not object towards starting programming in the form builder, but we strongly recommend that the questionnaire is at least reviewed in Excel. Experienced coders tend to skip the form builder part altogether, apart from when making a quick update to a form already uploaded to the server. The form builder is a feature that SurveyCTO provides on their servers.
How to access this method?
For existing forms, you access the form builder method by going to the Design tab and clicking on any form that already exists. After clicking the form a menu will appear below it. Click edit
and this questionnaire will be opened in the form builder.
To create a new form using the form builder, click on the +
button below the section header Your forms and datasets of the Design tab. If you hover over the button, you will see the message Add form, group or dataset. After clicking it, select Start new form
. Register a form title, click Next
, and select Edit online
. A new tab with the form builder will open in your browser.
How to use it?
The form builder is an intuitive web interface where you add new questions or groups. When adding a new question or group, you specify the question type, labels, skip patterns, value restrictions, and other attributes.
How to switch to the Excel method?
Save your work in the form builder and when you are back to the Design tab on your server, you can click the questionnaire. After clicking it you have a menu below the questionnaire, click download
, and in the second menu that appears click form files
. You then get a list of the files associated with the questionnaire. Download the Spreadsheet form definition (filename.xlsx)
and then open that file in Excel.
Excel Method
This method is inherited from ODK (the open source CAPI language that SurveyCTO is built on).
How to access?
The questionnaire is saved as an Excel file. To edit a form that already exist, you simply open that file in Excel. Each row is a element in the questionnaire, for example, question, group, note, repeat group etc. Each column is the information that controls how the question, group, note, repeat group etc. behaves and/or is displayed.
To start a new form, it is easiest to set up encryption if you create a questionnaire from SurveyCTO's template forms from the form builder. Download the new form as described in the How to switch to the Excel method? above and open the downloaded file in Excel. You can also access SurveyCTO's most basic template form here in which you can make quick experiments. Remember to encrypt this form if you were to upload it to for data collection.
How to use?
The language used to program Questionnaires in Excel is inherited from ODK. It is more difficult for a beginner to get started with the Excel method compared to the form builder, but there are a lot of resources to help you. All Excel versions of the form templates provided by SurveyCTO has help tabs with quick help on how to write the Questionnaire. SurveyCTO provides detailed documentation on in the help section of all of their servers. Many experienced SurveyCTO programmers have gained their skills by looking at other people's code. Finally, the ODK community also provide resources. However, use this with care as SurveyCTO have made some alterations to how ODK is implemented. Use the ODK community's resources as a final solution if no SurveyCTO source provides you with an answer.
Tip: An excellent way to learn is by trying out new constraints, settings, and checks on Form Builder and then downloading the excel file for that form and studying the code.
How to switch to the form builder?
After logging in to a SurveyCTO server, go to the design tab and in the menu at the top of the Your forms section click the Upload Form
button. Upload your form by following the instructions. The name of your form on the server is set in the form settings in the settings tab in your questionnaire file.
Scroll down to find your form and access the form builder according tot the How to access the form builder instructions.
Back to parent article
This article is a part of the chapter Questionnaire Programming.
Additional Resources
- OpenDataKit, Form Design
- SurveyCTO, Successful Web Form Deployment