Import questionnaire into Designer from external file


Upload questionnaire in a structured format

Enable users to compose their questionnaire in some structured format and upload that format to Designer for a Survey Solutions questionnaire to be generated

At a minimum, allow for one-time upload (e.g., populate questionnaire with content). Ideally, allow for continuous connection between Designer and the structured document (e.g., Google Sheet).

Affected subsystems

Designer. Changes likely include:

  • Method for importing external file format(s)
  • Logic for validating the file’s contents.
    • Only flag issues with the “structure” of questionnaire content–for example, questions that cannot be created
    • No need/desire to evaluate validity of any conditions (outside of Survey Solution’s rich GUI).
  • Interface for communicating any issues to the user


Any questionnaire developers–particularly those coming from ODK, SurveyCTO, and other ODK forks where CAPI questionnaire development is done from Google Sheets rather than from a rich GUI like Survey Solutions’.


Currently, CAPI questionnaire developers design their questionnaires in one of the following ways:

  1. Create a CAPI questionnaire from scratch
  2. Copy-paste-revise content from similar past questionnaires

In both cases, they use the Designer UI. In both most cases, tedious copy-paste is involved. In case 1, copy-paste from several fields in Excel to several fields in Survey Solutions. In case 2, copy-paste of from one (or more) Designer questionnaire to another Designer questionnaire.

Market examples

  • Open Data Kit and some ODK forks use XLSForm to compose CAPI apps
  • SurveyCTO seems to use XLSForm as well. See here.

What is the effect of this feature?

This would improve user experience in a few dimensions for all users:

  • Provide “paper” questionnaire designers a familar format for development: Excel/Google Sheets
  • Reduce/eliminate pain for CAPI questionnaire developers of copy-pasting content from an external source.

This would also help more sophisticated users:

  • Capture the questionnaire design in a more rectangular format (than JSON) that could be used for user-specific QA operations (e.g., check that all questions have labels, all validations contain comments, etc.)
  • Utilize other version control tools (e.g., see changes in Google Sheets, use GitHub if file format were plain text).


This would provide a new option for questionnaire development. This should not impact users who wish to continue development with existing tools.