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.

AvailableSlots

Query for open times for booking an appointment within a given time range. Results are returned in Scheduling.AvailableSlotsResponse.

Beta

Request Body Schema

  • Meta
    required, object
    • DataModel
      required, string
      Reliable

      Scheduling

    • EventType
      required, string
      Reliable

      AvailableSlots

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

  • StartDateTime
    required, string
    Reliable

    Defines the start of the time range to search for appointments.
    ISO 8601 Format

  • Patient
    object
    • Identifiers
      Array of object

      Contains a list of identifiers and identifier types that correlate to the patient.

      • ID
        string, null
        Possible

        Contains an identifier for the patient.

      • IDType
        string, null
        Possible

        Defines the type of identifier used to identify the patient (e.g., MRN, EPI).

    • Demographics
      object
      • FirstName
        string, null
        Possible

        Displays the patient's first name.

      • MiddleName
        string, null
        Possible

        Displays the patient's middle name or initial. For patients with multiple middle names, all their middle names are included in this field.

      • LastName
        string, null
        Possible

        Displays the patient's last name.

      • DOB
        string, null
        Possible

        Specifies the patient's date of birth.
        In ISO 8601 format

      • SSN
        string, null
        Possible

        Contains the patient's social security number.

      • Sex
        string, null
        Possible
        Value Set

        Specifies the patient's sex.

      • Race
        string, null
        Possible
        Value Set

        Specifies the patient's race.

      • IsHispanic
        boolean, null
        Possible
        Value Set

        Indicates whether the patient is of hispanic origin.

      • Religion
        string, null
        Possible
        Value Set

        Indicates the patient's religious affiliation.

      • MaritalStatus
        string, null
        Possible
        Value Set

        Specifies the patient's marital status.

      • IsDeceased
        boolean, null
        Possible

        Indicates if the patient is deceased.

      • DeathDateTime
        string, null
        Possible

        Specifies the date and time that the patient was proclaimed deceased.
        ISO 8601 Format

      • PhoneNumber
        object
        • Home
          string, null
          Possible

          Displays the patient's home phone number.
          In E. 164 Format. (e.g. +16085551234)

        • Office
          string, null
          Possible

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

        • Mobile
          string, null
          Possible

          Displays the patient's mobile phone number.
          In E. 164 Format. (e.g. +16085551234)

      • EmailAddresses
        Array of string

        Displays the patient's email address(es).

      • Language
        string, null
        Possible
        Value Set

        Indicates the patient's primary spoken language.
        In ISO 639-1 alpha values (e.g. 'en'). Supported Values

      • Citizenship
        Array of string

        Specifies the patient's nation(s) of citizenship.
        In ISO 3166 alpha 2 format (e.g. 'US').

      • Address
        object

        Patient's home address

        • StreetAddress
          string, null
          Probable

          Street address

        • City
          string, null
          Probable

          City

        • State
          string, null
          Probable

          State

        • ZIP
          string, null
          Probable

          ZIP

        • County
          string, null
          Possible

          County

        • Country
          string, null
          Possible
          Value Set

          Country

    • Notes
      Array of string

      Contains any patient-level notes.
      Not supported with data on demand.

    • Diagnoses
      Array of object

      Contains a list of diagnoses associated with the visit.

      • Code
        string, null
        Probable

        Code for the diagnosis

      • Codeset
        string, null
        Probable
        Value Set

        Code set used to identify the diagnosis.
        One of the following: ICD-9, ICD-10, HCPCS, CPT

      • Name
        string, null
        Probable

        Name of the diagnosis

      • Type
        string, null
        Possible
        Value Set

        Type of the diagnosis

      • DocumentedDateTime
        string, null
        Possible

        DateTime the diagnosis was documented.
        ISO 8601 Format

  • EndDateTime
    string, null
    Possible

    Defines the end of the time range to search for appointments.
    ISO 8601 Format

  • Visit
    object
    • Reasons
      Array of string

      Contains is a patient-friendly value that provides context for the purpose of the appointment (e.g., knee pain). This differs from the Visit Type since it can include a clinical component.

    • AttendingProviders
      Array of object
      • ID
        string, null
        Probable

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

      • IDType
        string, null
        Probable

        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

    • Locations
      Array of object

      Specifies the location of the appointment.

      • Type
        string, null
        Probable

        Specifies the type of location (e.g., clinic, department, home, nursing unit, provider office, phone).
        Not supported with data on demand.

      • Facility
        string, null
        Probable

        Specifies the kind of facility (e.g., community hospital).
        Not supported with data on demand.

      • Department
        string, null
        Probable

        Specifies the department where the patient appointment takes place.

      • SpecialtyDepartment
        object

        Indicates the departments specialty.

        • Code
          string, null
          Possible

          Code for the specialty of the department

        • Codeset
          string, null
          Possible

          Code set used to identify the specialty of the department

        • Description
          string, null
          Possible

          Description of the specialty of the department

      • Room
        string, null
        Probable

        Displays the room number for the visit (e.g., 136).
        Not supported with data on demand.

      • ID
        string, null
        Possible

        Contains the unique identifier of the visit location.

    • VisitType
      Array of object

      Defines the type of patient visit.

      • Code
        string, null
        Possible

        Code for the visit type

      • Codeset
        string, null
        Possible

        Code set used to identify the visit type

      • Description
        string, null
        Possible

        Description of the visit type

    • VisitPreference
      Array of object

      Contains the details for the appointment scheduling preferences.

      • Duration
        string, null
        Possible

        Defines the preferred length of time for the patient visit.

      • DurationUnit
        string, null
        Possible

        Specifies the unit of measurement for the duration field.

      • Day
        Array of string

        Specifies the preferred day of week for scheduling the appointment.

      • Time
        Array of string

        Specifies the preferred time of day for the appointment.

Example
json
1
{
2
"Meta": {
3
"DataModel": "Scheduling",
4
"EventType": "AvailableSlots",
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
},
25
"Patient": {
26
"Identifiers": [
27
{
28
"ID": "0000000001",
29
"IDType": "MR"
30
},
31
{
32
"ID": "e167267c-16c9-4fe3-96ae-9cff5703e90a",
33
"IDType": "EHRID"
34
},
35
{
36
"ID": "a1d4ee8aba494ca",
37
"IDType": "NIST"
38
}
39
],
40
"Demographics": {
41
"FirstName": "Timothy",
42
"MiddleName": "Paul",
43
"LastName": "Bixby",
44
"DOB": "2008-01-06",
45
"SSN": "101-01-0001",
46
"Sex": "Male",
47
"Race": "White",
48
"IsHispanic": null,
49
"Religion": null,
50
"MaritalStatus": "Single",
51
"IsDeceased": null,
52
"DeathDateTime": null,
53
"PhoneNumber": {
54
"Home": "+18088675301",
55
"Office": null,
56
"Mobile": null
57
},
58
"EmailAddresses": [],
59
"Language": "en",
60
"Citizenship": [],
61
"Address": {
62
"StreetAddress": "4762 Hickory Street",
63
"City": "Monroe",
64
"State": "WI",
65
"ZIP": "53566",
66
"County": "Green",
67
"Country": "US"
68
}
69
},
70
"Notes": [],
71
"Diagnoses": [
72
{
73
"Code": "R07.0",
74
"Codeset": "ICD-10",
75
"Name": "Pain in throat",
76
"Type": null,
77
"DocumentedDateTime": null
78
}
79
]
80
},
81
"StartDateTime": "2024-12-20T18:11:36.950Z",
82
"EndDateTime": null,
83
"Visit": {
84
"Reasons": [
85
"Check up"
86
],
87
"AttendingProviders": [],
88
"Locations": [
89
{
90
"Type": "Inpatient",
91
"Facility": "RES General Hospital",
92
"Department": "3N",
93
"SpecialtyDepartment": {
94
"Code": null,
95
"Codeset": null,
96
"Description": null
97
},
98
"Room": "136",
99
"ID": null
100
}
101
],
102
"VisitType": [
103
{
104
"Code": "210",
105
"Codeset": "DNER15",
106
"Description": "Office Visit"
107
}
108
],
109
"VisitPreference": [
110
{
111
"Duration": "30",
112
"DurationUnit": "minutes",
113
"Day": [
114
"Tues",
115
"Fri"
116
],
117
"Time": [
118
"1000"
119
]
120
}
121
]
122
}
123
}