> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.joincandidhealth.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.joincandidhealth.com/_mcp/server.

# export_patient_appointments

> A log of the latest state/version of every appointment tied to a patient_id

A log of the latest state/version of every appointment tied to a patient_id. One row per appointment. Deactivated (cancelled) appointments are included with `deactivated = TRUE`; filter on `deactivated = FALSE` for active appointments.

**Primary Key:** `appointment_id`

## Identifiers

**`appointment_id`** `STRING` — required

Unique ID of the appointment

---

**`patient_id`** `STRING`

Unique ID associated with the patient in the Candid system

---

**`external_id`** `STRING`

Placer appointment ID - the ID the source system uses for this appointment

---

## Timestamps

**`updated_at`** `TIMESTAMP`

Time at which the appointment record was last updated in the database

---

**`start_timestamp`** `TIMESTAMP`

Scheduled start time of the appointment

---

**`checked_in_timestamp`** `TIMESTAMP`

Time at which the patient checked in for the appointment

---

**`checked_out_timestamp`** `TIMESTAMP`

Time at which the patient checked out of the appointment. Only set when status is CHECKED_OUT

---

## Organization

**`organization_id`** `STRING`

User's unique organization ID in the Candid system

---

**`organization_name`** `STRING`

User's Organization / Company Name

---

**`external_organization_id`** `STRING`

Organization's External ID - the ID that the organization uses to map to their own upstream system

---

## Appointment

**`deactivated`** `BOOLEAN`

Whether the appointment record has been deactivated

---

**`status`** `STRING`

Status of the appointment

---

**`duration`** `STRING`

Scheduled duration of the appointment

---

**`appointment_type`** `STRING`

Type of appointment

---

**`appointment_reason`** `STRING`

Reason for the appointment

---

**`appointment_note`** `STRING`

Free-text notes on the appointment

---

**`appointment_details`** `STRING`

Additional free-text details on the appointment

---

**`diagnosis_codes`** `STRING`

Comma-separated list of diagnosis codes (e.g. ICD-10-CM) for the reason for the appointment

---

**`procedure_codes`** `STRING`

Comma-separated list of procedure codes (e.g. CPT or HCPCS) for the reason for the appointment

---

**`medical_necessity_verified`** `BOOLEAN`

True if medical necessity for the appointment has been verified

---

**`prior_authorization_status`** `STRING`

Prior authorization status of the appointment: NOT_REQUIRED, REQUIRED, PENDING, APPROVED, PARTIALLY_APPROVED, DENIED, or EXPIRED

---

**`cancellation_reason`** `STRING`

Free-text reason the appointment was cancelled

---

**`placer_system_name`** `STRING`

Name of the upstream system that placed the appointment

---

**`ready_reason`** `STRING`

Reason the appointment was marked READY: REVIEWED_RTE, CHECKED_PAYER_PORTAL, CALLED_PAYER, or PRIOR_APPOINTMENT_READY. Only set when status is READY, CHECKED_IN, CHECKED_OUT, or NO_SHOW

---

## Service Facility

**`location_id`** `STRING`

ID of the appointment's service facility

---

**`service_facility_name`** `STRING`

Name of the appointment's service facility

---

## Attending Provider

**`attending_provider_npi`** `STRING`

NPI of the attending provider

---

**`attending_provider_first_name`** `STRING`

First name of the attending provider

---

**`attending_provider_last_name`** `STRING`

Last name of the attending provider

---

**`attending_provider_name`** `STRING`

Full name of the attending provider in title case

---

## Financial

**`estimated_copay_cents`** `STRING`

Estimated copay for the appointment, in cents

---

**`estimated_patient_responsibility_cents`** `STRING`

Estimated patient responsibility for the appointment, in cents

---

**`patient_deposit_cents`** `STRING`

Patient deposit collected for the appointment, in cents

---