Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device.
Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
This guide provides step-by-step instructions for transitioning from SurveyCTO to CommCare, using CommCare’s most affordable, $100 month Standard Plan.
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
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.
Notes
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.
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.
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.
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.
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.
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.
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.
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.
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.
Upload to CommCare: Go to CommCare HQ > Data > Import Cases from Excel.
Select Application and Case Type: Choose the specific app and case type (e.g., "patient") you are populating.
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.
Map and Confirm: Upload your CSV and verify that the column mapping is correct.
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.