> ## Documentation Index
> Fetch the complete documentation index at: https://docs.morf.health/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Appointment

> Event payload details and trigger documentation for Appointment data from Dr Chrono

<img src="https://mintcdn.com/morfhealth/EU2WCxuXGIUQcziR/images/dr_chrono.svg?fit=max&auto=format&n=EU2WCxuXGIUQcziR&q=85&s=6e7f7a8fd54f1a71e28726861963d11a" alt="images/dr_chrono.svg" width="24" height="24" data-path="images/dr_chrono.svg" />

# Events

## Triggering Webhook Types

The following event types are associated with the Appointment event payload from Dr Chrono.

* `Dr Chrono Appointment Created`
* `Dr Chrono Appointment Updated`
* `Dr Chrono Appointment Deleted`

<RequestExample>
  ```json Example theme={null}
  {
    "allow_overlapping": false,
    "appt_is_break": false,
    "base_recurring_appointment": "123456",
    "billing_notes": [
      {
        "appointment": 123456,
        "created_at": "2024-01-15T10:30:00Z",
        "created_by": "Dr. Smith",
        "id": 789,
        "text": "Patient copay collected"
      }
    ],
    "billing_provider": "Dr. Smith",
    "billing_status": "Bill Insurance",
    "clinical_note": {
      "locked": false,
      "pdf": "https://example.com/notes/12345.pdf",
      "updated_at": "2024-01-15T10:30:00Z"
    },
    "cloned_from": 789,
    "color": "#FF5733",
    "created_at": "2024-01-15T10:30:00Z",
    "created_by": "admin@clinic.com",
    "custom_fields": [
      {
        "created_at": "2024-01-15T10:30:00Z",
        "field_type": 5,
        "field_value": "Custom value",
        "updated_at": "2024-01-15T10:30:00Z"
      }
    ],
    "custom_status": "Waiting for Lab Results",
    "custom_vitals": [
      {
        "value": "120",
        "vital_type": 3
      }
    ],
    "deleted_flag": false,
    "doctor": 12345,
    "duration": 30,
    "exam_room": 3,
    "extended_updated_at": "2024-01-15T10:30:00Z",
    "first_billed_date": "2024-01-16",
    "first_edi_date": "2024-01-16",
    "icd10_codes": [],
    "icd9_codes": [],
    "id": "123456",
    "ins1_status": "Pending",
    "ins2_status": "Not Billed",
    "is_virtual_base": false,
    "is_walk_in": false,
    "last_billed_date": "2024-01-20",
    "last_edi_date": "2024-01-20",
    "notes": "Patient requested early morning slot",
    "office": 100,
    "patient": 54321,
    "payment_profile": "Insurance",
    "primary_insurance_id_number": "INS123456",
    "primary_insurer_name": "Blue Cross Blue Shield",
    "primary_insurer_payer_id": "BCBS001",
    "profile": 10,
    "reason": "Annual checkup",
    "recur_end_date": "2024-12-31",
    "recur_start_date": "2024-01-01",
    "recurring_appointment": false,
    "recurs_every": 2,
    "reminder_profile": "RP001",
    "reminders": [
      {
        "id": 456,
        "scheduled_time": "2024-01-15T09:00:00Z",
        "type": "email"
      }
    ],
    "resubmit_claim_original_id": 999,
    "scheduled_time": "2024-01-15T10:00:00Z",
    "secondary_insurance_id_number": "SEC789",
    "secondary_insurer_name": "Aetna",
    "secondary_insurer_payer_id": "AETNA001",
    "status": "Confirmed",
    "status_transitions": [
      {
        "appointment": "123456",
        "datetime": "2024-01-15T10:30:00Z",
        "from_status": "Confirmed",
        "to_status": "Arrived"
      }
    ],
    "supervising_provider": "Dr. Johnson",
    "updated_at": "2024-01-15T10:30:00Z",
    "vitals": {
      "blood_pressure_1": 120,
      "blood_pressure_2": 80,
      "bmi": "24.5",
      "head_circumference": 35.5,
      "head_circumference_units": "cm",
      "height": 170.5,
      "height_units": "cm",
      "oxygen_saturation": 98.5,
      "pain": "3",
      "pulse": 72,
      "respiratory_rate": 16,
      "smoking_status": "never",
      "temperature": 98.6,
      "temperature_units": "F",
      "weight": 70.5,
      "weight_units": "kg"
    }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Description theme={null}
  {
    "allow_overlapping": "Bypass overlap check",
    "appt_is_break": "Whether the appointment is a break",
    "base_recurring_appointment": "ID of base appointment of a recurring series",
    "billing_notes": {
      "appointment": "ID of the appointment this billing note belongs to",
      "created_at": "Timestamp when the billing note was created",
      "created_by": "User who created the billing note",
      "id": "ID of the billing note",
      "text": "Content of the note"
    },
    "billing_provider": "Billing provider for the appointment",
    "billing_status": "Billing status (e.g., Auto Accident Claim, Balance Due, Bill Insurance, Bill Secondary Insurance, Durable Medical Equipment Claim, Internal Review, Paid In Full, Settled, Worker's Comp Claim)",
    "clinical_note": {
      "locked": "Whether the clinical note is locked",
      "pdf": "URL to the clinical note PDF",
      "updated_at": "Timestamp when the clinical note was last updated"
    },
    "cloned_from": "ID of the original appointment which this appointment cloned from. Null if not cloned.",
    "color": "Color of the appointment",
    "created_at": "Timestamp when the appointment was created",
    "created_by": "User who created the appointment",
    "custom_fields": {
      "created_at": "Timestamp when the custom field was created",
      "field_type": "ID of the custom field type",
      "field_value": "Value of the custom field",
      "updated_at": "Timestamp when the custom field was last updated"
    },
    "custom_status": "Custom appointment status name",
    "custom_vitals": {
      "value": "Value of the custom vital",
      "vital_type": "ID of the custom vital type"
    },
    "deleted_flag": "Whether the appointment is deleted",
    "doctor": "Doctor ID",
    "duration": "Length of the appointment in minutes. Optional if profile is provided.",
    "exam_room": "Index of the exam room that this appointment occurs in",
    "extended_updated_at": "The most recent update time among appointment itself, its vitals and its custom vitals",
    "first_billed_date": "Date the appointment was first billed",
    "first_edi_date": "Date of first EDI submission",
    "icd10_codes": "ICD-10 diagnosis codes",
    "icd9_codes": "ICD-9 diagnosis codes",
    "id": "Unique identifier. Usually numeric, but not always",
    "ins1_status": "Billing status of primary insurer",
    "ins2_status": "Billing status of secondary insurer",
    "is_virtual_base": "Whether this is a virtual base appointment",
    "is_walk_in": "Whether the appointment is a walk-in appointment",
    "last_billed_date": "Date the appointment was last billed",
    "last_edi_date": "Date of last EDI submission",
    "notes": "Appointment notes",
    "office": "Office ID",
    "patient": "ID of this appointment's patient. Breaks have a null patient field.",
    "payment_profile": "Appointment payment profile",
    "primary_insurance_id_number": "Primary insurance ID number",
    "primary_insurer_name": "Primary insurer name",
    "primary_insurer_payer_id": "Primary insurer payer ID",
    "profile": "ID of an appointment profile. Sets default values for color, duration, and reason on creation.",
    "reason": "Reason for the appointment. Default to empty string.",
    "recur_end_date": "For recurring appointments, the end date of the recurring series",
    "recur_start_date": "For recurring appointments, the start date of the recurring series",
    "recurring_appointment": "Whether the appointment is a recurring appointment or not",
    "recurs_every": "For recurring appointments, the number of weeks between recurrences",
    "reminder_profile": "Write-only. ID of a reminder profile to apply to the appointment.",
    "reminders": {
      "id": "ID of the reminder",
      "scheduled_time": "Scheduled time for the reminder",
      "type": "Type of reminder (e.g., email, sms)"
    },
    "resubmit_claim_original_id": "ID of the original claim for resubmission",
    "scheduled_time": "The starting time of the appointment",
    "secondary_insurance_id_number": "Secondary insurance ID number",
    "secondary_insurer_name": "Secondary insurer name",
    "secondary_insurer_payer_id": "Secondary insurer payer ID",
    "status": "Appointment status: Arrived, Checked In, In Room, Cancelled, Complete, Confirmed, In Session, No Show, Not Confirmed, Rescheduled, or a custom status",
    "status_transitions": {
      "appointment": "ID of the appointment",
      "datetime": "Timestamp when the status transition occurred",
      "from_status": "Previous status before the transition",
      "to_status": "New status after the transition"
    },
    "supervising_provider": "Supervising provider of appointment if set",
    "updated_at": "Timestamp when the appointment was last updated",
    "vitals": {
      "blood_pressure_1": "Systolic blood pressure",
      "blood_pressure_2": "Diastolic blood pressure",
      "bmi": "Body Mass Index",
      "head_circumference": "Head circumference measurement",
      "head_circumference_units": "Units for head circumference (e.g., cm, in)",
      "height": "Patient height",
      "height_units": "Units for height (e.g., cm, in)",
      "oxygen_saturation": "Oxygen saturation percentage",
      "pain": "Pain level on 0-10 scale",
      "pulse": "Heart rate in beats per minute",
      "respiratory_rate": "Respiratory rate in breaths per minute",
      "smoking_status": "Patient smoking status",
      "temperature": "Body temperature",
      "temperature_units": "Units for temperature (e.g., F, C)",
      "weight": "Patient weight",
      "weight_units": "Units for weight (e.g., kg, lb)"
    }
  }
  ```
</ResponseExample>

### Payload Field Details

<ResponseField name="Appointment" type="Event Payload">
  <Expandable title="fields" defaultOpen="true">
    <ResponseField name="allow_overlapping" type="bool" required>
      Bypass overlap check

      ```json CEL theme={null}
      allow_overlapping
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="appt_is_break" type="bool" required>
      Whether the appointment is a break

      ```json CEL theme={null}
      appt_is_break
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="base_recurring_appointment" type="string">
      ID of base appointment of a recurring series

      ```json CEL theme={null}
      base_recurring_appointment
      ```

      ```json Example theme={null}
      "123456"
      ```
    </ResponseField>

    <ResponseField name="billing_notes" type="[]object" required>
      Billing notes of the appointment

      ```json CEL theme={null}
      billing_notes
      ```

      ```json Example theme={null}
      [
      {
      "appointment": 123456,
      "created_at": "2024-01-15T10:30:00Z",
      "created_by": "Dr. Smith",
      "id": 789,
      "text": "Patient copay collected"
      }
      ]
      ```
    </ResponseField>

    <ResponseField name="billing_notes.map(x, x.appointment)" type="[]int64" required>
      Mapped array of: ID of the appointment this billing note belongs to

      ```json CEL theme={null}
      billing_notes.map(x, x.appointment)
      ```

      ```json Example theme={null}
      [
      123456
      ]
      ```
    </ResponseField>

    <ResponseField name="billing_notes.map(x, x.created_at)" type="[]timing.v1.Timestamp" required>
      Mapped array of: Timestamp when the billing note was created

      ```json CEL theme={null}
      billing_notes.map(x, x.created_at)
      ```

      ```json Example theme={null}
      [
      "2024-01-15T10:30:00Z"
      ]
      ```
    </ResponseField>

    <ResponseField name="billing_notes.map(x, x.created_by)" type="[]string" required>
      Mapped array of: User who created the billing note

      ```json CEL theme={null}
      billing_notes.map(x, x.created_by)
      ```

      ```json Example theme={null}
      [
      "Dr. Smith"
      ]
      ```
    </ResponseField>

    <ResponseField name="billing_notes.map(x, x.id)" type="[]int64" required>
      Mapped array of: ID of the billing note

      ```json CEL theme={null}
      billing_notes.map(x, x.id)
      ```

      ```json Example theme={null}
      [
      789
      ]
      ```
    </ResponseField>

    <ResponseField name="billing_notes.map(x, x.text)" type="[]string" required>
      Mapped array of: Content of the note

      ```json CEL theme={null}
      billing_notes.map(x, x.text)
      ```

      ```json Example theme={null}
      [
      "Patient copay collected"
      ]
      ```
    </ResponseField>

    <ResponseField name="billing_provider" type="string">
      Billing provider for the appointment

      ```json CEL theme={null}
      billing_provider
      ```

      ```json Example theme={null}
      "Dr. Smith"
      ```
    </ResponseField>

    <ResponseField name="billing_status" type="string">
      Billing status (e.g., Auto Accident Claim, Balance Due, Bill Insurance, Bill Secondary Insurance, Durable Medical Equipment Claim, Internal Review, Paid In Full, Settled, Worker's Comp Claim)

      ```json CEL theme={null}
      billing_status
      ```

      ```json Example theme={null}
      "Bill Insurance"
      ```
    </ResponseField>

    <ResponseField name="clinical_note" type="object" required>
      Associated clinical note object

      ```json CEL theme={null}
      clinical_note
      ```

      ```json Example theme={null}
      {
      "locked": false,
      "pdf": "https://example.com/notes/12345.pdf",
      "updated_at": "2024-01-15T10:30:00Z"
      }
      ```
    </ResponseField>

    <ResponseField name="clinical_note.locked" type="bool" required>
      Whether the clinical note is locked

      ```json CEL theme={null}
      clinical_note.locked
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="clinical_note.pdf" type="string">
      URL to the clinical note PDF

      ```json CEL theme={null}
      clinical_note.pdf
      ```

      ```json Example theme={null}
      "https://example.com/notes/12345.pdf"
      ```
    </ResponseField>

    <ResponseField name="clinical_note.updated_at" type="timing.v1.Timestamp" required>
      Timestamp when the clinical note was last updated

      ```json CEL theme={null}
      clinical_note.updated_at
      ```

      ```json Example theme={null}
      "2024-01-15T10:30:00Z"
      ```
    </ResponseField>

    <ResponseField name="cloned_from" type="int64">
      ID of the original appointment which this appointment cloned from. Null if not cloned.

      ```json CEL theme={null}
      cloned_from
      ```

      ```json Example theme={null}
      789
      ```
    </ResponseField>

    <ResponseField name="color" type="string">
      Color of the appointment

      ```json CEL theme={null}
      color
      ```

      ```json Example theme={null}
      "#FF5733"
      ```
    </ResponseField>

    <ResponseField name="created_at" type="timing.v1.Timestamp" required>
      Timestamp when the appointment was created

      ```json CEL theme={null}
      created_at
      ```

      ```json Example theme={null}
      "2024-01-15T10:30:00Z"
      ```
    </ResponseField>

    <ResponseField name="created_by" type="string">
      User who created the appointment

      ```json CEL theme={null}
      created_by
      ```

      ```json Example theme={null}
      "admin@clinic.com"
      ```
    </ResponseField>

    <ResponseField name="custom_fields" type="[]object" required>
      Custom appointment fields

      ```json CEL theme={null}
      custom_fields
      ```

      ```json Example theme={null}
      [
      {
      "created_at": "2024-01-15T10:30:00Z",
      "field_type": 5,
      "field_value": "Custom value",
      "updated_at": "2024-01-15T10:30:00Z"
      }
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_fields.map(x, x.created_at)" type="[]timing.v1.Timestamp" required>
      Mapped array of: Timestamp when the custom field was created

      ```json CEL theme={null}
      custom_fields.map(x, x.created_at)
      ```

      ```json Example theme={null}
      [
      "2024-01-15T10:30:00Z"
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_fields.map(x, x.field_type)" type="[]int64" required>
      Mapped array of: ID of the custom field type

      ```json CEL theme={null}
      custom_fields.map(x, x.field_type)
      ```

      ```json Example theme={null}
      [
      5
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_fields.map(x, x.field_value)" type="[]string" required>
      Mapped array of: Value of the custom field

      ```json CEL theme={null}
      custom_fields.map(x, x.field_value)
      ```

      ```json Example theme={null}
      [
      "Custom value"
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_fields.map(x, x.updated_at)" type="[]timing.v1.Timestamp" required>
      Mapped array of: Timestamp when the custom field was last updated

      ```json CEL theme={null}
      custom_fields.map(x, x.updated_at)
      ```

      ```json Example theme={null}
      [
      "2024-01-15T10:30:00Z"
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_status" type="string">
      Custom appointment status name

      ```json CEL theme={null}
      custom_status
      ```

      ```json Example theme={null}
      "Waiting for Lab Results"
      ```
    </ResponseField>

    <ResponseField name="custom_vitals" type="[]object" required>
      Custom vitals associated with this appointment

      ```json CEL theme={null}
      custom_vitals
      ```

      ```json Example theme={null}
      [
      {
      "value": "120",
      "vital_type": 3
      }
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_vitals.map(x, x.value)" type="[]string" required>
      Mapped array of: Value of the custom vital

      ```json CEL theme={null}
      custom_vitals.map(x, x.value)
      ```

      ```json Example theme={null}
      [
      "120"
      ]
      ```
    </ResponseField>

    <ResponseField name="custom_vitals.map(x, x.vital_type)" type="[]int64" required>
      Mapped array of: ID of the custom vital type

      ```json CEL theme={null}
      custom_vitals.map(x, x.vital_type)
      ```

      ```json Example theme={null}
      [
      3
      ]
      ```
    </ResponseField>

    <ResponseField name="deleted_flag" type="bool" required>
      Whether the appointment is deleted

      ```json CEL theme={null}
      deleted_flag
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="doctor" type="int64" required>
      Doctor ID

      ```json CEL theme={null}
      doctor
      ```

      ```json Example theme={null}
      12345
      ```
    </ResponseField>

    <ResponseField name="duration" type="int64">
      Length of the appointment in minutes. Optional if profile is provided.

      ```json CEL theme={null}
      duration
      ```

      ```json Example theme={null}
      30
      ```
    </ResponseField>

    <ResponseField name="exam_room" type="int64" required>
      Index of the exam room that this appointment occurs in

      ```json CEL theme={null}
      exam_room
      ```

      ```json Example theme={null}
      3
      ```
    </ResponseField>

    <ResponseField name="extended_updated_at" type="timing.v1.Timestamp" required>
      The most recent update time among appointment itself, its vitals and its custom vitals

      ```json CEL theme={null}
      extended_updated_at
      ```

      ```json Example theme={null}
      "2024-01-15T10:30:00Z"
      ```
    </ResponseField>

    <ResponseField name="first_billed_date" type="timing.v1.Timestamp">
      Date the appointment was first billed

      ```json CEL theme={null}
      first_billed_date
      ```

      ```json Example theme={null}
      "2024-01-16"
      ```
    </ResponseField>

    <ResponseField name="first_edi_date" type="timing.v1.Timestamp">
      Date of first EDI submission

      ```json CEL theme={null}
      first_edi_date
      ```

      ```json Example theme={null}
      "2024-01-16"
      ```
    </ResponseField>

    <ResponseField name="icd10_codes" type="[]string" required>
      ICD-10 diagnosis codes

      ```json CEL theme={null}
      icd10_codes
      ```

      ```json Example theme={null}
      []
      ```
    </ResponseField>

    <ResponseField name="icd9_codes" type="[]string" required>
      ICD-9 diagnosis codes

      ```json CEL theme={null}
      icd9_codes
      ```

      ```json Example theme={null}
      []
      ```
    </ResponseField>

    <ResponseField name="id" type="string">
      Unique identifier. Usually numeric, but not always

      ```json CEL theme={null}
      id
      ```

      ```json Example theme={null}
      "123456"
      ```
    </ResponseField>

    <ResponseField name="ins1_status" type="string">
      Billing status of primary insurer

      ```json CEL theme={null}
      ins1_status
      ```

      ```json Example theme={null}
      "Pending"
      ```
    </ResponseField>

    <ResponseField name="ins2_status" type="string">
      Billing status of secondary insurer

      ```json CEL theme={null}
      ins2_status
      ```

      ```json Example theme={null}
      "Not Billed"
      ```
    </ResponseField>

    <ResponseField name="is_virtual_base" type="bool" required>
      Whether this is a virtual base appointment

      ```json CEL theme={null}
      is_virtual_base
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="is_walk_in" type="bool" required>
      Whether the appointment is a walk-in appointment

      ```json CEL theme={null}
      is_walk_in
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="last_billed_date" type="timing.v1.Timestamp">
      Date the appointment was last billed

      ```json CEL theme={null}
      last_billed_date
      ```

      ```json Example theme={null}
      "2024-01-20"
      ```
    </ResponseField>

    <ResponseField name="last_edi_date" type="timing.v1.Timestamp">
      Date of last EDI submission

      ```json CEL theme={null}
      last_edi_date
      ```

      ```json Example theme={null}
      "2024-01-20"
      ```
    </ResponseField>

    <ResponseField name="notes" type="string">
      Appointment notes

      ```json CEL theme={null}
      notes
      ```

      ```json Example theme={null}
      "Patient requested early morning slot"
      ```
    </ResponseField>

    <ResponseField name="office" type="int64" required>
      Office ID

      ```json CEL theme={null}
      office
      ```

      ```json Example theme={null}
      100
      ```
    </ResponseField>

    <ResponseField name="patient" type="int64" required>
      ID of this appointment's patient. Breaks have a null patient field.

      ```json CEL theme={null}
      patient
      ```

      ```json Example theme={null}
      54321
      ```
    </ResponseField>

    <ResponseField name="payment_profile" type="string">
      Appointment payment profile

      ```json CEL theme={null}
      payment_profile
      ```

      ```json Example theme={null}
      "Insurance"
      ```
    </ResponseField>

    <ResponseField name="primary_insurance_id_number" type="string">
      Primary insurance ID number

      ```json CEL theme={null}
      primary_insurance_id_number
      ```

      ```json Example theme={null}
      "INS123456"
      ```
    </ResponseField>

    <ResponseField name="primary_insurer_name" type="string">
      Primary insurer name

      ```json CEL theme={null}
      primary_insurer_name
      ```

      ```json Example theme={null}
      "Blue Cross Blue Shield"
      ```
    </ResponseField>

    <ResponseField name="primary_insurer_payer_id" type="string">
      Primary insurer payer ID

      ```json CEL theme={null}
      primary_insurer_payer_id
      ```

      ```json Example theme={null}
      "BCBS001"
      ```
    </ResponseField>

    <ResponseField name="profile" type="int64">
      ID of an appointment profile. Sets default values for color, duration, and reason on creation.

      ```json CEL theme={null}
      profile
      ```

      ```json Example theme={null}
      10
      ```
    </ResponseField>

    <ResponseField name="reason" type="string">
      Reason for the appointment. Default to empty string.

      ```json CEL theme={null}
      reason
      ```

      ```json Example theme={null}
      "Annual checkup"
      ```
    </ResponseField>

    <ResponseField name="recur_end_date" type="values.v1.Date">
      For recurring appointments, the end date of the recurring series

      ```json CEL theme={null}
      recur_end_date
      ```

      ```json Example theme={null}
      "2024-12-31"
      ```
    </ResponseField>

    <ResponseField name="recur_start_date" type="values.v1.Date">
      For recurring appointments, the start date of the recurring series

      ```json CEL theme={null}
      recur_start_date
      ```

      ```json Example theme={null}
      "2024-01-01"
      ```
    </ResponseField>

    <ResponseField name="recurring_appointment" type="bool" required>
      Whether the appointment is a recurring appointment or not

      ```json CEL theme={null}
      recurring_appointment
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="recurs_every" type="int64">
      For recurring appointments, the number of weeks between recurrences

      ```json CEL theme={null}
      recurs_every
      ```

      ```json Example theme={null}
      2
      ```
    </ResponseField>

    <ResponseField name="reminder_profile" type="string">
      Write-only. ID of a reminder profile to apply to the appointment.

      ```json CEL theme={null}
      reminder_profile
      ```

      ```json Example theme={null}
      "RP001"
      ```
    </ResponseField>

    <ResponseField name="reminders" type="[]object" required>
      Scheduled reminders of the appointment

      ```json CEL theme={null}
      reminders
      ```

      ```json Example theme={null}
      [
      {
      "id": 456,
      "scheduled_time": "2024-01-15T09:00:00Z",
      "type": "email"
      }
      ]
      ```
    </ResponseField>

    <ResponseField name="reminders.map(x, x.id)" type="[]int64" required>
      Mapped array of: ID of the reminder

      ```json CEL theme={null}
      reminders.map(x, x.id)
      ```

      ```json Example theme={null}
      [
      456
      ]
      ```
    </ResponseField>

    <ResponseField name="reminders.map(x, x.scheduled_time)" type="[]timing.v1.Timestamp" required>
      Mapped array of: Scheduled time for the reminder

      ```json CEL theme={null}
      reminders.map(x, x.scheduled_time)
      ```

      ```json Example theme={null}
      [
      "2024-01-15T09:00:00Z"
      ]
      ```
    </ResponseField>

    <ResponseField name="reminders.map(x, x.type)" type="[]string" required>
      Mapped array of: Type of reminder (e.g., email, sms)

      ```json CEL theme={null}
      reminders.map(x, x.type)
      ```

      ```json Example theme={null}
      [
      "email"
      ]
      ```
    </ResponseField>

    <ResponseField name="resubmit_claim_original_id" type="int64">
      ID of the original claim for resubmission

      ```json CEL theme={null}
      resubmit_claim_original_id
      ```

      ```json Example theme={null}
      999
      ```
    </ResponseField>

    <ResponseField name="scheduled_time" type="timing.v1.Timestamp" required>
      The starting time of the appointment

      ```json CEL theme={null}
      scheduled_time
      ```

      ```json Example theme={null}
      "2024-01-15T10:00:00Z"
      ```
    </ResponseField>

    <ResponseField name="secondary_insurance_id_number" type="string">
      Secondary insurance ID number

      ```json CEL theme={null}
      secondary_insurance_id_number
      ```

      ```json Example theme={null}
      "SEC789"
      ```
    </ResponseField>

    <ResponseField name="secondary_insurer_name" type="string">
      Secondary insurer name

      ```json CEL theme={null}
      secondary_insurer_name
      ```

      ```json Example theme={null}
      "Aetna"
      ```
    </ResponseField>

    <ResponseField name="secondary_insurer_payer_id" type="string">
      Secondary insurer payer ID

      ```json CEL theme={null}
      secondary_insurer_payer_id
      ```

      ```json Example theme={null}
      "AETNA001"
      ```
    </ResponseField>

    <ResponseField name="status" type="drchrono.v1.AppointmentStatus">
      Appointment status: Arrived, Checked In, In Room, Cancelled, Complete, Confirmed, In Session, No Show, Not Confirmed, Rescheduled, or a custom status

      ```json CEL theme={null}
      status
      ```

      ```json Example theme={null}
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_ARRIVED
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_CANCELLED
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_CHECKED_IN
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_CHECKED_IN_ONLINE
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_COMPLETE
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_CONFIRMED
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_EMPTY
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_IN_ROOM
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_IN_SESSION
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_NO_SHOW
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_NOT_CONFIRMED
      drchrono.v1.AppointmentStatus.APPOINTMENT_STATUS_RESCHEDULED
      ```
    </ResponseField>

    <ResponseField name="status_transitions" type="[]object" required>
      Status transition history

      ```json CEL theme={null}
      status_transitions
      ```

      ```json Example theme={null}
      [
      {
      "appointment": "123456",
      "datetime": "2024-01-15T10:30:00Z",
      "from_status": "Confirmed",
      "to_status": "Arrived"
      }
      ]
      ```
    </ResponseField>

    <ResponseField name="status_transitions.map(x, x.appointment)" type="[]string" required>
      Mapped array of: ID of the appointment

      ```json CEL theme={null}
      status_transitions.map(x, x.appointment)
      ```

      ```json Example theme={null}
      [
      "123456"
      ]
      ```
    </ResponseField>

    <ResponseField name="status_transitions.map(x, x.datetime)" type="[]timing.v1.Timestamp" required>
      Mapped array of: Timestamp when the status transition occurred

      ```json CEL theme={null}
      status_transitions.map(x, x.datetime)
      ```

      ```json Example theme={null}
      [
      "2024-01-15T10:30:00Z"
      ]
      ```
    </ResponseField>

    <ResponseField name="status_transitions.map(x, x.from_status)" type="[]string" required>
      Mapped array of: Previous status before the transition

      ```json CEL theme={null}
      status_transitions.map(x, x.from_status)
      ```

      ```json Example theme={null}
      [
      "Confirmed"
      ]
      ```
    </ResponseField>

    <ResponseField name="status_transitions.map(x, x.to_status)" type="[]string" required>
      Mapped array of: New status after the transition

      ```json CEL theme={null}
      status_transitions.map(x, x.to_status)
      ```

      ```json Example theme={null}
      [
      "Arrived"
      ]
      ```
    </ResponseField>

    <ResponseField name="supervising_provider" type="string">
      Supervising provider of appointment if set

      ```json CEL theme={null}
      supervising_provider
      ```

      ```json Example theme={null}
      "Dr. Johnson"
      ```
    </ResponseField>

    <ResponseField name="updated_at" type="timing.v1.Timestamp" required>
      Timestamp when the appointment was last updated

      ```json CEL theme={null}
      updated_at
      ```

      ```json Example theme={null}
      "2024-01-15T10:30:00Z"
      ```
    </ResponseField>

    <ResponseField name="vitals" type="object" required>
      Clinical vitals associated with the appointment

      ```json CEL theme={null}
      vitals
      ```

      ```json Example theme={null}
      {
      "blood_pressure_1": 120,
      "blood_pressure_2": 80,
      "bmi": "24.5",
      "head_circumference": 35.5,
      "head_circumference_units": "cm",
      "height": 170.5,
      "height_units": "cm",
      "oxygen_saturation": 98.5,
      "pain": "3",
      "pulse": 72,
      "respiratory_rate": 16,
      "smoking_status": "never",
      "temperature": 98.6,
      "temperature_units": "F",
      "weight": 70.5,
      "weight_units": "kg"
      }
      ```
    </ResponseField>

    <ResponseField name="vitals.blood_pressure_1" type="int64">
      Systolic blood pressure

      ```json CEL theme={null}
      vitals.blood_pressure_1
      ```

      ```json Example theme={null}
      120
      ```
    </ResponseField>

    <ResponseField name="vitals.blood_pressure_2" type="int64">
      Diastolic blood pressure

      ```json CEL theme={null}
      vitals.blood_pressure_2
      ```

      ```json Example theme={null}
      80
      ```
    </ResponseField>

    <ResponseField name="vitals.bmi" type="string">
      Body Mass Index

      ```json CEL theme={null}
      vitals.bmi
      ```

      ```json Example theme={null}
      "24.5"
      ```
    </ResponseField>

    <ResponseField name="vitals.head_circumference" type="float64 (double)">
      Head circumference measurement

      ```json CEL theme={null}
      vitals.head_circumference
      ```

      ```json Example theme={null}
      35.5
      ```
    </ResponseField>

    <ResponseField name="vitals.head_circumference_units" type="string">
      Units for head circumference (e.g., cm, in)

      ```json CEL theme={null}
      vitals.head_circumference_units
      ```

      ```json Example theme={null}
      "cm"
      ```
    </ResponseField>

    <ResponseField name="vitals.height" type="float64 (double)">
      Patient height

      ```json CEL theme={null}
      vitals.height
      ```

      ```json Example theme={null}
      170.5
      ```
    </ResponseField>

    <ResponseField name="vitals.height_units" type="string">
      Units for height (e.g., cm, in)

      ```json CEL theme={null}
      vitals.height_units
      ```

      ```json Example theme={null}
      "cm"
      ```
    </ResponseField>

    <ResponseField name="vitals.oxygen_saturation" type="float64 (double)">
      Oxygen saturation percentage

      ```json CEL theme={null}
      vitals.oxygen_saturation
      ```

      ```json Example theme={null}
      98.5
      ```
    </ResponseField>

    <ResponseField name="vitals.pain" type="string">
      Pain level on 0-10 scale

      ```json CEL theme={null}
      vitals.pain
      ```

      ```json Example theme={null}
      "3"
      ```
    </ResponseField>

    <ResponseField name="vitals.pulse" type="int64">
      Heart rate in beats per minute

      ```json CEL theme={null}
      vitals.pulse
      ```

      ```json Example theme={null}
      72
      ```
    </ResponseField>

    <ResponseField name="vitals.respiratory_rate" type="int64">
      Respiratory rate in breaths per minute

      ```json CEL theme={null}
      vitals.respiratory_rate
      ```

      ```json Example theme={null}
      16
      ```
    </ResponseField>

    <ResponseField name="vitals.smoking_status" type="string">
      Patient smoking status

      ```json CEL theme={null}
      vitals.smoking_status
      ```

      ```json Example theme={null}
      "never"
      ```
    </ResponseField>

    <ResponseField name="vitals.temperature" type="float64 (double)">
      Body temperature

      ```json CEL theme={null}
      vitals.temperature
      ```

      ```json Example theme={null}
      98.6
      ```
    </ResponseField>

    <ResponseField name="vitals.temperature_units" type="string">
      Units for temperature (e.g., F, C)

      ```json CEL theme={null}
      vitals.temperature_units
      ```

      ```json Example theme={null}
      "F"
      ```
    </ResponseField>

    <ResponseField name="vitals.weight" type="float64 (double)">
      Patient weight

      ```json CEL theme={null}
      vitals.weight
      ```

      ```json Example theme={null}
      70.5
      ```
    </ResponseField>

    <ResponseField name="vitals.weight_units" type="string">
      Units for weight (e.g., kg, lb)

      ```json CEL theme={null}
      vitals.weight_units
      ```

      ```json Example theme={null}
      "kg"
      ```
    </ResponseField>
  </Expandable>
</ResponseField>
