Online appointment scheduling software solution
Learn how we helped our client:
Create a complex medical appointment scheduling solution
Build a SaaS product with a pay-as-you-go business model
Add a source of revenue by allowing clinics to use the product
Before coming to Yalantis, our client used several poorly integrated software solutions for appointment scheduling. However, they didn’t fully cover the practice's needs and provided poor usability. These constraints pushed the client to use more third-party apps tailored to different tasks — and even Excel tables. The client wanted to handle appointment scheduling in one convenient app and enable other clinics to do so as well.
Our client asked us to create an all-in-one public-facing platform from scratch that would help patients book appointments with the group’s doctors as well as with outside healthcare providers. Our client expected to bring in revenue by turning the appointment scheduling platform into a SaaS product for third-party healthcare organizations.
Overview of SaaS-related functionality
We developed a SaaS-ready solution that includes the following custom functionality:
Built-in EHR module compliant with legal requirements
Third-party payment integrations
Extensive role and permission system
Resource management functionality
Notification system for ensuring patient loyalty and attendance
As a result, patients can:
Find NPI-registered doctors based on health issues and location
Book visits using advanced appointment scheduling functionality
Get information on appointments and discounts via notifications
Make payments for doctor appointments online or offline
Healthcare practices get the opportunity to expand their patient bases and ensure an effective process management flow through:
Easy and fast onboarding performed by practices themselves
A calendar that shows doctors’ availability by date and location
Appointment tracking enhanced by appointment statuses
Payments for visits via an advanced payment automation system
Patient and resource management via a flexible role-based system
Most prominent features
Improved practice management functionality
To provide improved usability, we researched the platforms our client previously used. Then we adopted and improved some of their features to ensure a smooth transition to the new customized booking system for the client’s staff. We also provided a consistent user flow for admins and front desk operators so they can assist each other.
Distributed areas of responsibility
The client’s business model requires implementing multiple user roles. We implemented four default user roles for patient service management: admins responsible for managing the entire group of clinics, practice admins, front desk operators, and patients. The architecture we built allows for adding more user roles if needed.
Want more details on the architecture?
Please enter your email address, and we’ll send you the architecture roadmap straight to your inbox.
Improved appointment visibility
We implemented appointment statuses out, canceled, no-visit, arrived, confirmed, and new, which significantly simplifies appointment management. Sophisticated color coding helps clinicians to monitor the patient database by highlighting new and established patients.
[Information in this image is fictional and is for instructional purposes only]
Compliance and product security implementations
Our planned course of actions for development included:
limiting the scope of data visibility for sensitive PII/PHI data
logging activity with regular long-term cold storage backups
implementing strict access limits for sensitive information
using AWS as a fully HIPAA-compliant infrastructure provider
setting the session expiration time
limiting the number of devices that can be logged into one account at a time
using HTTPS/SSL protocols to ensure secure data transmission
providing encrypted file storage for data protection
Validation tools for minimizing human error
Here are examples of how we helped front desk operators avoid making mistakes:
When there are new appointment requests in the system, front desk operators see a notification until they confirm them.
If there are booked appointments within an available time slot, a front desk operator can’t delete this time slot until they move the booked appointments to another time slot.
A patient can cancel an appointment in response to receiving an appointment notification, which reduces the number of skipped appointments.
Before creating requirements for internal optimization of the cloud-based software solution, our SEO specialist analyzed competitors in Google search results and identified promotion strategies for our client’s SaaS product. Before creating the design layout, we prepared specifications and recommendations for frontend developers, backend developers, DevOps engineers, and the marketing team:
Developers received instructions on how to apply Semantic HTML5, microdata, and requirements to header properties.
The specification included validation of title page and description lengths, the logic of breadcrumbs micro-markup, etc.
Recommendations to DevOps engineers touched upon the setup of Nginx, which is software for serving web pages, reverse proxying, caching, load balancing, etc.
There were recommendations regarding content marketing to attract and retain customers through writing blog articles to cover users’ common problems.
Approach to developing a SaaS solution
When creating SaaS software, it’s important to consider the SaaS-oriented mindset, business, functional, and technical factors. All of them affect the solution architecture and integrations. Our client wanted us to build a SaaS product cost-effectively. Here’s what we did to save money and minimize product maintenance costs.
We standardized all services and features that our client wanted to provide their customers with and ensured that features work the same way for all customers.
Direct contracting is much cheaper than ensuring integrations with the client’s service providers. That’s why we contracted with third-party providers to enable custom features like payments, audits, and KYC (for verifying customers’ identities).
We prepared and established a service-level agreement (SLA) that considered specific technical requirements and the costs needed to meet them. We also prepared technical solutions to comply with technical requirements.
When the client set traffic and load limits, we ensured their monitoring and the collection of statistics. We also set specific software restrictions. This helped the client provide smooth system functionality and customer billing.
To build the billing architecture, we analyzed the client’s monetization model, including pricing, billing, and trials. This analysis helped us figure out how to implement interactions between feature and billing components.
As a solution provider, we estimated the costs required for SaaS product maintenance. This included costs of the cloud service, custom software development, and platform support.
We provided the client’s customers with an admin panel. By using it, customers can monitor their accounts and manage service packages.
To enable human-based customer support, which is a must for a SaaS solution, we implemented a SaaS admin panel.
We developed high availability and disaster recovery strategies that help the product function effectively if any events interrupt service.
We created the product’s architecture considering the tools that would help us implement the required functionality. We documented architectural choices and kept them up to date.
To enable service reliability, we made automated deployment part of our SDLC approach. Together with our DevOps engineers, we prepared a strategy for automatic resource provisioning and tenant onboarding based on end customers’ requirements. Automated deployment helped us minimize human error.
The client expanded their revenue streams by enabling other medical practices to benefit from the product. The developed SaaS-ready solution is user-friendly, quick to deploy, and provides appointment scheduling functionality. Now, our client sees the full picture of the application and can expand its functionality if needed.