Scheduling

This data model communicates information about a patient’s office or other outpatient appointment. EHR systems can send Scheduling messages to update your system with the appointment status, date/time, scheduled providers, and scheduled resources.

Every appointment gets assigned a visit number and patient ID. Any changes to the appointment are made with the relevant visit number. If the appointment is canceled and later rescheduled, however, a new visit number is created. Also keep in mind that scheduling holds and blocks don’t have an associated patient ID.

This data model has event types that allow you to:

  • receive a notification about appointment updates;
  • push or receive a list of available appointment slots;
  • query for and receive open appointment times; or
  • query for and receive booked appointment times.

AvailableSlotsResponse

Receive available appointment times based on the query parameters defined in Scheduling.AvailableSlots.

Beta

Request Body Schema

  • Meta
    required, object
    • DataModel
      required, string
      Reliable

      Scheduling

    • EventType
      required, string
      Reliable

      AvailableSlotsResponse

    • EventDateTime
      string, null
      Reliable

      Displays the UTC date and time that an outgoing request is delivered or an incoming request is received.
      ISO 8601 Format

    • Test
      boolean, null
      Reliable

      Indicates whether the request is a test or not.

    • Source
      object

      Contains the information for the system initiating the message, including the source ID and name.
      Included in messages from Redox

      • ID
        string, null
        Reliable

        Identifies the system initiating the message. If you have multiple OAuth API keys per environment type, this value is required. If you have only one OAuth API key per environment type, or you're using legacy API keys, this value is optional.
        UUID

      • Name
        string, null
        Reliable

        Displays the name of the system initiating the message.

    • Destinations
      Array of object

      Contains the information for the endpoint(s) receiving the request. A request must contain at least one destination, but asynchronous requests can have more than one destination. Synchronous requests like queries can only support one destination.
      Required when sending data to Redox.

      • ID
        string, null
        Reliable

        Identifies the endpoint that the request is directed to.
        UUID

      • Name
        string, null
        Reliable

        Displays the name of the endpoint that the request is directed to.

    • Logs
      Array of object

      Contains the log identifier(s) for the request.

      • ID
        string, null
        Reliable

        Identifies the request log(s) that correspond to this request. You can use this value to locate the relevant log in the Redox dashboard for support and reference.
        UUID

      • AttemptID
        string, null
        Reliable

        Identifies the request log attempt value, which is useful when retries are possible.
        UUID

    • FacilityCode
      string, null
      Possible

      Code for the facility related to the message.
      Only use this field if a health system indicates you should. The code is specific to the health system's EHR and might not be unique across health systems. In general, the facility fields within the data models (e.g. OrderingFacility) are more reliable and informative.

    • IsIncomplete
      boolean, null
      Reliable

      Indicates that a limit was reached, and not all data was returned. If true, the sender may want to restrict the parameters of the request in order to match fewer results.

  • AvailableSlots
    required, Array of object

    Individual slots that are available for booking

    • DateTime
      required, string
      Reliable

      The DateTime of the appointment slot.
      ISO 8601 Format

    • Duration
      required, number
      Reliable

      Length of appointment.
      In minutes

    • ID
      string, null
      Probable

      The ID of the slot

    • Reason
      string, null
      Reliable

      The visit reason of the appointment slot

    • Provider
      object
      • ID
        string, null
        Reliable

        ID of the provider.
        This ID is often required for Inpatient Visits.

      • IDType
        string, null
        Reliable

        ID type of the ID for the provider

      • FirstName
        string, null
        Possible

        First name of the provider

      • LastName
        string, null
        Possible

        Last name of the provider

      • Credentials
        Array of string

        List of credentials for the provider.
        e.g. MD, PhD

      • Address
        object

        Provider's address

        • StreetAddress
          string, null
          Possible

          Street address

        • City
          string, null
          Possible

          City

        • State
          string, null
          Possible

          State

        • ZIP
          string, null
          Possible

          ZIP

        • County
          string, null
          Possible

          County

        • Country
          string, null
          Possible
          Value Set

          Country

      • EmailAddresses
        Array of string

        Provider's email address(es)

      • PhoneNumber
        object
        • Office
          string, null
          Possible

          Provider's office phone number.
          In E. 164 Format. (e.g. +16085551234)

      • Location
        object

        Provider's location

        • Type
          string, null
          Possible

          Type of location.
          Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone

        • Facility
          string, null
          Possible

          Facility.
          Example: Community Hospital

        • FacilityIdentifiers
          Array of object

          List of IDs specific to this facility

          • ID
            string, null
            Possible

            An ID specific to this facility

          • IDType
            string, null
            Possible

            The source or system to which this ID pertains.
            Could be an OID or a human-readable name

        • Department
          string, null
          Possible

          Department

        • DepartmentIdentifiers
          Array of object

          List of IDs specific to this department

          • ID
            string, null
            Possible

            An ID specific to this department

          • IDType
            string, null
            Possible

            The source or system to which this ID pertains.
            Could be an OID or a human-readable name

        • Room
          string, null
          Possible

          Room.
          Example: 136

    • Location
      object

      Location of the appointment

      • Type
        string, null
        Reliable

        Type of location.
        Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone

      • Facility
        string, null
        Reliable

        Facility.
        Example: Community Hospital

      • FacilityIdentifiers
        Array of object

        List of IDs specific to this facility

        • ID
          string, null
          Reliable

          An ID specific to this facility

        • IDType
          string, null
          Reliable

          The source or system to which this ID pertains.
          Could be an OID or a human-readable name

      • Department
        string, null
        Reliable

        Department

      • DepartmentIdentifiers
        Array of object

        List of IDs specific to this department

        • ID
          string, null
          Reliable

          An ID specific to this department

        • IDType
          string, null
          Reliable

          The source or system to which this ID pertains.
          Could be an OID or a human-readable name

      • Room
        string, null
        Reliable

        Room.
        Example: 136

    • Notes
      Array of string

      Additional notes about this slot

Example
json
1
{
2
"Meta": {
3
"DataModel": "Scheduling",
4
"EventType": "AvailableSlotsResponse",
5
"EventDateTime": "2024-12-20T18:11:36.537Z",
6
"Test": true,
7
"Source": {
8
"ID": "7ce6f387-c33c-417d-8682-81e83628cbd9",
9
"Name": "Redox Dev Tools"
10
},
11
"Destinations": [
12
{
13
"ID": "af394f14-b34a-464f-8d24-895f370af4c9",
14
"Name": "Redox EMR"
15
}
16
],
17
"Logs": [
18
{
19
"ID": "d9f5d293-7110-461e-a875-3beb089e79f3",
20
"AttemptID": "925d1617-2fe0-468c-a14c-f8c04b572c54"
21
}
22
],
23
"FacilityCode": null,
24
"IsIncomplete": false
25
},
26
"AvailableSlots": [
27
{
28
"ID": null,
29
"DateTime": "2016-08-01T10:00:00Z",
30
"Reason": "Follow Up",
31
"Duration": 15,
32
"Provider": {
33
"ID": "4356789876",
34
"IDType": "NPI",
35
"FirstName": "Pat",
36
"LastName": "Granite",
37
"Credentials": [
38
"MD"
39
],
40
"Address": {
41
"StreetAddress": "123 Main St.",
42
"City": "Madison",
43
"State": "WI",
44
"ZIP": "53703",
45
"County": "Dane",
46
"Country": "USA"
47
},
48
"EmailAddresses": [],
49
"PhoneNumber": {
50
"Office": "+16085551234"
51
},
52
"Location": {
53
"Type": null,
54
"Facility": null,
55
"FacilityIdentifiers": [],
56
"Department": null,
57
"DepartmentIdentifiers": [],
58
"Room": null
59
}
60
},
61
"Location": {
62
"Type": null,
63
"Facility": null,
64
"FacilityIdentifiers": [],
65
"Department": "Clinic A",
66
"DepartmentIdentifiers": [],
67
"Room": null
68
},
69
"Notes": []
70
},
71
{
72
"ID": null,
73
"DateTime": "2016-08-01T11:00:00Z",
74
"Reason": "Follow Up",
75
"Duration": 15,
76
"Provider": {
77
"ID": "4356789876",
78
"IDType": "NPI",
79
"FirstName": "Pat",
80
"LastName": "Granite",
81
"Credentials": [
82
"MD"
83
],
84
"Address": {
85
"StreetAddress": "123 Main St.",
86
"City": "Madison",
87
"State": "WI",
88
"ZIP": "53703",
89
"County": "Dane",
90
"Country": "USA"
91
},
92
"EmailAddresses": [],
93
"PhoneNumber": {
94
"Office": "+16085551234"
95
},
96
"Location": {
97
"Type": null,
98
"Facility": null,
99
"FacilityIdentifiers": [],
100
"Department": null,
101
"DepartmentIdentifiers": [],
102
"Room": null
103
}
104
},
105
"Location": {
106
"Type": null,
107
"Facility": null,
108
"FacilityIdentifiers": [],
109
"Department": "Clinic A",
110
"DepartmentIdentifiers": [],
111
"Room": null
112
},
113
"Notes": []
114
},
115
{
116
"ID": null,
117
"DateTime": "2016-08-01T12:00:00Z",
118
"Reason": "Follow Up",
119
"Duration": 15,
120
"Provider": {
121
"ID": "4356789876",
122
"IDType": "NPI",
123
"FirstName": "Pat",
124
"LastName": "Granite",
125
"Credentials": [
126
"MD"
127
],
128
"Address": {
129
"StreetAddress": "123 Main St.",
130
"City": "Madison",
131
"State": "WI",
132
"ZIP": "53703",
133
"County": "Dane",
134
"Country": "USA"
135
},
136
"EmailAddresses": [],
137
"PhoneNumber": {
138
"Office": "+16085551234"
139
},
140
"Location": {
141
"Type": null,
142
"Facility": null,
143
"FacilityIdentifiers": [],
144
"Department": null,
145
"DepartmentIdentifiers": [],
146
"Room": null
147
}
148
},
149
"Location": {
150
"Type": null,
151
"Facility": null,
152
"FacilityIdentifiers": [],
153
"Department": "Clinic A",
154
"DepartmentIdentifiers": [],
155
"Room": null
156
},
157
"Notes": []
158
},
159
{
160
"ID": null,
161
"DateTime": "2016-08-01T13:00:00Z",
162
"Reason": "Follow Up",
163
"Duration": 15,
164
"Provider": {
165
"ID": "4356789876",
166
"IDType": "NPI",
167
"FirstName": "Pat",
168
"LastName": "Granite",
169
"Credentials": [
170
"MD"
171
],
172
"Address": {
173
"StreetAddress": "123 Main St.",
174
"City": "Madison",
175
"State": "WI",
176
"ZIP": "53703",
177
"County": "Dane",
178
"Country": "USA"
179
},
180
"EmailAddresses": [],
181
"PhoneNumber": {
182
"Office": "+16085551234"
183
},
184
"Location": {
185
"Type": null,
186
"Facility": null,
187
"FacilityIdentifiers": [],
188
"Department": null,
189
"DepartmentIdentifiers": [],
190
"Room": null
191
}
192
},
193
"Location": {
194
"Type": null,
195
"Facility": null,
196
"FacilityIdentifiers": [],
197
"Department": "Clinic A",
198
"DepartmentIdentifiers": [],
199
"Room": null
200
},
201
"Notes": []
202
}
203
]
204
}