Data Overview
CommCare exposes two core entities through Coupler.io: Forms and Cases. Together they cover the full picture of field program activity — what was collected and who or what was tracked.
Entities
Forms
One row per form submission — all question responses, metadata, and system fields
Cases
One row per case — current properties, status, open/close dates, and linked user info
Forms
Forms represent individual data collection events. Each row is one submission from a mobile worker.
Form metadata fields
form_id
Unique identifier for the submission
xmlns
The form definition namespace (identifies which form type was used)
received_on
Timestamp when the server received the submission
server_modified_on
Last modified timestamp on the server
app_id
The CommCare app that generated the submission
build_id
Specific app build version used
user_id
ID of the mobile worker who submitted the form
username
Username of the mobile worker
device_id
Device identifier
version
Form version
Form response fields
Question responses are included as individual columns. The exact column names depend on your form definition — each question in your CommCare form becomes a column in the exported data.
Cases
Cases track individuals, households, or other entities over time. Each row represents one case with its current state.
Case fields
case_id
Unique identifier for the case
case_type
Type of case (e.g., patient, household, farm)
case_name
Human-readable name for the case
owner_id
User or group that owns the case
opened_on
When the case was first created
closed_on
When the case was closed (if applicable)
closed
Boolean — whether the case is currently closed
server_last_modified
Last time the case was updated on the server
external_id
Optional external reference ID
indices
Linked parent case references
Case properties
Like form responses, case properties depend on your CommCare project configuration. Custom case properties you've defined in your app appear as additional columns.
Common data combinations
Join Forms + Cases on
case_idto connect individual submissions to the cases they updatedAppend Forms from multiple project spaces into one sheet to compare activity across regions or programs
Aggregate Forms by
usernameand date to build mobile worker performance summaries
Use cases by role
Track case status and closure rates across field teams
Monitor form submission volumes by worker or location over time
Identify gaps in data collection by filtering cases with no recent form updates
Join form submissions to cases to build longitudinal datasets
Aggregate survey responses to calculate program indicators (e.g., vaccination rates, visit completion)
Feed CommCare data into BigQuery for SQL-based analysis alongside other program data sources
Pull daily form submissions into Google Sheets to review worker activity
Use ChatGPT or Claude as an AI destination to summarize field reports or flag anomalies
Monitor open case counts by owner to manage workload distribution
Platform-specific notes
Column names for form responses and case properties vary by project — your export will only contain the fields defined in your specific CommCare app
The
start_datefilter applies to thereceived_onfield for Forms andserver_last_modifiedfor CasesArchived or deleted cases may not appear in exports depending on your CommCare HQ plan and API access level
Multi-select question responses are typically returned as space-separated strings
Last updated
Was this helpful?
