Categories and appointment service types question

For requests or help with our API
Post Reply
jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Categories and appointment service types question

Post by jarkkok » Thu Jul 29, 2021 10:17 am

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.

SLeon
Posts: 476
Joined: Mon Mar 01, 2021 10:00 am

Re: Categories and appointment service types question

Post by SLeon » Thu Jul 29, 2021 11:07 am

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.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Fri Jul 30, 2021 2:29 pm

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

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Tue Aug 03, 2021 7:48 am

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.

SLeon
Posts: 476
Joined: Mon Mar 01, 2021 10:00 am

Re: Categories and appointment service types question

Post by SLeon » Tue Aug 03, 2021 8:53 am

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?

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Tue Aug 03, 2021 11:08 am

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.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Wed Aug 04, 2021 8:10 am

This service type should go to both GET single appointment and GET multiple appointments.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Fri Aug 06, 2021 2:07 pm

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?

SLeon
Posts: 476
Joined: Mon Mar 01, 2021 10:00 am

Re: Categories and appointment service types question

Post by SLeon » Fri Aug 06, 2021 2:30 pm

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.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Fri Aug 06, 2021 2:38 pm

Excellent. Thank you.

SLeon
Posts: 476
Joined: Mon Mar 01, 2021 10:00 am

Re: Categories and appointment service types question

Post by SLeon » Fri Sep 24, 2021 3:20 pm

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.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Tue Oct 05, 2021 7:07 am

Thank you for the update. I'll take a look at it soon.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Wed Oct 06, 2021 2:15 pm

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)?

SLeon
Posts: 476
Joined: Mon Mar 01, 2021 10:00 am

Re: Categories and appointment service types question

Post by SLeon » Wed Oct 06, 2021 2:51 pm

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.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Thu Oct 07, 2021 2:52 pm

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.

SLeon
Posts: 476
Joined: Mon Mar 01, 2021 10:00 am

Re: Categories and appointment service types question

Post by SLeon » Fri Oct 08, 2021 9:08 am

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.

jarkkok
Posts: 32
Joined: Mon Jul 26, 2021 7:46 am

Re: Categories and appointment service types question

Post by jarkkok » Mon Oct 11, 2021 11:01 am

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?

Post Reply