
This blog provides details about Technosoft’s development of an Open Dental Plugin for canceled appointments slot utilization via waitlist-patient’s notification and confirmation process. We define the overall scope of the project, architecture, functional & non-functional requirements, Business Rules, and the solution provided to the client.
Technosoft has worked on the following client projects using C#, ADO.Net, Twilio, and MySQL.
Open Dental Plugin
The open dental plugin was created to avoid wastage of the provider’s time due to appointment cancellations. Cancellations in dental practices are very common. And that means lots of lost revenue for the clinic. Open dental is an open-source dental clinic management software that is very popular with dentists as well as hygienists. This plugin was developed so that, in case of cancellation, a notification is sent to patients on the waitlist, with an option to accept the appointment. Notifications are sent via email and SMS text messages. There are plans to incorporate IVR functionality to call in patients on the waitlist for this notification.
System Objectives and Background knowledge
This plugin for Open dental is developed for the dental clinic’s front desk staff’s use. The plugin is activated while scheduling/rescheduling/cancellation of patient appointments. Plugin passes available appointment notifications to patients who are on the waitlist or have requested for an earlier appointment for their already scheduled appointments. A specific priority area has also been created where patients are prioritized, for newly available appointment notification, according to their medical condition and their choice.
Main Features
Three main features are introduced at the Open Dental plugin are:
- Patient-Centric Feature
- Appointment Centric Feature
- Waitlist
Patient-Centric Feature
- The patient-centric feature is used to mark a patient as a priority/preferred patient. This feature is used when an appointment is canceled.
- When an appointment is canceled, patients marked as “Patient-Centric” are contacted that whether they want to reschedule their appointment to the emptied slot.
- The first patient to respond will be allocated to the newly available appointment slot.
The flow of Patient-centric
- The patient is marked as “Patient-Centric” at patient creation time. At this time, the patient’s notification preference (email, or SMS text) is also entered along with patient contact.
- Whenever an appointment is canceled, all other preferred patients of the same providers who have their upcoming appointments after 1 hour to 30 days from the canceled appointment are notified though their preferred notification.
- If the response is received within an hour of the appointment time, it is still handled appropriately.
- Patients of other providers do not receive any notification even if they are patient-centric and have an appointment in the next 30.
Appointment Centric Feature
Appointment Centric feature is used to intimate that patient of this already scheduled appointment has requested an earlier appointment.
The flow of Appointment Centric
- An appointment is marked as “Appointment Centric” when it’s initially booked. At that time patient contact info and notification preference is also entered in the system.
- Whenever an appointment is canceled, patients who have their appointments in the next 48 hours to 30 days from the canceled appointment are notified through their preferred notification option.
- If the time between canceled slot and the already scheduled appointment is less than 48 hours then a notification is not sent.
- Patients of other providers do not receive any notification even if they have priority appointment in the next 48 hours to 30 days.
- Notification is sent to Appointment centric patients as well.
- The response is handled even if it is received within an hour of appointment time.
Waitlist
Patients can be placed on the waitlist without any appointment created. This cancellation auto notification waitlist is maintained separately from the open dental’s waitlist.
The flow of Appointment Centric
- A patient is added to the notification waitlist and preferred time(s) of the day and day(s) of the week are asked along with notification preferences.
- Whenever an appointment is canceled, all patients on the waitlist are notified through their preferred notification option if the appointment slot falls within their available day/time of the week.
- The response is handled even if it is received within an hour of appointment time.
All features cater to patients on first response first serve basis.
Re-scheduling
- The process of cancellation and rescheduling is the same. An appointment is canceled and then it can be rescheduled.
- While rescheduling, a user is asked whether he wants to execute the cancellation process, if the user agrees, notifications are sent and if the user disagrees no process is executed and notifications are not sent.
- Whenever an appointment is rescheduled, other appointments can be scheduled in the place of free slot. A slot of appointment which is scheduled in the place of free slot is considered an empty slot.
- An appointment can be rescheduled and assigned to other providers.
- Notification is not sent if less than an hour is left in the starting time or rescheduled appointment.
Select Providers
- The process of sending notifications against any reschedule appointments works only for selected providers.
- Notifications are provider-specific: Patients of only selected providers receive notifications.
Plugin/Application Platforms
- The open dental plugin works as a Desktop Application.
- The plugin can be converted into exe format and can be installed on any server.
System Constraints
- Developed as a program using forms-based C#, ADO dotNet, Twillio (SMS service) technologies.
- Open Dental’s Database (MySQL) was used to store plugin data.
- Open Dental runs on the dotNet Framework, a Microsoft technology. It will also run on the Mono framework, an adaptation of dotNet for Linux. So you will need to install Mono before installing and using Open dental.
- Installation of Open Dental itself simply involves copying all files in C:\Program Files\Open Dental from a Windows computer directly into a folder on a Linux computer (e.g. /usr/local/opendental/).
- The internet is necessary for the SMS/Emails services plugin.
- The intranet is required when a server is not available.
Important Technical Achievements
Important technical details include implementation of
- Hooks Binding
- Twillio Service Integration
- Configurations
- Script Binding
System Stakeholders
System(plugin) is usable as a desktop App and can be operated by an Administrator/Receptionist/Operator.
The flow of App and Plugin
The overall flow is shown precisely in this Application Features diagram.
Figure 1: Application feature diagram
This flow describes Creating Appointment Centric Appointments.
Figure 2: Flow of Appointment Creation
Description:
- Clicking on the “Select Provider” from the main menu on the top, the User is able to see all provider lists. All provider lists include both hygienists and providers.
- Clicking on “Select Patient” leads to Make Appt (Appointment) and clicking on “Make Appt” leads to “Create New Appt”.
- After clicking on the “Appointment Centric” checked box, a popup message appears asking for selecting the option for sending notification.
- Clicking on “Ok” makes to save an appointment.
Following Flow shows the creation of a Patient-Centric Patient.
Figure 3: Flow of creation of Patient-Centric Patient
Description:
- After opening “Open Dental” software, a user goes to “Select Patient “and search for the patient first, then click on the “Add Pt” (Add Patient) screen or the user can search the patient if it already exists.
- On creating or updating a patient, the “Patient-Centric” checked box is visible on the screen.
- When the user clicks the “Patient-Centric” checkbox, a popup appears with notification options.
The flow of the Appointment Cancellation Process (Appointment Centric).
Figure 4: Flow of Appointment Cancellation Process
Description:
- When the user selects Patient A, he/she creates or updates an appointment (Please note that user checks Appointment Centric checkbox and select the notification option, i.e. either phone or email, otherwise the patient will get notified).
- Selecting Patient B creates an Appointment Centric appointment and places created an appointment with at least 48 hours difference from the current date and time.
- Further right-clicking on the appointment of patient A and clicking on “Break Appointment” (or either drag and drop an appointment on any other available slot under the same operator/hygiene).
- Pop-up will appear select ‘Yes’ against the pop-up.
- Notification will be sent to the patient.
This Flow shows Appointment Cancellation Process (Patient-Centric)
Figure 5: Flow of Appointment Cancellation Process
(Patient-Centric) Description:
- Selecting Patient A leads to creating an appointment.
- The user selects Patient B marked him/her as “Patient-Centric”.
- Creating an appointment of Patient B places created an appointment with at least a 1-hour difference from the current date and time.
- By further right-clicking on the appointment of patient A and clicking on “Break Appointment”(or either drag and drop an appointment on any other available slot) a Pop-up will appear to select ‘Yes’ against the pop-up, Notification will be sent to the patient.
The flow of viewing Empty slots
Description:
Appointments slot which will become empty as a result of the cancellation process. From the above example, Patient (B) appointment slot will be visible on an empty slot screen.
Key Screens
Appointment Centric
Against ‘Appointment Centric’ checked box clicked event system will perform below actions:
- The system will check for a wireless phone number of the selected patients.
- If the patient’s wireless phone number not added before then prompt user
Patient-Centric: On patient create and Edit screen
Against ‘patient Centric’ checked box clicked event system will perform the below actions:
- The system will check for a wireless phone number is defined and enabled.
- If a patient’s wireless phone number not defined and enabled then the system will prompt a user.
Our client plans to sell this plugin to dental practices. If you are interested, we can get you in contact with our client for the purchase of the plugin for your own practice. As far as Technosoft is concerned, we will be happy to help our clients or help you with any Open Dental feature, or any healthcare software development or integration needs you may have.
Please contact us at 203-‐208-‐8866 to discuss your healthcare software development needs.