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