Final Doc
Final Doc
A PROJECT REPORT
On
Submitted to
Submitted By
Bibek Karki
Symbol No : 75202034
On Supervision of
Mr. Kamal
Pathak
Tribhuvan University
SUPERVISOR’S RECOMMENDATION
I hereby recommend that this project prepared under my supervision by Bibek Karki
entitled “DOCTOR APPOINTMENT BOOKING SYSTEM” in partial fulfillment of the
requirements for the degree of Bachelor of Computer Applications is recommended for the
final evaluation.
i
Tribhuvan University
LETTER OF APPROVAL
This is to certify that this project prepared by Bibek Karki entitled “DOCTOR
APPOINTMENT BOOKING SYSTEM” in partial fulfillment of the requirements for the
degree of Bachelor in Computer Application has been evaluated. In our opinion it is
satisfactory in the scope and quality as a project for the required degree.
SUPERVISOR HOD/CO-ORDINATOR
Mr Kamal Pathak ………………………..
Contact no: 9845177327 Contact no: ……………
Department of BCA Department of BCA
Kathmandu National College Kathmandu National College
Name: Name:
Date: Date:
ii
ABSTRACT
The Online Doctor Appointment System is a web-based application designed to streamline
healthcare access in Nepal. It enables users to book appointments with doctors, check real-
time availability, and submit health details via a user-friendly form. The system has three
modules: Admin, User, and Doctor. Admins validate bookings and notify doctors of
appointments, while users and doctors interact seamlessly through a visually appealing
interface. Built with HTML, CSS, JavaScript, PHP, and SQLite, this system ensures
efficient data management and a smooth user experience.
v
ACKNOWLEDGEMENT
Apart from the efforts, I would like to thank Kamal Pathak, our project coordinator and lecturer,
for his patience, support and open-mindedness. Without his encouragement and guidance this
project would not have materialized. We feel motivated and encouraged every time we attend his
meeting. We take this opportunity to express our gratitude to the people who have been
instrumental in the successful Completion of this project. The guidance and support received
from all the members who contributed and who are contributing to this project, was vital for the
success of the project.
vi
TABLE OF CONTENTS
SUPERVISORS’ RECOMMENDATION i
LETTER OF APPROVAL ii
ABSTRACT
ACKNOWLEDGEMENT vi
LIST OF FIGURES ix
LIST OF TABLES ix
LIST OF ABBREVIATIONS x
1.1 : Introduction 1
1.3 : Objectives 2
10
vii
i
3.2.4: Physical DFD
16
18
4.1 : Implementation 18
4.2 : Testing 21
RECOMMENDATION
23
5.2 : Conclusion 23
APPENDICES 25
REFERENCES 29
ix
LIST OF FIGURES
Figure 3.2: Use-Case Diagram of Doctor Appointment Booking System 6
15
x
LIST OF TABLES
Table 3.1: Project Schedule for Doctor Appointment Booking System
19
ix
LIST OF ABBREVIATIONS
CSS Cascading Style Sheets
ER Entity Relationship
x
CHAPTER 1: PROJECT INTRODUCTION
1.1 Introduction
The “Doctor Appointment Booking System” has been developed to override the problems
prevailing in the currently practiced manual system of appointment. This software is
supported to eliminate and, in some cases, reduce the hardships faced by the existing
system. Moreover, this system is designed for the users who don’t want to wait in a long
queue for booking an appointment with a doctor. This system is designed especially for
small health centers.
The system is made user-friendly as anyone with general knowledge of the UI can easily
navigate themselves throughout the system. Whenever the user enters an invalid data, the
system shows the error message. This will lead to fast, error free and reliable
management system. It helps users to save time.
The system is designed so as to contain three different modules: admin, user and doctor.
The user should register to the system if he/she has not registered before. And if he/she is
registered, then they should login. The user can select a doctor based on different factors
of their choices. Before making an appointment, the user should look at the availability of
the doctor. If the user makes an appointment with the doctor who is not available then the
system will show an error message.
The doctors should also register to the system. The admin will register the doctor if the
doctor is available in that particular hospital or a health center. The registered doctor can
now make space for appointments and can get appointments.
People do not have enough time to go through long procedures for their routine
medical check - up or visiting a doctor in case of diseases like Fever, headache
and many more.
People do not want to wait in a queue for an appointment with a random doctor
in the hospital who he/she rarely knows.
People even forget about their appointments with the doctors which increase the
no show rate. This leads to huge loss in the medical field.[3]
The call appointment booking is very ineffective as it is very hard to get your
call received.
1
1.3 Objectives
The main objective of this project is to provide quality appointment booking in today’s
era of busy schedules.
Limitation
Chapter 4 incorporates the brief introduction on testing and lists all the Tests performed
until this phase of the project.
And last but not least, Chapter 5 includes the conclusion of the project with lesson learnt
and outcomes as well as Future Recommendations.
2
CHAPTER 2: BACKGROUND STUDY AND LITERATURE
REVIEW
2.1. Background Study
There is a huge advancement in the medical fields all around the world. But, in the
context of Nepal, we are still lagging a little behind in this particular field. People have to
wait in a huge queue to get an appointment with a doctor. To solve this problem in hand,
Doctor Appointment Booking System is a perfect choice as it deals with the day-to-day
problems people face in order to get an appointment with a doctor.
Existing System
In Nepal, currently there is a huge advancement in technological fields in almost every
domain. Medical field is still behind what was expected of it. Most of the people don’t
use systems that are developed for benefits of people in the medical fields. People still
prefer going physically to the hospital and stay in a queue rather than using applications
provided by the hospitals and other systems that are independent of the systems. This is
because they are mostly very complex systems that are rarely understood by the people.
The purpose of our system is clear: to make the appointment booking an easy process.
People can use most other apps efficiently except for the systems developed for medical
purposes. This is because these systems are tedious to use and are hard to understand. We
have developed our system in such a way that it is similar to using any other systems thus
making it easier for people to understand and use it efficiently.
3
CHAPTER 3: SYSTEM ANALYSIS AND DESIGN
3.1. System Analysis
During analysis, data were collected on the available files, decision points and
transactions handled by the existing systems. Various operations performed by currently
existing systems and their relationships within and outside the system were studied in
detail. Site observation was used for the system analysis.
Registration Process: The users were able to register into the system as a patient. A way
to register doctors from the system was included int the system.
Database: The necessary data of every patient like phone number, their first and last
name, city, ID, DOB were stored in a database. Doctor Appointment Booking System
enabled users to update the information.
4
Use Case Diagram
The actors for this system are: Patients, Doctors and Admin. The graphical representation
of what this system must actually do is represented below:
This system consists of three actors: Doctor, Patient and Admin. Login must be
performed in order to access the features of their respective modules. Appointments can
be scheduled by the patients by checking the schedules of doctor and the number of
patients for the day. Appointment cannot be made if the patient does not follow the
doctors’ schedule or the slots were full for the day. Registration as a patient can be made
by anyone. Doctors have to be registered by the admins. The necessary documents are
checked and registered into the organization and then into the system. The profile can be
set by both the doctors as well as the patients. Details of schedules can also be set by the
respective doctors. All the operations like registering new doctors, updating appointment
details, removing doctors can be performed by the admins.
5
3.1.1.2 Non-Functional Requirement
There are a lot of software requirements specifications included in the non-functional
requirements of the Doctor Appointment Booking System, which contains various
process, namely Security, Performance, Maintainability, and Reliability.
Security: The modifications of the records of doctors and patients like insert, delete,
update, etc. for the database can only be synchronized quickly and executed only by the
ward administrator. The Front Desk Staff can view any data in the System but they don’t
have any rights to alter any data in it.
Performance: The system should provide acknowledgement in just one second once the
patient’s information is checked. The system needs to support at least 1000 people at
once. The user interface should load within five seconds.
6
Gantt Chart
This allows us to see at a glance:
3. Implementation 15 Days
4. Testing 6 Days
5. Deployment 1 Day
The Gantt Chart of Doctor Appointment Booking System has start date and end date for
each phases. It has weeks moving from left to right and phases of the Waterfall
Methodology moving across the vertical axis.
During the research for this system, various requirements were collected for this system
and the requirements were analyzed for 6 days. For the next month, various activities
related to system design such as database design, data modeling, process modeling and
many more were performed. The designs were implemented into a working system in
another 2 weeks. The system was then tested for any bugs and errors for another week.
7
Appointment entity has attributes including appointment id, doctor schedule id, patient id,
appointment number, appointment time, appointment status, appointment reason, etc.
Doctor Schedule has attributes like doctor schedule id, schedule date, start time, end time,
etc. Doctor has attributes like doctor id, status, first name, last name, expert in, degree,
gender, etc. And Admin has following attributes: admin id, email, password, name,
address, etc. For this system, following ER Diagram was developed during the data
modeling:
8
Figure 3.5: Context – Diagram of Doctor Appointment Booking System
9
3.2.1. Architectural Design
This system follows data-centered architecture. All the data are stored in the database and
is accessed by all the parties involved with the system. Features like User Authentication,
User Registration, Viewing Information and editing profiles are included in the Front-end
portion. Report Generation, Security, Strengths and Forms are included in the processing.
10
Figure 3.8: Database Schema Design of Doctor Appointment Booking System
11
3.2.3. Interface Design
During Interface Design, wireframe designs were created for the system. Figma was used
as a mockup tool during the interface design. Various mock-ups designed for the
interfaces of the Doctor Appointment Booking System are shown below:
12
Figure 3.11: Patient Home Page Wireframe
14
3.2.4. Physical DFD
1. Zero level data flow diagram of Doctor Appointment Booking System:
This is the zero level DFD of Doctor Appointment Booking System, where the high-level
process of Doctor Appointment Booking System has been elaborated. It’s a basic
overview of the whole Doctor Appointment Booking including patient, admin, booking
info and confirmation detail in zero level DFD of online Doctor Appointment Booking
System.
The Doctor Appointment Booking System includes following three external entities
namely Doctor, Patient, and Admin. Each entities are related through the Doctor
Appointment Booking System as a process. Schedule can be set and the patient info of
relative info of relative patient who makes an appointment can be checked by Doctor.
Doctor info, schedule of doctor can be checked by the patient. Appointment can also be
made and canceled by a patient. The appointment details can be checked by the admin
and is entitled with the task of registering doctors into the system.
2. The Doctor Appointment Booking System includes following three external entities
namely Doctor, Patient, and Admin. Login must be performed by each of the entities in
order to access the services of the system. The profile is set by the doctor which is
accessed by a patient in order to make an appointment. After choosing a doctor, the
schedule of the doctor is checked by the patient and the appointment that fits the schedule
of the schedule of the respective doctor. The appointment is then made which is informed
to the doctor through the system.
15
Figure 3.19: Level 1 Physical DFD of Doctor Appointment Booking System
Before Sorting
16
After Sorting
17
CHAPTER 4: IMPLEMENTING AND TESTING
4.1. Implementation
The system has been implemented using the following technologies: SQLite for creating
database, HTML and CSS for designing and styling the interfaces, bootstrap for creating
codes that link the forms to the database. Visual Studio Code has been used as the code-
editor for the system.
Database : SQLite
In the Registration module, user has to register himself/herself to the system as a patient.
His/her credentials are checked in order to test whether the credentials are valid or not. If
the credentials are valid then the user is registered to the system and he/she is redirected
to the login page.
Admin module
The admin module consists of various admin level operations. He/she can register new
doctors and update information. He/she can check the appointments and can also check
the doctors as well as the patients.
Search modules
This module is used to search the search word or term into the doctor search bar name and
descriptions.
<?php
$sort_order = "";
$sortBy= @$_GET['sort_by']??null;
$sortAsc= @$_GET['sort_asc']=='true'??false;
if ($sortBy){
$sort_order = "ORDER BY $sortBy ".($sortAsc?' ASC ':' DESC ');
}
if($_POST){
$keyword=$_POST["search"];
}
?>
Sort Module
This module is used to sort the name and title of session in admin and patient page
where they can sort name of doctor and session title in ascending of descending order.
<?php if($sortAsc):?>
<a href="?sort_by=docname&sort_asc=false" style="text-decoration: none;">
↑
</a>
<?php else:?>
<a href="?sort_by=docname&sort_asc=true" style="text-decoration: none;">
↓
</a>
<?php endif;?>
Appointment Module
Login Module
Each user must perform login in order to access the services of the system. The Login
module detects each user automatically as the concept of groups has been used in the
system. Patient login is detected as a patient automatically and admin login is detected as
a admin as well as doctor login is detected as a doctor automatically.
19
4.2. Testing
4.2.1 Test Cases for Unit Testing
20
System Evaluation
The system was used for a few days which was followed by evaluation. Our classmates
were asked to use the Doctor Appointment Booking System and to fill in the
questionnaire in order to obtain feedback and to assess the whole system.
Each student was asked to read the following scenario and fill in the questionnaire:
“Assume that you have to book an appointment with a doctor. You are visiting our
Doctor Appointment Booking System. Please execute the following tasks:
Register
Check the two-factor authentication
Login to the website
Navigate throughout the website
Set up your profile
Make an appointment with a doctor
Cancel the appointment
Logout”
In conclusion, we felt that the development of the Doctor Booking System was necessary
because of the antiquated way in which many people have to schedule an appointment
with a doctor. In order to keep up with growing technology, we must seek ways to make
certain processes less time consuming, more error free and more user friendly.
21
CHAPTER 5: CONCLUSION AND FUTURE
RECOMMENDATIONS
5.1 Lesson Learnt / Outcome
Over the course of this system’s development, I came to know about a lot of new things
and technology that I did not know existed. I also got to use few of those technologies
that I knew existed but had never used in practice. Due to National Local Election, the
project faced issue with time management and went beyond its proposed schedule plan.
But we completed the project on time. This also helped us to learn about project
management in environment of stress and pressure. Below are listed few important things
that I learned while developing this system:
Time management
Using channels in PHP
System Modeling and diagrams
Database design and more.
5.2 Conclusion
With this project, we have designed and implemented a system capable of allowing users
to book an appointment with a doctor in a digitized way providing technical comfort to
the manual appointment booking prevailing in the country as of now. The system
achieved the mentioned objectives in chapter 1 of this documentation. Doctor
Appointment Booking System will enable its users to make an appointment with a doctor
from anywhere at any time, under their fingertip.
The system’s initial requirements were well known, the features were quite clear and the
system focused in appointment booking, enhancing and upgrading concepts of existing
systems. Furthermore, the project timeline is fixed. The best approach in this environment
is going sequentially. As the project is constrained by cost and time, and the requirements
and scope were well understood, it was feasible to use Waterfall Model of software
development. Under the Implementation and Coding phase of the Waterfall Model of this
system, each module of the system was created as a single unit and those units were
finally integrated in order to obtain the final resulting system.
22
Payment module for making payments directly through the system via an
electronic payment system such as e-Sewa, Khalti, etc.
Module for allowing sending message personally between doctor and patient.
Back-end upgrades and maintenance
User interface upgrades.
Improvement in performance
23
APPENDICES
Screenshots
24
25
26
27
REFRENCES
[1] Doctors on Call, “Doctors on Call Nepal”, 2019. [Online]. Available:
https://doctorsoncall.com.np/. [Accessed: 2-Nov-2023].
[2] Accelo, “How to Choose a Project Management Methodology”, 2021. [Online].
Available: https://www.accelo.com/resources/blog/how-to-choose-a-project-
management-methodology/. [Accessed: 2-Nov-2023].
[3] Onix-Systems, “How to Develop a Doctor Appointment Booking System”, 2021.
[Online]. Available: https://onix-systems.com/blog/how-to-develop-a-doctor-
appointment-booking-system. [Accessed 1-Nov-2023].
[4] GeeksforGeeks, “Activities involved in Software Requirement Analysis”, 2021.
[Online]. Available: https://www.geeksforgeeks.org/activities-involved-in-
software- requirement-analysis/. [Accessed: 5-Nov-2023].
[5] ResearchGate, “(PDF) Online Appointment Management System”, 2012.
[Online].Available: https://www.sourcecodester.com/hashenudara/simple-doctors-
appointment-project.html [Accessed: 20-April-2023].
28