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.
Receive a notification when the date or time of an existing appointment has changed.
Typically, these fields are updated:
- Visit.VisitNumber
- Visit.VisitDateTime
- Visit.OldDateTime
For any other type of change to the appointment, use a Modification message instead.
Request Body Schema
- Metarequired, object
- DataModelrequired, stringReliable
Scheduling
- EventTyperequired, stringReliable
Reschedule
- 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.
- Visitrequired, object
- VisitNumberrequired, stringReliable
Displays the unique identifier for the related patient visit.
- VisitDateTimerequired, stringReliable
New DateTime of the appointment.
ISO 8601 Format - Durationrequired, numberReliable
Defines the length of the appointment in minutes.
- Locationrequired, object
Displays the location of the patient appointment.
- Departmentrequired, stringReliable
Department
- Typestring, nullReliable
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullReliable
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullReliable
An ID specific to this facility
- IDTypestring, nullReliable
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullReliable
An ID specific to this department
- IDTypestring, nullReliable
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullReliable
Room.
Example: 136
- OldVisitNumberstring, null
Visit Number of the appointment being rescheduled.
This is only needed by some systems, such as athenahealth. For systems that do not need this for rescheduling, it will be the likely same as the Visit.VisitNumber. - AccountNumberstring, nullPossible
Contains an identifier that can span several visits often related to the same patient condition (e.g., surgeries, research study, pregnancy). In other words, the account number can be used to link related visits.
Not supported with data on demand. - OldDateTimestring, null
Old DateTime of the appointment.
ISO 8601 Format - PatientClassstring, nullProbable
Classifies the department or type of patient care. Patient class is used in many EHR systems to determine where to put the patient (e.g., inpatient, outpatient, emergency).
- Statusstring, nullProbableValue Set
Indicates the status of the visit.
- Reasonstring, nullProbable
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.
- Typestring, nullProbable
Displays an administrative value used primarily for bidirectional exchange to update EHR system schedules.
Not supported with data on demand. - InstructionsArray of string
Contains any relevant instructions for the patient visit.
Not supported with data on demand. - AttendingProviderobject
- IDstring, nullProbable
ID of the attending provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullProbable
ID type of the ID for the attending provider
- FirstNamestring, nullPossible
First name of the attending provider
- LastNamestring, nullPossible
Last name of the attending provider
- CredentialsArray of string
List of credentials for the attending 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
- ConsultingProviderobject
- IDstring, nullPossible
ID of the consulting provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullPossible
ID type of the ID for the consulting provider
- FirstNamestring, nullPossible
First name of the consulting provider
- LastNamestring, nullPossible
Last name of the consulting provider
- CredentialsArray of string
List of credentials for the consulting 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
- ReferringProviderobject
- IDstring, nullPossible
ID of the referring provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullPossible
ID type of the ID for the referring provider
- FirstNamestring, nullPossible
First name of the referring provider
- LastNamestring, nullPossible
Last name of the referring provider
- CredentialsArray of string
List of credentials for the referring 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
- VisitProviderobject
- IDstring, nullPossible
ID of the visit provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullPossible
ID type of the ID for the visit provider
- FirstNamestring, nullPossible
First name of the visit provider
- LastNamestring, nullPossible
Last name of the visit provider
- CredentialsArray of string
List of credentials for the visit 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
- AdditionalStaffArray of object
Contains information about any other staff assigned to the assist with the patient visit. Each may be scheduled individually.
- IDstring, nullProbable
ID of the Additional staff member.
This ID is often required for Inpatient Visits. - IDTypestring, nullProbable
ID type of the ID for the Additional staff member
- FirstNamestring, nullPossible
First name of the Additional staff member
- LastNamestring, nullPossible
Last name of the Additional staff member
- CredentialsArray of string
List of credentials for the Additional staff member.
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
- Roleobject
Defines the role of this person in the patient visit.
- Codestring, nullProbable
Code for the service
- Codesetstring, nullProbable
Code set used to identify the service.
Codeset will be blank for system-defined codes. - Descriptionstring, nullProbable
Description of the service.
Example: Primary Physician, Technologist, etc.
- StartDateTimestring, nullProbable
If this staff member's schedule is different from the appointment schedule, this is the time that this staff member is scheduled to start work.
- Durationnumber, nullProbable
Specifies the length of time that the staff member is scheduled for.
In minutes
- DiagnosesArray of object
Contains a list of diagnoses associated with the patient 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
- EquipmentArray of object
Specifies the equipment or resources assigned to this appointment. Each may be scheduled individually.
- Codestring, nullProbable
Code for the equipment
- Codesetstring, nullProbable
Code set used to identify the equipment.
Codeset will be blank for system-defined codes. - Descriptionstring, nullProbable
Description of the equipment.
Example: X-Ray, Therapy Ball, etc. - StartDateTimestring, nullProbable
If the equipment's schedule is different from the appointment schedule, this is the time that this staff member is scheduled to start work.
Not supported with data on demand. - Durationnumber, nullProbable
Defines the length of time (in minutes) that the equipment is scheduled for.
Not supported with data on demand.
- Patientobject
- IdentifiersArray of object
List of IDs and ID types that identify the patient
- IDstring, nullReliable
ID for the patient
- IDTypestring, nullReliable
Type of ID.
E.g. MRN, EPI
- Demographicsobject
- FirstNamestring, nullReliable
Patient's first name
- MiddleNamestring, nullPossible
Patient's middle name or middle initial. For patients with multiple middle names, all their middle names are included in this field.
- LastNamestring, nullReliable
Patient's last name
- DOBstring, nullReliable
Patient's date of birth.
In ISO 8601 format - SSNstring, nullProbable
Patient's social security number
- Sexstring, nullReliableValue Set
Patient's sex
- Racestring, nullPossibleValue Set
Patient's race
- IsHispanicboolean, nullPossibleValue Set
Indicates if the patient is of hispanic origin.
- Religionstring, nullPossibleValue Set
Patient's religious affiliation
- MaritalStatusstring, nullPossibleValue Set
Patient's marital status
- IsDeceasedboolean, nullPossible
Indicates if the patient is deceased
- DeathDateTimestring, nullPossible
Date and Time the patient was proclaimed deceased.
ISO 8601 Format - PhoneNumberobject
- Homestring, nullProbable
Patient's home phone number.
In E. 164 Format. (e.g. +16085551234) - Officestring, nullProbable
Patient's office phone number.
In E. 164 Format. (e.g. +16085551234) - Mobilestring, nullProbable
Patient's mobile phone number.
In E. 164 Format. (e.g. +16085551234)
- EmailAddressesArray of string
Patient's email address(es)
- Languagestring, nullPossibleValue Set
Patient's primary spoken language.
In ISO 639-1 alpha values (e.g. 'en'). Supported Values - CitizenshipArray of string
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
Patient-level notes
- AppointmentInfoArray of object
Contains a list of supplementary clinical information associated with the appointment.
- Codestring, nullProbable
Code for the information element
- Codesetstring, nullProbable
Code set used to identify the information element.
Codeset will be blank for system-defined codes. LOINC or other codesets may be used where appropriate. - Descriptionstring, nullProbable
Description of the information element.
Additional information that may come from patient-completed forms or other sources - Valuestring, nullReliable
Displays the value of the corresponding appointment info code. For example, the code identifies the question being answered, and this property contains the answer.