Difference between revisions of "SurveyCTO Form Settings"

Jump to: navigation, search
(57 intermediate revisions by 5 users not shown)
Line 1: Line 1:
In the settings tab there are three categories of settings. Questionnaire name, id and version, encryption and language settings. On your server you can upload multiple questionnaires and multiple versions of a questionnaire. The questionnaire name, questionnaire id and questionnaire version ensures that the different questionnaire and the data sets linked to them are kept separate by the server. Encryption guarantees the privacy of the data. SurveyCTO servers are installed on third party cloud servers, and with encryption you can still be sure that the data does not end up in wrong hands if security is breached in any of those steps. The language setting is the default language if no other setting has been set.
In the settings tab of a [[Computer-Assisted Personal Interviews (CAPI) | SurveyCTO]] [[Questionnaire Design | questionnaire]], there are a handful of key settings: Questionnaire Name, ID, Version,  [[Encryption]], and Language Settings. These settings should be specified when creating and updating surveys. This page outlines the best practices for each setting.  
 
== Read First ==
The focus of this article is having a discussion regarding the best practices on this topics, not how to do them. Read SurveyCTO's instructions on how to do the things discussed in this article.
*The questionnaire name, questionnaire ID and questionnaire version ensure that the different questionnaires and the datasets linked to them remain separate.
 
*Each questionnaire ID is associated both with a questionnaire and a dataset. If you change the questionnaire ID, which you should do when you make changes to a questionnaire, you change the file to which the submitted data is saved.
= Read First =
*If you upload a completely different survey with a different questionnaire name and file name but with the same ID as a questionnaire already on the server, then the questionnaire already on the server will be replaced by the new one. See [[SurveyCTO Form Settings#Version control of questionnaires already used in the field|version control of questionnaires already used in the field]].
 
*Encryption guarantees the privacy of the data. SurveyCTO servers are installed on third party cloud servers; encryption ensures that the data does not end up in wrong hands in the case of a security breach.
*Each questionnaire id is associated both with a questionnaire and with a data set. That means that if you change the id you create a new data set where data is saved to. It also mean that if you change the questionniare, but not change the id, the data from to different questionnaire will be saved into the same data set.
== Name and ID==
 
It is common to set both the name and the ID to the same value. While the name value allows spaces, the ID does not; instead, use underscores (i.e. KBMAP_BL_HH_v1). The ID is a particularly important value: it dictates to which dataset a questionnaire is saved and what the dataset is called upon its export. There is some functionality in the questionnaire name. For example, if you start with name with the word test, then this form will not be visible to enumerators. You get the same functionality by the more recently added "deploy" feature.
*If you upload a completely different survey, with a different questionnaire name and file name but with the same id as a questionnaire already on the server, then the questionnaire already on the server will be replaced by the new one. Data collected with the new questionnaire will be saved to the same data set as the old questionnaire saved data to. Regardless if the variables match or not, or if there is already data there or not. See [[SCTO_Form_Settings#Version control of questionnaires already used in the field|Version control of questionnaires already used in the field]].
Follow a very exact structure when you naming your questionnaire and giving it an ID. If not, the name and ID of the questionnaire may create confusion down the road for the research team. Below follows one recommended way to generate the questionnaire name and ID:
 
{| class="wikitable"  style="margin-left: auto; margin-right: auto; border: none;"
= Questionnaire name and id =
 
All data on your SurveyCTO data is linked to a questionnaire. So keeping your questionnaires means that you keep your data organized. By skipping some of the best practices described below, you risk corrupting your data on the server.
 
First of all, when uploading questionnaires written in Excel, the file name of the Excel file is irrelevant for how your questionnaire is tracked on SurveyCTO's server, and on the tablets. It is a good idea to have the same naming conventions on the files saved to disk on your computer but there is no technical requirement.
 
When you get started it is really important that you indicate in both the questionnaire name and id that it is a development version of the form. The best way to do that is to include the word pilot. Then you can keep the pilot in the name until you have completed collecting pilot data. Then you remove the name and with the final name there is little risk that someone uses the pilot form to collect the final data. Do this, even if you did not do any changes between pilot and the real data collection since if you do not change the name, then the server will change the real data to the same data set as the pilot data.
 
It is common to set both the name and the id to the same value. The id does not allow spaces so you must use underscores (for example, KBMAP_BL_HH_v1). If you think it makes a difference you can replace the underscores with spaces in the name. The id is the most important value to keep track. The id controls which data set a questionnaire saved the data to and what the data set is called when you export it. There is some functionality in the questionnaire name. For example, if you start with name with the word test, then this form will not be visible to enumerators. You get the same functionality by the more recently added [[SCTO_deploy|deploy]] feature.
 
It is very beneficial to follow a very exact structure when you name your questionnaire and give it an id. The name and id of your questionnaire will make sense to you no matter what you call it now, but unless done properly, it will create confusion down the road. Both for you and for anyone else taking over after you. Below is one recommended way to generate name and id to your questionnaires.
 
(kb: the section about feels too long, we should discuss ways to break it up)
 
 
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|+ The parts of a survey form name
|-
|-
! Meaning
! Meaning
Line 36: Line 19:
|Project
|Project
| KBMAP
| KBMAP
| The name of the project, use an abbreviation or other short form.  
| The name of the project, use an abbreviation or other short form.
A server is usually linked to only one project, so this part does not matter as much on the server. But all data associated with this questionnaire will be tagged with this name, and there the project name is indeed useful.
A server is usually linked to only one project, so this part does not matter as much on the server. But all data associated with this questionnaire will be tagged with this name, and there the project name is indeed useful.
| Any project name. Do not use survey round (baseline, follow up, back check etc.) or unit of observation (household, village, school etc.)  
| Any project name. Do not use survey round (baseline, follow up, back check etc.) or unit of observation (household, village, school etc.)
|-
|-
| Survey round
| Survey round
| BL
| BL
| Indicates which survey this is within the project.  
| Indicates which survey this is within the project.
Since a difference in name here indicates a different data set on the server, then we want to differentiate between baseline and baseline pilot, as we do not want to mix pilot data with real data.
Since a difference in name here indicates a different dataset on the server, then we want to differentiate between baseline and baseline pilot, as we do not want to mix pilot data with real data.
| Baseline (BL), Baseline pilot (BLpilot), Endline (EL), monitoring data, population listing etc.
| Baseline (BL), Baseline pilot (BLpilot), Endline (EL), monitoring data, population listing etc.
|-
|-
| Unit of observation
| Unit of observation
| HH
| HH
| What type of respondents will be interviewed? Household, school, etc. It is both needed to separate multiple survey within a survey round (doctor/patient, teacher/school), but it is also helpful documentation to anyone using the data set in the future.
| What type of respondents will be interviewed? Household, school, etc. It is both needed to separate multiple survey within a survey round (doctor/patient, teacher/school), but it is also helpful documentation to anyone using the dataset in the future.
| Household (HH), village, civil servant
| Household (HH), village, civil servant, etc.
|-
|-
| Version
| Version
| v1
| v1
| This is different from the setting version. When you developing a questionnaire you use the version setting to indicate to the server that you have made updates. After you are happy with your updates (that usually takes testing several uploads) you update the version number in the name, and download this new version to the tablets. The reason why this is important is explained below (KB: link to that section).
| This is different from the setting version. When you are developing a questionnaire you use the version setting to indicate to the server that you have made updates. After you are happy with your updates (that usually takes testing several uploads) you update the version number in the name, and download this new version to the tablets. The reason why this is important is explained below (KB: link to that section).
| Number them in natural order, v1, v2 etc.
| Number them in natural order, v1, v2 etc.
|}
|}
 
Your SurveyCTO subscription level determines the number of questionnaires (counting each unique ID as one questionnaire) that you can store on your server. If you run out of spaceyou can either upgrade your server or download questionnaires no longer in use and all the data associated with them. After ensuring that you have all data, you can delete the questionnaires you are no longer using to make space for a new questionnaire.
Your SurveyCTO subscription level determines the number of questionnaire (counting each unique id as one questionnaire) that you can store on your server. If you run out of space you can either upgrade your server, or you can download any questionnaire no longer in use and all the data associated with it. After you have made sure that you have all data, you can delete the questionnaire you are no longer using and then you are able to upload one new questionnaire.
=== Naming and Versions===
 
When you update the questionnaire ID, all new data will be saved in a new dataset on the server with a reference to the new ID. If you have started to collect data with one questionnaire, but for some reason have to make an update to your questionnaire, then you should save the form with a new ID. The new questionnaire is likely to have different variables and different variable types for existing variables. Hence the data this questionnaire generates will be different. If you do not change the questionnaire ID, the server will save the new and slightly different dataset to the old dataset.
== Version control of questionnaires already used in the field ==
SurveyCTO's servers allow users to save data collected using an updated version of the questionnaire to the same dataset as for the previous version. While this feature does a fine job consolidating data, researchers can do an even better job with Stata. If you have already started to collect data and then make an update to the questionnaire, [[Naming Conventions | change the name]] from KBMAP_BL_HH_v1 to KBMAP_BL_HH_v2. You will end up with two datasets and two different import do files. After you have imported the datasets separately to Stata, you can edit the files as necessary – [[Reproducible Research | reproducibly]] via do files – in order to append them without any complications.
 
Before appending the different versions, create a variable called "questionnaireVersion" or similar. In this variable, store the version number of the questionnaire. You can then include fixed effects based on this variable in the [[Data Analysis | regressions]] to adjust for any bias introduced from collecting data with slightly different questionnaires.
When you update the questionnaire id, all new data collected will be saved in a new data set on the server with a reference to the new id. So if you have started to collect data with one questionnaire, but for some reason have to make an update to your questionnaire, then you should save the form with a new id. The new questionnaire is likely to have different variables and different variable types for existing variables. Hence the data this questionnaire generates will be different. If we do not change the questionnaire id, the server will save the new and slightly different data set to the old data set.  
===Naming Excel Files===
 
When uploading questionnaires written in Excel to SurveyCTO Server, the Excel file name is irrelevant to how your questionnaire is tracked on SurveyCTO Server and on tablets. While it is good practice to follow [[Naming Conventions | naming conventions]] for the Excel files saved on your computer, there is no technical requirement to do so.
SurveyCTO 's servers have a process that makes it possible to save data collected using an updated version of the questionnaire to the same data set as for the previous version. While that feature does a good job, we can do an even better job with Stata, and in Stata we will be able to exactly document what changes we need to do to the data set in order to combine data from the two versions of the questionnaire.
===Naming Pilot SurveyCTO Forms===
 
When you begin the [[Survey Pilot | pilot]] questionnaire, indicate in both the questionnaire name and ID that it is a development version of the form; the best way to do so is by including the word ''pilot''. Keep ''pilot'' in the name until you have completed collecting pilot data. After removing ''pilot'' for the final version, there is little risk that someone will use the pilot form to collect the final data. Follow these protocols even if you do not make any changes between the pilot and the real data collection. After all, if you do not change the name, then the server will save the real data to the same dataset as the pilot data.
So when you have already started to collect data and make an update to the questionnaire change the name from KBMAP_BL_HH_v1 to KBMAP_BL_HH_v2. You will end up with two data set and two different import dofiles. After you have imported the data sets separately to Stata, you can make all needed edits to the files so that they can be appended without any complications. Make this edits in a dofile so that everything you do to the data set is documented.
== Version ==
 
If two questionnaires have the same ID, then they must have a different version settings. This helps the server ensure that if you are replacing an outdated questionnaire on the server with an updated one. There is one simple equation you can use that converts the date and time to a unique version number; there is no good reason to not always use this. See this [https://docs.google.com/spreadsheets/d/1UBJBE4YWk1rXKCQRTWSpRtHMzAdoA9J_-cyh0XyJwaA/edit?usp=sharing settings example] for more information.
Before appending the different versions, create a variable called questionnaireVersion or similar. In this variable, store the version number of the questionnaire. Fixed effects based on this variable can then be included in the regressions to adjust for any biased that was introduced from collecting data with questionnaires that slightly differ.
== Encryption ==
 
All data collected should be [[Encryption|encrypted]]. This [[Research Ethics | protects the privacy]] of respondents in case, for example, tablets are stolen or there is a breach to network security. Encryption is easy and in line with the privacy promises made during [[Informed Consent | informed consent]].
Note that this section only relates to updating questionnaire id and it is not relevant for updating questionnaire name or value in the version column in the settings tab.
While data transferred from the tablet to SurveyCTO servers via internet are automatically encrypted using SSL, it is still necessary to encrypt this data. This protects the data from anyone who might get into the servers or get hold of the survey tablets. You can set data to be encrypted in [[SurveyCTO_Programming_Work_Flow#Template_Forms|template forms]]. Do so before data collection begins.
 
For more detailed instructions on how to encrypt your data, go to your SurveyCTO server, open up the documentation pages and search for "How do I encrypt my data?"
= Questionnaire version (in settings tab) =
== Language ==
 
SurveyCTO’s language options are useful for questionnaires written in multiple languages. In the Excel file, all columns used to create text of media (i.e. label, hint, constraint message, relevance message, media:image, media:audio, and media:video) can be defined for different languages. To define, for example, which label column is English and which label column is French then the columns can be called ''label:English'' and ''label:French''. Then in the app on the tablet, the enumerator can go to <code>change language</code> and select English or French (or whatever language is called after "label:").
If two questionnaires have the same id, then they must have a different version settings. This help the server ensure that if you are replacing an outdated questionnaire on the server, with and updated one, then the server makes sure that it is a more recent questionnaire replacing and older one. There is one simple equation you can use that converts the date and time to a unique version number. There is no good reason for not always using this. See this [https://docs.google.com/spreadsheets/d/1UBJBE4YWk1rXKCQRTWSpRtHMzAdoA9J_-cyh0XyJwaA/edit?usp=sharing settings example]
It is best practice to explicitly say indicate the language of each column. However, it is also possible to name the label column of one language ''label'' and the others, for example, ''label:French'' and ''label:Wolof''. The language used in the column ''label'' where the language is not defined is considered the default language. In this case, the language column in the settings tab needs to be used in order to define what the language is called. Otherwise the <code>change language</code> on the tablet will not display properly.
 
For detailed instructions on how to use multiple languages on SurveyCTO, go to your SurveyCTO server, open up the documentation pages and search for "Translating a form into multiple languages".
= Encryption =  
== Back to parent topic ==
 
This article is a part of the topic [[Questionnaire Programming]].
(KB: I need to do a little bit of research for this page.)
== Additional Resources ==
 
*DIME Analytics' [https://github.com/worldbank/DIME-Resources/blob/master/survey-cto.pdf SurveyCTO] slides
= Language =
[[Category: Questionnaire Programming]]
(KB: I need to do a little bit of research for this page.)
 
= Back to parent article =
 
This article is a part of the chapter [[Questionnaire Programming]].
 
= See also =
 
= Further Reading =

Revision as of 22:04, 9 June 2019

In the settings tab of a SurveyCTO questionnaire, there are a handful of key settings: Questionnaire Name, ID, Version,  Encryption, and Language Settings. These settings should be specified when creating and updating surveys. This page outlines the best practices for each setting.  

Read First

  • The questionnaire name, questionnaire ID and questionnaire version ensure that the different questionnaires and the datasets linked to them remain separate.
  • Each questionnaire ID is associated both with a questionnaire and a dataset. If you change the questionnaire ID, which you should do when you make changes to a questionnaire, you change the file to which the submitted data is saved.
  • If you upload a completely different survey with a different questionnaire name and file name but with the same ID as a questionnaire already on the server, then the questionnaire already on the server will be replaced by the new one. See version control of questionnaires already used in the field.
  • Encryption guarantees the privacy of the data. SurveyCTO servers are installed on third party cloud servers; encryption ensures that the data does not end up in wrong hands in the case of a security breach.

Name and ID

It is common to set both the name and the ID to the same value. While the name value allows spaces, the ID does not; instead, use underscores (i.e. KBMAP_BL_HH_v1). The ID is a particularly important value: it dictates to which dataset a questionnaire is saved and what the dataset is called upon its export. There is some functionality in the questionnaire name. For example, if you start with name with the word test, then this form will not be visible to enumerators. You get the same functionality by the more recently added "deploy" feature. Follow a very exact structure when you naming your questionnaire and giving it an ID. If not, the name and ID of the questionnaire may create confusion down the road for the research team. Below follows one recommended way to generate the questionnaire name and ID:

Meaning Part of name Description Other examples
Example survey name : KBMAP_BL_HH_v1
Project KBMAP The name of the project, use an abbreviation or other short form.

A server is usually linked to only one project, so this part does not matter as much on the server. But all data associated with this questionnaire will be tagged with this name, and there the project name is indeed useful.

Any project name. Do not use survey round (baseline, follow up, back check etc.) or unit of observation (household, village, school etc.)
Survey round BL Indicates which survey this is within the project.

Since a difference in name here indicates a different dataset on the server, then we want to differentiate between baseline and baseline pilot, as we do not want to mix pilot data with real data.

Baseline (BL), Baseline pilot (BLpilot), Endline (EL), monitoring data, population listing etc.
Unit of observation HH What type of respondents will be interviewed? Household, school, etc. It is both needed to separate multiple survey within a survey round (doctor/patient, teacher/school), but it is also helpful documentation to anyone using the dataset in the future. Household (HH), village, civil servant, etc.
Version v1 This is different from the setting version. When you are developing a questionnaire you use the version setting to indicate to the server that you have made updates. After you are happy with your updates (that usually takes testing several uploads) you update the version number in the name, and download this new version to the tablets. The reason why this is important is explained below (KB: link to that section). Number them in natural order, v1, v2 etc.

Your SurveyCTO subscription level determines the number of questionnaires (counting each unique ID as one questionnaire) that you can store on your server. If you run out of space, you can either upgrade your server or download questionnaires no longer in use and all the data associated with them. After ensuring that you have all data, you can delete the questionnaires you are no longer using to make space for a new questionnaire.

Naming and Versions

When you update the questionnaire ID, all new data will be saved in a new dataset on the server with a reference to the new ID. If you have started to collect data with one questionnaire, but for some reason have to make an update to your questionnaire, then you should save the form with a new ID. The new questionnaire is likely to have different variables and different variable types for existing variables. Hence the data this questionnaire generates will be different. If you do not change the questionnaire ID, the server will save the new and slightly different dataset to the old dataset. SurveyCTO's servers allow users to save data collected using an updated version of the questionnaire to the same dataset as for the previous version. While this feature does a fine job consolidating data, researchers can do an even better job with Stata. If you have already started to collect data and then make an update to the questionnaire, change the name from KBMAP_BL_HH_v1 to KBMAP_BL_HH_v2. You will end up with two datasets and two different import do files. After you have imported the datasets separately to Stata, you can edit the files as necessary – reproducibly via do files – in order to append them without any complications. Before appending the different versions, create a variable called "questionnaireVersion" or similar. In this variable, store the version number of the questionnaire. You can then include fixed effects based on this variable in the regressions to adjust for any bias introduced from collecting data with slightly different questionnaires.

Naming Excel Files

When uploading questionnaires written in Excel to SurveyCTO Server, the Excel file name is irrelevant to how your questionnaire is tracked on SurveyCTO Server and on tablets. While it is good practice to follow naming conventions for the Excel files saved on your computer, there is no technical requirement to do so.

Naming Pilot SurveyCTO Forms

When you begin the pilot questionnaire, indicate in both the questionnaire name and ID that it is a development version of the form; the best way to do so is by including the word pilot. Keep pilot in the name until you have completed collecting pilot data. After removing pilot for the final version, there is little risk that someone will use the pilot form to collect the final data. Follow these protocols even if you do not make any changes between the pilot and the real data collection. After all, if you do not change the name, then the server will save the real data to the same dataset as the pilot data.

Version

If two questionnaires have the same ID, then they must have a different version settings. This helps the server ensure that if you are replacing an outdated questionnaire on the server with an updated one. There is one simple equation you can use that converts the date and time to a unique version number; there is no good reason to not always use this. See this settings example for more information.

Encryption

All data collected should be encrypted. This protects the privacy of respondents in case, for example, tablets are stolen or there is a breach to network security. Encryption is easy and in line with the privacy promises made during informed consent. While data transferred from the tablet to SurveyCTO servers via internet are automatically encrypted using SSL, it is still necessary to encrypt this data. This protects the data from anyone who might get into the servers or get hold of the survey tablets. You can set data to be encrypted in template forms. Do so before data collection begins. For more detailed instructions on how to encrypt your data, go to your SurveyCTO server, open up the documentation pages and search for "How do I encrypt my data?"

Language

SurveyCTO’s language options are useful for questionnaires written in multiple languages. In the Excel file, all columns used to create text of media (i.e. label, hint, constraint message, relevance message, media:image, media:audio, and media:video) can be defined for different languages. To define, for example, which label column is English and which label column is French then the columns can be called label:English and label:French. Then in the app on the tablet, the enumerator can go to change language and select English or French (or whatever language is called after "label:"). It is best practice to explicitly say indicate the language of each column. However, it is also possible to name the label column of one language label and the others, for example, label:French and label:Wolof. The language used in the column label where the language is not defined is considered the default language. In this case, the language column in the settings tab needs to be used in order to define what the language is called. Otherwise the change language on the tablet will not display properly. For detailed instructions on how to use multiple languages on SurveyCTO, go to your SurveyCTO server, open up the documentation pages and search for "Translating a form into multiple languages".

Back to parent topic

This article is a part of the topic Questionnaire Programming.

Additional Resources