For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Entity
What it contains

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

Field
Description

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

Field
Description

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_id to connect individual submissions to the cases they updated

  • Append Forms from multiple project spaces into one sheet to compare activity across regions or programs

  • Aggregate Forms by username and 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_date filter applies to the received_on field for Forms and server_last_modified for Cases

  • Archived 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?