Categories and appointment service types question
Categories and appointment service types question
I'm thinking of a use case example where a patient a crown scheduled. The patient wants to cancel that appointment and reschedule crown for another date and time. Patient then want to query open slots that are available for crown operation, and pick a new appointment time from from those.
Do you categorize in major categories such filling, crown and hygienist etc?
GET /appointments/SlotsWebSched?dateStart=2021-02-15&dateEnd=2021-02-15&defNumApptType=326
-How to get explanation of defNumApptTypes?
GET /appointments/SlotsWebSched?dateStart=2021-02-15&dateEnd=2021-02-15&defNumApptType=326
-When requesting slots how do we know what to ask for in defNumApptType?
GET single appointment
-How could we determine the defNumApptType of a specific appointment?
Thank you.
Do you categorize in major categories such filling, crown and hygienist etc?
GET /appointments/SlotsWebSched?dateStart=2021-02-15&dateEnd=2021-02-15&defNumApptType=326
-How to get explanation of defNumApptTypes?
GET /appointments/SlotsWebSched?dateStart=2021-02-15&dateEnd=2021-02-15&defNumApptType=326
-When requesting slots how do we know what to ask for in defNumApptType?
GET single appointment
-How could we determine the defNumApptType of a specific appointment?
Thank you.
Re: Categories and appointment service types question
The defNumApptType parameter for GET /appointments/SlotsWebSched is defined in our documentation as "definition.DefNum where definition.Category=42 (NewPat) or 51 (ExistingPat)". These are the AppointmentTypes specifically associated with the Web Scheduling eService. You can send the following API requests to list all the AppointmentTypes the office has defined for that category:
GET /definitions?Category=42
GET /definitions?Category=51
The GET /appointments/SlotsWebSched requires the office to do a bit of setup for Web Scheduling, but only those two categories (42 and 51) are ever used. If you are wanting to search for appointment slots similar to as within Open Dental (not Web Scheduling), you will want to use GET /appointments/Slots instead. More about this other method can be accessed from the first link on our manual page https://www.opendental.com/manual212/fhir.html.
GET /definitions?Category=42
GET /definitions?Category=51
The GET /appointments/SlotsWebSched requires the office to do a bit of setup for Web Scheduling, but only those two categories (42 and 51) are ever used. If you are wanting to search for appointment slots similar to as within Open Dental (not Web Scheduling), you will want to use GET /appointments/Slots instead. More about this other method can be accessed from the first link on our manual page https://www.opendental.com/manual212/fhir.html.
Re: Categories and appointment service types question
Thank you for the help, Sleon. Much appreciated.
One more question about this, please. I currently have Patient and Appointment permissions for development purposes (no real patient data). https://www.opendental.com/manual/websc ... setup.html says that "Sign up for Web Sched Existing Patient" and https://www.opendental.com/site/websched.html says that "Practices must be on support with a unique registration key to use Web Sched". Do I need upgraded priviledges for Existing and New Patient WebSched?
I have created Appointment Types and linked Appointment Types and Operatories to WebSched (to both New and Existing patient) so I believe those should be available, but I get no time slots when I do:
https://api.opendental.com/api/v1/appoi ... ptType=308
https://api.opendental.com/api/v1/defin ... ategory=51 results:
[
{
"DefNum": 307,
"ItemName": "Emergency/Tooth Pain",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
},
{
"DefNum": 308,
"ItemName": "Cosmetic Whitening",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
},
{
"DefNum": 320,
"ItemName": "Extraction",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
},
{
"DefNum": 323,
"ItemName": "Existing fix",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
}
]
Thank you
One more question about this, please. I currently have Patient and Appointment permissions for development purposes (no real patient data). https://www.opendental.com/manual/websc ... setup.html says that "Sign up for Web Sched Existing Patient" and https://www.opendental.com/site/websched.html says that "Practices must be on support with a unique registration key to use Web Sched". Do I need upgraded priviledges for Existing and New Patient WebSched?
I have created Appointment Types and linked Appointment Types and Operatories to WebSched (to both New and Existing patient) so I believe those should be available, but I get no time slots when I do:
https://api.opendental.com/api/v1/appoi ... ptType=308
https://api.opendental.com/api/v1/defin ... ategory=51 results:
[
{
"DefNum": 307,
"ItemName": "Emergency/Tooth Pain",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
},
{
"DefNum": 308,
"ItemName": "Cosmetic Whitening",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
},
{
"DefNum": 320,
"ItemName": "Extraction",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
},
{
"DefNum": 323,
"ItemName": "Existing fix",
"ItemValue": "",
"Category": 51,
"category": "WebSchedExistingApptTypes",
"isHidden": "false"
}
]
Thank you
Re: Categories and appointment service types question
I got the GET SlotsWebSched working.
To further clarify my question about service types, I'd like to ask:
In our app we are trying to reschedule an existing appointment. We have the appointment Id so we can query the API for appointment details.
In order to reschedule we call “get SlotsWebsched”. This API call requires us to specify an appointment type.
How can we figure out the appt type based on the details of the existing appointment?
Thank you.
To further clarify my question about service types, I'd like to ask:
In our app we are trying to reschedule an existing appointment. We have the appointment Id so we can query the API for appointment details.
In order to reschedule we call “get SlotsWebsched”. This API call requires us to specify an appointment type.
How can we figure out the appt type based on the details of the existing appointment?
Thank you.
Re: Categories and appointment service types question
I am glad to hear you were able to get GET SlotsWebSched working! The appointment type is not currently a field that is returned when using GET appointments, but is clearly necessary for this workflow. I will add this to our development list.
Do you have any remaining questions/concerns about using GET SlotsWebSched?
Do you have any remaining questions/concerns about using GET SlotsWebSched?
Re: Categories and appointment service types question
Very good to hear you added appointment type to the development list.
I'll back back to you soon if there's more that could be good for the GET SlotsWebSched. Now I believe location Id (ClinicNum) might be useful. There's an Op (operatory), but a more specific location may be good.
I'll back back to you soon if there's more that could be good for the GET SlotsWebSched. Now I believe location Id (ClinicNum) might be useful. There's an Op (operatory), but a more specific location may be good.
Re: Categories and appointment service types question
This service type should go to both GET single appointment and GET multiple appointments.
Re: Categories and appointment service types question
There's one more thing about Appointments GET SlotsWebSched. The specs say ClinicNum: Required if clinics enabled.
How do I find out if clinics are enabled?
How do I find out if clinics are enabled?
Re: Categories and appointment service types question
Whether clinics are enabled are not is stored as a preference so you can utilize the Preferences GET method for this. The PrefName is called EasyNoClinics, where a value of 0 indicates that clinics are enabled.
Re: Categories and appointment service types question
Excellent. Thank you.
Re: Categories and appointment service types question
Appointments GET WebSched is a new method that gets a list of all appointments, indicating which were made through the WebSched service. You can use the eServiceLogType field to determine if it is a Web Sched "NewPat" or "ExistingPat" appointment. More information can be found on our updated documentation: https://www.opendental.com/resources/OpenDentalAPI.pdf.
Re: Categories and appointment service types question
Thank you for the update. I'll take a look at it soon.
Re: Categories and appointment service types question
I think I need a little help with this. In our app we are trying to reschedule an existing appointment. We have the appointment Id so we can query the API for appointment details.
In order to reschedule we call “get SlotsWebsched”. This API call requires us to specify an appointment type.
An example from your documentation:
GET /appointments/SlotsWebSched?dateStart=2021-10-15&dateEnd=2021-10-30&defNumApptType=326
How do we determine what to populate in the defNumApptType (here 326)?
In order to reschedule we call “get SlotsWebsched”. This API call requires us to specify an appointment type.
An example from your documentation:
GET /appointments/SlotsWebSched?dateStart=2021-10-15&dateEnd=2021-10-30&defNumApptType=326
How do we determine what to populate in the defNumApptType (here 326)?
Re: Categories and appointment service types question
Appointments GET WebSched will indicate the eServiceLogType of the appointments returned. This is how you can tell how the appointment was scheduled originally ("NewPat", "ExistingPat", etc). Note that this field will be "None" if not scheduled through WebSched.
The defNumApptType is a definition.DefNum from either definition.Category=42 (NewPat) or 51 (ExistingPat). Run a GET /definitons?Category=41 (or 51) to get a list of defNums that match this type. This is what is used in the Appointments GET SlotsWebSched search.
We are currently in the process of expanding the API's ability to support appointments made through the WebSched service.
The defNumApptType is a definition.DefNum from either definition.Category=42 (NewPat) or 51 (ExistingPat). Run a GET /definitons?Category=41 (or 51) to get a list of defNums that match this type. This is what is used in the Appointments GET SlotsWebSched search.
We are currently in the process of expanding the API's ability to support appointments made through the WebSched service.
Re: Categories and appointment service types question
Thanks for your response. Perhaps we haven't been clear what we are trying to achieve.
How about this scenario:
1. Patient wants to reschedule existing appointment.
2. Our application knows the ID (AptNum) of the existing appointment.
3. In order to ask Open Dental for slots, we need to specify the appointment type (defNumApptType).
4. We want to specify the appointment type that was used for the existing appointment.
5. Ideally we would use the API call to get appointment details (Get appointments single and multiple),
and the reponse would include the appointment type (defNumApptType) of the appointment.
6. We'd use that appointment type to get slots (using Get SlotsWebSched).
For instance, if a existing patient has an existing appointment for Cosmetic Whitening (DefNum 308 in WebSchedExistingApptTypes category), then we would like to specify 308 in the Get Slots call.
I understand that step 5 won't work now because appointment details don't contain the defNumApptType.
How about this scenario:
1. Patient wants to reschedule existing appointment.
2. Our application knows the ID (AptNum) of the existing appointment.
3. In order to ask Open Dental for slots, we need to specify the appointment type (defNumApptType).
4. We want to specify the appointment type that was used for the existing appointment.
5. Ideally we would use the API call to get appointment details (Get appointments single and multiple),
and the reponse would include the appointment type (defNumApptType) of the appointment.
6. We'd use that appointment type to get slots (using Get SlotsWebSched).
For instance, if a existing patient has an existing appointment for Cosmetic Whitening (DefNum 308 in WebSchedExistingApptTypes category), then we would like to specify 308 in the Get Slots call.
I understand that step 5 won't work now because appointment details don't contain the defNumApptType.
Re: Categories and appointment service types question
Unfortunately, when a Web Sched appointment (either NewPat or ExistingPat) is made, the specific defNumApptType is only stored as string in its Note field. While this would be visible through an API request, the Note can easily be overwritten by the dental office, and is therefore an unreliable way to determine the specific defNumApptType programmatically. Returning which type of Web Sched appointment (NewPat or ExistingPat) is the most specificinformation that is associated with the appointment.
The rescheduling of these appointments through the actual Web Scheduling service is expected to be done by the customer calling the office, which bypasses this issue. If the appointment was not made through the Web Scheduling service, you can use the API method Appointments GET Slots to get available time slots, which does not require knowing the type of the original appointment. A WebSched appointment could be rescheduled in this manner as well, but it will be indistinguishable from a normal appointment by the dental office.
The rescheduling of these appointments through the actual Web Scheduling service is expected to be done by the customer calling the office, which bypasses this issue. If the appointment was not made through the Web Scheduling service, you can use the API method Appointments GET Slots to get available time slots, which does not require knowing the type of the original appointment. A WebSched appointment could be rescheduled in this manner as well, but it will be indistinguishable from a normal appointment by the dental office.
Re: Categories and appointment service types question
Is there a chance you could store the defNumApptType and include it in the response when we ask for appointment details, all appointments and appointment deltas?