Webhook Subscriptions
Currently supported subscriptions
resource_type | event | description |
---|---|---|
Appointment | appointment_insertion | Fires upon acomplete or failed response when inserting an appointment into the health record system. |
Appointment | appointment_created | Fires when NexHealth detects a new appointment in the health record system. |
Appointment | appointment_updated | Fires when NexHealth detects a change to an appointment object in the health record system. |
Appointment | appointment_requested | Fires when NexHealth detects a new appointment has been requested but not (yet) inserted into the health record system. This is only for offices using the NexHealth webapp without an integrated health record system. |
FormRequest | form_request_completed | Fires when a patient submits a completed form. |
FormResponse | form_response_insertion | Fires upon a complete or failed response when inserting a form into the health record system. |
Document | document_insertion | Fires upon a complete or failed response when inserting a document into the health record system. |
Patient | patient_created | Fires when NexHealth detects a new patient has been created in the health record system. |
Patient | patient_updated | Fires when NexHealth detects a change to a patient object. |
PatientInsuranceCoverage | patient_insurance_created | Fires when patient insurance is created. |
PatientInsuranceCoverage | patient_insurance_updated | Fires when patient insurance is updated. |
Procedure | procedure_created | Fires when NexHealth detects a new procedure has been created in the health record system. |
Procedure | procedure_updated | Fires when NexHealth detects a change to a procedure object in the health record system (ex: status from scheduled to completed or inactive). |
SyncStatus | sync_status_read_change | Fires when an integration's read functionality status changes from red to green (in other words, when reads functionality comes back online). <r><r>Currently, the webhook does not trigger from green to red . Instead, we recommend using the read_status_at field from the sync status endpoint response to determine the last successful read timestamp. Keep in mind that outside business hours—especially on weekends and holidays—the read_status_at value may show a delay of several hours or days. |
SyncStatus | sync_status_write_change | Fires when an integration's write status changes from red to green (in other words, when writes functionality comes back online). <r><r>Currently, the webhook does not trigger from green to red . Instead, we recommend using the write_status_at field from the sync status endpoint response to determine the last successful write timestamp. Keep in mind that outside business hours—especially on weekends and holidays—the write_status_at value may show a delay of several hours or days. |
You can find example payloads for each subscription below.
Appointment
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Appointment",
"event_name": "appointment_insertion.complete",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"appointment": {
"id": 1822,
"patient_id": 2897,
"provider_id": 104,
"provider_name": "Dr. John Smith",
"start_time": "2020-06-05T20:16:57.007Z",
"confirmed": true,
"patient_missed": false,
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"note": "Patient has been having a cough for 3 days",
"end_time": "2020-06-05T20:16:57.007Z",
"unavailable": false,
"cancelled": false,
"timezone": "America/New_York",
"institution_id": 1,
"appointment_type_id": 0,
"checkin_at": null,
"location_id": 1,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"misc": {
"is_booked_on_nexhealth": true
},
"last_sync_time": "2020-06-05T20:16:57.007Z",
"patient_confirmed": 0,
"created_by_user_id": 197,
"is_guardian": false,
"patient_confirmed_at": null,
"cancelled_at": null,
"is_new_clients_patient": false,
"confirmed_at": null,
"sooner_if_possible": null,
"operatory_id": 181,
"deleted": false,
"checked_out": false,
"checked_out_at": null,
"referrer": "http://mypractice.com/book",
"is_past_patient": true,
"timezone_offset": "-4:00"
}
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Appointment",
"event_name": "appointment_created",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"appointments": [
{
"id": 1822,
"patient_id": 2897,
"provider_id": 104,
"provider_name": "Dr. John Smith",
"start_time": "2020-06-05T20:16:57.007Z",
"confirmed": true,
"patient_missed": false,
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"note": "Patient has been having a cough for 3 days",
"end_time": "2020-06-05T20:16:57.007Z",
"unavailable": false,
"cancelled": false,
"timezone": "America/New_York",
"institution_id": 1,
"appointment_type_id": 0,
"checkin_at": null,
"location_id": 1,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"misc": {
"is_booked_on_nexhealth": true
},
"last_sync_time": "2020-06-05T20:16:57.007Z",
"patient_confirmed": 0,
"created_by_user_id": 197,
"is_guardian": false,
"patient_confirmed_at": null,
"cancelled_at": null,
"is_new_clients_patient": false,
"confirmed_at": null,
"sooner_if_possible": null,
"operatory_id": 181,
"deleted": false,
"checked_out": false,
"checked_out_at": null,
"referrer": "http://mypractice.com/book",
"is_past_patient": true,
"timezone_offset": "-4:00",
"patient": {
"id": 415,
"email": "[email protected]",
"first_name": "John",
"middle_name": "Anthony",
"last_name": "Smith",
"name": "John Smith",
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"institution_id": null,
"foreign_id": null,
"foreign_id_type": "--DataSource-",
"bio": {
"city": "New York",
"state": "NY",
"gender": "Female",
"zip_code": "20814",
"new_patient": false,
"non_patient": true,
"phone_number": "5163042196",
"date_of_birth": "1964-05-03",
"address_line_1": "",
"address_line_2": "",
"street_address": "",
"cell_phone_number": "",
"home_phone_number": "",
"work_phone_number": ""
},
"inactive": false,
"last_sync_time": null,
"guarantor_id": null,
"unsubscribe_sms": true,
"balance": {
"amount": "62.00",
"currency": "USD"
},
"billing_type": "Standard Billing - finance charges",
"chart_id": "017407",
"preferred_language": "es",
"preferred_locale": "es",
"location_ids": [
101,
102,
103
]
},
"descriptors": [
{
"id": 1822,
"descriptor_type": "Procedure Code",
"name": "Emr Descriptor Name",
"code": "Emr Descriptor Code",
"location_id": 13,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"data": {},
"active": true,
"last_sync_time": "2021-05-21T16:23:03.046Z",
"created_at": "2021-05-21T16:23:03.046Z",
"updated_at": "2021-05-21T16:23:03.046Z"
}
]
}
]
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Appointment",
"event_name": "appointment_updated",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"appointment": {
"id": 1822,
"patient_id": 2897,
"provider_id": 104,
"provider_name": "Dr. John Smith",
"start_time": "2020-06-05T20:16:57.007Z",
"confirmed": true,
"patient_missed": false,
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"note": "Patient has been having a cough for 3 days",
"end_time": "2020-06-05T20:16:57.007Z",
"unavailable": false,
"cancelled": false,
"timezone": "America/New_York",
"institution_id": 1,
"appointment_type_id": 0,
"checkin_at": null,
"location_id": 1,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"misc": {
"is_booked_on_nexhealth": true
},
"last_sync_time": "2020-06-05T20:16:57.007Z",
"patient_confirmed": 0,
"created_by_user_id": 197,
"is_guardian": false,
"patient_confirmed_at": null,
"cancelled_at": null,
"is_new_clients_patient": false,
"confirmed_at": null,
"sooner_if_possible": null,
"operatory_id": 181,
"deleted": false,
"checked_out": false,
"checked_out_at": null,
"referrer": "http://mypractice.com/book",
"is_past_patient": true,
"timezone_offset": "-4:00",
"patient": {
"id": 415,
"email": "[email protected]",
"first_name": "John",
"middle_name": "Anthony",
"last_name": "Smith",
"name": "John Smith",
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"institution_id": null,
"foreign_id": null,
"foreign_id_type": "--DataSource-",
"bio": {
"city": "New York",
"state": "NY",
"gender": "Female",
"zip_code": "20814",
"new_patient": false,
"non_patient": true,
"phone_number": "5163042196",
"date_of_birth": "1964-05-03",
"address_line_1": "",
"address_line_2": "",
"street_address": "",
"cell_phone_number": "",
"home_phone_number": "",
"work_phone_number": ""
},
"inactive": false,
"last_sync_time": null,
"guarantor_id": null,
"unsubscribe_sms": true,
"balance": {
"amount": "62.00",
"currency": "USD"
},
"billing_type": "Standard Billing - finance charges",
"chart_id": "017407",
"preferred_language": "es",
"preferred_locale": "es",
"location_ids": [
101,
102,
103
]
},
"descriptors": [
{
"id": 1822,
"descriptor_type": "Procedure Code",
"name": "Emr Descriptor Name",
"code": "Emr Descriptor Code",
"location_id": 13,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"data": {},
"active": true,
"last_sync_time": "2021-05-21T16:23:03.046Z",
"created_at": "2021-05-21T16:23:03.046Z",
"updated_at": "2021-05-21T16:23:03.046Z"
}
]
},
"previous_attributes": {
"confirmed": false,
"created_at": null
}
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Appointment",
"event_name": "appointment_requested",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"appointments": [
{
"id": 1822,
"patient_id": 2897,
"provider_id": 104,
"provider_name": "Dr. John Smith",
"start_time": "2020-06-05T20:16:57.007Z",
"confirmed": true,
"patient_missed": false,
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"note": "Patient has been having a cough for 3 days",
"end_time": "2020-06-05T20:16:57.007Z",
"unavailable": false,
"cancelled": false,
"timezone": "America/New_York",
"institution_id": 1,
"appointment_type_id": 0,
"checkin_at": null,
"location_id": 1,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"misc": {
"is_booked_on_nexhealth": true
},
"last_sync_time": "2020-06-05T20:16:57.007Z",
"patient_confirmed": 0,
"created_by_user_id": 197,
"is_guardian": false,
"patient_confirmed_at": null,
"cancelled_at": null,
"is_new_clients_patient": false,
"confirmed_at": null,
"sooner_if_possible": null,
"operatory_id": 181,
"deleted": false,
"checked_out": false,
"checked_out_at": null,
"referrer": "http://mypractice.com/book",
"is_past_patient": true,
"timezone_offset": "-4:00",
"patient": {
"id": 415,
"email": "[email protected]",
"first_name": "John",
"middle_name": "Anthony",
"last_name": "Smith",
"name": "John Smith",
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"institution_id": null,
"foreign_id": null,
"foreign_id_type": "--DataSource-",
"bio": {
"city": "New York",
"state": "NY",
"gender": "Female",
"zip_code": "20814",
"new_patient": false,
"non_patient": true,
"phone_number": "5163042196",
"date_of_birth": "1964-05-03",
"address_line_1": "",
"address_line_2": "",
"street_address": "",
"cell_phone_number": "",
"home_phone_number": "",
"work_phone_number": ""
},
"inactive": false,
"last_sync_time": null,
"guarantor_id": null,
"unsubscribe_sms": true,
"balance": {
"amount": "62.00",
"currency": "USD"
},
"billing_type": "Standard Billing - finance charges",
"chart_id": "017407",
"preferred_language": "es",
"preferred_locale": "es",
"location_ids": [
101,
102,
103
]
},
"descriptors": [
{
"id": 1822,
"descriptor_type": "Procedure Code",
"name": "Emr Descriptor Name",
"code": "Emr Descriptor Code",
"location_id": 13,
"foreign_id": "94",
"foreign_id_type": "msg-dentrix-DataSource-100",
"data": {},
"active": true,
"last_sync_time": "2021-05-21T16:23:03.046Z",
"created_at": "2021-05-21T16:23:03.046Z",
"updated_at": "2021-05-21T16:23:03.046Z"
}
]
}
]
}
}
FormRequest
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "FormRequest",
"event_name": "form_request_completed",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"formrequest": {
"id": "d2594a76862247209d4c35a92e0902f8",
"location_id": 1,
"appointment_id": 1
}
}
}
FormResponse
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "FormResponse",
"event_name": "form_response_insertion.complete",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"formresponse": {
"id": 435,
"status": "complete",
"response_documents": [
{
"id": 435,
"pdf_url": "/api/documents/ee0913ee13af4e0aa4df2af1738d43d6.pdf"
}
],
"form_request_id": "d1b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b",
"patient_id": 415
}
}
}
Document
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Document",
"event_name": "document_insertion.complete",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"document": {
"uuid": "d44ada30-36a5-11ee-8567-63ba706887a3",
"description": "Insurance coverage eligibility",
"expiring_url": "/documents/3/test_document.pdf?1753721119",
"sync_status": "active",
"sync_completed_at": "2023-11-01T13:15:12Z"
}
}
}
Patient
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Patient",
"event_name": "patient_created",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"patients": [
{
"id": 415,
"email": "[email protected]",
"first_name": "John",
"middle_name": "Anthony",
"last_name": "Smith",
"name": "John Smith",
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"institution_id": null,
"foreign_id": null,
"foreign_id_type": "--DataSource-",
"bio": {
"city": "New York",
"state": "NY",
"gender": "Female",
"zip_code": "20814",
"new_patient": false,
"non_patient": true,
"phone_number": "5163042196",
"date_of_birth": "1964-05-03",
"address_line_1": "",
"address_line_2": "",
"street_address": "",
"cell_phone_number": "",
"home_phone_number": "",
"work_phone_number": ""
},
"inactive": false,
"last_sync_time": null,
"guarantor_id": null,
"unsubscribe_sms": true,
"balance": {
"amount": "62.00",
"currency": "USD"
},
"billing_type": "Standard Billing - finance charges",
"chart_id": "017407",
"preferred_language": "es",
"preferred_locale": "es",
"location_ids": [
1,
2,
3
]
}
]
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Patient",
"event_name": "patient_updated",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"patient": {
"id": 415,
"email": "[email protected]",
"first_name": "John",
"middle_name": "Anthony",
"last_name": "Smith",
"name": "John Smith",
"created_at": "2020-06-05T20:16:57.007Z",
"updated_at": "2020-06-05T20:16:57.007Z",
"institution_id": null,
"foreign_id": null,
"foreign_id_type": "--DataSource-",
"bio": {
"city": "New York",
"state": "NY",
"gender": "Female",
"zip_code": "20814",
"new_patient": false,
"non_patient": true,
"phone_number": "5163042196",
"date_of_birth": "1964-05-03",
"address_line_1": "",
"address_line_2": "",
"street_address": "",
"cell_phone_number": "",
"home_phone_number": "",
"work_phone_number": ""
},
"inactive": false,
"last_sync_time": null,
"guarantor_id": null,
"unsubscribe_sms": true,
"balance": {
"amount": "62.00",
"currency": "USD"
},
"billing_type": "Standard Billing - finance charges",
"chart_id": "017407",
"preferred_language": "es",
"preferred_locale": "es",
"location_ids": [
1,
2,
3
]
},
"previous_attributes": {
"inactive": true
}
}
}
PatientInsuranceCoverage
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "PatientInsuranceCoverage",
"event_name": "patient_insurance_created",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"patient_insurance_coverages": [
{
"id": 18,
"subscription_relation": "self",
"patient_id": 25,
"priority": 2,
"plan_id": 18,
"subscriber_num": "123456789",
"effective_date": "2022-01-01",
"expiration_date": "2022-12-31",
"insurance_type": "dental",
"updated_at": "2020-06-05T20:16:57.007Z",
"active": true
}
]
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "PatientInsuranceCoverage",
"event_name": "patient_insurance_updated",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"patient_insurance_coverage": {
"id": 18,
"subscription_relation": "self",
"patient_id": 25,
"priority": 2,
"plan_id": 18,
"subscriber_num": "123456789",
"effective_date": "2022-01-01",
"expiration_date": "2022-12-31",
"insurance_type": "dental",
"updated_at": "2020-06-05T20:16:57.007Z",
"active": true
},
"previous_attributes": {
"priority": 1
}
}
}
Procedure
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Procedure",
"event_name": "procedure_created",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"procedures": [
{
"id": 11,
"location_id": 21,
"patient_id": 162,
"provider_id": 84,
"appointment_id": 283,
"code": "D6100",
"name": "Implant Removal",
"status": "referred",
"updated_at": "2020-06-05T20:16:57.007Z",
"body_site": null,
"fee": {
"amount": "62.00",
"currency": "USD"
},
"start_date": "2022-06-24",
"end_date": "2022-06-24"
}
]
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "Procedure",
"event_name": "procedure_updated",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"procedure": {
"id": 11,
"location_id": 21,
"patient_id": 162,
"provider_id": 84,
"appointment_id": 283,
"code": "D6100",
"name": "Implant Removal",
"status": "referred",
"updated_at": "2020-06-05T20:16:57.007Z",
"body_site": null,
"fee": {
"amount": "62.00",
"currency": "USD"
},
"start_date": "2022-06-24",
"end_date": "2022-06-24"
},
"previous_attributes": {
"status": "scheduled"
}
}
}
SyncStatus
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "SyncStatus",
"event_name": "sync_status_read_change.green",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"syncstatus": {
"institution_id": 1,
"sync_source_type": "DataSource",
"sync_source_name": "My Source",
"emr": {
"id": 11,
"name": "dentrix",
"display_name": "Dentrix",
"type": [
"cloud",
"onprem"
]
},
"read_status": "green",
"read_status_at": "2020-06-05T20:16:57.007Z",
"write_status": "red",
"write_status_at": "2020-06-05T20:16:57.007Z",
"locations": null
}
}
}
{
"institution_id": 1,
"subdomain": "test-subdomain",
"webhook_subscription_id": 2,
"resource_type": "SyncStatus",
"event_name": "sync_status_write_change.red",
"event_time": "2024-03-21T17:52:47.824Z",
"data": {
"syncstatus": {
"institution_id": 1,
"sync_source_type": "DataSource",
"sync_source_name": "My Source",
"emr": {
"id": 11,
"name": "dentrix",
"display_name": "Dentrix",
"type": [
"cloud",
"onprem"
]
},
"read_status": "green",
"read_status_at": "2020-06-05T20:16:57.007Z",
"write_status": "red",
"write_status_at": "2020-06-05T20:16:57.007Z",
"locations": null
}
}
}
Updated about 13 hours ago