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.

PushSlots

Send or receive a list of appointment slots. The Slots[].Reason field indicates whether individual slots are available for scheduling.

Beta

Request Body Schema

  • Meta
    required, object
    • DataModel
      required, string
      Reliable

      Scheduling

    • EventType
      required, string
      Reliable

      PushSlots

    • 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.

    • BatchID
      string, null
      Possible

      Identifier corresponding to a particular batch of messages.

    • CurrentBatch
      string, null
      Possible

      An integer representing the current batch.

    • TotalBatches
      string, null
      Possible

      An integer representing the total number of batches being sent.

  • Slots
    required, Array of object

    Individual slot object

    • 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

      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

Example
json
1
{
2
"Meta": {
3
"DataModel": "Scheduling",
4
"EventType": "PushSlots",
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
"BatchID": null,
25
"CurrentBatch": null,
26
"TotalBatches": null
27
},
28
"Slots": [
29
{
30
"ID": "1",
31
"DateTime": "2016-08-01 14:00:00Z",
32
"Reason": "Office Visit",
33
"Duration": 15,
34
"Provider": {
35
"ID": "4356789876",
36
"IDType": "NPI",
37
"FirstName": "Pat",
38
"LastName": "Granite",
39
"Credentials": [
40
"MD"
41
],
42
"Address": {
43
"StreetAddress": "123 Main St.",
44
"City": "Madison",
45
"State": "WI",
46
"ZIP": "53703",
47
"County": "Dane",
48
"Country": "USA"
49
},
50
"EmailAddresses": [],
51
"PhoneNumber": {
52
"Office": "+16085551234"
53
}
54
},
55
"Location": {
56
"Type": "Inpatient",
57
"Facility": "RES General Hospital",
58
"FacilityIdentifiers": [],
59
"Department": "3N",
60
"DepartmentIdentifiers": [],
61
"Room": "136"
62
}
63
},
64
{
65
"ID": "2",
66
"DateTime": "2016-08-01 14:15:00Z",
67
"Reason": "Office Visit",
68
"Duration": 15,
69
"Provider": {
70
"ID": "4356789876",
71
"IDType": "NPI",
72
"FirstName": "Pat",
73
"LastName": "Granite",
74
"Credentials": [
75
"MD"
76
],
77
"Address": {
78
"StreetAddress": "123 Main St.",
79
"City": "Madison",
80
"State": "WI",
81
"ZIP": "53703",
82
"County": "Dane",
83
"Country": "USA"
84
},
85
"EmailAddresses": [],
86
"PhoneNumber": {
87
"Office": "+16085551234"
88
}
89
},
90
"Location": {
91
"Type": "Inpatient",
92
"Facility": "RES General Hospital",
93
"FacilityIdentifiers": [],
94
"Department": "3N",
95
"DepartmentIdentifiers": [],
96
"Room": "136"
97
}
98
},
99
{
100
"ID": "3",
101
"DateTime": "2016-08-01 14:30:00Z",
102
"Reason": "Office Visit",
103
"Duration": 15,
104
"Provider": {
105
"ID": "4356789876",
106
"IDType": "NPI",
107
"FirstName": "Pat",
108
"LastName": "Granite",
109
"Credentials": [
110
"MD"
111
],
112
"Address": {
113
"StreetAddress": "123 Main St.",
114
"City": "Madison",
115
"State": "WI",
116
"ZIP": "53703",
117
"County": "Dane",
118
"Country": "USA"
119
},
120
"EmailAddresses": [],
121
"PhoneNumber": {
122
"Office": "+16085551234"
123
}
124
},
125
"Location": {
126
"Type": "Inpatient",
127
"Facility": "RES General Hospital",
128
"FacilityIdentifiers": [],
129
"Department": "3N",
130
"DepartmentIdentifiers": [],
131
"Room": "136"
132
}
133
},
134
{
135
"ID": "4",
136
"DateTime": "2016-08-01 14:45:00Z",
137
"Reason": "Office Visit",
138
"Duration": 15,
139
"Provider": {
140
"ID": "4356789876",
141
"IDType": "NPI",
142
"FirstName": "Pat",
143
"LastName": "Granite",
144
"Credentials": [
145
"MD"
146
],
147
"Address": {
148
"StreetAddress": "123 Main St.",
149
"City": "Madison",
150
"State": "WI",
151
"ZIP": "53703",
152
"County": "Dane",
153
"Country": "USA"
154
},
155
"EmailAddresses": [],
156
"PhoneNumber": {
157
"Office": "+16085551234"
158
}
159
},
160
"Location": {
161
"Type": "Inpatient",
162
"Facility": "RES General Hospital",
163
"FacilityIdentifiers": [],
164
"Department": "3N",
165
"DepartmentIdentifiers": [],
166
"Room": "136"
167
}
168
}
169
]
170
}