Listen for scheduling updates

Last updated: Sep 11, 2025
IMPLEMENTATION
PRODUCT OWNER
HEALTH TECH VENDOR

You may want to listen for scheduling updates to complete any pre-visit work. With these notifications, you can find out about patient appointment details, like the type of visit, provider name, location, or date.

Use cases

This API action may be a good fit for your organization if you want to be notified about these events in your connection’s EHR system:

  • An outpatient appointment is created.
  • A scheduled outpatient appointment is modified, rescheduled, or canceled.

After getting these notifications, you can query for more information or kick off your pre-visit workflow, like these types of use cases:

  • Send pre-work questionnaires to patients.
  • Help with patient check-in prior to appointments.
  • Update patients about appointment changes.

Supported systems

You can receive notifications like this with the Redox FHIR® API.

Your connection's system can push notifications with a polling or subscription type of system.

Lightweight or detailed notification

Depending on your connection’s capabilities, you can opt in for lightweight or detailed notifications.

A lightweight notification is typically a bare bones message with the relevant identifier (e.g., patient, visit #) and an indication of “something's new” or “something has changed.” Lightweight notifications generally trigger you to do something within your own workflow or to query for more information.

On the other hand, a detailed notification means that you receive all the data about what’s new or what's changed. This might be useful if you need to persist all that data in your system to complete your own unique workflow.

Things you need to know

What's next?

Does this API action seem like a good fit for your unique workflow? Let your Technical Account Manager know! To start development, download the resource schema noted in the related action step. Then decide which data elements you need.

If you’re new to Redox, use the Quickstart guide to dive in. If you’re not engaged with our sales team yet, talk to a Redoxer to get started.

Action steps

Listen for booked appointment notifications

The EHR system sends a notification for each appointment that’s created. To review technical specifications for this notification, refer to the Scheduling Appointment Booked schema.

How to respond to FHIR notifications

Upon receiving this type of message, you only need to respond with the relevant HTTP status code. After that, you decide what your system should do with the notification.

Scheduling Appointment Booked
Payload
json
1
{
2
"id": "SchedulingEventAppointmentBookedBundleExample",
3
"type": "message",
4
"entry": [
5
{
6
"resource": {
7
"id": "RedoxMessageHeaderExample",
8
"source": {
9
"name": "Good Health Clinics",
10
"endpoint": "05107c08-fe2f-4740-8c1d-c7107d18ebe5"
11
},
12
"eventUri": "https://fhir.redoxengine.com/EventDefinition/AppointmentBooked",
13
"definition": "https://fhir.redoxengine.com/MessageDefinition/AppointmentBookedPayload",
14
"resourceType": "MessageHeader"
15
}
16
},
17
{
18
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Patient?identifier=urn:redox:redox-fhir-sandbox:MR|kyHGADnvX3xbkU4V9ayaqh",
19
"resource": {
20
"resourceType": "Patient"
21
}
22
},
23
{
24
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Appointment?urn:redox:VIS|identifier=321654654",
25
"resource": {
26
"end": "2022-06-06T06:00:00.000Z",
27
"start": "2022-06-06T05:00:00.000Z",
28
"status": "booked",
29
"participant": [
30
{
31
"type": [
32
{
33
"coding": [
34
{
35
"code": "Patient"
36
}
37
]
38
}
39
],
40
"actor": {
41
"identifier": {
42
"value": "M23462346",
43
"system": "urn:redox:MRN"
44
}
45
},
46
"status": "accepted"
47
}
48
],
49
"resourceType": "Appointment"
50
}
51
}
52
],
53
"timestamp": "2021-12-17T20:33:22.422Z",
54
"resourceType": "Bundle"
55
}

Listen for modified appointment notifications

The EHR system sends a notification whenever an aspect of the appointment (other than the time) has changed from the original booking. To review technical specifications for this notification, refer to the Scheduling Appointment Updated schema.

How to respond to FHIR notifications

Upon receiving this type of message, you only need to respond with the relevant HTTP status code. After that, you decide what your system should do with the notification.

Scheduling Appointment Updated
Payload
json
1
{
2
"resourceType": "Bundle",
3
"id": "SchedulingEventAppointmentModifiedBundleExample",
4
"type": "message",
5
"timestamp": "2021-12-17T20:33:22.422Z",
6
"entry": [
7
{
8
"resource": {
9
"resourceType": "MessageHeader",
10
"id": "RedoxMessageHeaderExample",
11
"source": {
12
"name": "Good Health Clinics",
13
"endpoint": "05107c08-fe2f-4740-8c1d-c7107d18ebe5"
14
},
15
"eventUri": "https://fhir.redoxengine.com/EventDefinition/AppointmentUpdated",
16
"definition": "https://fhir.redoxengine.com/MessageDefinition/AppointmentUpdatedPayload"
17
}
18
},
19
{
20
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Patient?identifier=urn:redox:redox-fhir-sandbox:MR|kyHGADnvX3xbkU4V9ayaqh",
21
"resource": {
22
"resourceType": "Patient"
23
}
24
},
25
{
26
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Appointment?urn:redox:VIS|identifier=321654654",
27
"resource": {
28
"resourceType": "Appointment",
29
"start": "2022-06-06T05:00:00.000Z",
30
"end": "2022-06-06T06:00:00.000Z",
31
"status": "booked",
32
"participant": [
33
{
34
"status": "accepted",
35
"type": [
36
{
37
"coding": [
38
{
39
"code": "Patient"
40
}
41
]
42
}
43
],
44
"actor": {
45
"identifier": {
46
"system": "urn:redox:MRN",
47
"value": "M23462346"
48
}
49
}
50
}
51
]
52
}
53
}
54
]
55
}

Listen for rescheduled appointment notifications

The EHR system sends a notification whenever a scheduled appointment time has changed from the originally booked time. To review technical specifications for this notification, refer to the Scheduling Appointment Updated schema.

How to respond to FHIR notifications

Upon receiving this type of message, you only need to respond with the relevant HTTP status code. After that, you decide what your system should do with the notification.

Scheduling Appointment Updated
Payload
json
1
{
2
"resourceType": "Bundle",
3
"id": "SchedulingEventAppointmentRescheduledBundleExample",
4
"type": "message",
5
"timestamp": "2021-12-17T20:33:22.422Z",
6
"entry": [
7
{
8
"resource": {
9
"resourceType": "MessageHeader",
10
"id": "RedoxMessageHeaderExample",
11
"source": {
12
"name": "Good Health Clinics",
13
"endpoint": "05107c08-fe2f-4740-8c1d-c7107d18ebe5"
14
},
15
"eventUri": "https://fhir.redoxengine.com/EventDefinition/AppointmentUpdated",
16
"definition": "https://fhir.redoxengine.com/MessageDefinition/AppointmentUpdatedPayload"
17
}
18
},
19
{
20
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Patient?identifier=urn:redox:redox-fhir-sandbox:MR|kyHGADnvX3xbkU4V9ayaqh",
21
"resource": {
22
"resourceType": "Patient"
23
}
24
},
25
{
26
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Appointment?urn:redox:VIS|identifier=321654654",
27
"resource": {
28
"resourceType": "Appointment",
29
"start": "2022-06-06T07:00:00.000Z",
30
"end": "2022-06-06T08:00:00.000Z",
31
"status": "booked",
32
"participant": [
33
{
34
"status": "accepted",
35
"type": [
36
{
37
"coding": [
38
{
39
"code": "Patient"
40
}
41
]
42
}
43
],
44
"actor": {
45
"identifier": {
46
"system": "urn:redox:MRN",
47
"value": "M23462346"
48
}
49
}
50
}
51
]
52
}
53
}
54
]
55
}

Listen for cancelled appointment notifications

The EHR system sends a notification for each appointment that's cancelled. No-shows are considered "cancelled" appointments as well. To review technical specifications for this notification, refer to the Scheduling Appointment Cancelled schema.

How to respond to FHIR notifications

Upon receiving this type of message, you only need to respond with the relevant HTTP status code. After that, you decide what your system should do with the notification.

Scheduling Appointment Cancelled
Payload
json
1
{
2
"id": "SchedulingEventAppointmentCanceledBundleExample",
3
"type": "message",
4
"entry": [
5
{
6
"resource": {
7
"id": "RedoxMessageHeaderExample",
8
"source": {
9
"name": "Good Health Clinics",
10
"endpoint": "05107c08-fe2f-4740-8c1d-c7107d18ebe5"
11
},
12
"eventUri": "https://fhir.redoxengine.com/EventDefinition/AppointmentCancelled",
13
"definition": "https://fhir.redoxengine.com/MessageDefinition/AppointmentCancelledPayload",
14
"resourceType": "MessageHeader"
15
}
16
},
17
{
18
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Patient?identifier=urn:redox:redox-fhir-sandbox:MR|kyHGADnvX3xbkU4V9ayaqh",
19
"resource": {
20
"resourceType": "Patient"
21
}
22
},
23
{
24
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Appointment?urn:redox:VIS|identifier=321654654",
25
"resource": {
26
"end": "2022-06-06T06:00:00.000Z",
27
"start": "2022-06-06T05:00:00.000Z",
28
"status": "cancelled",
29
"participant": [
30
{
31
"type": [
32
{
33
"coding": [
34
{
35
"code": "Patient"
36
}
37
]
38
}
39
],
40
"actor": {
41
"identifier": {
42
"value": "M23462346",
43
"system": "urn:redox:MRN"
44
}
45
},
46
"status": "accepted"
47
}
48
],
49
"resourceType": "Appointment"
50
}
51
}
52
],
53
"timestamp": "2021-12-17T20:33:22.422Z",
54
"resourceType": "Bundle"
55
}

FHIR® is a registered trademark of Health Level Seven International (HL7) and is used with the permission of HL7. Use of this trademark does not constitute an endorsement of products/services by HL7®.