You are on page 1of 101

Dr on Click

Abstract

Life is becoming too busy to get medical appointments in person and to maintain a proper
health care. Also, if we are at an unknown location, it is very difficult to find the proper
hospital. Even maintaining our all paper-bound health care record is inconvenient. To ad-
dress all the above problems we propose a system, Dr on click. It is a combined system
consisting of an android app for patient and web app for the doctor to digitize the doctor
patient communication. The android application will help the patient to search doctors, book
appointment, maintain digital health-care records. The web portal will help the doctor to set
his/her availability, manage patients, give digital prescription,etc.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon i


Dr on Click

Acknowledgement

“Dr on Click” has been a subject with tremendous scope to research upon, which leads
one’s mind to explore new heights in the field of Computer Engineering, and its miscella-
neous applications. We dedicate all our project work to our esteemed guide Dr. D. B. Kshir-
sagar(H.O.D. Computer Department) whose interest and guidance helped us to complete
the work successfully as well as he has provided facilities to explore the subject with more
enthusiasm. This experience will always encourage us to do our work perfectly and pro-
fessionally. We also extend our gratitude to Dr. A. B. Pawar (Project Coordinator). We
express our immense pleasure and thankfulness to all the teachers and staff of the Depart-
ment of Computer Engineering, Sanjivani College Of Engineering, Kopargaon for their co-
operation and support. Last but not the least, we thank all others, and especially our friends
who in one way or another who helped us in the successful completion of this project.

Mr. Rupesh A. Dhake


Miss Vidya K. Gadekar
Mr. Saurabh K. Devang
Miss Vaishnavi K. Darekar
[B.E. Computer]

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon ii


Dr on Click

Contents

1 INTRODUCTION 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Review of Conference/Journal Papers and Relevant Theory . . . . . . . . . 1
1.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 REQUIREMENT ANALYSIS 4
2.1 Requirement Specification . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Normal Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Expected Requirements . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Excited Requirements . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Requirement Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . 8

3 SYSTEM MODEL 9
3.1 Process Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 System Breakdown Structure(Modules) . . . . . . . . . . . . . . . . . . . 12
3.3 Project Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Estimation in KLOC . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.2 Efforts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.3 Development time in months . . . . . . . . . . . . . . . . . . . . . 13
3.3.4 Total Time Required for Project Development . . . . . . . . . . . . 14
3.3.5 Number of Person Required(N) . . . . . . . . . . . . . . . . . . . 14

4 SYSTEM DESIGN 15
4.1 Project Scheduling and Tracking . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.1 Project work breakdown structure(Analysis) . . . . . . . . . . . . . 15
4.1.2 Project work breakdown Structure(Implementation) . . . . . . . . . 16
4.2 Task Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon iii


Dr on Click

4.3 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


4.4 Project Table and Time-line Chart . . . . . . . . . . . . . . . . . . . . . . 21
4.5 Analysis Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5.1 Behavioral Modeling . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5.2 Functional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5.3 Architectural Modeling . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6 Mathematical Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.7 Database Tables with Description . . . . . . . . . . . . . . . . . . . . . . . 39

5 RISK MANAGEMENT 41
5.1 Risk Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Strategies Used To Reduce Risk . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Risk Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4 Feasibility Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6 TECHNICAL SPECIFICATION 45
6.1 Technology Details Used in Project . . . . . . . . . . . . . . . . . . . . . 45
6.1.1 Front-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.2 Back-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.3 Installing Android Studio . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.4 Installing Sublime Text . . . . . . . . . . . . . . . . . . . . . . . . 46
6.1.5 cPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7 IMPLEMENTATION DETAILS 48
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.1 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.2 MySQL and PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3 Important Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.4 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.4.1 Decision Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.5 Major Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

8 SOFTWARE TESTING 59
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.1.1 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.1.2 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.1.3 Testing Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.2 Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.2.1 Unit Testing Test Cases . . . . . . . . . . . . . . . . . . . . . . . . 61

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. iv


Dr on Click

8.2.2 Integration Testing Test Cases . . . . . . . . . . . . . . . . . . . . 64

9 EXPERIMENTAL RESULTS 65

10 USEFULNESS OF PROJECT 76

11 CONCLUSION AND FUTURE SCOPE 77


11.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

REFERENCES 78

Annexure A Project Planner 79

Annexure B Plagiarism Report 83

Annexure C Project Competition Participation Details 90

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. v


Dr on Click

List of Figures

3.1 Iterative Model Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10


3.2 Breakdown Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1 Project Work Breakdown Structure (Analysis) . . . . . . . . . . . . . . . . 15


4.2 Project Work Breakdown Structure (Implementation) . . . . . . . . . . . . 17
4.3 June-July Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 August-September-October Plan . . . . . . . . . . . . . . . . . . . . . . . 24
4.5 Project Plan(December-January) . . . . . . . . . . . . . . . . . . . . . . . 24
4.6 Project Plan(Febuary-March) . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.7 Use-case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.8 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.9 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.10 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.11 State Chart Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.12 Data Flow Diagram (Level 0) . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.13 Data Flow Diagram (Level 1) . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.14 Data Flow Diagram (Level 2) . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.15 Control Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.16 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.17 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.18 Venn Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

8.1 Testing Using Selenium(Part I) . . . . . . . . . . . . . . . . . . . . . . . . 61


8.2 Testing Using Selenium(Part II) . . . . . . . . . . . . . . . . . . . . . . . 61

9.1 Login and Dashboard Activity . . . . . . . . . . . . . . . . . . . . . . . . 65


9.2 Finding Specialist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.3 Choosing Doctor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.4 Appointment Booking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.5 History and Reminder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.6 Dr on Click Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.7 Doctor Dashboard page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon vi


Dr on Click

9.8 OPD page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72


9.9 Digital Prescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.10 Set Leave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.11 After Pathologist Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
9.12 Admin Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

A.1 Weekly Planning Sheet I . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


A.2 Weekly Planning Sheet II . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.3 Weekly Planning Sheet III . . . . . . . . . . . . . . . . . . . . . . . . . . 82

B.1 Plagiarism report for assignment 1 . . . . . . . . . . . . . . . . . . . . . . 84


B.2 Plagiarism report for assignment 2 . . . . . . . . . . . . . . . . . . . . . . 85
B.3 Plagiarism report for assignment 3 . . . . . . . . . . . . . . . . . . . . . . 86
B.4 Plagiarism report for assignment 4 . . . . . . . . . . . . . . . . . . . . . . 87
B.5 Plagiarism report for assignment 5 . . . . . . . . . . . . . . . . . . . . . . 88
B.6 Plagiarism report for assignment 6-7 . . . . . . . . . . . . . . . . . . . . . 89

C.1 Pradyogeeky Project Competition: Vidya Gadekar . . . . . . . . . . . . . . 90


C.2 Pradyogeeky Project Competition: Vaishnavi Darekar . . . . . . . . . . . . 91
C.3 Pradyogeeky Project Competition: Saurabh Devang . . . . . . . . . . . . . 92
C.4 Pradyogeeky Project Competition: Rupesh Dhake . . . . . . . . . . . . . . 93

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. vii


Dr on Click

List of Tables

3.1 Estimation of KLOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.1 Project Task Table(Phase I) . . . . . . . . . . . . . . . . . . . . . . . . . . 20


4.2 Project Task Table(Phase II) . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Project Schedule table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.1 Risk Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

8.1 Unit Testing Test Cases for Web Portal . . . . . . . . . . . . . . . . . . . . 62


8.2 Unit Testing Test Cases for Android Application . . . . . . . . . . . . . . . 63
8.3 Integration Testing Test Cases . . . . . . . . . . . . . . . . . . . . . . . . 64

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon viii


Dr on Click

C HAPTER 1

INTRODUCTION

1.1 Problem Statement


Life is becoming too busy to get medical appointments in person and to maintain a proper
health care. Also, if we are at an unknown location, it is very difficult to find the proper hos-
pital. Even maintaining our all paper-bound health care record is inconvenient. To address
all the above problems we propose a system, Dr on click. It is a combined system consisting
of an android app for patient and web app for the doctor to digitize the doctor patient com-
munication.

1.2 Review of Conference/Journal Papers and Relevant The-


ory

Paper:
Appointment scheduling algorithm considering routine and urgent patients.[1]
Authors: Jiafu Tang, Chongjun Yan, Pingping Cao
This paper derives a solution approach to solve the outpatient appointment schedule prob-
lem for given numbers of routine and urgent patients considering a no-show probability to
minimize the weighted sum of average patient wait time, physician idle time and overtime.
An exact deterministic service time method is proposed to find the optimal schedule. A
heuristic algorithm based on two kinds of shifting policies (HE-TKS) is developed to solve
the appointment schedule, which gives a local optimal solution as an upper bound for the
optimal schedule.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 1


Dr on Click

Paper:
Whats Up Doc: A Doctor Appointment Application System Using Android.[2]
Authors: Dharani Kantilal Prajapati
This paper proposes an android application for taking appointment. The patient can book
the appointment through his/her mobile phone. The doctor will come to know the number of
patients he has to attend whole day.

Paper:
Mr. Doc: A Doctor Appointment Application System.[3]
Authors: Shafaq Malik, Nargis Bibi, Sehrish Khan, Razia Sultana, Sadaf Abdul Rauf
This paper proposes a system of android application and web application. The android
application Mr. Doc acts as a client whereas the database containing the doctors details,
patients details and appointment details is maintained by a website that acts as a server.

Paper:
Survey on Data Mining Technique for disease Prediction.[4]
Authors: Durga Hinge, S. K. Gaikwad
In this paper, Various Data Mining algorithm like Decision Trees, Bayesian Classifier, mul-
tilayer perceptron, Single Logistic and Ensemble technique are utilized to determine heart
ailments. Also, different data mining classification procedure are analyzed for testing their
precision ad execution.

Paper:
Multi diseases prediction using Data Mining Technique.[5]
Authors: K. Gomathi, Dr. D. Shanmuga Priyaa.
This paper analyzes data mining techniques which can used for predicting different disease.
This paper revived the research paper which mainly concentrate on predicting heart disease,
Diabetics and Breast cancer.

Paper:
Disease Predicting system using data Mining Techniques.[6]
Authors: M. A. Nishara Banu, B. Gomathy.
In this paper, heart disease is predicted using different classification algorithm. Using the
medicinal data (Data mining over a health care record). The technique used are data mining
techniques like Association rule, Clustering, Decision Tree, Once the adequate amount of

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 2


Dr on Click

data is available after the data mining then Algorithms like decision tree algorithm is im-
plemented to analysis the different kind of heart base problems. Clustering algorithm like
K-means are the data mining techniques which can be used to validate the accuracy of pre-
dicted disease.

1.3 Scope
1. Health care provider have an opportunity to connect with patient.

2. This application will avoid the time delay caused by traditional way of booking ap-
pointment and sending report, by replacing it with a smart system.

3. Replaces the traditional way to store any patients healthcare record with real-time
database.

4. This app can be extended across a variety of devices and platform which offers func-
tionality that can be used on regular basis.

1.4 Objectives
Facilitates patient

1. To search nearest hospital from current location.

2. To choose doctor on basis of specialist, by name of doctor or by providing symptoms.

3. To upload test report from remote location.

4. To give alerts for their upcoming appointments as well as for medicine dosage.

Facilitates doctor

1. To manage daily appointments and set his/her availability.

2. To reschedule all appointments for a particular day in case of emergency and can
recommend an alternative doctor to these patients.

3. To recommend a pathologist to the patient, if in case tests are required.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 3


Dr on Click

C HAPTER 2

REQUIREMENT ANALYSIS

Requirements Analysis or requirement engineering is a process of determining user expec-


tations for a new software or providing update for previous product. This core points must
be measurable, relevant and detailed. In software engineering field this term is also called
as functional specifications. Requirements analysis mainly deals with communication with
users or customers to determine system feature expectations, requirements and reduce con-
flicts as demanded by various software users. Energy should be directed towards ensuring
that the final system or product conforms to client needs rather than attempting to turn user
expectations to fit the requirements. A software requirements specification (SRS) is a com-
prehensive description of the intended purpose and environment for software under devel-
opment. SRS minimizes the time and effort required by developers to achieve desired goals
and also minimizes the development cost.

2.1 Requirement Specification


Requirement specification describes the function and performance of the computer based
system and constraints which govern its development. It can be a written document, a set of
graphical models, a collection of scenarios, or any combination of above.
These are of 3 types:

1. NR: Normal Requirements

2. ER: Expected Requirements

3. XR: Excited Requirements

2.1.1 Normal Requirements


NR1:Registration process for the patient should be simple so that it can be used by low
skilled person also.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 4


Dr on Click

NR2: Validation must be done for all users.


NR3: Patient should be able to see hospital distances with respect to his current location,
the basic information about the hospital as well as the doctors and choose a hospital by his
choice.
NR4: Doctor’s availability should be stated so as to book appointments.
NR5: Health-care history related to a patient needs to be easily access by the doctor and
patient at any time according to the need.
NR6: All history records should be accessible online.
NR7: Doctor should have a feasibility to cancel all the appointment and suggest another
doctor if any emergency occurs.

2.1.2 Expected Requirements


ER1: The user should understand the functionality of the application easily. All things
need to be user friendly.
ER2: Changes in the database should be reflected in the system in minimum possible time.
ER3: Appointment time must be distinct (not overlapped)
ER4: Patient without appointments(walk-in patients) should also be able to get direct ap-
pointment.
ER5: Medicine alert/notification must be given to the user as per set time
ER6: The appointment scheduling should minimize the waiting time of patients in hospital.
ER7: Registration of doctor and hospital should be done only by authorized person(admin)
so as to avoid any fake registrations.

2.1.3 Excited Requirements


XR1: Even if the symptoms provided are ambiguous, the proper suggestion of hospitals
should be given.
XR2: Appointments should be scheduled such that the doctorFLs time is not wasted, i.e. the
cancellation and rescheduling of appointments should be considered and handled properly.
XR3: Doctor should be able to share history of a patient with another doctor, in special
cases.
XR4: Any changes in the appointments should be informed well prior the appointment.
XR5: The system should also connect pathologist with patient and doctor, so the patient can
view and send reports to doctor online.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 5


Dr on Click

2.2 Requirement Validation


The development of software begins once the requirements document is ready. One of the
objectives of this document is to check whether the delivered software system is accept-
able. For this, it is necessary to ensure that the requirements specification contains no errors
and that it specifies the users requirements correctly. Also, errors present in the SRS will
adversely affect the cost if they are detected later in the development process or when the
software is delivered to the user. Hence, it is desirable to detect errors in the requirements
before the design and development of the software begins. To check all the issues related to
requirements,requirements validation is performed. In the validation phase, the work prod-
ucts produced as a consequence of requirements engineering are examined for consistency,
omissions, and ambiguity. The basic objective is to ensure that the SRS reflects the actual
requirements accurately and clearly.
The requirement checklist as follows,
1. Are all requirements consistent?
2. Is the requirements really necessary?
3. Is each requirement testable?
4. Does the requirement model properly reflect the information function and behaviour of
the system to be built.

Normal Requirements
VNR1: This requirement gets satisfied only if the patient is familiar of using Android phone.
VNR2: This requirement gets satisfied only if the patient can login to the system.
VNR3: This requirement gets satisfied only if the patientFLs GPS is on.
VNR4: Implementation of this requirement is done only if the doctor has specified his sched-
ule the day before.
VNR5: This requirement gets satisfied only if the patient has used the system before.
VNR6: Implementation of this requirement is done only if the user has Internet connection.
VNR7: This requirement gets satisfied only if the other doctor(suggested) is registered on
the system

Expected Requirements
VER1: This requirement gets satisfied only if easy and compatible GUI is used.
VER2: This requirement gets satisfied only if the user has fast Internet connection.
VER3: This requirement gets satisfied only if the requirement E2 is satisfied.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 6


Dr on Click

VER4: Implementation of this requirement is done only if, the hospital permits walk-in pa-
tients.
VER5: Implementation of this requirement is done only if the patient has set reminders on
the application
VER6: This requirement gets satisfied only if the requirement E3 is satisfied.
VER7: This requirement gets satisfied only if the enrollment and modification rights are
given to Admin only.

Excited Requirements
VXR1: This requirement gets satisfied only if the symptoms given by the patient lies within
the set of symptoms in the system.
VXR2: Implementation of this requirement is done only if the hospital permits this.
VXR3: This requirement gets satisfied only if the other doctor uses the same application.
VXR4: Implementation of this requirement is done only if the doctor has specified changes
in his schedule and the requirement E2 is satisfied.
VXR5: This requirement gets satisfied only if the pathologist is registered on the system.

2.3 System Requirements

2.3.1 Software Requirements


Possible Software Requirements

1. For web application:

(a) Operating System: any 32-bit/64-bit Operating System


(b) Language: HTML, PHP
(c) Database support: MySQl

2. For mobile application:

(a) Android operating system (lollipop and above versions)


(b) Language: Java
(c) Tools: Android studio 3.1
(d) Database support: MySQl

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 7


Dr on Click

2.3.2 Hardware Requirements


Possible Hardware Requirements

1. For web application:

(a) RAM: 4GB


(b) Hard disk: 500 GB
(c) Processor: Pentium/Intel core i3

2. For mobile application:

(a) Processor: 1.4 GHz


(b) RAM: 2GB

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 8


Dr on Click

C HAPTER 3

SYSTEM MODEL

3.1 Process Model


Software process model is an abstract representation of a process.The goal of process model
is to provide guidance for systematically coordinating and controlling the tasks that must be
performed in order to achieve the end product and the project objective.
Iterative model is used as the process model in our system.

Iterative Model
In the Iterative model, iterative process starts with a simple implementation of a small set of
the software requirements and iteratively enhances the evolving versions until the complete
system is implemented and ready to be deployed.
An iterative life cycle model does not attempt to start with a full specification of require-
ments. Instead, development begins by specifying and implementing just part of the soft-
ware, which is then reviewed to identify further requirements. This process is then repeated,
producing a new version of the software at the end of each iteration of the model.

Why Iterative Model?


1. In Dr on Click the major requirements are defined; however, some functionalities or
requested enhancements may evolve with time.

2. Due to time constraint this model is preferable.

3. New technologies like WEKA is used in the system and are being learned by the
development team while working on the project.

4. There are some high-risk features and goals in the system, which may change in the
future.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 9


Dr on Click

Iterative Model Phases

Figure 3.1: Iterative Model Phases

1. Requirements gathering and analysis:


In this phase, requirements are gathered from patients and doctors. After getting the
requirements, system analyst analyses whether requirements can be fulfilled or not. If
given requirements can be fulfilled then whether these requirements can be fulfilled
within budget or not.After this software team moves to design phase.

2. Design:
In this phase, as per requirements specified software team designs the software.the sys-
tem is broken down into various modules and submodules and the connection between
the modules is defined. Different UML diagrams are also drawn like class diagram, ac-
tivity diagram, data flow diagram,state transition diagram etc for better understanding
of flow of data between doctor and patient .

3. Implementation:
Programs are written and system designed (data, flow, relationships) is converted into
programs. Android development and web application development (implementation)
should be done in parallel.

4. Testing:
Test the software by using different software testing techniques. Most common are

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 10


Dr on Click

white box, black box and gray box testing. In Dr on Click acceptance testing is much
more important along with all the mentioned testings.

5. Deployment:
Deploy the software in working environment of doctor and patients.

6. Review:
Review is performed to check performance and validity of developed software. If there
is any problem or any modification in requirements are coming from dr or patients then
start a new iteration and again start from requirement gathering and so on.

7. Maintenance:
When software is deployed, there can be bugs, faults or requirement for updation.
Maintenance includes debugging and new feature addition.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 11


Dr on Click

3.2 System Breakdown Structure(Modules)

Figure 3.2: Breakdown Structure

Module Details
Following are the modules that will be implemented in this system

1. Admin

2. Doctor

3. Patient

4. Pathologist

Module 1 : Admin
Admin register the hospital via web portal. Admin can add new departments like neurolo-
gist,orthopedic etc as per availability. Also, he can add Doctors during their registration time
itself. Admin can also delete the Hospital, departments and doctors when necessary.

Module 2 : Doctor
Doctor create their schedule of Appointment as per his/her availability.Meanwhile he can
update his schedule.While consulting a patient, doctor can view his entire medical history.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 12


Dr on Click

After consultancy doctor give the digital prescription to patient. Doctor Suggest the various
test to Patient after consultancy and recommend pathologist for the same . Doctor can view
the report of patient send by pathologist.In case of any emergency, doctor can set an emer-
gency leave message and cancel his appointments. Doctor can recommend alternative doctor
for such patients. Doctor can also share case history of any patient with another doctor.

Module 3 : Patient
Patient can search the doctor based on selected specialist i.e.Orthopedic,General physician
etc. or by providing symptoms to the Android app.The application provides a list of doctor
from which the patient can choose one. Patient can check doctors availability and take online
appointment which avoid the hassle of queuing and filling out registration forms. Patient
can request for various alerts/notifications as per his prescription schedule given by doctor.
Patient can view his own report forwarded by Pathologist and upload it to doctor.Patient can
also view his entire medical history.

Module 4 : Pathologist
The test recommend by doctor to patient is also viewed by Pathologist. Pathologist can
generate test report and send it to respective patient.

3.3 Project Estimation

3.3.1 Estimation in KLOC


The number of lines required for implementation of various modules can be estimated as
follows.

3.3.2 Efforts
The Efforts required in person/month for implementation can be estimated as follows

E = 3.2 ∗ (KLOC)ˆ1.05E = 3.2 ∗ (5.22)ˆ1.05E = 18.14person/month

3.3.3 Development time in months


D=E/N
D = 18.14/4
D = 4.5 months

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 13


Dr on Click

Table 3.1: Estimation of KLOC

Sr. no. Modules Estimated KLOC


1 Login: Admin, Doctor, Pathologist 0.1
2 Enroll Hospital/Dept/Dr./Pathologist 0.7
3 Edit details by admin 0.1
4 Set Availability 0.18
5 Patient History 0.6
6 Digital Prescription 0.4
7 Recommend Pathologist and Alternative Doctor 0.07
8 Emergency Leave 0.12
9 Upload Share Report 0.1
10 Patient Registration 0.17
11 Login: Patient 0.08
12 Choose Doctor 1.5
13 Appointment 0.8
14 Medicine Reminder 0.3
Total 5.22

3.3.4 Total Time Required for Project Development


Development time for Project Required Analysis and Design Requires: 3 Months
Implementation and Testing Requires: 4.50 Months
D = 3 + 4.50
D = 7.50 Months

3.3.5 Number of Person Required(N)


Number of Person(s)= Efforts / Duration
Number of Person(s)= 18.14 / 4.5
Number of Persons= 4 Persons.
Four persons are required to complete the project within given time span successfully.
D1: Vidya Gadekar
D2: Saurabh Devang
D3: Rupesh Dhake
D4: Vaishnavi Darekar

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 14


Dr on Click

C HAPTER 4

SYSTEM DESIGN

4.1 Project Scheduling and Tracking

4.1.1 Project work breakdown structure(Analysis)

Figure 4.1: Project Work Breakdown Structure (Analysis)

T1: Communication:
Software development process starts with the communication between customer and devel-
oper. According to need of project, we gathered the requirements related to project.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 15


Dr on Click

T2: System Design:


It includes the process model used for the development of the system. The Breakdown
Structure (Modules) is also defined in this task. Different Modules used in the system are
viewed in Breakdown Structure.

T3: Project Planning:


It includes complete estimation and scheduling and tracking . it is also tasks required to
define resources, timeline, and other project related information.

T4: Modeling (Analysis Design):


It includes detailed requirements analysis and project design. In requirements analysis, ac-
cording to the customer requirements the analysis of the system is carried out and what will
be the starting of system, in which direction it travels and what will be the destination is
given by analysis phase. In design according to analysis, system design takes place.

T5: Risk Management:


It includes identifying the risks during project development and according to that managing
the risks which are affecting the project development.

4.1.2 Project work breakdown Structure(Implementation)


Implementation of proposed system is divided in to following modules:
1. Admin

2. Doctor

3. Patient

4. Pathologist

Admin

Admin interacts with the system through web application.


1. Login:Admin can login to the system by providing appropriate credentials.

2. Enroll Hospital/Department/Doctor/Pathologist: To avoid fake registrations , any


hospital,doctor and pathologist must approach admin to use this system.

3. Edit Details:If modifications in any hospitalFLs details are required,it can be done by
the admin.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 16


Dr on Click

Figure 4.2: Project Work Breakdown Structure (Implementation)

Doctor

Doctor interacts with the system through web application.

1. Login:Doctor can login to the system by providing appropriate credentials.Doctor can


view and edit his/her profile.

2. Set Availability:Doctor needs to specify his/her schedule while registering.

3. View Patient History:Doctor can view medical history of the patients that have booked
appointment.

4. Give Digital Prescription:To minimize on-paper records, the system facilitates doctor
to give digital prescription.

5. Recommend Pathologist:If the patient requires to undergo any tests, doctor can rec-
ommend a pathologist to the patient.

6. Emergency Leave:In case of any emergency, doctor can cancel all the appointments
scheduled for a particular period and accordingly the patient will be notified.

7. Recommend Alternate Doctor:If the doctor is unavailable for a particular duration,


he/she can recommend any alternative doctor to the patient.

8. View Report of Attended Patient:The doctor can view reports of patient whom
he/she have suggested to undergo certain tests.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 17


Dr on Click

Patient

Patient interacts with the system through android application.

1. Registration:Patient need to register with the system for using this application.

2. Login:Patient can login to the system by providing appropriate credentials.Patient can


view and edit his/her profile.

3. Choose Doctor:

(a) By Specialist:Patient can search a doctor on the basis of doctors specialization.


(b) By Providing Symptoms:If the patient is not familiar with the city, he/she can just
provide the symptoms,then the application will suggest appropriate specialists.

4. Check Availability and Book Appointment:Once the patient has selected the doc-
tor, he/she can view the availability status of that doctor and book the appointment
accordingly.

5. View and Send Reports:If the patient visits a pathologist who is not registered on the
system, patient can upload test reports from any remote location.

6. View History:Patient can view his medical history at any time on the android applica-
tion.

7. Set Medicine Reminder:Patient can set reminder to get notification for medicine
dosages.

Pathologist

Pathologist interacts with the system through web application.

1. Login:Pathologist can login to the system by providing appropriate credentials.Pathologist


can view and edit his/her profile.

2. Upload Test Report:The pathologist can upload test reports to respective patients
account.

4.2 Task Identification


T1 : Project definition Searching.
T2 : Literature Collection.
T3 : Synopsis Submission.
T4 : Requirement Gathering and Validation.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 18


Dr on Click

T5 : Literature Review.
T6 : Determine Process model, KLOC and Breakdown Structure.
T7 : Detail Information Gathering of each module
T8 : Project Scheduling
T9 : UML Modeling.
T10: Mathematical Modeling.
T11: Risk Analysis and Management.
T12: Collection of dataset.
T13: GUI design.
T14: Database Design.
T15: Implementation of Admin module
T16: Implementation of Doctor module.
T17: Implementation of Pathologist module.
T18: Implementation of Patient module.
T19: Implementation of appointment scheduling mechanism.
T20: Implementation for digital prescription.
T21: Implementation for history retrieval.
T22: Implementation of Emergency leave mechanism.
T23: Implementation for choosing doctor.
T24: Implementation for uploading report.
T25: Result analysis and documentation.
T26: Testing.
T27: Making required modification.
T28: Deployment of doctor on click.

Each task is assigned to one or more team members, where,


D1: Vidya Gadekar
D2: Saurabh Devang
D3: Rupesh Dhake
D4: Vaishnavi Darekar

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 19


Dr on Click

4.3 Project Schedule

Project Task Table


The Table 4.1 describes the schedule for project development and also highlights all the
tasks to be carried out along with their duration, dependency and developer(s) assigned to
accomplish the task.

Table 4.1: Project Task Table(Phase I)

Tasks Days Dependencies Developers Assigned


T1 08 - D1,D2,D3,D4
T2 04 T1 D1,D2,D3,D4
T3 20 T1,T2 D1,D2,D3,D4
T4 08 T1,T2,T3 D1,D2,D3,D4
T5 03 T1,T2 D1,D2,D3,D4
T6 05 T4 D1,D4
T7 05 T4 D2,D3
T8 10 T7 D1,D4
T9 03 T6,T7 D1,D2,D3,D4
T10 10 T6,T7 D1,D2,D3,D4
T11 10 T6,T7 D2,D3

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 20


Dr on Click

Table 4.2: Project Task Table(Phase II)

Tasks Days Dependencies Developers Assigned


T12 04 T4,T6,T7 D1,D2,D3,D4
T13 06 T11 D1,D2,D3,D4
T14 08 T7,T11,T12 D1,D2,D4
T15 05 T11,T13,T14 D1,D2
T16 12 T11,T13,T14,T15 D1,D2
T17 04 T11,T13,T14,T15 D1,D2
T18 20 T11,T13,T14,T15 D3,D4
T19 15 T16,T18 D1,D2,D3,D4
T20 08 T16,T18,T19 D1,D2,D3,D4
T21 08 T16,T18,T19,T20 D1,D2,D3,D4
T22 06 T16,T18,T19 D1,D2,D3,D4
T23 20 T16,T18 D1,D3,D4
T24 15 T16,T17,T18 D2
T25 10 - D1,D2,D3,D4
T26 20 - D1,D2,D3,D4
T27 10 T26 D1,D2,D3,D4
T28 08 - D1,D2,D3,D4

4.4 Project Table and Time-line Chart


Project Schedule Table

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 21


Dr on Click

Table 4.3: Project Schedule table

Tasks E. Start Time A. Start Time E. End Time A. End Time Developers
T1 18/06/18 19/06/18 26/06/18 27/06/18 D1,D2,D3,D4
T2 27/06/18 28/06/18 30/06/18 04/07/18 D1,D2,D3,D4
T3 01/07/18 05/07/18 20/07/18 25/07/18 D1,D2,D3,D4
T4 21/07/18 27/07/18 28/07/18 02/08/18 D1,D2,D3,D4
T5 29/07/18 02/08/18 31/07/18 05/08/18 D1,D2,D3,D4
T6 01/08/18 04/08/18 05/08/18 12/08/18 D1,D4
T7 01/08/18 04/08/18 05/08/18 12/08/18 D2,D3
T8 06/08/18 13/08/18 15/08/18 23/08/18 D1,D4
T9 16/08/18 24/08/18 18/08/18 27/08/18 D1,D2,D3,D4
T10 19/08/18 28/08/18 28/08/18 07/09/18 D1,D2,D3,D4
T11 29/08/18 08/09/18 07/09/18 15/09/18 D2,D3
T12 08/09/18 16/09/18 11/09/18 19/09/18 D1,D2,D3,D4
T13 12/09/18 20/09/18 17/09/18 30/09/18 D1,D2,D3,D4
T14 18/09/18 01/10/18 26/09/18 08/10/18 D1,D2,D4
T15 20/12/18 26/12/18 24/12/18 07/01/19 D1,D2
T16 25/12/18 07/01/19 05/01/19 15/01/19 D1,D2
T17 06/01/19 11/02/19 09/01/19 14/02/19 D1,D2
T18 20/12/18 12/01/19 09/01/19 19/01/19 D3,D4
T19 10/01/19 18/02/19 24/01/19 23/02/19 D1,D2,D3,D4
T20 25/01/19 01/03/19 03/02/19 05/03/19 D1,D2,D3,D4
T21 04/02/19 12/03/19 11/02/19 19/03/19 D1,D2,D3,D4
T22 12/02/19 28/03/19 17/02/19 02/04/19 D1,D2,D3,D4
T23 18/02/19 14/03/19 09/03/19 21/03/19 D1,D3,D4
T24 18/02/19 28/03/19 05/03/19 30/03/19 D2
T25 10/03/19 29/03/19 19/03/19 04/04/19 D1,D2,D3,D4
T26 20/03/19 28/03/19 08/04/19 03/04/19 D1,D2,D3,D4
T27 09/04/19 25/03/19 18/04/19 04/04/19 D1,D2,D3,D4
T28 19/04/19 03/04/19 30/04/19 05/04/19 D1,D2,D3,D4

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 22


Dr on Click

Time-line Chart

Figure 4.3: June-July Plan

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 23


Dr on Click

Figure 4.4: August-September-October Plan

Figure 4.5: Project Plan(December-January-February)

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 24


Dr on Click

Figure 4.6: Project Plan(March-April)

4.5 Analysis Modeling

4.5.1 Behavioral Modeling


Use-case Diagram

Use case involves a sequence of interactions between the initiator and the system, possibly
involving other actors.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 25


Dr on Click

Figure 4.7: Use-case Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 26


Dr on Click

Class Diagram

In design specification it can be used to specify interfaces and classes that will be imple-
mented in an object oriented program.

Figure 4.8: Class Diagram

Sequence Diagram

A sequence diagram is a graphical view of a scenario that shows object interaction in a


time-based sequence what happens first, what happens next.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 27


Dr on Click

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 28


Dr on Click

Figure 4.9: Sequence Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 29


Dr on Click

Activity Diagram

Activity diagrams are very similar to a flowchart because we can model a work flow from
activity to activity.

Figure 4.10: Activity Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 30


Dr on Click

State Chart Diagram

State chart diagrams model the dynamic behavior of individual classes or any other kind of
object.They show the sequences of states that an object goes through, the events that cause a
transition from one state to another and the actions that result from a state change.

Figure 4.11: State Chart Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 31


Dr on Click

4.5.2 Functional Modeling


Data Flow Diagrams

Data flow diagram (DFD) is a graphical technique, which is used to represent information
flow, and transformers those are applied when data moves from input to output. DFD may
further partitioned into different levels to show detailed information flow.

Figure 4.12: Data Flow Diagram (Level 0)

Figure 4.13: Data Flow Diagram (Level 1)

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 32


Dr on Click

Figure 4.14: Data Flow Diagram (Level 2)

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 33


Dr on Click

Control Flow Diagram

In control flow diagram we are considering various events related with data flow.

Figure 4.15: Control Flow Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 34


Dr on Click

4.5.3 Architectural Modeling


Component Diagram

A component diagram is used show the internal structure of a component, the provided
and required interfaces of the encompassing component can delegate to the corresponding
interfaces of the contained components

Figure 4.16: Component Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 35


Dr on Click

Deployment Diagram

A deployment diagram shows the allocation of processes to processors in the physical design
of a system. A deployment diagram may represent all or part of the process architecture of a
system.

Figure 4.17: Deployment Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 36


Dr on Click

4.6 Mathematical Modeling


S = {I, P, R, O}

Where,
S=System
I=Input
P=Process
R=Rules
O=Output
Input
{I} is set of all inputs giving to system.

I = {I1, I2, I3, I4, I5, I6, I7, I8}

I1 = Coordinates of Patient(Latitude, Longitude)


I2 = Specialist Chosen by Patient
I3 = Symptoms
I4 = Selected Doctor
I5 = Prescription details
I6 = Test Report
I7 = Set Alerts Request
I8 = DoctorFLs schedule

Process
{P} is set of processes followed.

P = {P1, P2, P3, P4, P5, P6, P7}

P1 = Search Hospital by specialist.


P2 = Search Hospital by Symptoms
P3 = Appointment Scheduling
P4 = Fetch History
P5 = Medicine Alerts
P6 = Send/Upload Report
P7 = Give Prescription

Rules
{R} is set of rules.
R = {R1, R2}

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 37


Dr on Click

R1 = Internet/network connectivity required to access the system.


R2 = Doctor/Patient must be registered on System.

Output
{O} is set of output expected from system.

O = {O1, O2, O3, O4, O5}

O1 = List of specialist.
O2 = Distance of hospital from current location
O3 = Scheduled appointment
O4 = Alerts
O5 = Patient History

Figure 4.18: Venn Diagram

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 38


Dr on Click

4.7 Database Tables with Description


Table: Hospitals

This table will contain information of all the hospitals in the system.

Hosp id Hosp name No of dept No of dr Latitude Longitude Address

Table: Department of (Hospital id)

Hospital id variable is the id of the hospital to which the department belongs to.This table
will contain information of all the departments of a particular hospital.

Department id Departments name No of doctors

Table: Doctor of (Department id) (Hospital id)

Hospital id variable is the id of the hospital to which the doctor belongs to. Department id
variable is the id of the department to which the doctor belongs to.This table will contain
information of all the doctors in a particular department.

Doctor id Doc name Specialist Username Password Qualification


Intime Outtime Start Lunch time End Lunch time

Table: Pathologists

This table will contain information of all the Pathologist registered in the system.

Patholigist id Fname Lname Lab name Username Password

Table: (Doctor id) (Department id) (Hospital id) OPD

Hospital id variable is the id of the hospital to which the doctor belongs to. Department id
variable is the id of the department to which the doctor belongs to.Doctor id is the unique id
of a particular doctor.This table will contain all the information of a doctors appointments.

Patient id Fname Lname Age Locality Timing Date

Table: (Doctor id) (Department id) (Hospital id) leave

Hospital id variable is the id of the hospital to which the doctor belongs to. Department id
variable is the id of the department to which the doctor belongs to.Doctor id is the unique id
of a particular doctor.This table will contain the dates form when the doctor is on leave and
upto which date.

Patient id leave from leave to Message Alternative dr Date

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 39


Dr on Click

Table: (Doctor id) (Department id) (Hospital id) reports

Hospital id variable is the id of the hospital to which the doctor belongs to. Department id
variable is the id of the department to which the doctor belongs to.Doctor id is the unique id
of a particular doctor.This table will contain the reports of previously visited patients.

Patient id Prescription id Report id Patho name

Table:Patient

This table will contain information about all the patients registered into the system.

Patient id Fname Mname Lname Age Locality Gender Password

Table:Prescription Of (Patient id)

Patient id variable is the unique id of a particular patient. This table will contain information
of all the prescriptions the patient has received.

Prescription id dr name Date Report

Table: Prescription (Prescription id) (Patient id)

Patient id variable is the unique id of a particular patient.Prescription id variable is the


unique id of a particular prescription. This table will contain information of a particular
prescriptions the patient has received.

Medicine Morning Afternoon Evening


Before Lunch After Lunch Quantity

Table:Reports of (Patient id)

Patient id variable is the unique id of a particular patient.Report id is the unique id of a


particular report.This table will have the information of all the reports of a patient.

Report id Prescription id Patho name Report Date

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 40


Dr on Click

C HAPTER 5

RISK MANAGEMENT

Risk Management involves different kind of risks that might affect the project schedule or
quality of the software being develop and monitoring the actions to avoid the risk. Basically
risk management is the process of identifying, assessing, responding to, monitoring, and re-
porting risks. This Risk Management Plan defines how risks associated with the project will
be identified, analyzed and managed. Risk management is an ongoing process that continues
throughout the life of a project. Effective risk management makes easier to deals with the
problem which occurs while development of process.

5.1 Risk Identification


Following types of risk are to be identified:

Product Size Related

R1: LOC may exceed estimated size.


R2: Size of database created or used.

Business Impact

R3:Reasonableness of delivery deadline.


R4:Cost associated with late delivery.
R5:Cost associated with defective product.

Customer Related Risk

R6: Does the customer have a solid idea of what is required?


R7:Is the customer willing to participate in reviews?

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 41


Dr on Click

Technical Risk

R8: Website Down/Crash.


R9: Lack of database stability and concurrency.
R10: Android application and web portal synchronization fails.

Development Environment related Risks

R11: Lack of proper training and less knowledge of programming leads a moderate risk. It
will delay product development and deployment.

Staff Related Risk

R12: Because the scope of the project is simply too massive, it may be hard to complete it
in given span of time with 4 people.

Process Risk

R13: Selection of software process model.

5.2 Strategies Used To Reduce Risk


S1: Formulation and follow up the project plan on regular basis.
S2: Estimation of LOC must be done by considering all development factors.
S3: Time-to-time, continuous communication with customer.
S4: Fixed schedule to meet the customer.
S5: Detailed study of required system and proper selection of software process model.
S6: Proper Training on required System.
S7: Choose database by keeping the scalability of system into mind.
S8: Use of real-time database.
S9: Use of standard database technology which support concurrency more effectively.
S10: Ensure that each member participates in designing.
S11: Keep assigned work under certain deadlines.
S12: Proper Internet connection must be provided.
S13: Each module must be tested to ensure its functionality.
S14: Unknown at this time.

5.3 Risk Projection


Lists all the possible risk which may occur at any stage during development of project. Table
also clearly shows the impact of risk and RMMM and management plan to deal with any

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 42


Dr on Click

such risk.

Table 5.1: Risk Projection

Risk Category Probability Impact RMMM Plan


R1 Product Size Related Less Low S2
R2 Product Size Related More High S7,S8
R3 Business Impact Less Low S11
R4 Business Impact More Low S1,S11
R5 Business Impact Less low S13
R6 Customer Related Risk Less High S3,S4
R7 Customer Related Risk Less Low S4
R8 Technical Risk More High S8,S12
R9 Technical Risk Less High S8,S9
R10 Technical Risk Less High S8,S12
R11 Development Environment related Risks Less High S5,S6
R12 Staff Related Risk More High S1,S10
R13 Process Risk Less High S5

5.4 Feasibility Study


The feasibility of the project is analyzed in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis,
the feasibility study of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some understanding
of the major requirements for the system is essential.

Technical Feasibility

This study is carried out to check the technical feasibility, that is, the technical requirements
of the system. Any system developed must not have a high demand on the available technical
resources. This will lead to high demands on the available technical resources. This will
lead to high demands being placed on the client. The developed system must have a modest
requirement, as only minimal or null changes are required for implementing this system.

1. An outline of the requirements.

2. A possible system design(e.g. Database, server, technical tools, etc).

3. Possible choices of software to be acquired or developed.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 43


Dr on Click

P Class

Class of problems which can be solved by deterministic algorithm in polynomial time.

NP-Complete

The problems which belong to the NP class and are as hard as any problem in NP are called
NP-complete problems.If a polynomial time algorithm exists for any of these problems, all
problems in NP would be polynomial time solvable and called as NP-complete problem.
sub

NP Hard

These are problems for which there are no efficient solutions are found. Generally, com-
plexity of these problems is more than P, NP, NP-Complete. These may include higher
multiplicative constants, exponents terms or high order polynomial.
As “Dr on Click” is having solution which can be achieved in polynomial time with the
help of deterministic algorithm, it belongs to P-Class.

Cost Feasibility

This study is carried out to check the economic impact that the system will have on the orga-
nization. The amount of fund that the customer can pour into the research and development
of the system is limited. The expenditures must be justified. Thus, the developed system
as well within the budget and this was achieved because most of the technologies used are
freely available.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 44


Dr on Click

C HAPTER 6

TECHNICAL SPECIFICATION

6.1 Technology Details Used in Project


For development of Project ” Dr on Click” we are using, Windows 10 OS with following
software.

6.1.1 Front-end
1. Sublime text editor

2. Android studio

6.1.2 Back-end
1. MySQL(cPanel)

6.1.3 Installing Android Studio


Android Studio is the official integrated development environment (IDE) for Android appli-
cation development. It is based on the IntelliJ IDEA, a Java integrated development environ-
ment for software, and incorporates its code editing and developer tools. To support applica-
tion development within the Android operating system, Android Studio uses a Gradle-based
build system, emulator, code templates, and Github integration. Every project in Android
Studio has one or more modalities with source code and resource files. These modalities
include Android app modules, Library modules, and Google App Engine modules.
Installing Android Studio

1. Download android studio

2. Run the .exe file.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 45


Dr on Click

3. Choose components like Android SDK, Android Virtual Device to install along with
Android Studio

4. Choose the folder to install Android studio and click on finish

6.1.4 Installing Sublime Text


What is Sublime Text?
Sublime Text Editor is a full featured Text editor for editing local les or a code base.
It includes various features for editing code base which helps developers to keep track of
changes. Various features that are supported by Sublime are as follows 1. Syntax Highlight
2. Auto Indentation 3. File Type Recognition 4. Sidebar with les of mentioned directory 5.
Macros 6. Plug-in and Packages Sublime Text editor is used as an Integrated Development
Editor (IDE) like Visual Studio code and NetBeans. The current version of Sublime Text
editor is 3.0 and is compatible with various operating systems like Windows, Linux and
MacOS.
Why is Sublime Text?
When you use a suitable Text editor, you can enjoy its rich beneficial features. Sublime
Text offers its users the following benefits

1. Ability to solve linker errors.

2. Keeping track of all files and folders to work with.

3. Connectivity with version control systems like Git, Mercurial.

4. Problem solving capabilities.

5. Keeping colour combination for syntax combination.

Installing Sublime Text

1. Download the .exe package from the official website https://www.sublimetext.com/3

2. Now, run the executable file. This defines the environment variables. When you run
the executable file, you can observe the following window on your screen. Click Next.

3. Now, choose a destination location to install Sublime Text3 and click Next.

4. Now, click Finish to complete the installation

5. Upon a successful installation, your editor will appear.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 46


Dr on Click

6.1.5 cPanel
cPanel is an online Linux-based web hosting control panel that provides a graphical interface
and automation tools designed to simplify the process of hosting a web site to the website
owner or the ”end user”. cPanel utilizes a three-tier structure that provides capabilities for
administrators, resellers, and end-user website owners to control the various aspects of web-
site and server administration through a standard web browser. While cPanel is limited to
managing a single website, the server administration panel of which cPanel is a part is known
as WHM, short for Web Host Manager. In addition to the GUI, cPanel also has command line
and API-based access that allows third-party software vendors, web hosting organizations,
and developers to automate standard system administration processes.
Chosen plan for hosting
Features

1. Unlimited space

2. Unlimited web space

3. Unlimited email

4. Unlimited sub-domains

5. Free Domain for life

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 47


Dr on Click

C HAPTER 7

IMPLEMENTATION DETAILS

7.1 Introduction
Dr on Click is implemented using Android as well as Web Technologies. The An-
droid app is basically designed for the patient side and the Web Portal is designed for Doctor,
Pathologist as well as the Admin.

7.2 Database

7.2.1 MySQL
MySQL is an open source relational database management system (RDBMS) based on Struc-
tured Query Language (SQL). MySQL runs on virtually all platforms, including Linux,
UNIX, and Windows. MySQL is used to access the data stored on server through PHP
from both, the web portal as well as the Android application. The Android application uses
PHP scripting(REST API) to communicate with the centralized database.

7.2.2 MySQL and PHP


PHP will work with virtually all database software, including Oracle and Sybase but most
commonly used is freely available MySQL database.

• Connecting to MySQL database Use PHP to open and close a MySQL database con-
nection.

• Create MySQL Database Using PHP Create MySQL database and tables using PHP.

• Delete MySQL Database Using PHP Delete MySQL database and tables using PHP.

• Insert Data To MySQL Database Once you have created your database and tables then
you would like to insert your data into created tables.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 48


Dr on Click

• Retrieve Data From MySQL Database Fetch records from MySQL database using
PHP.

• Using Paging through PHP Show your query result into multiple pages and how to
create the navigation link.

• Updating Data Into MySQL Database Update existing records into MySQL database
using PHP.

• Deleting Data From MySQL Database Delete or purge existing records from MySQL
database using PHP.

7.3 Important Modules


Admin

Admin interacts with the system through web application.

• Login:Admin can login to the system by providing appropriate credentials.

• Enroll Hospital/Department/Doctor/Pathologist: To avoid fake registrations , any


hospital,doctor and pathologist must approach admin to use this system.

• Edit Details:If modifications in any hospitalFLs details are required,it can be done by
the admin.

Doctor

Doctor interacts with the system through web application.

• Login:Doctor can login to the system by providing appropriate credentials.Doctor can


view and edit his/her profile.

• Set Availability:Doctor needs to specify his/her schedule while registering.

• View Patient History:Doctor can view medical history of the patients that have booked
appointment.

• Give Digital Prescription:To minimize on-paper records, the system facilitates doctor
to give digital prescription.

• Recommend Pathologist:If the patient requires to undergo any tests, doctor can rec-
ommend a pathologist to the patient.

• Emergency Leave:In case of any emergency, doctor can cancel all the appointments
scheduled for a particular period and accordingly the patient will be notified.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 49


Dr on Click

• Recommend Alternate Doctor:If the doctor is unavailable for a particular duration,


he/she can recommend any alternative doctor to the patient.

• View Report of Attended Patient:The doctor can view reports of patient whom
he/she have suggested to undergo certain tests.

Patient

Patient interacts with the system through android application.

• Registration:Patient need to register with the system for using this application.

• Login:Patient can login to the system by providing appropriate credentials.Patient can


view and edit his/her profile.

• Choose Doctor:

– By Specialist:Patient can search a doctor on the basis of doctors specialization.


– By Providing Symptoms:If the patient is not familiar with the city, he/she can just
provide the symptoms,then the application will suggest appropriate specialists.

• Check Availability and Book Appointment:Once the patient has selected the doc-
tor, he/she can view the availability status of that doctor and book the appointment
accordingly.

• View and Send Reports:If the patient visits a pathologist who is not registered on the
system, patient can upload test reports from any remote location.

• View History:Patient can view his medical history at any time on the android applica-
tion.

• Set Medicine Reminder:Patient can set reminder to get notification for medicine
dosages.

Pathologist

Pathologist interacts with the system through web application.

• Login:Pathologist can login to the system by providing appropriate credentials.Pathologist


can view and edit his/her profile.

• Upload Test Report:The pathologist can upload test reports to respective patients
account.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 50


Dr on Click

7.4 Algorithms

7.4.1 Decision Tree


Decision tree builds classification models in the form of a tree structure. It breaks down a
dataset into smaller and smaller subsets while at the same time an associated decision tree
is incrementally developed. The final result is a tree with decision nodes and leaf nodes.
A decision node (a symptom) has two or more branches . Leaf node (e.g., type of spe-
cialist) represents a classification or decision. The topmost decision node in a tree which
corresponds to the best predictor called root node.
Decision Tree is used to choose doctor on the basis of symptoms. Here the patient just
enters the symptoms he/she is experiencing and on the basis of these symptoms the Android
application will recommend a list of specialist the patient should visit. The dataset used to
train this Decision tree is obtained from UCM machine learning repository which consist
of over 2000 records. On the basis of this training data the J48 algorithm builds a tree
which is used to predict the probable disease the user is suffering from. This disease is then
mapped to a particular speciality and the android application displays a list of doctors with
that speciality available nearby.

7.5 Major Code


Search Doctor on basis of Symptoms(Decision Tree)

public static Instances getDataSet(InputStream inputStream) throws


IOException {
int classIdx = 1;
ArffLoader loader = new ArffLoader();
loader.setSource(inputStream);

Instances dataSet = loader.getDataSet();


dataSet.setClassIndex(classIdx);
return dataSet;
}

public static String process(InputStream i1 ,String selected_symptoms[])


throws Exception {
String specialist="";
String disease="";
String symptoms[]={"itching","skin_rash",...};

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 51


Dr on Click

Instances trainingDataSet = getDataSet(i1);


Classifier classifier = new J48();
trainingDataSet.setClassIndex(trainingDataSet.numAttributes() - 1);
classifier.buildClassifier(trainingDataSet);
try {
Instance instance = new DenseInstance(symptoms.length);

for(int i=0;i<symptoms.length;i++)
{
int flag=0;
for(int j=0;j<selected_symptoms.length;j++) {
if (Integer.parseInt(selected_symptoms[j]) == i) {
instance.setValue(trainingDataSet.attribute(symptoms[i]), 1);
flag++;
break;
}
}
if(flag==0)
{
instance.setValue(trainingDataSet.attribute(symptoms[i]), 0);
}
}

instance.setDataset(trainingDataSet);

double result=classifier.classifyInstance(instance);
disease=instance.classAttribute().value((int)result );

} catch (Exception ex) {


ex.printStackTrace();
}
return specialist;
}
}

Finding Hospital on Map

public void onMapReady(GoogleMap googleMap) {


mMap = googleMap;
if
(ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION)==

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 52


Dr on Click

PackageManager.PERMISSION_GRANTED)
{
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
LatLng latLng =new LatLng(l1,l2);
mMap.addMarker(new MarkerOptions().position(latLng).title(dr_name));
mMap.setInfoWindowAdapter(new InfoWindowCustom(this));
}
}
@Override
public View getInfoContents(Marker marker) {
inflater =
(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.map_info_layout, null);
TextView title = (TextView) v.findViewById(R.id.dr_name);
title.setText(marker.getTitle());
Button bt = findViewById(R.id.bt);
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener()
{
public void onInfoWindowClick(Marker marker) {
String task="availability";
get_available_slot get_slot=new get_available_slot(MapsActivity.this);
get_slot.execute(task,marker.getTitle(),dr_id,dept_id,hosp_id);
}
});
return v;
}

Checking Doctor availability PHP script

<?php

$a=$dept_id."_";
$b=$a.$hosp_id;
$table_name="drof_".$b;
$table_name2=$dr_id."_".$b."_OPD";
$sql="DELETE FROM $table_name2 WHERE Date<CURDATE()";
mysqli_query($conn,$sql);
$mysql_query = "SELECT * FROM $table_name WHERE Dr_id =$dr_id ";
$mysql_query1 = "SELECT DISTINCT Date FROM $table_name2 order by Date";
$result = mysqli_query($conn,$mysql_query);
$result1 = mysqli_query($conn,$mysql_query1);

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 53


Dr on Click

//check the result


if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_assoc($result);
$start_time = $row["Intime"];
$end_time = $row["Outtime"];
$lunch_start_time=$row["Lunchstarttime"];
$lunch_end_time=$row["Lunchendtime"];
echo
"true,".$start_time.",".$end_time.",".$lunch_start_time.",".$lunch_end_time.",";
if(mysqli_num_rows($result1)>0){
while($row1 = mysqli_fetch_assoc($result1)){
$d[] = $row1[Date];
$c++;
}
}
for($i=0;$i<$c;$i++){
echo $d[$i].",";
}
while($c<2)
{
echo $d1.",";
$c++;
}

//for getting number of appointements on that partcular date


$mysql_query2 = "SELECT COUNT(Date) FROM $table_name2 WHERE Date=\"$d[0]\"";
$result2 = mysqli_query($conn,$mysql_query2);
$row2 = mysqli_fetch_assoc($result2);
$count1 = $row2["COUNT(Date)"];
echo $count1.",";
$mysql_query3 = "SELECT COUNT(Date) FROM $table_name2 WHERE Date=\"$d[1]\"";
$result3 = mysqli_query($conn,$mysql_query3);
$row3 = mysqli_fetch_assoc($result3);
$count2 = $row3["COUNT(Date)"];
echo $count2.",";

//for getting already booked slots


$mysql_query4 = "SELECT Dbtime FROM $table_name2 WHERE Date=\"$d[0]\"";
$result4 = mysqli_query($conn,$mysql_query4);
if(mysqli_num_rows($result4)>0){
while($row4 = mysqli_fetch_assoc($result4)){

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 54


Dr on Click

$t1[] = $row4[Dbtime];
}
}
for($i=0;$i<$count1;$i++){
echo $t1[$i].",";
}

$mysql_query5 = "SELECT Dbtime FROM $table_name2 WHERE Date=\"$d[1]\"";


$result5 = mysqli_query($conn,$mysql_query5);
if(mysqli_num_rows($result5)>0){
while($row5 = mysqli_fetch_assoc($result5)){
$t2[] = $row5[Dbtime];
}
}
for($i=0;$i<$count2;$i++){
echo $t2[$i].",";
}
}
else{
echo "Not successful... :(";
}
$conn->close();

?>

Booking Appointment PHP script

$mysql_query = "SELECT * FROM user WHERE pid =$pid ";


$result = mysqli_query($conn,$mysql_query);
//check the result
if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_assoc($result);
$fname = $row["fname"];
$lname = $row["lname"];
$locality = $row["locality"];
$age = $row["age"];
//for getting dr name
$table_name1="drof_".$dept_id."_".$hosp_id;
$query2="SELECT * FROM $table_name1 WHERE Dr_id=$dr_id";
$result2 = mysqli_query($conn,$query2);
//check the result

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 55


Dr on Click

$table_name2="appointments_of_".$pid;
//insertion into opd table
$query = "INSERT INTO $table_name VALUES
(’$pid’,’$fname’,’$lname’,’$age’,’$locality’,’$dt1’,’$dt_time’)";
if(mysqli_query($conn,$query)){
if(mysqli_num_rows($result2)>0){
$row2 = mysqli_fetch_assoc($result2);
$dr_name = $row2["Doc_Name"];
$query1 = "INSERT INTO $table_name2 VALUES
(’$hosp_id’,’$dept_id’,’$dr_id’,’$dr_name’,’$dt1’,’$dt_time’)";
mysqli_query($conn,$query1);
}
echo "true";
}
else {
echo "Not successful... :(";
}
}
else{

}
$conn->close();

Emergency Leave for Doctor

//message of cancellation
$message="Sorry, your appointment with Dr.". $_SESSION[’dr_name’]." has been
cancelled as the doctor has to attend an emergency case";
$sql="DELETE FROM $table_name WHERE Date< CURDATE() ";
mysqli_query($conn,$sql);
date_default_timezone_set(’Asia/Kolkata’);
$time_now=date("H:i:s");
$time2= date(’H:i:s’,strtotime(’+2 hour’,strtotime($time_now)));
$mysql_query = "SELECT * FROM $table_name WHERE (Dbtime BETWEEN ’$time_now’
AND ’$time2’) AND Date=CURDATE()";
$result = mysqli_query($conn,$mysql_query);
if(mysqli_num_rows($result)>0){
while($row = mysqli_fetch_assoc($result)){
$pid=$row["Pid"];
$mysql_query2 = "SELECT mno FROM user WHERE pid=$pid";
$result2 = mysqli_query($conn,$mysql_query2);

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 56


Dr on Click

if(mysqli_num_rows($result2)>0){
$row2 = mysqli_fetch_assoc($result2);
$number=$row2["mno"];
//sending message of cancellation....
$fields = array(
"sender_id" => "FSTSMS",
"message" => "$message",
"language" => "english",
"route" => "p",
"numbers" => "$number",
"flash" => "0"
);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.fast2sms.com/dev/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($fields),
CURLOPT_HTTPHEADER => array(
"authorization:
Y3KmADxCP1Et2VT8wsaLhUdlRHQpO4rb07Wg5SfzIjBnFX9GocEaonMAsTQg6N23cItjGrFuWS1H8O79",
"accept: */*",
"cache-control: no-cache",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
}
$table_name1="appointments_of_".$pid;
$mysql_query1="DELETE FROM $table_name1 WHERE Dr_id=$drid AND Hosp_id=$hospid
and Dept_id=$deptid";
//echo "DELETE FROM $table_name1 WHERE Dr_id=$drid AND Hosp_id=$hospid and
Dept_id=$deptid";

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 57


Dr on Click

mysqli_query($conn,$mysql_query1);

$mysql_query3="DELETE FROM $table_name WHERE Pid=$pid";


mysqli_query($conn,$mysql_query3);
}
}

Upload Report(Pathologist)

/$pid=$_SESSION["Pid"];
$prescid=$_SESSION["prescid"];

$patho_name=$_SESSION["dr_name"];
$table_name="reports_of_".$pid;
$table_name1="prescription_of_".$pid;

if(isset($_POST["insert"]))
{
$file = addslashes(file_get_contents($_FILES["image"]["tmp_name"]));
$query = "INSERT INTO $table_name VALUES
(’’,$prescid,’$file’,’$patho_name’,CURDATE())";
if(mysqli_query($conn, $query))
{
$query1="SELECT * FROM $table_name WHERE presc_id=$prescid";
$result1 = mysqli_query($conn,$query1);
if(mysqli_num_rows($result1)>0){
$row1 = mysqli_fetch_assoc($result1);
$report_id= $row1["report_id"];
$query2="UPDATE $table_name1 SET report=’$report_id’ WHERE
presc_id=$prescid";
if(mysqli_query($conn, $query2))
{
unset($_SESSION[’pid’]);
unset($_SESSION[’prescid’]);
echo "<script>alert(’Image Inserted into Database’)</script>";
}
}
}

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 58


Dr on Click

C HAPTER 8

SOFTWARE TESTING

8.1 Introduction
In general, testing is finding out how well something works. In terms of human be-
ings, testing tells what level of knowledge or skill has been acquired. In computer hardware
and software development, testing is used at key checkpoints in the overall process to deter-
mine whether objectives are being met. Software testing, depending on the testing method
employed, can be implemented at any time in the development process. Software testing can
be stated as the process of validating and verifying that a software program/application/prod-
uct.

8.1.1 Unit Testing


Unit testing is a method by which individual units of source code, sets of one or more
computer program modules together with associated control data, usage procedures, and op-
erating procedures are tested to determine if they are. Unit testing is a software development
process in which the smallest testable parts of an application, called units, are individually
and independently scrutinized for proper operation. Uni testing is often automated but it
can also be done manually. Unit testing involves only those characteristics that are
vital to the performance of the unit under test. This encourages developers to modify the
source code without immediate concerns about how such changes might affect the function-
ing of other units or the program as a whole. Once all of the units in a program have been
found to be working in the most efficient and error-free manner possible, larger components
of the program can be evaluated by means of integration testing. Unit testing can be time
consuming and tedious.

8.1.2 Integration Testing


Integration Testing is a level of software testing where individual modules are com-
bined and tested as a group. Testing of integrated modules to verify combined functionality

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 59


Dr on Click

after integration. Modules are typically code modules, individual applications, client and
server applications on a network etc. This type of testing is especially relevant to client-
server and distributed system. Integration testing occurs after unit testing and before valida-
tion testing.Integration testing takes as its input modules that have been unit tested, groups
them in larger aggregates, applies tests defined in an integration test plan to those aggregates,
and delivers as its output the integrated system ready for system testing.
The purpose of integration testing is to verify functional, performance, and re-
liability requirements placed on major design items.There are two major ways of carrying
out an integration test, called the bottom-up method and the top down method. Bottom-up
integration testing begins with unit testing, followed by tests of of progressively higher-level
combinations of units called modules or builds. In top-down integration testing, the highest-
level modules are tested first and progressively lower-level modules are tested after that.

8.1.3 Testing Tool


Selenium IDE
The Selenium-IDE (Integrated Development Environment) is the tool you use to de-
velop your Selenium test cases. Its an easy-to-use Firefox plug-in and is generally the most
efficient way to develop test cases. It also contains a context menu that allows you to first
select a UI element from the browsers currently displayed page and then select from a list
of Selenium commands with parameters pre-defined according to the context of the selected
UI. The new Selenium IDE is designed to record your interactions with websites to help you
generate and maintain site automation, tests, and remove the need to manually step through
repetitive takes. Features include:

• Recording and playing back tests on Firefox and Chrome.

• Organizing tests into suites for easy management.

• Saving and loading scripts, for later playback.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 60


Dr on Click

Figure 8.1: Testing Using Selenium(Part I)

Figure 8.2: Testing Using Selenium(Part II)

8.2 Test Cases

8.2.1 Unit Testing Test Cases

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 61


Dr on Click

Table 8.1: Unit Testing Test Cases for Web Portal

Test Description Expected Result Actual Result Remark


Id
TC- Login for ad- If Valid : Should di- If Valid : Directed to pass
01 min, doctor and rect to the Dashboard the Dashboard of re-
pathologist of respective module If spective module If In-
Invalid: Should show valid : Shows proper
proper message message
TC- Access to any No access should be Access denied and di- pass
02 page by directly provided recting to the home page
entering url
TC- Visibility of Doctor can view today’s Today’s appointments pass
03 booked appoint- appointments from OPD are visible to doctor
ments to doctor section after clicking on OPD
TC- Digital Prescrip- Properly medicine Medicine name,dosage pass
04 tion given by name,dosage ,quantity ,quantity is specified
Doctor should specify and properly and saved as
saved as history history
TC- Patient’s history As doctor clicked on As doctor clicked on pass
05 viewed by doctor emergency leave tab all emergency leave tab all
further appointments further appointments of
of particular duration particular duration are
should canceled and canceled and notified
notified immediately to immediately to patient
patient through proper through proper text mes-
text message sage
TC- Setting emer- As doctor clicked on As doctor clicked on pass
06 gency leave by emergency leave tab all emergency leave tab all
doctor further appointments further appointments of
of particular duration particular duration are
should cancelled cancelled
TC- Report Up- Any format of image Any format of image is pass
07 loading by should be uploaded and uploaded and reflected
pathologist reflected in history in history
TC- LOGOUT Action After logged out back After logged out back pass
08 button should not be ac- button is disabled
tive

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 62


Dr on Click

Table 8.2: Unit Testing Test Cases for Android Application

Test Description Expected Result Actual Result Remark


Id
TC- Validation for Password should be of Password is taken of pass
01 registration of specified pattern and specified pattern and
patient Password and confirm Password and confirm
password should be password is matched
matched
TC- Search doctor by List of all doctors List of all doctors from pass
02 using symptoms from resultant specialty resultant speciality are
after providing should displayed displayed
set of symptoms
from multiple
select list
TC- Searching nearby As per the speciality Location of nearby doc- pass
03 hospital on map chosen ,nearby doctors tors shown on map
should be displayed on
map
TC- Appointment No overlapping of Already booked slots pass
04 booking and booked slot and notifi- are disabled and noti-
notification of cation should be given fication is received af-
booked appoint- after successful booking ter successful booking
ment of appointment of appointment
TC- Appointment All booked appoint- All booked appoint- pass
05 viewing and ments with various ments with various
cancellation doctors should be doctors are visible and
viewed and after cancel- after cancellation that
lation that slot should slot is available for
be available for another another patients to book
patients appointment
TC- History retrival History should be dis- History is accessible in pass
06 as a combina- played in the format the format of date, doc-
tion of previous of date, doctor name, tor name, medicines and
prescriptions and medicines and reports reports sorted in de-
reports scending format of dates
TC- Setting medicine pass
07 reminder after
giving detailes
like medicine
name and dura-
tion or time for
reminder
TC- For any kind of App should not stopped App is handling all ex- pass
08 exception, Is app ceptions through toast
stopped ? messages

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 63


Dr on Click

8.2.2 Integration Testing Test Cases

Table 8.3: Integration Testing Test Cases

Test Description Expected Result Actual Result Remark


Id
TC- Appointment No overlapping of Already booked slots pass
01 booking and booked slot and notifi- are disabled and noti-
notification of cation should be given fication is received af-
booked appoint- after successful booking ter successful booking
ment of appointment of appointment
TC- Appointment All booked appoint- All booked appoint- pass
02 viewing, can- ments with various ments with various
cellation and doctors should be doctors are visible and
text message viewed and after cancel- after cancellation that
after cancelling lation that slot should slot is available for
appointments to be available for another another patients to book
patients patients appointment
TC- Recommendation As soon as test name Patient details along pass
03 of Pathologist and pathologist sug- with test name is re-
while suggesting gested by doctor the flected on pathologist
any test by doctor patient details along side properly
with test name should
reflect on pathologist
side
TC- Synchronization As doctor clicked on As doctor clicked on pass
04 of emergency emergency leave tab all emergency leave tab all
leave of doctor further appointments further appointments of
and text message of particular duration particular duration are
sent to patient should cancelled and cancelled and notified
notified immediately to immediately to patient
patient through proper through proper text mes-
text message sage
TC- Leave period set For leave period of par- For leave period of par- pass
05 by doctor and ticular doctor, entire slot ticular doctor, entire slot
availability of for that day should be for that day are dis-
slots for booking disabled abled and proper toast is
appointments to shown to the patient
the patients
TC- Reflection of the All previous prescrip- All previous prescrip- pass
06 prescription and tions and reports up- tions and reports up-
reports as History loaded should be imme- loaded are reflected im-
diately come under his- mediately as history of
tory of that patient that patient

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 64


Dr on Click

C HAPTER 9

EXPERIMENTAL RESULTS

All the data of the doctors required for system was gathered from the doctors of
Kopargaon. We visited a few doctors to gather the required information need for the system.
The data required for training decision tree was obtained from UCM Machine learning repos-
itory. All the experiments for the android application were carried out android phone with
3GB RAM, 1.8 GHz octacore Qualcoll Snapdragon 636 SoC processor with Android oreo
version. All the experiments for the Web application were carried out on different browsers
like Internet Explorer, Mozilla Firefox, Google Chrome.
Results for Android Application
Dr on Click login

Figure 9.1: Login and Dashboard Activity

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 65


Dr on Click

1. Login activity is the main Activity in Android application. Here new user can register
himself and registered user can login the system.

2. One the user logs in the Dashboard activity opens. Here user can perform various tasks
like book appointment, view and cancel appointments, set medicinal reminder, view
his/her medical history and logout.

Finding Specialist

Figure 9.2: Finding Specialist

1. Once the user clicks on book appointment two options are provided: book by specialist
or by feeding symptoms.

2. If the user chooses to find doctor by symptoms, he/she needs to choose symptoms from
a list and the system will recommend a proper specialist.

3. If the user chooses specialist option a list of specialist appears as shown.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 66


Dr on Click

Choosing Doctor

Figure 9.3: Choosing Doctor

1. Once the user clicks on a particular specialist, a list of doctors of that specialization
appears. The user can now choose any one doctor

2. After choosing the doctor next activity will show details of that doctor along with an
option to see the hospital on map.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 67


Dr on Click

Appointment Booking

Figure 9.4: Appointment Booking

1. Once the user clicks on see on map button, a map appears with the users current loca-
tion and the location of the hospital pinned.

2. After clicking on book appointment the user needs to choose a specific slot. Already
booked slots are disabled automatically.

3. After choosing a slot the appointment is booked.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 68


Dr on Click

History and Reminder

Figure 9.5: History and Reminder

1. The patient can view all his medical history along with the doctors he/she visited and
the prescription that was given.

2. Patient can also set reminder for medicine intake so that no dosage is missed.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 69


Dr on Click

Results for Web Portal


Dr on Click Home Interface

Figure 9.6: Dr on Click Home Page

1. Dr on Click home page is opened.

2. Doctor, Pathologist as well as Admin can login through the same page by choosing
their respective role.

Doctor Dashboard

1. After doctor login, this page is opened.

2. It has various functionality.The emergency leave button is to clicked in case of some


emergency case when doctor won’t be able to attend the next few patients.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 70


Dr on Click

Figure 9.7: Doctor Dashboard page

Doctor OPD

1. Here doctor can view his today’s appointments.

2. The history button will show all the previous medical history of the patient.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 71


Dr on Click

Figure 9.8: OPD page

Digital Prescription

Figure 9.9: Digital Prescription

After examining the patient doctor can give a digital prescription to the patient in following
format.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 72


Dr on Click

Doctor Leave Setting


If the doctor is unavailable for a few days he/she can set a leave message for the patients

Figure 9.10: Set Leave

that will appear on the patient application.


Pathologist Appointments

1. After pathologist login the following page will be opened.

2. Here the pathologist can see the patients that are going to visit and can upload their
reports from the same page.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 73


Dr on Click

Figure 9.11: After Pathologist Login

Admin Dashboard

1. After Admin login the following page will be opened.

2. Here the admin can see register a new Hospital, a new department in an existing hos-
pital, a new doctor in an existing department.

3. Once registered admin can also edit these details as per request.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 74


Dr on Click

Figure 9.12: Admin Dashboard

Observations

• The patient is able to see nearby doctors, check availability of different doctors,book
appointment and save all the medicinal records in digital form.

• The doctor can set his availability, set leave,and cancel appointments in case of emer-
gency.

• The pathologist can upload reports to the patient and the corresponding doctor.

• Appointments can be cancelled but cannot be rescheduled.

• Reports are uploaded only in image form.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 75


Dr on Click

C HAPTER 10

USEFULNESS OF PROJECT

• Saves patients time by proving online appointment booking and uploading report from
remote location.

• If patient knows the area, he/she can choose doctor by specialist and if patient is new in
the area doctor can be suggested by the app by giving symptoms the patient is suffering
from.

• Doctor can set leave for unavailability on specific days and the same will be reflected
on the mobile app.

• Doctor can reschedule all the appointments with just one click in case of emergencies.

• Avoids loss of medical records by storing them digitally which can be accessible any-
where any time.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 76


Dr on Click

C HAPTER 11

CONCLUSION AND FUTURE SCOPE

11.1 Conclusion
This project is basically designed to digitize the doctor, patient and pathologist com-
munication. The Android application is used to help patient for searching the hospitals with
the desired medical specialist, check doctor availability, book appointment, store all the med-
ical records digitally in the system. Using this application notifications / alerts can be send
to patient to remind about the medicines. It will useful in case of patient tends to forget for
taking the medicine.Doctors registered in the system can set their availability, cancel appoint-
ments in case of any emergency so that the patient is able to reschedule the appointment. It
helps to optimize the work of patient and doctor. Time and cost of both patients and doctors
will be saved. The Dr On Click is a simple and powerful application for society.

11.2 Future Scope


Dr on click already helps to reduce the waiting time of patients effectively and gives
opportunity to healthcare provider to directly reach upto the patient. This system can be
scaled upto large extent. Variour extra services can be added to the system like emergency
Ambulance services, online Blood Bank information, live chats with doctor, voice enabled
healthcare companion(expert system) to help people in rural areas to interact with the system.
In case of some emergency some primary first aid steps should be suggested by the system
so as to help the patient survive.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 77


Dr on Click

References

[1] Jiafu Tang, Chongjun Yan, Pingping Cao, “Appointment scheduling algorithm consid-
ering routine and urgent patients”, journal homepage: www.elsevier.com/locate/eswa

[2] Dharani Kantilal Prajapati, “Whats Up Doc: A Doctor Appointment Application Sys-
tem Using Android”, International Journal of Innovative Research in Computer and
Communication Engineering, Vol. 6, Issue 4, April 2018

[3] Shafaq Malik, Nargis Bibi, Sehrish Khan, Razia Sultana, Sadaf Abdul Rauf, “Mr. Doc:
A Doctor Appointment Application System”, Department of Computer Science Fatima
Jinnah Women University Rawalpindi, Pakistan

[4] Durga Hinge, S. K. Gaikwad, “Survey on Data Mining Technique for disease Predic-
tion”, International Research Journal of Engineering and Technology (IRJET), Volume:
05 , 01 Jan-2018.

[5] K. Gomathi, Dr. D. Shanmuga Priyaa, “Multi diseases prediction using Data Mining
Technique”, Research Gate Publication, Dec 2016.

[6] M. A. Nishara Banu, B. Gomathy,“Disease Predicting system using data Mining Tech-
niques”, International Journal of Technical Research and Applications, Nov-Dec 2013.

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 78


Dr on Click

A NNEXURE A

Project Planner

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 79


Dr on Click

Figure A.1: Weekly Planning Sheet I

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 80


Dr on Click

Figure A.2: Weekly Planning Sheet II

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 81


Dr on Click

Figure A.3: Weekly Planning Sheet III

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 82


Dr on Click

A NNEXURE B

Plagiarism Report

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 83


Dr on Click

Figure B.1: Plagiarism report for assignment 1

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 84


Dr on Click

Figure B.2: Plagiarism report for assignment 2

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 85


Dr on Click

Figure B.3: Plagiarism report for assignment 3

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 86


Dr on Click

Figure B.4: Plagiarism report for assignment 4

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 87


Dr on Click

Figure B.5: Plagiarism report for assignment 5

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 88


Dr on Click

Figure B.6: Plagiarism report for assignment 6-7

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 89


Dr on Click

A NNEXURE C

Project Competition Participation Details

Figure C.1: Pradyogeeky Project Competition: Vidya Gadekar

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon 90


Dr on Click

Figure C.2: Pradyogeeky Project Competition: Vaishnavi Darekar

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 91


Dr on Click

Figure C.3: Pradyogeeky Project Competition: Saurabh Devang

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 92


Dr on Click

Figure C.4: Pradyogeeky Project Competition: Rupesh Dhake

Department of Computer Engineering, Sanjivani College of Engineering, Kopargaon. 93

You might also like