0% found this document useful (0 votes)
21 views64 pages

DAS Report

The document discusses a project report for a Doctor Appointment System. It outlines the objectives, requirements, analysis, design, implementation, and testing of the system. The system aims to provide patients an easy way to book doctor appointments online and help manage appointments.

Uploaded by

Sid Chabukswar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views64 pages

DAS Report

The document discusses a project report for a Doctor Appointment System. It outlines the objectives, requirements, analysis, design, implementation, and testing of the system. The system aims to provide patients an easy way to book doctor appointments online and help manage appointments.

Uploaded by

Sid Chabukswar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 64

Project Report

On

Doctor Appointment System

Project Document

By
Report Index
 Acknowledgement
 Abstract
 Introduction
 Purpose
 Objectives
 Requirement Specification (Software and Hardware Specification)
 Feasibility analysis
 Analysis and Design (Use case, Er, Class, MySQL Tables Schema DFD Diagram)
 Implementation and System Testing
 Evaluation
 Future Enhancement
 Conclusion
 Bibliography
Acknowledgement
The success and final outcome of this project required a lot of guidance
and assistance from many people and I am extremely privileged to have
got this all along the completion of my project. All that I have done is only
due to such supervision and assistance and I would not forget to thank
them.
I respect and thank Mr./Ms. [NAME 1], for providing me an opportunity
to do the project and giving us all support and guidance which made me
complete the project duly. I am extremely thankful to [her/him] for
providing such a nice support and guidance.

I owe my deep gratitude to our project guide [NAME 2], who took keen
interest on our project work and guided us all along, till the completion of
our project work by providing all the necessary information for
developing a good project.

I heartily thank our internal project guide, [Name 3], [Position] ,


[Department] for her/his guidance and suggestions during this project
work.

I am thankful to and fortunate enough to get constant encouragement,


support and guidance from all Teaching staffs of [Department name]
which helped us in successfully completing our project work.

----------------------
Abstract
“Doctor Appointment System” is a web based application which provides
patients or any user and easy way of booking a doctor’s appointment
online. This is a web based application that overcomes the issue of
managing and booking appointments according to user’s choice or
demands. The task sometime become very tedious for the compounder
or doctor himself in manually allotting appointments for the users as per
their availability. Hence this project offers an effective solution where
user can view various booking slots available select the preferred date
and time.

The main objective of “Doctor Appointment Management System”


project is to providing easier doctor appointment and gets appointment
online which save lots of time.
Introduction
Introduction:-

“Doctor Appointment System is a web-based technology that will manage


to automate the existing manual system by the help of computerized
equipment’s and full-fledged computer software, so that their valuable
data/information can be stored for a longer period with easy
accessing and manipulation of the same. Basically the project
describes how to manage for good performance and better services for
the clients. This automatic system delivers data processing in very high
speed in systematic manner. Vision of this project is to create doctor
patient handling management system that will help patients to book
doctor appointment and fulfil their prospects.

In Doctor Appointment Management System we use Python using Django


framework and MySQL database. This project has three modules i.e.,
admin, doctor and user.

Admin Module

1. Dashboard: In this section, admin can briefly view the total doctor
registered and total specialization.
2. Specializations: In this section, admin can manage specialization
(Add/Update/Delete).
3. Doctor List: In this section, admin can view doctor list and their
appointments.
4. Search Doctor: In this section, admin can search doctor on the basis
of their mobile number.
5. Doctor Reg Report: In this section, admin can generate between
date reports of doctor registration.
6. Website Page: In this section, admin can manage website about us
and contact us page.

Doctor Module

1. Dashboard: In this section, doctor can briefly view the total number of
the new appointment, total approved appointment, total cancelled
appointment and completed appointments
2. Appointment: In this section, doctor views the appointment details
and they have also the right to change application status according to
current status.
3. Patient List: In this section, doctor can check their final appointments
also prescribe medicine and recommend the test.
4. Appointment Completed: In this section, doctor can view their
completed appointments.
3. Reports: In this section doctor can view the appointment details in a
particular period.
4. Search: In this section, doctor can search appointment with the help of
user appointment number/Name
Doctor can also update his profile, change the password and recover the
password.

User Module (User not need to register)

1. Home Page: In this section, user can view the welcome page of the
web application.
2. Book: In this section, user can sent the appointment request.
3. Check Appointment: In this section, user can search appointment with
the help of user appointment number/Name

Purpose
We here propose a Doctor Appointment System that helps doctors in
their work and also patients to book doctor appointments and view
medical progress. The system allows doctors to manage their booking
slots online. Patients are allowed to book appointment and reserve the
appointment with required doctor. The system manages the appointment
data for multiple doctors for various date and times. Each time a user
visits a doctor his/her medical entry is stored in the database by doctor.
So, we can easily take the appointment of doctor from any place, if you
have internet. This project is an effort to develop a platform where the
users of this portal say doctors, patients and the administrator can
communicate.

Objectives
The main objective of this project is to manage the details of doctor,
appointment, patient, booking, Doctor Schedule. It manages all the
information about doctor, doctor appointments, doctor schedule. The
project is totally built at administrative end and thus only the
administrator is guaranteed the access. The purpose of the project is to
built an application program to reduce the manual working for manage
the doctor, appointment , patient. It tracks all the details about doctor
schedule, patient, booking. Functionalities provided by Future scope of
online doctor appointment:

• Provides the searching facilities based various factors, such as doctor


schedule, patient, booking, doctor.

• It tracks all the details about doctor schedule, patient, booking etc.

• Manage the information of appointment.

• To increase efficiency of managing the doctor appointment.

• Manage the information of doctor.

• It deals with monitoring the transaction of appointment system.

• Manage the information of booking.

• Shows the information and description of doctor, patient.

• Integration of all record of doctor schedule.


Requirement Specification
Hardware Configuration:

Client Side:
MfgdfRA RAM 512 MB

Hard disk 10 GB

Processor 1.0 GHz

Server side:
RAM 1 GB
Hard disk 20 GB
Processor 2.0 GHz

Software Requirement:

Client Side:

Google Chrome or any


Web Browser compatible browser
Operating System
Windows or any equivalent OS
Server Side:

Web Server APACHE

Server side Language Python

Database Server MYSQL

Google Chrome or any


Web Browser compatible browser

Operating System Windows or any equivalent OS

Scripting Language Java Script

IDE PyCharm

Framework Django

APACHE
The Apache HTTP Server Project is an effort to develop and maintain an
open-source HTTP server for modern operating systems including UNIX
and Windows. The goal of this project is to provide a secure, efficient and
extensible server that provides HTTP services in sync with the current
HTTP standards.
The Apache HTTP Server ("httpd") was launched in 1995 and it has been
the most popular web server on the Internet since April 1996. It has
celebrated its 20th birthday as a project in February 2015.

Python
Python is an interpreter, object-oriented, high-level programming
language with dynamic semantics. Its high-level built in data structures,
combined with dynamic typing and dynamic binding, make it very
attractive for Rapid Application Development, as well as for use as a
scripting or glue language to connect existing components together.
Python's simple, easy to learn syntax emphasizes readability and
therefore reduces the cost of program maintenance. Python supports
modules and packages, which encourages program modularity and code
reuse. The Python interpreter and the extensive standard library are
available in source or binary form without charge for all major platforms,
and can be freely distributed.
Often, programmers fall in love with Python because of the increased
productivity it provides. Since there is no compilation step, the edit-test-
debug cycle is incredibly fast. Debugging Python programs is easy: a bug
or bad input will never cause a segmentation fault. Instead, when the
interpreter discovers an error, it raises an exception. When the program
doesn't catch the exception, the interpreter prints a stack trace. A source
level debugger allows inspection of local and global variables, evaluation
of arbitrary expressions, setting breakpoints, stepping through the code a
line at a time, and so on. The debugger is written in Python itself,
testifying to Python's introspective power. On the other hand, often the
quickest way to debug a program is to add a few print statements to the
source: the fast edit-test-debug cycle makes this simple approach very
effective.
Django
What is Django?

Django is a Python framework that makes it easier to create web sites


using Python.

Django takes care of the difficult stuff so that you can concentrate on
building your web applications.

Django emphasizes reusability of components, also referred to as DRY


(Don't Repeat Yourself), and comes with ready-to-use features like login
system, database connection and CRUD operations (Create Read Update
Delete).

Django is especially helpful for database driven websites.

How does Django Work?

Django follows the MVT design pattern (Model View Template).

 Model - The data you want to present, usually data from a database.
 View - A request handler that returns the relevant template and
content - based on the request from the user.
 Template - A text file (like an HTML file) containing the layout of the
web page, with logic on how to display the data.

Model

The model provides data from the database.

In Django, the data is delivered as an Object Relational Mapping (ORM),


which is a technique designed to make it easier to work with databases.

The most common way to extract data from a database is SQL. One
problem with SQL is that you have to have a pretty good understanding of
the database structure to be able to work with it.

Django, with ORM, makes it easier to communicate with the database,


without having to write complex SQL statements.

The models are usually located in a file called models.py.

View

A view is a function or method that takes http requests as arguments,


imports the relevant model(s), and finds out what data to send to the
template, and returns the final result.

The views are usually located in a file called views.py.


Template

A template is a file where you describe how the result should be


represented.

Templates are often .html files, with HTML code describing the layout of a
web page, but it can also be in other file formats to present other results,
but we will concentrate on .html files.

Django uses standard HTML to describe the layout, but uses Django tags
to add logic:

<h1>My Homepage</h1>

<p>My name is {{ firstname }}.</p>

The templates of an application is located in a folder named templates.

URLs

Django also provides a way to navigate around the different pages in a


website.

When a user requests a URL, Django decides which view it will send it to.

This is done in a file called urls.py.

So, what is Going On?

When you have installed Django and created your first Django web
application, and the browser requests the URL, this is basically what
happens:
1. Django receives the URL, checks the urls.py file, and calls the view
that matches the URL.
2. The view, located in views.py, checks for relevant models.
3. The models are imported from the models.py file.
4. The view then sends the data to a specified template in
the template folder.
5. The template contains HTML and Django tags, and with the data it
returns finished HTML content back to the browser.

Django can do a lot more than this, but this is basically what you will learn
in this tutorial, and are the basic steps in a simple web application made
with Django.

Django History

Django was invented by Lawrence Journal-World in 2003, to meet the


short deadlines in the newspaper and at the same time meeting the
demands of experienced web developers.

Initial release to the public was in July 2005.

Latest version of Django is 4.0.3 (March 2022).

Django Admin
Django Admin is a really great tool in Django, it is actually a CRUD* user
interface of all your models!

It is free and comes ready-to-use with Django:

What is a database?

In Django, there is inbuilt database known as dbsqlite3.


SQLite is embedded relational database management system. It is self-

contained, server less, zero configuration and transactional SQL database

engine.

SQLite is different from other SQL databases because unlike most other
SQL databases, SQLite does not have a separate server process. It reads
and writes directly to ordinary disk files. A complete SQL database with
multiple tables, indices, triggers, and views, is contained in a single disk
file.

MYSQL
• MYSQL is a database server
• MYSQL is ideal for both small and large applications
• MYSQL supports standard SQL
• MYSQL compiles on a number of platforms

• MYSQL is free to download and use

• How to access MySQL:

http://localhost/phpmyadmin

Feasibility analysis

The analysis of the requirement has lead to a conclusion that the project
is feasible with respect to time and cost. The data collection from the field
is assured by the client to provide. The technology used to develop is
almost Open Source, therefore less cost for implementation and
maintenance will be involved. A feasibility study is an analysis used in
measuring the ability and likelihood to complete a project successfully
including all relevant factors. It must account for factors that affect it such
as economic, technological and time factors. It is used to assess the
strengths and weaknesses of a proposed project and present directions of
activities which will improve a project and achieve desired results.

Economic feasibility
The purpose of economic feasibility assessment is to determine the
positive economic benefits to the organization that the proposed system
will provide. The assessment typically involves a cost/benefits analysis.

Technical feasibility
Technical analysis is a trading tool employed to evaluate securities and
attempt to forecast the future movement. I am using java language and
other tools like net beans to develop the software.
Operational feasibility
Operational feasibility is a measure of how well proposed system solves
the problems, and takes advantage of the opportunities identified during
scope definition and how it satisfies the requirements analysis phase of
the system development.
Analysis and Design

Analysis:
In present all doctor appointment work done on the paper. The whole

year data is stored in the registers. We can’t generate reports as per our

requirements because its take more time to calculate report of doctor

appointments.

Disadvantage of present system:

• Not user friendly: The present system not user friendly because

data is not stored in structure and proper format.

• Manual Control: All report calculation is done manually so there is a

chance of error.

• Lots of paper work: Visitors maintain in the register so lots of paper

require storing details.

• Time consuming

Design Introduction:
Design is the first step in the development phase for any techniques and
principles for the purpose of defining a device, a process or system in
sufficient detail to permit its physical realization.

Once the software requirements have been analyzed and specified the
software design involves three technical activities - design, coding,
implementation and testing that are required to build and verify the
software.

The design activities are of main importance in this phase, because in this
activity, decisions ultimately affecting the success of the software
implementation and its ease of maintenance are made. These decisions
have the final bearing upon reliability and maintainability of the system.
Design is the only way to accurately translate the customer’s
requirements into finished software or a system.

Design is the place where quality is fostered in development. Software


design is a process through which requirements are translated into a
representation of software. Software design is conducted in two steps.
Preliminary design is concerned with the transformation of requirements
into data

UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting
with the use `cases.

Use case:A description of sequence of actions, including variants, that a


system performs that yields an observable result of value of an actor.

UML stands for Unified Modeling Language. UML is a language for


specifying, visualizing and documenting the system. This is the step while
developing any product after analysis. The goal from this is to produce a
model of the entities involved in the project which later need to be built.
The representation of the entities that are to be used in the product being
developed need to be designed.

USECASE DIAGRAMS:
Use case diagrams model behavior within a system and helps the
developers understand of what the user require. The stick man
represents what’s called an actor.

Use case diagram can be useful for getting an overall view of the system
and clarifying who can do and more importantly what they can’t do.

Use case diagram consists of use cases and actors and shows the
interaction between the use case and actors.

• The purpose is to show the interactions between the use case


and actor.
• To represent the system requirements from user’s perspective.
• An actor could be the end-user of the system or an external
system.

USECASE DIAGRAM: A Use case is a description of set of sequence of


actions. Graphically it is rendered as an ellipse with solid line including
only its name. Use case diagram is a behavioral diagram that shows a set
of use cases and actors and their relationship. It is an association
between the use cases and actors. An actor represents a real-world
object. Primary Actor – Sender, Secondary Actor Receiver.

Use Case Diagrams:


Admin

Sign In

Dashboard

Manage Specialization

View Registered Doctor


Details

Update Website Page

Generate Doctor Reports

Update Profile

Change Password

Password Recovery

Doctor
Sign In/Signup
Dashboard

Manage Appointment

Search Appointment

Generate Reports

Update Profile

Change Password

Password Recovery

User
Visit Website

Book Appointment

Check Appointment Status

View Contact

View about Us

Class Diagram:
A description of set of objects that share the same attributes operations,
relationships, and semantics.

ER Diagram:
The Entity-Relationship (ER) model was originally proposed by Peter in
1976 [Chen76] as a way to unify the network and relational database
views. Simply stated the ER model is a conceptual data model that views
the real world as entities and relationships. A basic component of the
model is the Entity-Relationship diagram which is used to visually
represent data objects. Since Chen wrote his paper the model has been
extended and today it is commonly used for database design for the
database designer, the utility of the ER model is:

• It maps well to the relational model. The constructs used in the ER


model can easily be transformed into relational tables.
• It is simple and easy to understand with a minimum of training.
Therefore, the model can be used by the database designer to
communicate the design to the end user.
• In addition, the model can be used as a design plan by the database
developer to implement a data model in specific database
management software.

ER Notation
There is no standard for representing data objects in ER diagrams. Each
modeling methodology uses its own notation. The original notation used
by Chen is widely used in academics texts and journals but rarely seen in
either CASE tools or publications by non-academics. Today, there are a
number of notations used; among the more common are Bachman,
crow's foot, and IDEFIX.
All notational styles represent entities as rectangular boxes and
relationships as lines connecting boxes. Each style uses a special set of
symbols to represent the cardinality of a connection. The notation used in
this document is from Martin. The symbols used for the basic ER
constructs are:

• Entities are represented by labeled rectangles. The label is the name

of the entity. Entity names should be singular nouns.

• Relationships are represented by a solid line connecting two

entities. The name of the relationship is written above the line.

Relationship names should be verbs

• Attributes, when included, are listed inside the entity rectangle.

Attributes which are identifiers are underlined. Attribute names

should be singular nouns.

• Cardinality of many is represented by a line ending in a crow's foot.

If the crow's foot is omitted, the cardinality is one.

Existence is represented by placing a circle or a perpendicular bar on the


line. Mandatory existence is shown by the bar (looks like a 1) next to the
entity for an instance is required. Optional existence is shown by placing a
circle next to the entity that is optional.
ER Diagram
MySQL Data Tables
Doctor Appointment System(DAS) contain 14 tables(In this MySQL 5 table is
customized and 9 table made by default in django))

Doctor Table:(Table name is dasapp_doctorreg)

This store doctor personal and login details.

Specialization Table(Table name is dasapp_specialization)

This table stores the specialization of doctor.

Appointment Table: (Table name is dasapp_appointment)


This table stores the details of appointment and doctor remark.

Custom User Table(Table name is dasapp_customuser)

This table store the login details of doctor’s and admin.


authentication_customuser_groups table Structure : This table by default table.

authentication_customuser_user_permissions table Structure : This table by

default table.

auth_group table Structure : This table in Django is part of the Django

authentication system and is used to represent groups of users.

auth_group_permissions table Structure : This table in Django is a part of the

permission system and is used to manage the relationship between user groups and
permissions.

auth_permission table Structure : This table in Django is used to store information

about the permissions defined.

django_admin_log table Structure : This table is used to store records of actions

taken by administrators or users through the Django admin interface.


django_content_type table Structure : This table in Django is a system table that is

used to store information about each model (database table) in your Django project.

django_migrations table Structure : This table table is part of the database schema

and is used to keep track of which migrations have been applied to the database.

django_session table Structure : This table store the session data for user.

Data Flow Diagrams

A Data Flow Diagram (DFD) is a traditional visual representation of the


information flows within a system. A neat and clear DFD can depict the
right amount of the system requirement graphically. It can be manual,
automated, or a combination of both.
It shows how data enters and leaves the system, what changes the
information, and where data is stored.

The objective of a DFD is to show the scope and boundaries of a system


as a whole. It may be used as a communication tool between a system
analyst and any person who plays a part in the order that acts as a
starting point for redesigning a system. The DFD is also called as a data
flow graph or bubble chart.

The following observations about DFDs are essential:

1. All names should be unique. This makes it easier to refer to


elements in the DFD.
2. Remember that DFD is not a flow chart. Arrows is a flow chart that
represents the order of events; arrows in DFD represents flowing
data. A DFD does not involve any order of events.
3. Suppress logical decisions. If we ever have the urge to draw a
diamond-shaped box in a DFD, suppress that urge! A diamond-
shaped box is used in flow charts to represents decision points with
multiple exists paths of which the only one is taken. This implies an
ordering of events, which makes no sense in a DFD.
4. Do not become bogged down with details. Defer error conditions
and error handling until the end of the analysis.

Standard symbols for DFDs are derived from the electric circuit diagram
analysis and are shown in fig:
Circle: A circle (bubble) shows a process that transforms data inputs into
data outputs.

Data Flow: A curved line shows the flow of data into or out of a process
or data store.

Data Store: A set of parallel lines shows a place for the collection of data
items. A data store indicates that the data is stored which can be used at
a later stage or by the other processes in a different order. The data store
can have an element or group of elements.

Source or Sink: Source or Sink is an external entity and acts as a source of


system inputs or sink of system outputs.
Implementation and System Testing
After all phase have been perfectly done, the system will be implemented
to the server and the system can be used.

System Testing

The goal of the system testing process was to determine all faults in our
project .The program was subjected to a set of test inputs and many
explanations were made and based on these explanations it will be decided
whether the program behaves as expected or not. Our Project went through two
levels of testing

1. Unit testing
2. Integration testing

UNIT TESTING
Unit testing is commenced when a unit has been created and effectively
reviewed .In order to test a single module we need to provide a
complete environment i.e. besides the section we would require

• The procedures belonging to other units that the unit under test
calls
• Non local data structures that module accesses
• A procedure to call the functions of the unit under test with
appropriate parameters
1. Test for the admin module

• Testing admin login form-This form is used for log in of


administrator of the system. In this form we enter the username
and password if both are correct administration page will open
otherwise if any of data is wrong it will get redirected back to the
login page and again ask the details.
• Report Generation: admin can generate report from the main
database.

INTEGRATION TESTING

In the Integration testing we test various combination of the project


module by providing the input.

The primary objective is to test the module interfaces in order to confirm


that no errors are occurring when one module invokes the other module.
Evaluation
Home Page
Search Appointment
Book Appointment

Admin Panel
Login Page

Dashboard
Profile

Change Password

Add Specialization
Manage Specialization
Update Specialization

Registered Doctor List


View Doctor Details

Doctor Appointment List


Search Doctor

Generate Report
Webpage Details

Doctor Panel

Signup
Login Page

Dashboard

Profile
Change Password

New Appointment
View New Appointment Details

Approved Appointment
View Approved Appointment Details

Patient list
View Patient List Details

Appointment Completed
Appointment Completed Details

Between Date Report of Appointment


Search Appointment
Future Enhancement
I have tried to design the software in such a way that the user may not
have any difficulty in using this system and further expansion is also
possible. New requirements will be added and risk will be analyzed in
every phase until the requirement of user will not be fulfilled. The most
priority will be given to keep confidential data secure and easy and simple
for use.
The further enhancements which can be made in the system are:
 Any requirement that will make system easy to use or make a system
secure, these requirement will be add using Spiral Model. Other
requirement related to government or municipality will be added when
required.
 For the identity of user and for their data integrity, digital signature can
be added to this system.
 For the identity of user and for verification, image of user can be added to
this system.
 There will be provision of filling form in multiple languages.
 A great concern will be given on frontend design which will make user to
use system easily and enjoy while using this system.
Conclusion
This Application provides a computerized version of doctor appointment
which will benefit the people who wants to take appointment with
doctor online.

It makes entire process online and can generate reports. It has a facility
of doctor login where doctor can manage user appointment and
generate appointment report.

The Application was designed in such a way that future changes can be
done easily. The following conclusions can be deduced from the
development of the project.

• Automation of the entire system improves the productivity.


• It provides a friendly graphical user interface which proves to
be better when compared to the existing system.
• It gives appropriate access to the authorized users depending
on their permissions.
• It effectively overcomes the delay in communications.
• Updating of information becomes so easier.
• System security, data security and reliability are the striking
features.
• The System has adequate scope for modification in future if it
is necessary.

Bibliography
For Python and Django

[1] Django homepage. http://www.djangoproject.com/.

[2] Python documentation. http://www.python.org/doc.

[3] Django(web framework). http://en.wikipedia.org/wiki/Django.

[4] Django documentation. http://docs.djangoproject.com.

[5] Python(programming language). http://en.wikipedia.org/wiki/Python.

[6]Books: Web Development with Django by Ben Shaw, Saurabh,


Django 4 By Example by Antonio Mele

For MySQL

 https://www.mysql.com/
 http://www.mysqltutorial.org

For XAMPP
 https://www.apachefriends.org/download.html

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy