This data model communicates information about a patient’s surgical appointment. This includes details like assigned staff, case, and procedure details. These messages may come from an Operating Room (OR) system or from the same scheduling system used for non-surgical appointments.
A surgical appointment gets assigned a case number and patient ID. If the surgical appointment is rescheduled, the case number is usually retained. If the surgical appointment is canceled and later rescheduled, however, a new case number is created.
SurgicalScheduling doesn't include insurance information or preference card data (i.e., a surgeon's list of preferred supplies). Preference card data isn't currently exchanged via a known standard, but you can use the Inventory data model to track used or wasted supplies.
This data model has event types that allow you to:
- receive a notification about surgical appointment updates.
Receive a notification when a new surgical procedure is scheduled in the EHR system.
Request Body Schema
- Metarequired, object
- DataModelrequired, stringReliable
SurgicalScheduling
- EventTyperequired, stringReliable
New
- 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.
- Patientrequired, object
- Identifiersrequired, Array of object
List of IDs and ID types that identify the patient
- IDrequired, stringReliable
ID for the patient
- IDTyperequired, stringReliable
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
- Proceduresrequired, Array of object
Array of procedures to be performed. This will typically contain one entry - but there may be more complex procedures involving multiple separate steps.
- DateTimerequired, stringReliable
DateTime of appointment.
ISO 8601 Format - Durationrequired, numberReliable
Length of appointment.
In minutes - 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
- ProcedureInfoArray of object
Additional information about the procedure being scheduled, such as body site.
- Descriptionstring, nullPossible
ProcedureInfo description, such as 'Laterality'.
- Valuestring, nullPossible
ProcedureInfo value, such as 'unilateral left'.
- Visitrequired, object
- VisitNumberrequired, stringReliable
Visit Number used by the EHR to track this appointment.
Unique ID of a single visit - Locationrequired, object
Location of the procedure
- 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 - Bedstring, nullReliable
Bed.
Example: B
- AccountNumberstring, nullPossible
Account Number.
An ID that can span several visits often related to the same issue - pregnancy, surgeries, research study, etc. - VisitDateTimestring, nullPossible
DateTime of appointment.
ISO 8601 Format - Statusstring, nullProbable
Status of the visit.
One of the following: Scheduled, Arrived, Completed, Pending, Canceled, Left without being seen, No show - Durationnumber, nullPossible
Length of appointment.
In minutes - PatientClassstring, nullReliable
Patient class will indicate the state of the patient at the time of scheduling.
Examples: Inpatient, Outpatient, Emergency - NotesArray of string
Notes about the visit
- 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
- DiagnosesArray of object
List of diagnoses associated with this 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
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.
- Durationnumber, nullProbable
Length of time that the equipment is scheduled for.
In minutes
- SurgeryStaffArray of object
All of the staff assigned to this appointment. Each may be scheduled individually.
- IDstring, nullProbable
ID of the Surgery staff member.
This ID is often required for Inpatient Visits. - IDTypestring, nullProbable
ID type of the ID for the Surgery staff member
- FirstNamestring, nullPossible
First name of the Surgery staff member
- LastNamestring, nullPossible
Last name of the Surgery staff member
- CredentialsArray of string
List of credentials for the Surgery 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
The role of this person in the surgery.
- 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 Surgeon, Anesthesiologist, 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, nullReliable
Length of time that the staff member is scheduled for.
In minutes
- SurgicalInfoArray of object
List of supplementary clinical information associated with the appointment. These may include answers to Ask at Order Entry (AOE) questions, preference card information, or discrete data points about the patient.
- 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 is used for a subset of AOE questions. - Descriptionstring, nullProbable
Description of the information element.
For AOEs, this is typically the text of the AOE question - Valuestring, nullReliable
The value of the corresponding Surgical Info code.
For example, the code will identify the question being answered, and this property will contain the answer.
- SurgicalCaseobject
- Numberstring, nullPossible
Surgery specific identifier
- Statusstring, nullPossible
Status of the surgical case.
This is most often an EHR-specific value, such as 'Procedure started' or 'In Room'.