Health Booking System SRS

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

‭HARARE INSTITUTE OF TECHNOLOGY‬

‭SCHOOL OF INFORMATION SCIENCE AND TECHNOLOGY‬

‭Department:‬ ‭S oftware‬‭Engineering‬

‭Course Name:‬ ‭Requirements‬‭Engineering‬

‭Course Code:‬ ‭ISE 2103‬

‭Group Members:‬ ‭ nqobi Dube‬‭H230585G‬


M
‭Nick Musukutwa‬‭H230061T‬
‭Takundanashe N Rupondo‬‭H230266T‬
‭P anashe S Mawone‬‭H230209X‬
‭Ngonidzashe P Mutsipa‬‭H230375W‬

‭P art:‬ ‭2‬‭S emester 1‬

‭1‬
‭‬ P
● ‭ roject Title‬‭: Healthcare Booking System‬
‭●‬ ‭Authors‬‭: Nick Musukutwa, Takundanashe N Rupondo, Mnqobi‬‭Dube, Panashe S‬
‭Mawone, Ngonidzashe P Mutsipa‬
‭●‬ ‭Version‬‭: 1.0‬
‭●‬ ‭Date‬‭: 09 October 2024‬

‭2‬
‭Table of Contents‬

‭ able‬‭of‬‭Contents‬‭....................................................................................................................‬‭3‬
T
‭1.‬‭Introduction‬‭..........................................................................................................................‬‭4‬
‭1.1‬ ‭Purpose‬‭.........................................................................................................................‬‭4‬
‭1.2‬‭Document‬‭Conventions‬‭..................................................................................................‬‭4‬
‭1.3‬‭System‬‭Coverage‬‭...........................................................................................................‬‭4‬
‭1.4‬‭Project‬‭Scope‬‭.................................................................................................................‬‭6‬
‭1.5‬‭Stakeholders‬‭...................................................................................................................‬‭7‬
‭1.6‬ ‭Definitions,‬‭Acronyms‬‭and‬‭Abbreviations‬‭......................................................................‬‭9‬
‭1.7‬‭References‬‭.....................................................................................................................‬‭9‬
‭2.‬‭O verall‬‭Description‬‭...........................................................................................................‬‭10‬
‭2.1‬‭System‬‭environment‬‭....................................................................................................‬‭10‬
‭2.2‬‭Architecture‬‭Description‬‭...............................................................................................‬‭11‬
‭2.3‬‭System‬‭functionality‬‭......................................................................................................‬‭11‬
‭2.4‬‭User‬‭and‬‭target‬‭audience‬‭.............................................................................................‬‭16‬
‭W hy‬‭Target‬‭PSMI?‬‭........................................................................................................‬‭17‬
‭2.6‬‭Constraints‬‭...................................................................................................................‬‭18‬
‭2.5‬‭Assumptions‬‭.................................................................................................................‬‭18‬
‭3.‬‭Requirements‬‭.....................................................................................................................‬‭19‬
‭3.1‬‭Functional‬‭Requirements‬‭.............................................................................................‬‭19‬
‭i.‬‭User‬‭Registration‬‭and‬‭Authentication‬‭..................................................................‬‭19‬
‭ii.‬‭Appointment‬‭Booking‬‭..........................................................................................‬‭20‬
‭iii.‬‭Real-Time‬‭Availability‬‭Monitoring‬‭........................................................................‬‭20‬
‭iv.‬‭Notification‬‭System‬‭............................................................................................‬‭20‬
‭v.‬‭Appointment‬‭Management‬‭..................................................................................‬‭21‬
‭vi.‬‭Patient‬‭and‬‭Doctor‬‭Profiles‬‭................................................................................‬‭21‬
‭vii.‬‭Payment‬‭Integration‬‭..........................................................................................‬‭21‬
‭3.2‬‭Non-Functional‬‭Requirements‬‭...............................................................................‬‭21‬
‭1.‬‭Performance‬‭.......................................................................................................‬‭21‬
‭2.‬‭Security‬‭...............................................................................................................‬‭21‬
‭3.‬‭Reliability‬‭.............................................................................................................‬‭22‬
‭4.‬‭Scalability‬‭............................................................................................................‬‭22‬
‭5.‬‭Usability‬‭..............................................................................................................‬‭22‬
‭6.‬‭Maintainability‬‭......................................................................................................‬‭22‬
‭7.‬‭Compatibility‬‭.......................................................................................................‬‭22‬
‭Additional‬‭Non-Functional‬‭Requirements‬‭.....................................................................‬‭23‬
‭8.‬‭Localization‬‭.........................................................................................................‬‭23‬
‭9.‬‭Documentation‬‭...................................................................................................‬‭23‬
‭4.‬‭Appendices‬‭.........................................................................................................................‬‭23‬
‭5.‬‭Index‬‭....................................................................................................................................‬‭24‬
‭6.‬‭Planning‬‭..............................................................................................................................‬‭25‬

‭3‬
‭4‬
‭1. Introduction‬
‭ ealthcare Booking System‬‭is a web-based platform‬‭that addresses inefficiencies in the‬
H
‭healthcare system related to the booking of medical appointments. The system attempts to reduce‬
‭lengthy lines, crowding, and wasted time by enabling users to monitor real-time availability and make‬
‭appointments with healthcare providers via the web-based application or WhatsApp. This Software‬
‭Requirements Specification (SRS) document extensively summarises the system's functionality, user‬
‭interactions, and technical requirements. This document is intended for developers, system‬
‭administrators, and stakeholders to ensure the correct implementation and deployment of the Health‬
‭Care Appointment Booking system.‬

‭1.1‬‭Purpose‬

‭ he main purpose of this SRS document is to outline the functional and non-functional requirements‬
T
‭for the development of the Healthcare Booking System. It provides detailed descriptions of how the‬
‭system should behave and the standards it must meet. This document serves as a guide for the‬
‭design, implementation, testing, and maintenance stages of the project, guaranteeing that the final‬
‭product satisfies all user and system requirements.‬

‭1.2 Document Conventions‬


‭‬ B
● ‭ old text‬‭is used for section headings.‬
‭●‬ ‭Italicized text‬‭is used to emphasize specific terms‬‭or acronyms.‬
‭●‬ ‭Requirements are numbered sequentially and categorized under functional or non-functional‬
s‭ ections.‬
‭ ‬ ‭The document follows standard terminology for software engineering practices and system‬

‭development.‬

‭1.3 System Coverage‬


‭System Name:‬‭Health Care Appointment Booking System‬

‭Goals:‬

‭●‬ E ‭ nhance Patient Access: The system intends to improve patients' capacity to plan‬
‭appointments with healthcare practitioners by providing online access and flexible scheduling‬
‭choices across numerous platforms, including a web interface and messaging apps such as‬
‭WhatsApp.‬
‭●‬ ‭Reduce Overcrowding: The solution will lower the number of walk-in patients, ease patient‬
‭congestion in medical facilities, and enable healthcare practitioners to better manage patient‬
‭flow by enabling online appointment scheduling.‬

‭5‬
‭●‬ I‭ mprove Healthcare Efficiency: The system is intended to improve the scheduling and‬
‭management of healthcare resources, such as doctors, nurses, and equipment. By doing this,‬
‭the healthcare system will be able to provide patients with better care by minimizing‬
‭overbookings and availability gaps.‬

‭Scope and Features of the System:‬

‭ he Health Care Appointment Booking System will allow patients to browse various healthcare‬
T
‭providers, view open time slots, and book appointments when it is convenient for them. It will‬
‭interact with hospital or clinic administration systems to keep track of appointments, cancellations,‬
‭and reschedules. To ensure communication about forthcoming appointments and any changes, the‬
‭system will also be built to deliver notifications to both patients and providers.‬

‭ dvantages:‬
A
‭The introduction of the Health Care Appointment Booking System will provide numerous benefits,‬
‭including:‬

‭1.‬ ‭Efficiency‬‭:‬
‭○‬ ‭The solution will simplify the appointment booking process, eliminating the need for‬
‭in-person scheduling and decreasing administrative workload for healthcare‬
‭workers.‬
‭○‬ ‭Wait times will be considerably decreased because people can book appointments‬
‭based on real-time availability thereby eliminating huge lines at healthcare institutions.‬

‭2.‬ ‭Convenience:‬
‭○‬ ‭Patients will be able to book, reschedule, and cancel appointments at any time from‬
‭any location using a web application or messaging service such as WhatsApp with‬
‭the use of chatbots.‬
‭○‬ ‭The system's flexibility makes it easier for patients to schedule medical visits, which‬
‭enhances accessibility in general.‬

‭3.‬ ‭Real-Time Updates:‬


‭○‬ ‭The system will provide real-time updates on healthcare providers' availability,‬
‭ensuring that patients receive the most up-to-date information before arranging‬
‭appointments.‬
‭○‬ ‭This feature will help to limit the number of scheduling conflicts or double bookings‬
‭that can create delays and disruptions in healthcare delivery.‬

‭4.‬ ‭Improved Patient Experience:‬

‭6‬
‭○‬ I‭ n order to keep patients aware of forthcoming appointments and lower the‬
‭possibility of missed visits, notifications and reminders will be sent to them by‬
‭WhatsApp, SMS, or email.‬

‭○‬ T
‭ he system will improve patient satisfaction by providing seamless appointment‬
‭management and constant communication, allowing patients to feel more confident‬
‭about their healthcare experience.‬

‭5.‬ ‭Resource Management:‬


‭○‬ ‭The system will help healthcare providers manage their time and resources more‬
‭effectively by keeping their schedules organized and up to date.‬
‭○‬ ‭In order to make data-driven decisions and modify their schedules to accommodate‬
‭more patients, doctors and administrators will have access to a centralized‬
‭dashboard that tracks appointment statistics, cancellations, and real-time availability.‬
‭○‬ ‭The approach will also help to prevent overbooking or underutilization of healthcare‬
‭resources, resulting in more efficient use of healthcare personnel and facilities.‬

‭ ealthcare providers will benefit from increased workflow efficiency and patient satisfaction as a‬
H
‭result of the Health Care Appointment Booking System's implementation, while patients will have‬
‭access to a more transparent and user-friendly system for scheduling medical appointments.‬
‭Additionally, the system will help reduce typical problems like overbooked waiting rooms and‬
‭missed appointments, resulting in a more organized and balanced approach to healthcare delivery.‬

‭1.4 Project Scope‬


‭The system will allow patients to:‬

‭●‬ B ‭ ook appointments with doctors through an online platform or WhatsApp.‬


‭●‬ ‭Select from a variety of doctors with open appointments‬‭at the user's convenience.‬
‭●‬ ‭View real-time doctor availability.‬
‭●‬ ‭Receive notifications on booked appointments using email or SMS‬‭.‬

‭The system will allow doctors to:‬

‭‬ V
● ‭ iew real-time of appointment schedule‬
‭●‬ ‭Receive notifications on booked appointments using email or SMS.‬

‭7‬
‭1.5 Stakeholders‬
‭ atients‬
P
‭Patients are the primary users of the Health Care Appointment Booking System. They will use the‬
‭system to:‬

‭‬
● ‭ rowse available healthcare providers.‬
B
‭●‬ ‭Schedule, reschedule, and cancel medical appointments.‬
‭●‬ ‭Receive notifications and reminders for upcoming appointments.‬
‭●‬ ‭Manage their appointment history and preferences through a personalized dashboard.‬

‭ ealthcare Providers (Doctors)‬


H
‭Healthcare providers, including doctors and specialists, will interact with the system to:‬

‭‬
● ‭ anage their appointment schedules efficiently.‬
M
‭●‬ ‭Update their availability in real-time.‬
‭●‬ ‭View and manage patient appointments.‬
‭●‬ ‭Communicate directly with patients through the system.‬
‭●‬ ‭Ensure that their schedules are optimized, avoiding overbooking or underbooking.‬

‭ ystem Administrators‬
S
‭System administrators are responsible for overseeing the technical operations of the system. Their‬
‭roles include:‬

‭‬
● ‭ anaging user accounts for patients, doctors, and administrative staff.‬
M
‭●‬ ‭Ensuring system maintenance, updates, and security protocols are followed.‬
‭●‬ ‭Providing technical support to users in case of system errors or malfunctions.‬
‭●‬ ‭Monitoring system performance and applying necessary improvements.‬

‭ evelopers‬
D
‭The development team consists of professionals responsible for:‬

‭‬ D
● ‭ esigning, developing, and implementing the system's features and functionalities.‬
‭●‬ ‭Regularly updating the system to accommodate new requirements or fix existing issues.‬
‭●‬ ‭Collaborating with healthcare institutions and administrators to ensure the system meets user‬
‭needs.‬
‭●‬ ‭Maintaining system documentation for future development and compliance.‬

‭ ealthcare Institutions‬
H
‭Healthcare institutions such as‬‭hospitals, clinics,‬‭and medical practices are stakeholders that will:‬

‭8‬
‭●‬ A ‭ dopt and integrate the system into their existing workflows to streamline the appointment‬
‭booking process.‬
‭●‬ ‭Monitor the system’s performance in terms of patient booking, cancellations, and doctor‬
‭availability.‬
‭●‬ ‭Use system data to improve healthcare services and resource allocation.‬
‭●‬ ‭Ensure patient satisfaction through efficient and convenient appointment management.‬

‭ hird-Party Services‬
T
‭Third-party services such as SMS, email, and notification providers will be integral to the system for:‬

‭●‬ S ‭ ending timely notifications to patients regarding upcoming appointments, cancellations, or‬
‭reschedules.‬
‭●‬ ‭Facilitating the system’s communication channels to enhance user engagement and reduce‬
‭no-shows.‬
‭●‬ ‭Integrating with external APIs to ensure seamless message delivery and system updates.‬

‭ egulatory Bodies‬
R
‭Regulatory bodies ensure that the Health Care Appointment Booking System complies with‬
‭healthcare regulations and standards. Their role includes:‬

‭●‬ V ‭ erifying that the system complies with legal requirements for patient data protection, such‬
‭as HIPAA or GDPR.‬
‭●‬ ‭Monitoring the system for adherence to healthcare best practices.‬
‭●‬ ‭Ensuring that patient privacy and confidentiality are maintained, especially regarding sensitive‬
‭medical information.‬
‭●‬ ‭Performing regular audits to ensure system security and compliance with regulatory‬
‭frameworks.‬

I‭ n order to keep the Health Care Appointment Booking System secure, operational, and in‬
‭compliance with healthcare standards, each of these users and stakeholders is essential to its‬
‭acceptance and successful operation.‬

‭1.6‬ ‭Definitions, Acronyms and Abbreviations‬

‭●‬ A
‭ PI:‬‭Application Programming Interface‬‭– a set of‬‭functions allowing the creation of‬
‭applications that access features or data of an operating system, application, or service.‬

‭9‬
‭●‬ E
‭ HR:‬‭Electronic Health Record‬‭– a digital version‬‭of a patient’s paper chart and medical‬
‭history.‬

‭●‬ U
‭ AT:‬‭User Acceptance Testing‬‭– testing the system‬‭by actual users to verify that it meets‬
‭their requirements.‬

‭●‬ W
‭ hatsApp API‬‭: The API used for integrating the WhatsApp‬‭messaging service into‬
‭third-party systems for communication.‬

‭●‬ S ‭ RS:‬‭Software Requirements Specification‬‭– a document‬‭that outlines the functionalities‬


‭and constraints of a software system.‬
‭●‬ ‭J WT (JSON Web Token) -‬‭that defines a compact and‬‭self-contained way for‬
‭securely transmitting information between parties as a JSON object‬

‭1.7‬‭References‬

‭●‬ W ‭ hatsApp Business API Documentation: Provides guidelines for integrating the messaging‬
‭service into the appointment booking system.‬
‭●‬ ‭Healthcare Data Security‬‭Standards: References specific‬‭healthcare data protection‬
‭regulations applicable in Zimbabwe.‬
‭●‬ ‭Research on Healthcare Appointment Systems: Studies on the impact of digital scheduling‬
‭systems in improving healthcare management efficiency.‬

‭10‬
‭2. Overall Description‬

‭2.1 System environment‬

‭ he healthcare booking system will be an online tool that can be accessed through the‬
T
‭internet via different browsers and also on WhatsApp through chatbots. The system is a‬
‭breakdown of different parts of the system:‬

‭●‬ F
‭ ront-End‬
‭This is what users see and interact with. Patients, doctors, and hospital staff will use this part‬
‭of the system. The web application will be accessible on all devices, whether a desktop or‬
‭an Android phone. For example, if a patient wants to book an appointment, they will use a‬
‭web browser like Chrome to access the booking system, which will look good and work‬
‭smoothly whether they are using a phone or a computer.‬

‭●‬ B
‭ ack-End‬
‭It consists of a server that processes appointment requests, manages doctor and patient‬
‭data, and interfaces with third-party services such as WhatsApp and email notification‬
‭systems. It is responsible for all the requests made by users, like processing appointment‬
‭bookings or checking the availability of doctors. It makes sure everything requested by the‬
‭patient or doctor is handled efficiently.‬

‭●‬ D
‭ atabase‬
‭The database is where the system stores all the necessary information like patient details,‬
‭doctor schedules, and previous appointments. Secure NoSQL such as MongoDB will be‬
‭used to store patient records, doctor schedules, appointment details, and system logs.‬

‭●‬ C
‭ ommunication Tools‬
‭The system will send notifications and reminders to patients and doctors through SMS and‬
‭email. After an appointment is booked, the patient will receive a confirmation message and a‬
‭reminder will be sent 3 hours before their appointment. These tools help ensure no one‬
‭forgets their appointment.‬

‭11‬
‭2.2 Architecture Description‬
‭ he system will follow a three-layer architecture with clearly defined layers for presentation,‬
T
‭business logic, and data management:‬

‭●‬ ‭Presentation Layer (Front-End):‬


‭This will be built using‬‭React.js‬‭or similar languages‬‭such as CSS and HTML for user‬
‭interface interaction. It provides interfaces for patients to log in, book appointments, and‬
‭manage schedules. Doctors and administrators can log in and manage their schedules.‬

‭●‬ B
‭ usiness Logic Layer (Back-End):‬
‭The server side will be developed using‬‭Node.js‬‭and‬‭Express.js‬‭. It will be responsible for‬
‭handling all API requests, sending notifications, processing appointment logic, and‬
‭interacting with the database.‬

‭●‬ D
‭ ata Layer (Database):‬
‭A database system such as‬‭MongoDB‬‭will store patient‬‭information, appointment details,‬
‭and previous records. This layer will be optimized for speed and security.‬

‭Data Flow:‬

‭‬
● ‭ patient submits a booking request.‬
A
‭●‬ ‭The server checks doctor availability.‬
‭●‬ ‭The system confirms the booking and updates the database.‬
‭●‬ ‭Notifications are sent to both the patient and the doctor via WhatsApp or email.‬

‭2.3 System functionality‬

‭ he healthcare appointment booking system will be developed to deliver the following key‬
T
‭functionalities. The operation and integration of each feature within the system are explained in this‬
‭section.‬

‭1.‬ ‭User Registration and Authentication‬


‭○‬ ‭User Registration: Three different user types will be able to register on the system:‬
‭administrators, doctors, and patients. By entering the required information, such as‬
‭their name, contact details, and password, users will be able to create accounts.‬
‭○‬ ‭Authentication: The system will use JWT (JSON Web Token) for session‬
‭management in order to enable secure login processes. To guarantee that doctors‬
‭can manage their schedules, administrators have complete access to all system‬
‭controls, and patients can only access booking features, different user roles will have‬
‭restricted access.‬
‭○‬ ‭Password Recovery: Email-based verification will be used to establish a safe‬
‭password recovery procedure.‬

‭12‬
‭Fig 2.3‬‭Use case diagram showing User registration‬‭and authentification‬

‭2.‬ ‭Doctor Availability Check‬


‭○‬ ‭Real-Time Doctor Availability: Patients can use the system's interface to examine a‬
‭list of doctors who are available based on criteria like availability, specialisation, and‬
‭geography. To reflect current schedules, this data will be retrieved in real-time from‬
‭the database.‬
‭○‬ ‭Caching: Commonly requested schedules will be cached using a service like Redis‬
‭to improve system performance and reduce load times for patients confirming the‬
‭availability of popular doctors.‬

‭3.‬ ‭Appointment Scheduling‬


‭○‬ ‭Booking Workflow: Patients will have the option to pick a doctor, pick a time slot,‬
‭and make a reservation. Using database-level validation, the system will make sure‬
‭that no appointments that conflict are scheduled for the same time window.‬
‭○‬ ‭Database Transaction: Atomic transactions will be used by the system to guarantee‬
‭the successful completion of all booking procedures. To preserve data integrity, any‬
‭modifications will be undone in the event of a booking error.‬
‭○‬ ‭Notifications: The system will automatically notify the patient and the doctor via‬
‭email, SMS, and WhatsApp following a successful booking. The appointment‬
‭information, including the date, time, and doctor, will be included in these alerts.‬

‭13‬
‭Fig 2.3.2 Use case diagram for appointment‬

‭scheduling.‬

‭4.‬ ‭Appointment Reminders‬


‭○‬ ‭Scheduled Reminders: Three hours before the arranged appointment time, the‬
‭system will remind both doctors and patients. Scheduled jobs will be used by this‬
‭functionality to automatically generate notifications.‬
‭○‬ ‭Notification Service: Reminder messages will be dispatched via integration with‬
‭providers such as Twilio for WhatsApp/SMS and SendGrid (for email). There will‬
‭be fewer missed appointments thanks to these reminders.‬

‭5.‬ ‭Administrative Control‬


‭○‬ ‭Admin Dashboard: Hospital managers will be able to check booking statistics, alter‬
‭availability, and manage doctor profiles through the system's extensive administrative‬

‭14‬
i‭nterface. Key performance indicators such as the number of appointments,‬
‭cancellations, and updates on doctor availability will be shown on the admin‬
‭dashboard.‬
‭ ‬ ‭User and Doctor Management: With complete authority over user accounts,‬

‭administrators will be able to add, edit, and delete patient and doctor profiles.‬
‭○‬ ‭Audit Logs: All changes made in the admin panel, such as adding new doctors or‬
‭adjusting schedules, will be logged for auditing purposes. This log will help track‬
‭changes and ensure accountability.‬

‭Fig 2.3.3 Admin control use case.‬

‭6.‬ ‭Integration with Existing Systems‬


‭○‬ ‭Hospital Systems Integration: Electronic Health Records (EHR) and other external‬
‭hospital systems will be integrated into the system's design. This will make it possible‬
‭for the booking system and hospital databases to seamlessly sync patient details and‬
‭doctor schedules.‬

‭15‬
‭○‬ A
‭ PI and Webhooks: RESTful APIs will be made available by the system for‬
‭integration with other systems. Bi-directional data interchange will be supported via‬
‭these APIs (e.g., retrieving updated availability or pushing appointment info to‬
‭hospital databases). Real-time alerts from webhooks will inform external systems‬
‭when appointments are scheduled, modified, or cancelled.‬

‭7.‬ ‭Security and Data Protection‬


‭○‬ ‭Role-Based Access Control (RBAC): To guarantee that every user has only the‬
‭permissions required for their position, the system will employ role-based access.‬
‭This stops sensitive data from being accessed by unauthorised parties.‬

‭○‬ D
‭ ata Encryption: To guarantee adherence to data protection laws like HIPAA and‬
‭GDPR, all sensitive data, including passwords, patient information, and medical‬
‭records, will be encrypted both in transit and at rest.‬

‭○‬ R
‭ ate Limiting and Input Validation: The system will use input validation and rate‬
‭limitation on all forms and API calls to guard against abusive behaviour such as‬
‭brute force assaults.‬

‭8.‬ ‭Performance and Scalability‬


‭○‬ ‭Horizontal Scalability: Using orchestration technologies like Kubernetes and‬
‭containerised services like Docker, the system will be built to scale horizontally. This‬
‭will guarantee that there won't be any performance issues as the system‬
‭accommodates an increasing number of users and appointments.‬

‭○‬ L
‭ oad Balancing: To provide even load distribution and high availability, traffic will be‬
‭divided among several instances of the application using either NGINX or AWS‬
‭Load Balancer.‬

‭2.4 User and target audience‬

‭ he healthcare appointment booking system is mainly directed towards hospitals and clinics‬
T
‭managed by‬‭Premier Service Medical Investments (PSMI)‬‭in Zimbabwe. PSMI is a leading‬

‭16‬
h‭ ealthcare provider that serves a significant population of civil servants and their families, making it a‬
‭key market for the system. The following groups comprise the users of the system:‬

‭●‬ ‭Patients‬‭:‬
‭○‬ ‭Target Audience‬‭: PSMI hospitals and clinics provide‬‭healthcare services mostly to‬
‭civil personnel and their dependents. These include people looking for routine‬
‭examinations or consultations with specialists.‬

‭○‬ ‭Needs‬‭:‬
‭■‬ ‭An accessible and user-friendly interface for scheduling appointments at‬
‭PSMI locations.‬
‭■‬ ‭The capability to pick desired time slots, view available doctors, and select‬
‭specializations.‬
‭■‬ ‭To make sure they don't miss appointments, clients receive real-time‬
‭appointment confirmation and reminders through email and WhatsApp.‬

‭○‬ D
‭ emographics‬‭: Patients are probably civil servants‬‭who work in both urban and‬
‭rural areas. Many of them rely on WhatsApp as their main communication tool,‬
‭particularly in places where internet-based apps are not readily available.‬

‭●‬ ‭Doctors‬‭:‬
‭○‬ ‭Target Audience‬‭: General practitioners, specialists,‬‭and consultants are among the‬
‭healthcare professionals employed by PSMI hospitals and clinics.‬

‭○‬ ‭Needs‬‭:‬
‭■‬ ‭a way to check forthcoming appointments, manage their schedules, and‬
‭adjust availability.‬
‭■‬ ‭the capability of getting reminders for forthcoming appointments and‬
‭real-time notifications of new reservations.‬
‭■‬ ‭Viewing and updating patient appointment history in a secure manner.‬

‭○‬ R
‭ ole‬‭: By effectively scheduling patient appointments‬‭and maintaining current‬
‭availability, doctors play a vital part in making sure the system runs smoothly.‬

‭●‬ ‭Hospital Administrators‬‭:‬

‭17‬
‭○‬ T
‭ arget Audience‬‭:The administrative team of PSMI clinics and hospitals is in charge‬
‭of scheduling doctors, scheduling patients, and maintaining the system.‬

‭○‬ ‭Needs‬‭:‬
‭■‬ ‭An effective management dashboard for managing appointment availability‬
‭across several locations, updating doctor profiles, and supervising all‬
‭scheduling operations.‬
‭■‬ ‭the capacity to produce reports on appointment parameters, including‬
‭no-show rates and peak booking periods.‬
‭■‬ ‭complete control over user roles, guaranteeing that only personnel with‬
‭permission can alter patient information or doctor schedules.‬

‭○‬ R
‭ esponsibilities‬‭: By controlling doctor and clinic‬‭schedules, resolving scheduling‬
‭conflicts, and managing system updates, administrators will make sure the system‬
‭functions properly.‬

‭Why Target PSMI?‬

‭●‬ W
‭ idespread Reach: One of Zimbabwe's biggest healthcare networks, PSMI oversees both‬
‭state and private hospitals and clinics. Civil servants, who comprise a sizable section of the‬
‭population, will be served by the system, guaranteeing its widespread acceptance‬

‭●‬ C
‭ urrent Challenges: At PSMI facilities, the current manual or phone-based appointment‬
‭scheduling techniques result in lengthy wait times, schedule overlaps, and ineffective doctor‬
‭availability management. These issues will be addressed in part by the implementation of a‬
‭digital reservation system.‬

‭●‬ I‭ ‬‭ntegration with Existing PSMI Infrastructure: Administrators‬‭and medical staff will have a‬
‭smooth experience thanks to the booking system's integration with PSMI's current hospital‬
‭management systems.‬

‭ his breakdown of the target population guarantees that the system will satisfy the requirements of‬
T
‭administrators, physicians, and patients in PSMI facilities, enhancing the provision of healthcare‬
‭services throughout Zimbabwe.‬

‭18‬
‭2.6 Constraints‬
‭●‬ D
‭ ata Privacy and Security‬‭:‬
‭Local and international healthcare data privacy laws, including GDPR or HIPAA (where‬
‭applicable), must be complied with by the system. Encryption is required for all sensitive‬
‭data, including patient and appointment information.‬

‭●‬ W
‭ hatsApp API Limits‬‭:‬
‭Notification integration with WhatsApp must abide by the messaging guidelines and rate‬
‭restrictions of the API. This might restrict how many alerts can be issued in a specific‬
‭amount of time.‬

‭●‬ I‭ nternet Access Dependency‬‭:‬


‭For the system to schedule and manage appointments, patients and healthcare providers‬
‭must have reliable internet access.‬

‭●‬ U
‭ ser Load‬‭:‬
‭Up to 1,000 users should be able to access the system at once without experiencing any‬
‭noticeable performance problems. In order to accommodate more users in the future,‬
‭scalability issues will be resolved.‬

‭●‬ T
‭ hird-Party Service Availability‬‭:‬
‭The availability and dependability of third-party services, such as WhatsApp APIs and‬
‭email, are essential to the system's operation. Notification delivery may be impacted by any‬
‭outage in these systems.‬

‭2.5 Assumptions‬

‭ everal assumptions are made during the development and deployment of the healthcare booking‬
S
‭system:‬

‭1. Smartphone Usage‬

‭●‬ I‭ n order to use the system, it is expected that both patients and healthcare professionals‬
‭(such as physicians) will have access to cell phones or PCs with internet connectivity. This‬
‭includes having the option to get alerts by email or WhatsApp.‬

‭2. Hospital Infrastructure‬

‭●‬ h‭ ospitals and other healthcare facilities that use this system are presumed to have the‬
‭following basic IT infrastructure:‬
‭○‬ ‭Reliable internet connectivity.‬

‭19‬
‭○‬ A
‭ dequately trained staff familiar with web-based administrative tools for managing‬
‭appointments.‬

‭3. Compliance with API Changes‬

‭ o maintain compatibility, the system might need to be somewhat modified in response to any future‬
T
‭modifications to the WhatsApp API or email services. It is expected that these modifications can be‬
‭handled without requiring a major overhaul of the system's basic operation.‬

‭4. Patient Usage Behavior‬

‭ he efficiency of the scheduling process is expected to be increased since patients are expected to‬
T
‭be eager and able to use the online appointment booking system rather than more conventional‬
‭approaches like phone calls or walk-ins.‬

‭3. Requirements‬

‭3.1 Functional Requirements‬

‭i. User Registration and Authentication‬


‭ ser Profile Management: Each user (patients and doctors) should be able to‬
U
‭create and manage their profiles, including personal information (name,‬
‭contact details) and medical history for patients.‬

‭ ccount Verification: After registration, users should receive an email or SMS‬


A
‭verification link to confirm their identity before gaining full access to the‬
‭system.‬

‭ ession Management: Implement session management to track user activity,‬


S
‭including automatic logout after a period of inactivity to enhance security.‬

‭ii. Appointment Booking‬


‭●‬ M
‭ ulti-Channel Booking: Allow users to book appointments through multiple‬
‭channels, including:‬

‭20‬
‭○‬ W
‭ eb Portal: A user-friendly interface for booking appointments directly‬
‭on the website.‬

‭○‬ W
‭ hatsApp Integration: A chatbot interface on WhatsApp to facilitate‬
‭appointment scheduling via conversational interactions.‬

‭●‬ A
‭ vailability Filtering: Patients should be able to filter available doctors based‬
‭on specialties, ratings, and distance from their location.‬

‭●‬ B
‭ ooking Summary: After each booking, the system should provide a summary‬
‭of the appointment details, including date, time, doctor’s name, and location.‬

‭iii. Real-Time Availability Monitoring‬


‭●‬ A
‭ vailability Calendar: Doctors should have an availability calendar that they‬
‭can update in real-time, allowing for immediate reflection of their schedules.‬

‭●‬ C
‭ onflict Management: The system should detect and prevent double bookings‬
‭by locking out time slots that are already booked or pending confirmation.‬

‭iv. Notification System‬


‭●‬ R
‭ eminder Notifications: Patients and doctors should receive reminder‬
‭notifications 24 hours and then 1 hour before the appointment to reduce‬
‭no-shows.‬

‭●‬ C
‭ ancellation Notifications: Implement a system that notifies patients and‬
‭doctors immediately upon cancellation of an appointment.‬

‭●‬ F
‭ eedback Requests: After an appointment, the system should send a‬
‭notification requesting feedback from patients about their experience, which‬
‭can help improve service quality.‬

‭v. Appointment Management‬


‭●‬ R
‭ escheduling Options: Patients should have the ability to easily reschedule‬
‭appointments through a simple interface, ensuring they can find a new time‬
‭without needing to cancel.‬

‭●‬ D
‭ octor Notes and Follow-Ups: Doctors should be able to add notes to patient‬
‭profiles after appointments and set follow-up reminders for future‬
‭consultations or treatments.‬

‭21‬
‭vi. Patient and Doctor Profiles‬
‭●‬ M
‭ edical History Tracking: The system should allow patients to input and track‬
‭their medical history, including allergies, medications, and past treatments,‬
‭which doctors can access during appointments.‬

‭●‬ D
‭ octor Qualifications: Doctors should be able to display their qualifications,‬
‭specializations, and experience on their profiles to help patients make‬
‭informed choices.‬

‭vii. Payment Integration‬


‭●‬ P
‭ ayment Processing: Integrate secure payment processing for services‬
‭rendered, allowing patients to pay online when booking an appointment.‬

‭●‬ I‭nsurance Verification: Implement a feature that allows patients to input their‬
‭insurance details for verification before booking an appointment.‬

‭ .2 Non-Functional Requirements‬
3
‭1. Performance‬
‭●‬ L
‭ oad Balancing: Implement load balancing to distribute incoming user‬
‭requests across multiple servers, ensuring that no single server becomes a‬
‭bottleneck.‬

‭●‬ C
‭ aching Strategies: Use caching strategies for frequently accessed data (like‬
‭doctor availability) to improve response times and reduce server load.‬

‭2. Security‬
‭●‬ D
‭ ata Anonymization: Where possible, implement data anonymization‬
‭techniques to protect sensitive patient information while maintaining usability‬
‭for analytics.‬

‭●‬ C
‭ ompliance Standards: Ensure compliance with relevant healthcare‬
‭regulations, such as HIPAA (Health Insurance Portability and Accountability‬
‭Act) in the U.S. or GDPR (General Data Protection Regulation) in Europe.‬

‭3. Reliability‬
‭●‬ U
‭ ptime Monitoring: Use monitoring tools to ensure the system is operational‬
‭24/7, with alerts for downtime or performance issues sent to technical staff‬
‭immediately.‬

‭22‬
‭●‬ S
‭ ervice Level Agreements (SLAs): Define SLAs that specify the expected‬
‭uptime and response times for the system, providing assurance to users‬
‭regarding reliability.‬

‭4. Scalability‬
‭●‬ H
‭ orizontal Scaling: The system architecture should support horizontal scaling,‬
‭allowing the addition of more servers to accommodate increased demand‬
‭without service interruption.‬

‭●‬ M
‭ icroservices Deployment: Consider deploying services as microservices to‬
‭allow for independent scaling and updates without affecting the entire system.‬

‭5. Usability‬
‭●‬ U
‭ ser Interface Design: The user interface should be designed with accessibility‬
‭in mind, following best practices for color contrast, font sizes, and‬
‭navigational elements.‬

‭●‬ O
‭ nboarding Tutorials: Provide onboarding tutorials or tooltips for new users to‬
‭familiarize them with the system's features and functionalities.‬

‭6. Maintainability‬
‭●‬ A
‭ utomated Testing: Implement automated testing frameworks to ensure that‬
‭new updates do not introduce bugs, facilitating easier maintenance and‬
‭updates.‬

‭●‬ C
‭ hange Management Procedures: Establish clear procedures for managing‬
‭changes to the system, including version control and documentation of‬
‭changes.‬

‭7. Compatibility‬
‭●‬ C
‭ ross-Device Functionality: Ensure that the application provides a consistent‬
‭experience across devices, whether accessed via desktop, tablet, or mobile.‬

‭●‬ A
‭ PI Integration: Develop APIs to facilitate integration with other healthcare‬
‭systems, allowing for data sharing and interoperability.‬

‭ dditional Non-Functional Requirements‬


A
‭8. Localization‬
‭●‬ M
‭ ulti-Language Support: The application should support multiple languages,‬
‭allowing users from different regions to access the system in their preferred‬
‭language.‬

‭23‬
‭●‬ C
‭ ultural Sensitivity: Ensure that the system respects cultural differences in‬
‭terms of healthcare practices and user interactions.‬

‭9. Documentation‬

‭●‬ U
‭ ser Manuals: Create comprehensive user manuals for both patients and‬
‭doctors, detailing how to use the system effectively.‬

‭●‬ T
‭ echnical Documentation: Provide detailed technical documentation for‬
‭developers, including architecture diagrams, API specifications, and‬
‭deployment procedures.‬

‭4.‬‭Appendices‬

‭24‬
‭5. Index‬

‭25‬
‭6. Planning‬
‭These are the defined milestones for the implementation of the system:‬

‭September 2024 - Develop detailed project plan and timeline‬


‭• Identify technical requirements and resources needed‬
‭• Create wireframes and design prototypes for the booking system.‬

‭October 2024- Set up the development environment‬


‭• Develop core functionalities (user registration, appointment scheduling,‬
‭notifications) PART 1‬

‭November 2024 - Continuing Develop core functionalities (user registration, appointment‬


‭scheduling, notifications) PART 2‬

‭January 2025 - Continuing Develop core functionalities (user registration, appointment‬


‭scheduling, notifications) PART 3‬

‭February 2025 - Integrate real-time availability features‬


‭• Conduct iterative testing and debugging‬

‭March 2025- Perform user acceptance testing (UAT) with a focus group‬
‭• Gather feedback and make necessary adjustments‬

‭April 2025 - Finalise system documentation and user manuals‬

‭26‬
‭27‬

You might also like