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.
Events
Triggering Webhook Types
The following event types are associated with the Appointment event payload from Dr Chrono.Dr Chrono Appointment CreatedDr Chrono Appointment UpdatedDr Chrono Appointment Deleted
{
"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"
}
}
{
"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)"
}
}
Payload Field Details
Hide fields
Hide fields
Bypass overlap check
CEL
allow_overlapping
Example
false
Whether the appointment is a break
CEL
appt_is_break
Example
false
ID of base appointment of a recurring series
CEL
base_recurring_appointment
Example
"123456"
Billing notes of the appointment
CEL
billing_notes
Example
[
{
"appointment": 123456,
"created_at": "2024-01-15T10:30:00Z",
"created_by": "Dr. Smith",
"id": 789,
"text": "Patient copay collected"
}
]
Mapped array of: ID of the appointment this billing note belongs to
CEL
billing_notes.map(x, x.appointment)
Example
[
123456
]
Mapped array of: Timestamp when the billing note was created
CEL
billing_notes.map(x, x.created_at)
Example
[
"2024-01-15T10:30:00Z"
]
Mapped array of: User who created the billing note
CEL
billing_notes.map(x, x.created_by)
Example
[
"Dr. Smith"
]
Mapped array of: ID of the billing note
CEL
billing_notes.map(x, x.id)
Example
[
789
]
Mapped array of: Content of the note
CEL
billing_notes.map(x, x.text)
Example
[
"Patient copay collected"
]
Billing provider for the appointment
CEL
billing_provider
Example
"Dr. Smith"
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)
CEL
billing_status
Example
"Bill Insurance"
Associated clinical note object
CEL
clinical_note
Example
{
"locked": false,
"pdf": "https://example.com/notes/12345.pdf",
"updated_at": "2024-01-15T10:30:00Z"
}
Whether the clinical note is locked
CEL
clinical_note.locked
Example
false
URL to the clinical note PDF
CEL
clinical_note.pdf
Example
"https://example.com/notes/12345.pdf"
Timestamp when the clinical note was last updated
CEL
clinical_note.updated_at
Example
"2024-01-15T10:30:00Z"
ID of the original appointment which this appointment cloned from. Null if not cloned.
CEL
cloned_from
Example
789
Color of the appointment
CEL
color
Example
"#FF5733"
Timestamp when the appointment was created
CEL
created_at
Example
"2024-01-15T10:30:00Z"
User who created the appointment
CEL
created_by
Example
"admin@clinic.com"
Custom appointment fields
CEL
custom_fields
Example
[
{
"created_at": "2024-01-15T10:30:00Z",
"field_type": 5,
"field_value": "Custom value",
"updated_at": "2024-01-15T10:30:00Z"
}
]
Mapped array of: Timestamp when the custom field was created
CEL
custom_fields.map(x, x.created_at)
Example
[
"2024-01-15T10:30:00Z"
]
Mapped array of: ID of the custom field type
CEL
custom_fields.map(x, x.field_type)
Example
[
5
]
Mapped array of: Value of the custom field
CEL
custom_fields.map(x, x.field_value)
Example
[
"Custom value"
]
Mapped array of: Timestamp when the custom field was last updated
CEL
custom_fields.map(x, x.updated_at)
Example
[
"2024-01-15T10:30:00Z"
]
Custom appointment status name
CEL
custom_status
Example
"Waiting for Lab Results"
Custom vitals associated with this appointment
CEL
custom_vitals
Example
[
{
"value": "120",
"vital_type": 3
}
]
Mapped array of: Value of the custom vital
CEL
custom_vitals.map(x, x.value)
Example
[
"120"
]
Mapped array of: ID of the custom vital type
CEL
custom_vitals.map(x, x.vital_type)
Example
[
3
]
Whether the appointment is deleted
CEL
deleted_flag
Example
false
Doctor ID
CEL
doctor
Example
12345
Length of the appointment in minutes. Optional if profile is provided.
CEL
duration
Example
30
Index of the exam room that this appointment occurs in
CEL
exam_room
Example
3
The most recent update time among appointment itself, its vitals and its custom vitals
CEL
extended_updated_at
Example
"2024-01-15T10:30:00Z"
Date the appointment was first billed
CEL
first_billed_date
Example
"2024-01-16"
Date of first EDI submission
CEL
first_edi_date
Example
"2024-01-16"
ICD-10 diagnosis codes
CEL
icd10_codes
Example
[]
ICD-9 diagnosis codes
CEL
icd9_codes
Example
[]
Unique identifier. Usually numeric, but not always
CEL
id
Example
"123456"
Billing status of primary insurer
CEL
ins1_status
Example
"Pending"
Billing status of secondary insurer
CEL
ins2_status
Example
"Not Billed"
Whether this is a virtual base appointment
CEL
is_virtual_base
Example
false
Whether the appointment is a walk-in appointment
CEL
is_walk_in
Example
false
Date the appointment was last billed
CEL
last_billed_date
Example
"2024-01-20"
Date of last EDI submission
CEL
last_edi_date
Example
"2024-01-20"
Appointment notes
CEL
notes
Example
"Patient requested early morning slot"
Office ID
CEL
office
Example
100
ID of this appointment’s patient. Breaks have a null patient field.
CEL
patient
Example
54321
Appointment payment profile
CEL
payment_profile
Example
"Insurance"
Primary insurance ID number
CEL
primary_insurance_id_number
Example
"INS123456"
Primary insurer name
CEL
primary_insurer_name
Example
"Blue Cross Blue Shield"
Primary insurer payer ID
CEL
primary_insurer_payer_id
Example
"BCBS001"
ID of an appointment profile. Sets default values for color, duration, and reason on creation.
CEL
profile
Example
10
Reason for the appointment. Default to empty string.
CEL
reason
Example
"Annual checkup"
For recurring appointments, the end date of the recurring series
CEL
recur_end_date
Example
"2024-12-31"
For recurring appointments, the start date of the recurring series
CEL
recur_start_date
Example
"2024-01-01"
Whether the appointment is a recurring appointment or not
CEL
recurring_appointment
Example
false
For recurring appointments, the number of weeks between recurrences
CEL
recurs_every
Example
2
Write-only. ID of a reminder profile to apply to the appointment.
CEL
reminder_profile
Example
"RP001"
Scheduled reminders of the appointment
CEL
reminders
Example
[
{
"id": 456,
"scheduled_time": "2024-01-15T09:00:00Z",
"type": "email"
}
]
Mapped array of: ID of the reminder
CEL
reminders.map(x, x.id)
Example
[
456
]
Mapped array of: Scheduled time for the reminder
CEL
reminders.map(x, x.scheduled_time)
Example
[
"2024-01-15T09:00:00Z"
]
Mapped array of: Type of reminder (e.g., email, sms)
CEL
reminders.map(x, x.type)
Example
[
"email"
]
ID of the original claim for resubmission
CEL
resubmit_claim_original_id
Example
999
The starting time of the appointment
CEL
scheduled_time
Example
"2024-01-15T10:00:00Z"
Secondary insurance ID number
CEL
secondary_insurance_id_number
Example
"SEC789"
Secondary insurer name
CEL
secondary_insurer_name
Example
"Aetna"
Secondary insurer payer ID
CEL
secondary_insurer_payer_id
Example
"AETNA001"
Appointment status: Arrived, Checked In, In Room, Cancelled, Complete, Confirmed, In Session, No Show, Not Confirmed, Rescheduled, or a custom status
CEL
status
Example
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
Status transition history
CEL
status_transitions
Example
[
{
"appointment": "123456",
"datetime": "2024-01-15T10:30:00Z",
"from_status": "Confirmed",
"to_status": "Arrived"
}
]
Mapped array of: ID of the appointment
CEL
status_transitions.map(x, x.appointment)
Example
[
"123456"
]
Mapped array of: Timestamp when the status transition occurred
CEL
status_transitions.map(x, x.datetime)
Example
[
"2024-01-15T10:30:00Z"
]
Mapped array of: Previous status before the transition
CEL
status_transitions.map(x, x.from_status)
Example
[
"Confirmed"
]
Mapped array of: New status after the transition
CEL
status_transitions.map(x, x.to_status)
Example
[
"Arrived"
]
Supervising provider of appointment if set
CEL
supervising_provider
Example
"Dr. Johnson"
Timestamp when the appointment was last updated
CEL
updated_at
Example
"2024-01-15T10:30:00Z"
Clinical vitals associated with the appointment
CEL
vitals
Example
{
"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"
}
Systolic blood pressure
CEL
vitals.blood_pressure_1
Example
120
Diastolic blood pressure
CEL
vitals.blood_pressure_2
Example
80
Body Mass Index
CEL
vitals.bmi
Example
"24.5"
Head circumference measurement
CEL
vitals.head_circumference
Example
35.5
Units for head circumference (e.g., cm, in)
CEL
vitals.head_circumference_units
Example
"cm"
Patient height
CEL
vitals.height
Example
170.5
Units for height (e.g., cm, in)
CEL
vitals.height_units
Example
"cm"
Oxygen saturation percentage
CEL
vitals.oxygen_saturation
Example
98.5
Pain level on 0-10 scale
CEL
vitals.pain
Example
"3"
Heart rate in beats per minute
CEL
vitals.pulse
Example
72
Respiratory rate in breaths per minute
CEL
vitals.respiratory_rate
Example
16
Patient smoking status
CEL
vitals.smoking_status
Example
"never"
Body temperature
CEL
vitals.temperature
Example
98.6
Units for temperature (e.g., F, C)
CEL
vitals.temperature_units
Example
"F"
Patient weight
CEL
vitals.weight
Example
70.5
Units for weight (e.g., kg, lb)
CEL
vitals.weight_units
Example
"kg"
