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.
Query for open times for booking an appointment within a given time range. Results are returned in Scheduling.AvailableSlotsResponse.
Request Body Schema
- Metarequired, object
- DataModelrequired, stringReliable
Scheduling
- EventTyperequired, stringReliable
AvailableSlots
- EventDateTimestring, nullReliable
Displays the UTC date and time that an outgoing request is delivered or an incoming request is received.
ISO 8601 Format - Testboolean, nullReliable
Indicates whether the request is a test or not.
- Sourceobject
Contains the information for the system initiating the message, including the source ID and name.
Included in messages from Redox- IDstring, nullReliable
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 - Namestring, nullReliable
Displays the name of the system initiating the message.
- DestinationsArray 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.- IDstring, nullReliable
Identifies the endpoint that the request is directed to.
UUID - Namestring, nullReliable
Displays the name of the endpoint that the request is directed to.
- LogsArray of object
Contains the log identifier(s) for the request.
- IDstring, nullReliable
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 - AttemptIDstring, nullReliable
Identifies the request log attempt value, which is useful when retries are possible.
UUID
- FacilityCodestring, nullPossible
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.
- StartDateTimerequired, stringReliable
Defines the start of the time range to search for appointments.
ISO 8601 Format - Patientobject
- IdentifiersArray of object
Contains a list of identifiers and identifier types that correlate to the patient.
- IDstring, nullPossible
Contains an identifier for the patient.
- IDTypestring, nullPossible
Defines the type of identifier used to identify the patient (e.g., MRN, EPI).
- Demographicsobject
- FirstNamestring, nullPossible
Displays the patient's first name.
- MiddleNamestring, nullPossible
Displays the patient's middle name or initial. For patients with multiple middle names, all their middle names are included in this field.
- LastNamestring, nullPossible
Displays the patient's last name.
- DOBstring, nullPossible
Specifies the patient's date of birth.
In ISO 8601 format - SSNstring, nullPossible
Contains the patient's social security number.
- Sexstring, nullPossibleValue Set
Specifies the patient's sex.
- Racestring, nullPossibleValue Set
Specifies the patient's race.
- IsHispanicboolean, nullPossibleValue Set
Indicates whether the patient is of hispanic origin.
- Religionstring, nullPossibleValue Set
Indicates the patient's religious affiliation.
- MaritalStatusstring, nullPossibleValue Set
Specifies the patient's marital status.
- IsDeceasedboolean, nullPossible
Indicates if the patient is deceased.
- DeathDateTimestring, nullPossible
Specifies the date and time that the patient was proclaimed deceased.
ISO 8601 Format - PhoneNumberobject
- Homestring, nullPossible
Displays the patient's home phone number.
In E. 164 Format. (e.g. +16085551234) - Officestring, nullPossible
Displays the patient's office phone number.
In E. 164 Format. (e.g. +16085551234) - Mobilestring, nullPossible
Displays the patient's mobile phone number.
In E. 164 Format. (e.g. +16085551234)
- EmailAddressesArray of string
Displays the patient's email address(es).
- Languagestring, nullPossibleValue Set
Indicates the patient's primary spoken language.
In ISO 639-1 alpha values (e.g. 'en'). Supported Values - CitizenshipArray of string
Specifies the patient's nation(s) of citizenship.
In ISO 3166 alpha 2 format (e.g. 'US'). - Addressobject
Patient's home address
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- NotesArray of string
Contains any patient-level notes.
Not supported with data on demand. - DiagnosesArray of object
Contains a list of diagnoses associated with the visit.
- Codestring, nullProbable
Code for the diagnosis
- Codesetstring, nullProbableValue Set
Code set used to identify the diagnosis.
One of the following: ICD-9, ICD-10, HCPCS, CPT - Namestring, nullProbable
Name of the diagnosis
- Typestring, nullPossibleValue Set
Type of the diagnosis
- DocumentedDateTimestring, nullPossible
DateTime the diagnosis was documented.
ISO 8601 Format
- EndDateTimestring, nullPossible
Defines the end of the time range to search for appointments.
ISO 8601 Format - Visitobject
- ReasonsArray 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.
- AttendingProvidersArray of object
- IDstring, nullProbable
ID of the provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullProbable
ID type of the ID for the provider
- FirstNamestring, nullPossible
First name of the provider
- LastNamestring, nullPossible
Last name of the provider
- CredentialsArray of string
List of credentials for the provider.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- LocationsArray of object
Specifies the location of the appointment.
- Typestring, nullProbable
Specifies the type of location (e.g., clinic, department, home, nursing unit, provider office, phone).
Not supported with data on demand. - Facilitystring, nullProbable
Specifies the kind of facility (e.g., community hospital).
Not supported with data on demand. - Departmentstring, nullProbable
Specifies the department where the patient appointment takes place.
- SpecialtyDepartmentobject
Indicates the departments specialty.
- Codestring, nullPossible
Code for the specialty of the department
- Codesetstring, nullPossible
Code set used to identify the specialty of the department
- Descriptionstring, nullPossible
Description of the specialty of the department
- Roomstring, nullProbable
Displays the room number for the visit (e.g., 136).
Not supported with data on demand. - IDstring, nullPossible
Contains the unique identifier of the visit location.
- VisitTypeArray of object
Defines the type of patient visit.
- Codestring, nullPossible
Code for the visit type
- Codesetstring, nullPossible
Code set used to identify the visit type
- Descriptionstring, nullPossible
Description of the visit type
- VisitPreferenceArray of object
Contains the details for the appointment scheduling preferences.
- Durationstring, nullPossible
Defines the preferred length of time for the patient visit.
- DurationUnitstring, nullPossible
Specifies the unit of measurement for the duration field.
- DayArray of string
Specifies the preferred day of week for scheduling the appointment.
- TimeArray of string
Specifies the preferred time of day for the appointment.