Overview
An operatory represents a chair or room in a medical practice where providers service patients. It is also sometimes referred to as a vertical column in the scheduling calendar.
Not all EHRs support operatories
In EHRs where they exist, operatory id is a fundamental concept in organizing a calendar and is therefore a required value on all appointment records. However, a minority of EHRs do not have a concept of operatory and therefore all NexHealth appointments read from and written to these databases will not contain an operatory id. Please note that the presence of operatories in the target EHR also changes the way that new appointments are created via the NexHealth API.
Use Cases
Reading and writing appointments
Appointment record workflows change significantly depending on the presence of operatories. Therefore, it is necessary to understand the expected values for a particular location and adjust application behavior accordingly. The list of Supported Health Records Systems at the bottom of this page provides a summary of nuances per integration. Additionally, the same information is available programmatically via the boolean location.map_by_operatory
attribute.
- If
location.map_by_operatory
is set to false, all appointments in NexHealth associated to this location will contain a null operatory id. - If
location.map_by_operatory
is set to true, all attempts to create a new appointment in the target EHR for this location will fail if the appointment object is missing a validoperatory_id
. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Setting up availabilties for use with appointment slots
Availabilties define the rules in which appointments may be booked online. In it's most basic form, an availability maps a provider (ex: Dr. Brian Albert) to a time frame (example: Monday through Friday 9am - 5pm). For syncs where the target database supports operatories, availabilities also define the operatory for that combination of provider and time frame. This allows for complex scheduling configurations.
As an example, imagine that for a given demo location, one availability allows emergency appointment types to be booked with Dr. Brian Albert in OP01 on Mondays and Thursdays, while a second availability allows cleaning appointment types to be booked with the same provider in HYG02 during the remaining weekdays.
It is possible to include two operatories in one availability. In this scenario, passing the optional overlapping_operatory_slots
parameter will return all available slots for operatories at a given time instead of returning only the first found.
As an example, imagine that for a given demo location, one availability allows appointments to be booked with Dr. Brian Albert in OP01 and HYG02 on Fridays and the calendar is currently free in the morning.
- Passing
overlapping_operatory_slots:true
will return one appointment slot for 9am in OP01 and one appointment slot for 9am in HYG02. - Passing
overlapping_operatory_slots:false
(or passing no value) will return one appointment slot for 9am in OP01 only.
For more information on using availabilities, see the Availabilities landing page.
Double Booking
In some cases, offices will allow patients to double book a provider, meaning the same provider will see two patients at the same time. For the purposes of calculating available time slots, operatories are most commonly treated as a limiting resource. In other words, providers may be assigned to overlapping appointments in different operatories, but operatories cannot contain more than one appointment at a time.
Health record systems which do not utilize operatories (such as eCW) have alternative ways to allow double bookings. For more information, see the Supported Health Records Systems section at the bottom of this page.
Supported Health Record Systems
Athena
Importance of passing an operatory id
For Athena locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Cloud9
Importance of passing an operatory id
For Cloud9 locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Curve
Importance of passing an operatory id
For Cuve locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Denticon
Importance of passing an operatory id
For Denticon locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Dentrix
Importance of passing an operatory id
For Dentrix locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Dentrix Ascend
Importance of passing an operatory id
For Dentrix Ascend locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Dentrix Enterprise
Importance of passing an operatory id
For Dentrix Enterprise locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Dolphin
Importance of passing an operatory id
For Dolphin locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
DrChrono
Importance of passing an operatory id
For DrChrono locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
Eaglesoft
Importance of passing an operatory id
For Eaglesoft locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
eClinicalWorks
Absence of operatory ids
For eCW locations, the map_by_operatory
is set to false and therefore any operatory ids passed when creating new appointments will be ignored.
Resources and double booking
Configuring an eCW integration for double booking is an advanced setting in which appointments are created in eCW with both a provider and mapped resource. This setting can only be enabled upon request at this time. For assistance, please reach out to [email protected] with details of the booking scenario.
Open Dental
Importance of passing an operatory id
For Open Dental locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.
ModMed
Absence of operatory ids
For ModMed locations, the map_by_operatory
is set to false and therefore any operatory ids passed when creating new appointments will be ignored.
PracticeWorks
Importance of passing an operatory id
For PracticeWorks locations, the map_by_operatory
is set to true and therefore new appointments must contain a valid operatory id or else result in an appointment insert error. For more insight into the results of appointment creation attempts, please subscribe to the the appointment_insertion webhook.