Project Report-Priyanka 1
Project Report-Priyanka 1
INTRODUCTION
1.1. Organization Profile :
Services:
1) Software Development
3) E-commerce Development
5) Payment Integration
1.2 Introduction:
1
The KPOND Appointment system includes registration of patients, storing
their details into the system, and also computerized. The software has the facility to
give a unique id for every patient and stores the details of every patient and the
staff automatically. It includes a search facility to know the current status of
patients, doctors and staffs. User can search availability of a doctor and the details
of a patient using the id.
This system help reduce the problems occur when using the manual system and
helps patients to skip endless queues. The important thing is it will become easier
for the data record and retrieval. This software also stores all the patient details,
patients profile, prescriptions etc. This system enables doctors and clinic assistant
to manage patient records and appointments. User can enter their details, update
their profile and they can select doctors to make appointments.
2
The main objective of the thesis is to provide quality medical care to the
patients by bringing all medical practitioners of the city to a single platform so that
everybody can easily access them and make appointments. The second objective is
to replace the current manual file keeping system with an online medical patient
database system.
The aim of this project is to create a platform where patients and doctors can
access /interact efficiently with each other and provide ease and comfort to the
patients. It also aims to resolve the problems that patients have to face while taking
appointments and keeping medical files. Patients can choose a medical practitioner
based on their professional profile and other patient's reviews. While doctors can
access and update a patient’s medical record after every check-up.
This system is implemented for all the individuals who want to get treated
by the city practitioners. The users can participate only if they have created an
account through the registration form and have provided their medical history.
Once they get registered themselves further they would not need to update their
record as it would be done automatically after each doctor’s visit.
It has been proved in the past research that there is a direct relationship
between appointment delay and cancellation of the appointment. Appointment
3
delay is defined as the time which starts when an individual request for an
appointment and ends until he/ she gets consulted by the doctor. Longer
appointment delays cause more appointment cancellations. So, the best way to
reduce appointment cancellations or no-shows is to minimize the time gap between
the appointment request and doctor’s check-up/consultation time. Minimizing this
gap is called open access (abbreviated as OA) or advance access policy which later
became a popular practice and part of an active research also. Both positive and
negative results were experienced by the researchers in their experiments. Some
practitioners were in the favor of OA and highly recommended it, and on the other
hand, there were some practitioners who disagreed and were against of OA
implementation.
Doctor run their own private clinics and consult patients during the evening
or any time of the day depending on their availability. Some are popular and
known to all while some are known by few people. This situation proves to be a
5
challenge for new practitioners as they are known to very few people even if they
have a good academic background. On the other side, patients also face difficulty
in finding and choosing a nearby doctor.
Presently people are making appointments manually. This is a time
consuming process, patient has to physically go to the clinic in order to make
appointment. Some clinics provide the opportunity to make appointments by
placing a phone call. But in this case, people are often left unattended.
Determination of Problem:
Long waiting lines:
To get doctor's consultation, patients come twice to the clinic once for taking
the appointment and second time for the checkup. Some patients visit the doctor
without any prior appointment resulting in a long waiting time. There is also a
possibility that they don't consultation by the doctor even after a long waiting line.
Patients must carry their medical related report or files every time they visit
a doctor. And sometimes they lost their files too.
6
Scheduling appointments for the patients started long years ago. Primarily
appointment system was developed to minimize doctor’s idle time because it was
thought that doctors time is more valuable as compared to the patient’s waiting
time. But later it was realized that the importance of minimizing the patient's
waiting time is as important as the doctor’s time. So now while developing an
appointment system
doctor's idle time and the patient's waiting time both factors are given equal
importance. Patient’s scheduling also includes improving quality health services,
reducing doctors and nurses idle time and reducing patient’s waiting time.
2. LITERATURE SURVEY
7
better understanding, all steps are described in detail to give a full overview of the
system.
Role of a web server is to communicate between the client side and server
side by storing, processing and delivering web pages to the client side. Usually,
web browser initiates the communication using HTTP by sending the request of a
specific resource and server gives the response with the content of that requested
resource. For this project work, Apache HTTP server was chosen, and it exists on
the WAMP service. Apache HTTP server is one of the popularly used web server
software used in a lot of project works.
Apache web server is a free, open source and most popularly used software.
Apache web server is used by many famous websites such as Apple, Wikipedia,
and PayPal. Another reason for its popularity is that it can run on multiple
operating systems such as Linux, UNIX, windows, and macOS. Another feature of
Apache web server is that it can host websites which use server-side language code
(Perl, PHP). Because in this project server-side implementation is done by using
PHP so Apache was a good choice.
Programming Languages
2.2 PHP
8
PHP is a server-side programming language commonly used to develop
dynamic web pages. It is free and accessible in numerous different versions. It can
be used on multiple OS such as macOS, windows, UNIX and different platforms.
Because it is a scripting language so in this program code is taken after the
program execution. PHP can also be used in desktop applications.
One of the reasons for choosing PHP in this project is that it supports
MySQL which is chosen as a database in our project. PHP programming
language makes easy to present images and PDF files on HTML pages.
• PHP files can contain text, HTML, CSS, JavaScript, and PHP code
• PHP code are executed on the server, and the result is returned to the
browser as plain HTML
• PHP can create, open, read, write, delete, and close files on the server
9
With PHP you are not limited to output HTML. You can output images, PDF
files, and even Flash movies. You can also output any text, such as XHTML and
XML.
Client-side programming
For the development and designing of web pages HTML, CSS and
JavaScript languages were used. HTML for creating the web pages, CSS for
styling and for adding further functionalities JavaScript was used.
2.3 JavaScript
JAVASCRIPT STATEMENTS
• This JavaScript statement tells the browser to write "Hello Dolly" inside an
HTML element with id="demo":
11
JAVASCRIPT CODE:
• Each statement is executed by the browser in the sequence they are written.
• Example
• document.getElementById("demo").innerHTML="Hello Dolly";
document.getElementById("myDIV").innerHTML="How are you?";
JAVASCRIPT PROPERTIES:
• Properties can usually be changed, added, and deleted, but some are read
only.
2.4 HTML
2.5 CSS
It is a style sheet language used for describing the look and formatting of a
document written in a markup language. While most often used to style web
pages and interfaces written in HTML and XHTML, the language can be applied
to any kind of XML document, including plain XML, SVG and XUL. CSS is a
cornerstone specification of the web and almost all web pages use CSS style sheets
to describe their presentation.
13
CSS can also allow the same markup page to be presented in different styles
for different rendering methods, such as on-screen, in print, by voice (when read
out by a speech-based browser or screen reader) and on Braille-based, tactile
devices. It can also be used to allow the web page to display differently depending
on the screen size or device on which it is being viewed. While the author of a
document typically links that document to a CSS file, readers can use a different
style sheet, perhaps one on their own computer, to override the one the author has
specified. However if the author or the reader did not link the document to a
specific style sheet the default style of the browser will be applied.
2.6 jQuery
jQuery is a fast and concise JavaScript Library created by John Resign in 2006
with a nice motto: Write less, do more. jQuery simplifies HTML document
traversing, event handling, animating, and Ajax interactions for rapid web
development. jQuery is a JavaScript toolkit designed to simplify various tasks by
writing less code. Here is the list of important core features supported by jQuery −
14
Lightweight − The jQuery is very lightweight library - about 19KB
in size (Minified and gzipped).
2.7 AJAX
Ajax uses XHTML for content, CSS for presentation, along with
Document Object Model and JavaScript for dynamic content display.
With AJAX, when you hit submit, JavaScript will make a request to
the server, interpret the results, and update the current screen. In the purest
sense, the user would never know that anything was even transmitted to the
server.
15
A user can continue to use the application while the client program
requests information from the server in the background.
AJAX is the most viable Rich Internet Application (RIA) technology so far.
It is getting tremendous industry momentum and several tool kit and frameworks
are emerging. But at the same time, AJAX has browser incompatibility and it is
supported by JavaScript, which is hard to maintain and debug.
MySQL
It is an open source relational database management system which aims to
offer multiple user access to several databases. In simple words, a database is a
collection of data which can be a list of shopping items, number of items in a
shopping centre or even a vast amount of numerous data in a corporate network.
To manage such kind of data, a database management system is required such as
MySQL which aims to access data and perform functions like add, remove or edit
16
data. Since MySQL is a relational database so it stores data in different tables
instead of putting into a large storeroom. Storing /organizing data into tables
increases the accessibility speed and flexibility.
Applications which demand availability and scalability use MySQL.
Because it has the capability to recover and cope with failures on the host,
MySQL, operating system or the hardware that may cause downtime. Scalability
refers to the ability to spread the database as well as application queries. MySQL is
reliable for data security. MySQL has a good memory management system and
provides multiple development interfaces (ODBC, JDBC).
Since MySQL is a free open source software so anyone can download it
without paying anything and make changes into the source code. For this project,
MySQL was chosen because it is very easy to use and PHP's ability to work with
MySQL.
FEATURES OF MySQL:
17
•Tested with Purify (a commercial memory leakage detector) as well as with Val
grind, a GPL tool.
•Uses multi-layered server design with independent modules.
Security:
•A privilege and password system that is very flexible and secure, and that enables
host-based verification.
• Support for up to 64 indexes per table (32 before MySQL 4.1.2). Each index may
consist of 1 to 16 columns or parts of columns. The maximum index width is
767 bytes for InnoDB tables, or 1000 for MyISAM; before MySQL 4.1.2, the
limit is 500 bytes. An index may use a prefix of a column
for CHAR, VARCHAR, BLOB, or TEXT column types.
2.9 CONNECTIVITY:
Clients can connect to MySQL Server using several protocols:
• On UNIX systems, clients can connect using Unix domain socket files.
LOCALIZATION:
• The server can provide error messages to clients in many languages.
• All data is saved in the chosen character set.
• MySQL includes several client and utility programs. These include both
command-line programs such as MySQL dump and mysqladmin, and
graphical programs such as MySQL Workbench.
• MySQL Server has built-in support for SQL statements to check,
optimize, and repair tables. These statements are available from the
command line through the mysqlcheck client. MySQL also
includes myisamchk, a very fast command-line utility for performing
these operations on MyISAM tables.
• MySQL programs can be invoked with the --help or -? option to obtain
online assistance.
• Fast
• Robust
• Security
19
• Multiple OS support
• Free
• Technical support
Notepad++
Notepad++ is an unrestricted, plain text editor used widely by developers for
Microsoft Windows. Notepad++ supports several languages and is used to write
and edit code. In this project Notepad++ is used to write HTML, CSS, PHP and
JavaScript codes. Its main features include syntax highlighting, correcting and
auto-completion.
XAMPP Server
20
3.SYSTEM DEVELOPMENT
The class diagram is chosen to explain the design phase of the system. A
class diagram describes classes of the system, attributes, and operations and
relationships of the classes in a better way. We can also say that class diagrams are
used to justify the structure or behavior of use cases of the system. Class diagrams
best explain the conceptual model of the system in terms of entities and their
relationships. The class diagram looks like a shape of a rectangle, comprising three
compartments stacked vertically. The first top box comprises the class name, the
second middle box contains the attributes of the class and third the last box
contains the methods or functions performed by that class. The first compartment /
box of the name is compulsory while rest of the two can be omitted to simplify the
diagram. So, in any class diagram first compartment must be drawn while the
second two compartments are optional.
The class "patient" contains multiple parameters (such as id, name, age,
address), which depict the information of all the registered patients. The user class
also contains the methods performed by these users such as get appointment, view/
create own medical record etc. In the same way, the class "doctor" has the
parameters id, name, department, address possessing all the required information
of the users registered as a doctor on to the system. Methods include accept/reject
the appointment, check the patient, view a medical record of any patient etc. These
methods are the functions performed by the users registered as a doctor on the
system. The class “appointment” has the parameters of date and time, explaining
what time or day patient user has requested.
21
3.1.1 ER Diagram-
22
Generally, DFD’s are used as a design notation to represent architectural
design (External design) and top level design (internal design) specifications.
DFD’s represent the system in hierarchical manner with one top level and many
lower level diagrams with each representing separate parts of the system. A DFD
shows what kind of information will be input to and output from the system, where
the data will come from and go to, and where the data will be stored. It does not
show information about the timing of processes, or information about whether
processes will operate in sequence or in parallel Since diagrammatic
representations are easier to interpret as compared to the technical descriptions, the
non-technical users can also understand the system details clearly. DFD consists of
four basic notations which help to depict the information in the system. These
notations are rectangle, circle, open-ended rectangle, and arrows.
24
3.2.2 Level – 1 : DFD
Staff Details
Management
Doctor Details Staff Staff Table
Appointment
Admin
Appointment
Doctor
Patient
Appointment Appointment
table
3.3 Tables:
1)Admin Table:
25
Sr. no. Column Data Type Constraints
2. Username varchar
3. Password varchar
2)Staff Table:
3) Doctor Table:
4) Patient Table :
5)Appointment Table:
6)FeedBack :
28
3.4 SYSTEM REQUIREMENTS
HARDWARE REQUIREMENTS
SOFTWARE REQUIREMENTS
29
4. PERFORMANCE ANALYSIS
Is sufficiently usable,
30
As the number of possible tests for even simple software components is practically
infinite, all software testing uses some strategy to select tests that are feasible for
the available time and resources. As a result, software testing typically (but not
exclusively) attempts to execute a program or application with the intent of finding
software bugs (errors or other defects). Software testing can provide objective,
independent information about the quality of software and risk of its failure to
users and/or sponsors. Software testing can be conducted as soon as executable
software (even if partially complete) exists. The overall approach to software
development often determines when and how testing is conducted. For example, in
a phased process, most testing occurs after system requirements have been defined
and then implemented in testable programs. In contrast, under an Agile approach,
requirements, programming, and testing are often done concurrently.
31
4.1.1 Whitebox Testing
Tests are performed to ensure that all internal operations of the software
are performed according to the specifications of the client. This is called White box
testing.
White-box testing (also known as clear box testing, glass box testing,
transparent box testing, and structural testing) is a method of testing software that
tests internal structures or workings of an application, as opposed to its
functionality (i.e. black-box testing).
In white-box testing an internal perspective of the system, as well as
programming skills, are used to design test cases. White-box testing can be applied
at the unit, integration and system levels of the software testing process. Although
traditional testers tended to think of white-box testing as being done at the unit
level, it is used for integration and system testing more frequently today. It can test
paths within a unit, paths between units during integration, and between
subsystems during a system–level test. Though this method of test design can
uncover many errors or problems, it has the potential to miss unimplemented parts
of the specification or missing requirements. The details entered by the
administrator are saved and stored in the database, and testing is done to verify
whether the control of each form or action is working in the exact way.
32
4.1.2 Blackbox Testing
Tests are performed to ensure that each function is working properly.
This is referred to as Black box testing. Black-box testing is a method of software
testing that examines the functionality of an application (e.g. what the software
does) without peering into its internal structures or workings. This method of test
can be applied to virtually every level of software testing: unit, integration, system
and acceptance. It typically comprises most if not all higher level testing, but can
also dominate unit testing as well. Test cases are built around specifications and
requirements, i.e., what the application is supposed to do. Test cases are generally
derived from external descriptions of the software, including specifications,
requirements and design parameters. Although the tests used are primarily
functional in nature, non-functional tests may also be used.
33
The test designer selects both valid and invalid inputs and determines the correct
output without any knowledge of the test object's internal structure. Testing is
conducted in the system so that the functions namely Login, Making, searching the
nearest donor, getting routes to the nearest blood banks etc. are done properly.
4.2 TESTING STRATEGY
4.2.1 Condition Testing
Test cases are derived to determine whether the logic conditions and
decision statements are free from errors. Condition testing strategy is used to check
if the operators used are correct and to verify conditions such as if an error
message is displayed if a non-registered user is signed in to the application, or a
user is registered without providing his email, address or full name.
34
The objective of integration testing is to take all tested individual
modules, integrate them, test them again and develop the system. The user module,
the appointment module as well as the doctor & admin should be integrated
together for the proper functioning of the whole system. Testing is conducted at
this stage to check whether the requested action has completed successfully and
changes are affected properly at both the doctor and admin modules.
The major task of system study is fact finding, in this stage data collection is
done in various methods which are,
Review of written document:
On-site observation:
Here the operation and physical layout of the current system were studied by
direct observation of the operation /physical layout. The method directed toward
describing and understanding events and behaviour as they occur.
35
People usually provide the best source of information and hence personal
interviews with the patients. Provide questionnaires to selected persons to collect
data.
The use of proposed system will avoid the problems of the existing system
and we also get a new system for managing information under the Clinic
Appointment System. The proposed system offers:
Manual work which is time consuming can be reduced.
Easy to store data in the database.
Administrator can add/remove new doctors, patients & departments.
Increase processing speed.
An easily access environment for users.
Doctors can view/cancel appointments.
Doctors can send prescription.
Automatic removal of past appointments.
Easy to use real time search facility.
Responsive layout that fits all devices.
Improved security
36
Design is the first step in the development phase for any engineered product
or system. It may be defined “The process of applying various techniques
principles for the purpose of defining a device, a processor or a system in sufficient
to permit its physical realization.
System design is the creation of specification for a new system. It deals with
creation of input, which is usually the acquiring of needed data, creation of needed
database, the input procedures and output to meet system objectives.
1.MAIN MODULES: -
1. ADMIN MODULE: -
Doctor Profile :
Upcoming Appointments
Doctors List:-
Users can browse through the entire list of doctors and select one for making
appointment.
View Prescription:-
Make Appointment:-
User can search desired departments using the intelligent, auto filling search
engine. The form shows suggestions / gets automatically filled as user starts
typing. The search result shows relevant doctors list with available time, days etc.
User can click make appointment and they get redirected to the date and time
selection page. After selecting desired date, the system returns to user with an
appointment ID.
38
4.6 User Interface
39
Admin
40
Wrong Username and Password :
41
4.6.1.2 HOME PAGE:
42
4.6.1.3 STAFF Page:
43
a. Filling Staff Information:-
44
b.Data Update Successfully:-
45
c. Inserted an new record in staff page:-
46
d. Deleting an record of an staff page:-
47
e. Filter record using staff
48
f. Filter record using Name
49
4.6.1.4 Doctor Page:-
50
a. Data Save Successfully
51
c.Data update successfully:-
52
d.Deleting An Record:-
53
e. Filter record using Specialization :
54
f. Filter record using Doctor Name :
55
4.6.2 User Module :
56
4.6.2.1 Service Hour And Feedback Form:-
57
4.6.2.2Facilities:-
58
4.6.2.3 Consultants:-
59
4.6.2.4 Contact Us:-
60
4.6.2.5 Doctor List :-
61
4.6.2.6 Filling Appointment Details:-
62
4.6.2.7 Data Saved Successfully:-
63
4.6.2.8 Validation for Date and Time :-
64
Admin
65
4.6.1.6 Updating fields:-
66
4.6.1.7 Filter Record using Date
67
4.6.1.8 Filter record using Patient Name
68
1.6.1.9 Remove/Delete Record:-
69
5. CONCLUSION
5.1 Conclusion
Making Kpond appointments shouldn’t be hard, but often due to the manual
way of making appointments, patients find it’s hard to make appointments with
their desired doctor. Often patients have to wait in long queues and yet sometimes
they won’t be able to book their appointments. Kpond Appointment System is an
easy solution for such patients. They don’t have to wait in endless queues or ask
someone to do them a favour, because Kpond Appointment system has everything
they need to make an appointment with their desired doctor.
70
Kpond Appointment System comes with a clean and responsive interface, so
that user can make appointments from every device, all they need is an internet
connection.
From the hospital/clinic point of view, they often fail to satisfy the needs of
their patients/customers. Sometimes, a staff may need to take a leave and it may
cause the whole appointment procedure to go down. With the new Kpond
Appointment System, all they need to do is deploy the application to their web
server and they are done. Once the administrator has added all the departments and
doctors list, patient can book their appointments by visiting the system. No need of
a third person to process the request.
Kpond Appointment System also provides doctors an account to interact
with their patients. Now doctors can easily send prescriptions online, or see their
patient details in advance or even better, they can cancel/ put the appointment to
the pending list. Patient on the other side, don’t have to worry about losing his/her
prescription since it’s stored in the hospital’s servers.
BIBLIOGRAPHY
Books:
1. www.w3school.com
2. www.tutorialpoint.com
3. Php.net
72