SurveyCTO to CommCare Transition Guide

SurveyCTO to CommCare Transition Guide

This guide provides step-by-step instructions for transitioning from SurveyCTO to CommCare, using CommCare’s most affordable, $100 month Standard Plan.

Why Transition from SurveyCTO to CommCare?

Many organizations choose SurveyCTO for its research capabilities, powerful data validation, and offline security. However, as these research projects transition into long-term service delivery programs, teams often encounter challenges. SurveyCTO is fundamentally "form-centric," meaning it is excellent for one-off surveys but lacks a native, "out-of-the-box" way to track beneficiaries over years across different workers. Managing complex longitudinal workflows often requires heavy technical maintenance of server-side datasets.

Organizations switch to CommCare to move from data collection to active service delivery. They look for a platform where case management is a native feature, allowing frontline workers to see a beneficiary's entire history offline, and where program managers can update complex workflows without writing code or managing complex server lookups.

Here is a summary of the common challenges with SurveyCTO and the benefits organizations gain by switching to CommCare:

Feature

SurveyCTO

CommCare

Data Architecture

Form-Centric: Data is stored as individual submissions. Linking visits requires manual dataset publishing.

Case-Centric: Data is tied to a "Case" (person/entity). All history is automatically available across forms.

Longitudinal Tracking

Requires "Server Datasets" and manual configuration to pull data from previous forms.

Native Case Management: Beneficiary records are updated automatically and persist on the device for follow-up.

Workflow Logic

Linear and rigid; primarily designed for start-to-finish survey completion.

Adaptive Workflows: Supports non-linear "Follow-up" lists and sophisticated decision support for workers.

Offline History

Limited visibility into past submissions unless specifically pre-loaded into datasets.

Full Offline Context: Mobile workers see a "Case List" with key indicators from all previous interactions.

Step-by-Step Instructions

This guide provides step-by-step instructions to help organizations easily transition from SurveyCTO to CommCare on their own.

1. Prepare for your Transition

While SurveyCTO offers a dataset-based approach to case management, it often requires significant technical overhead to maintain. If your program would benefit from native, no-code longitudinal tracking, we recommend exploring CommCare’s built-in case management!


2. Re-Build Form(s) in CommCare

Option 1: Recreate your forms Manually

form builder video.mov
Check out this video on how to manually create a form on CommCare using the form builder:

Remember: For any multiple choice questions within your application, ensure that the value in the cell corresponds to the "choice value" in CommCare. If you imported your form from SurveyCTO via XML form, these values should presumably already be set correctly.

Option 2: Upload your XML forms from SurveyCTO into CommCare

Check out this video on how you would upload an XML file from SurveyCTO to CommCare to create a form.

This option can potentially speed up the application building process. In order to do this you will need to export your form(s) from SurveyCTO in XML format. After you upload the XML form into CommCare it will recreate the form. Please note that due to differences between the systems, it is recommended that you revise the form after you upload the form on CommCare, eliminating any questions or hidden values that have no content.

To download forms from SurveyCTO:

  • Log in to your SurveyCTO console and navigate to the Design tab.

  • Locate the form you wish to migrate under the Form definitions and settings section.

  • Click the Download button next to the form.

  • Select the XML file option to obtain the form as an .xml file.

Terminology Differences: SurveyCTO vs. CommCare

When building new forms, or "app building" as we call it on CommCare, there are some differences in terminology between SurveyCTO & CommCare. The table below shows most of these.

SurveyCTO-Logo-CMYK.png
image-20250418-192806.png

Notes

SurveyCTO-Logo-CMYK.png
image-20250418-192806.png

Notes

Form / Survey

Form (within a Module)

In CommCare, forms are nested within modules that group related workflows (e.g., a "Pregnancy" module contains "Registration" and "Follow-up" forms).

Form Preview

App Preview

CommCare’s "App Preview" allows you to test the entire app, including case logic and data flowing between multiple forms.

Logic Wizard / Editor

Form Builder

CommCare’s Form Builder uses a drag-and-drop interface with integrated logic editors for hidden values.

Server Dataset

Case Type / Lookup Table

This is the biggest shift. Instead of "publishing" to a dataset, CommCare saves data to a "Case" that follows the beneficiary.

Field Plug-in

Extensibility / App Call

SurveyCTO uses JS plug-ins for custom UI; CommCare typically uses native features or "Android App Calls" for external integrations.

Label

Display Text

The text shown to users when answering a question; used identically.

Field Name

Question ID

The internal unique name used for logic, exports, and calculations (e.g., first_name).

Hint

Hint Message

A short prompt or description that appears under the question text.

Constraint

Validation Condition

Used to enforce data quality rules (e.g., "must be > 0"); shows an error if the condition fails.

Relevance

Display Condition

Controls whether a question is shown based on previous answers.

Calculate

Hidden Value

A field that performs math or logic behind the scenes and stores the result.

Required

Required

Determines whether a question must be answered to proceed.

Most question types from SurveyCTO are available in CommCare. The table below includes a full list that compares the question types between both systems.

You can read more about question types in CommCare here: https://dimagi.atlassian.net/wiki/spaces/commcarepublic/pages/2295791624

SurveyCTO-Logo-CMYK.png
image-20250418-192855.png

Notes

SurveyCTO-Logo-CMYK.png
image-20250418-192855.png

Notes

Select_one

Multiple Choice

Radio buttons; allows one option.

Select_multiple

Checkbox

Checkboxes; multiple options selectable.

Text

Text

Free text input.

Integer

Integer

Use for whole numbers.

Decimal

Decimal

Numeric with decimal support.

Phonenumber

Phone Number or Numeric ID

CommCare supports numeric IDs that allow leading zeros (unlike standard integers).

Date

Date

Calendar picker.

Time

Time

Time selection input.

DateTime

Date and Time

Use separate Date and Time questions for better mobile compatibility.

Geopoint

GPS Capture

Captures location coordinates.

Image

Image Capture

Takes or uploads photos.

Audio

Audio Capture

Records or uploads audio.

Video

Video Capture

Records or uploads video.

Geotrace

Not supported

CommCare does not natively support drawing lines on maps.

Signature

Signature Capture

Captures signatures directly on the mobile screen.

Note

Label

Non-interactive display text used for instructions.

Barcode

Barcode Scan

Scans using the device's camera.

Acknowledge

Single Answer (Yes/No)

Can be replicated with a single-answer multiple-choice question.

Geoshape

Not supported

Polygon drawing is not supported natively in CommCare.

Range

Simulated with Single Answer

No native slider input; use a Single Answer with numeric labels (e.g., 1–10).

Matrix

Simulated with Groups

Group multiple Single/Multiple Answer questions together for a similar layout.

Rank

Not supported

Workaround possible using a multiple-select question with validation logic.

Calculate

Hidden Value

Auto-calculated logic field used for scoring or complex logic.

Hidden

Hidden Value

Invisible field to hold logic, metadata, or case properties.

File

Attachment (Limited)

CommCare supports image, audio, and video—it does not support generic PDF or doc uploads.

Server Dataset

Lookup Table / Case List

Use Lookup Tables for static data or Case Management for dynamic, longitudinal data.


3. Set up Case Management

While SurveyCTO is a powerful tool for high-quality research and data validation, organizations often find that as their projects evolve into long-term service delivery, they require more than just a "survey-in, data-out" model. Transitioning to CommCare allows programs to move away from form-centric data collection and toward a native, longitudinal case management architecture. In SurveyCTO, tracking a beneficiary over time often requires complex technical maintenance of "Server Datasets" and manual data publishing. CommCare offers a no-code alternative where every piece of data is automatically tied to a "case" (such as a patient, household, or farm), ensuring that frontline workers have a beneficiary's full history available offline and in real-time, without the need for technical workarounds or developer support.

Example of Incorporating Case Management into a SurveyCTO application

The box below provides an illustration of how a potential organization adapts their data structure transitioning from SurveyCTO to CommCare, while leveraging case management.

Partner A is running a community health program that tracks pregnant mothers and has been using SurveyCTO for their mobile data collection. When they decide to transition to CommCare, they move their data to a new CommCare project space to begin setting up the data model. They identify key indicators and data points from their old system and use these to define case properties and case types in CommCare. For example, they create a case type for "pregnant_mother" and include properties such as due date, number of antenatal visits, and risk factors.

pic.png
CommCare’s form builder allows partners to quickly replicate form content from other tools in an intuitive and robust user interface. 

Using CommCare’s drag-and-drop Form Builder, they then recreate their original forms from SurveyCTO. The intuitive interface allows them to replicate questions, logic, and workflows while also introducing improvements such as better validations or branching logic. This results in a more streamlined and robust data collection app.

pic2.png
CommCare allows partners to create data models and mobile applications on the platform quickly. This is an example of a form deployed on SurveyCTO and an app on CommCare replicating the same structure.

This rebuild ensures that both future data collection and historic data mapping are aligned with the new CommCare structure, setting up Partner A for long-term success on the platform.

CommCare does not require any coding - partners can easily map “case properties” for all the key indicators they were tracking previously through intuitive interfaces like the one above.

4. Create Users

In CommCare:

  • Each field user has a unique login (username + password)

  • Users can be manually created or bulk uploaded via spreadsheet

  • Users can be grouped and given different permissions


5. Migrate Existing Data into CommCare

As you transition from SurveyCTO to CommCare, you may want to bring over data previously collected—especially if you're continuing to work with the same individuals, households, or other tracked entities. While migrating data is optional, it's highly recommended for programs using case management, where you want to continue following up with the same cases or carry forward key information.

  1. Export your SurveyCTO data as a CSV file. From your SurveyCTO console, navigate to the Export tab. Select your form and download the data as a CSV. If you used Server Datasets, you may want to export the dataset directly.

  2. Clean the file so that each row represents exactly one case (e.g., one household or one person/entity). SurveyCTO exports often include "Wide" data with repeat groups in separate rows or columns; ensure your final CSV is flattened so one row equals one unique case.

  3. Match the structure of your CommCare case type. * Note: All new case imports require a case_id column as the first column. For a fresh import of cases that weren't in CommCare before, this column should be left blank. CommCare will generate unique IDs upon import.

  4. Recommendation: If you would like to keep metadata from SurveyCTO (such as DEVICEID, SUBMISSIONDATE, or REVIEW_STATUS), you can import them into CommCare as case properties. It is a best practice to name these clearly (e.g., scto_submission_date) to distinguish them from native CommCare metadata.

  5. Finalize Headers: Your CSV column headers must match the exact names of the case properties created in your CommCare app (e.g., name, age, location).

    • Note: Case properties are case-sensitive and cannot include spaces. Column names must start with a letter and can only contain letters, numbers, and underscores.

  6. Upload to CommCare: Go to CommCare HQ > Data > Import Cases from Excel.

  7. Select Application and Case Type: Choose the specific app and case type (e.g., "patient") you are populating.

  8. Configure New Records: In the "Handle New Records" section, make sure to check the box next to “Create new Records if there is no matching case”. This is required to turn your SurveyCTO rows into brand-new CommCare cases.

  9. Map and Confirm: Upload your CSV and verify that the column mapping is correct.

  10. Import: After the import is complete, these cases will appear in your mobile app’s case list and can be updated through forms exactly like any other CommCare case.


6. Access & Analyze Data & Reports