Hospital Management System
A Project Report
Submitted in partial fulfilment of the
Requirements for the award of the Degree of
BACHELOR OF SCIENCE (COMPUTER SCIENCE)
By
SHUBHAM SANDEEP PAWAR
Roll Number - 447
Under the esteemed guidance of
Prof. Omprakash
Assistant Professor
DEPARTMENT OF COMPUTER SCIENCE
GURU NANAK KHALSA COLLEGE
OF
ARTS, SCIENCE & COMMERCE
(Autonomous)
MATUNGA, MUMBAI – 400 019
MAHARASHTRA
AY 2022 – 2023
APPROVAL OF PROJECT PROPOSAL
447
PNR No: ___________________ Roll No: ________
1. Name of the Student
SHUBHAM SANDEEP PAWAR
_____________________________________________
2. Title of the Project
Hospital Management System
___________________________________________________
3. Name of the Project Guide
Prof. Omprakash
_____________________________________________________
Signature of the Student Signature of the Guide
Date: ________________ Date: ________________
Signature of the Head of Dept. Signature of the Examiner
Date: ________________ Date: ________________
GURU NANAK KHALSA COLLEGE
OF
ARTS, SCIENCE & COMMERCE
(Autonomous)
MATUNGA, MUMBAI, MAHARASHTRA – 400 019
DEPARTMENT OF COMPUTER SCIENCE
CERTIFICATE
This is to certify that the project entitled, " Hospital Management System", is bonafide
work of Shubham Sandeep Pawar bearing Seat No: 447 submitted in partial fulfilment of
the requirements for the award of degree of BACHELOR OF SCIENCE (COMPUTER
SCIENCE) from University of Mumbai.
Internal Guide Coordinator
External Examiner
Date: College Seal
ACKNOWLEDGEMENT
To list who all have helped me is difficult because they are so numerous and the
depth is so enormous.
I would like to acknowledge the following as being idealistic channels and fresh
dimensions in the completion of this project.
I take this opportunity to thank the UNIVERSITY OF MUMBAI for giving me
chance to do this project.
I take this opportunity to thank our Coordinator Prof. OMPRAKASH, for his
moral support and guidance.
I would also like to express my sincere gratitude towards my project guide Prof.
OMPRAKASH. whose guidance and care made the project successful.
Lastly, I would like to thank each and every person who directly or indirectly
helped me in the completion of the project especially my PARENTS AND
PEERS who supported me throughout my project.
SR.NO INDEX TOPIC PAGE NO
A. Introduction
1. Requirements and Specifications
2. Tools And Technologies
3. Gantt Chart
B. System Analysis
1. Class diagram
2. Activity diagram
3. Context diagram
4. Sequence diagram
5. Use Case diagram
C. System Design
1. Database
2. Validations
3. Conclusions
INTRODUCTION
INTRODUCTION
Hospital management systems are essential tools for the effective
management and organization of healthcare facilities. They help
hospitals to streamline their operations, reduce costs, and improve
patient outcomes. One of the popular ways to develop a hospital
management system is by using Python and its GUI library, Tkinter.
Tkinter is a built-in library in Python that provides developers with a
set of tools to create graphical user interfaces. It offers various
widgets, such as buttons, labels, textboxes, and more, that can be used
to create interactive interfaces.
A hospital management system created using Tkinter in Python can
have several features. Some of the common features include:
1. Patient registration: This feature allows patients to register and
create a profile in the hospital's database.
2. Medical records management: This feature enables the
management of medical records, including patient history,
diagnoses, treatments, and medications.
3. Inventory management: This feature allows the management of
medical supplies, equipment, and medication inventory.
4. Reporting and analytics: This feature enables the generation of
reports and analytics that help hospital administrators make
informed decisions.
In summary, a hospital management system created using Tkinter in
Python is an efficient way to automate hospital operations and
improve patient outcomes. It offers a user-friendly interface that is
easy to use and navigate, making it a valuable tool for healthcare
professionals.
REQUIREMENT AND SPECIFICATION
1.Requirements and Specifications
1.1 Language and Software tools
• Front End : Python with Tkinter
• Operating System: Windows 10
• Back End : MySQL Database
1.2 Hardware Requirements
• Operating System : Windows 10
• Hard Disks : 1TB
• RAM : 8GB
1.3 Software Requirements
• Visual Studio
• MySQL
2.Tools and Technologies
Tools and techniques used in the project are described in this section
of the thesis. This project focused was mainly focused on Python
Programming and its libraries.
Python
Python
Python is a high-level object-oriented programming language. It
was created by Guido van Rossum in 1991 as Python 0.9.0.
Python is a very popular programming language and can be used
for various purposes. It is widely used for web development,
software development, mathematics and data analysis, system
scripting, etc. Python is a multi-purpose programming language
that works on different platforms. Python is popular than other
programming languages because it has a simple syntax than other
programming languages. Its syntax allows the programs to write
code that is easier to understand and in fewer lines. It runs in an
interpreter system. Hence, the code can be executed as soon as it
is written.
In this project, we use Python .This project demonstrated how
Python is used for an effective and reliable for this application.
Various Python frameworks, libraries are used in this project.
Tkinter
Tk has long been an integral part of Python. It provides a robust and
platform independent windowing toolkit, that is available to Python
programmers using the tkinter package, and its extension,
the tkinter.tix and the tkinter.ttk modules.
The tkinter package is a thin object-oriented layer on top of Tcl/Tk.
To use tkinter, you don’t need to write Tcl code, but you will need to
consult the Tk documentation, and occasionally the Tcl
documentation. tkinter is a set of wrappers that implement the Tk
widgets as Python classes.
tkinter’s chief virtues are that it is fast, and that it usually comes
bundled with Python. Although its standard documentation is weak,
good material is available, which includes: references, tutorials, a
book and others. tkinter is also famous for having an outdated look
and feel, which has been vastly improved in Tk 8.5. Nevertheless,
there are many other GUI libraries that you could be interested in. The
Python wiki lists several alternative GUI Framework.
MySQL
MySQL is a popular open-source relational database management
system (RDBMS) that is widely used in web applications to store
and manage data. The official MySQL documentation is a
comprehensive resource that provides detailed information about
the MySQL software, including its features, syntax, and APIs.
The MySQL Reference Manual is a comprehensive guide to the
MySQL server and its features. It covers topics such as installing
and upgrading MySQL, configuring the server, managing
databases and tables, and using SQL to perform various
operations on the data stored in the database.
The MySQL Developer Guide is a tutorial that provides an
introduction to MySQL programming, including topics such as
connecting to the MySQL server using different programming
languages, executing SQL statements, and using the MySQL APIs
to create, modify, and query databases.
In addition to these resources, the MySQL website also provides a
range of other documentation and resources, including FAQs,
tutorials, and user guides, as well as a developer forum where you
can ask questions and get help from other MySQL users and
experts.
GANTT CHART
SYSTEM
ANALYSIS
1.CLASS DIAGRAM
Class diagram is a main building block of object-oriented modelling. It is
used for general conceptual modelling of structure of application, and for detailed
modelling translating the models into programming code.
Class diagram can be used for data modelling. The classes in class diagram
represents both the main elements, interactions in application, and classes to be
programmed.
In the diagram, classes are represented with boxes that contain three
compartments:
• The top compartment contains the name of the class. It is printed in bold
and centered , and the first letter is capitalized.
• The middle compartment contains the attributes of the class. They are left-
aligned and the first letter is lowercase.
• The bottom compartment contains the operations the class can execute.
They are also left-aligned and the first letter is lowercase.
In the design of a system, a number of classes are identified and grouped together
in a class diagram that helps to determine the static relations between them. With
detailed modelling, the classes of the conceptual design are often split into a
number of subclasses.
CLASS DIAGRAM:
2.ACTIVITY DIAGRAM
Activity diagram is another important diagram in UML to describe the
dynamic aspects of the system.
Activity diagram is basically a flowchart to represent the flow from one activity
to another activity. The activity can be described as an operation of the system.
The control flow is drawn from one operation to another. This flow can be
sequential, branched, or concurrent. Activity diagrams deal with all type of flow
control by using different elements such as fork, join, etc
Purpose of Activity Diagrams
The basic purposes of activity diagrams is similar to other four diagrams. It
captures the dynamic behaviour of the system. Other four diagrams are used to
show the message flow from one object to another but activity diagram is used
to show message flow from one activity to another.
Activity is a particular operation of the system. Activity diagrams are not only
used for visualizing the dynamic nature of a system, but they are also used to
construct the executable system by using forward and reverse engineering
techniques. The only missing thing in the activity diagram is the message part.
It does not show any message flow from one activity to another. Activity
diagram is sometimes considered as the flowchart. Although the diagrams look
like a flowchart, they are not. It shows different flows such as parallel, branched,
concurrent, and single.
The purpose of an activity diagram can be described as −
• Draw the activity flow of a system.
• Describe the sequence from one activity to another.
• Describe the parallel, branched and concurrent flow of the system.
Symbol Name Description
Represents the beginning of a process or workflow in
Start symbol an activity diagram. It can be used by itself or with a
note symbol that explains the starting point.
Indicates the activities that make up a modeled
process. These symbols, which include short
Activity symbol
descriptions within the shape, are the main building
blocks of an activity diagram.
Shows the directional flow, or control flow, of the
activity. An incoming arrow starts a step of an
Connector symbol
activity; once the step is completed, the flow
continues with the outgoing arrow.
Combines two concurrent activities and re-introduces
Joint symbol/
them to a flow where only one activity occurs at a
Synchronization
time. Represented with a thick vertical or horizontal
bar
line.
Splits a single activity flow into two concurrent
Fork symbol activities. Symbolized with multiple arrowed lines
from a join.
Represents a decision and always has at least two
paths branching out with condition text to allow
Decision symbol users to view options. This symbol represents the
branching or merging of various flows with the
symbol acting as a frame or container.
Placed next to a decision marker to let you know
Condition text under what condition an activity flow should split off
in that direction.
Marks the end state of an activity and represents the
End symbol
completion of all flows of a process.
ACTIVITY DIAGRAM:
3.CONTEXT DIAGRAM
The context diagram is used to establish the context and boundaries
of the system to be modelled: which things are inside and outside of the system
being modelled, and what is the relationship of the system with these external
entities.
A context diagram, sometimes called a level 0 data-flow diagram, is drawn in
order to define and clarify the boundaries of the software system. It identifies
the flows of information between the system and external entities. The entire
software system is shown as a single process.
The process of establishing the analysis framework by drawing and reviewing
the context diagram inevitably involves some initial discussions with users
regarding problems with the existing system and the specific requirements for
the new system. These are formally documented along with any specific system
requirements identified in previous studies.
Having agreed on the framework, the detailed investigation of the current
system must be planned. This involves identifying how each of the areas
included within the scope will be investigated. This could be by interviewing
users, providing questionnaires to users or clients, studying existing system
documentation and procedures, observation and so on. Key users are identified
and their specific roles in the investigation are agreed upon.
Constructing a context diagram
In order to produce the context diagram and agree on system scope, the
following must be identified:
• external entities
• data-flows
Context Diagram(dfd):
LEVEL 0
LEVEL 1
4.SEQUENCE DIAGRAM
A sequence diagram is a type of interaction diagram because it describes
how—and in what order—a group of objects works together. These diagrams are
used by software developers and business professionals to understand
requirements for a new system or to document an existing process. Sequence
diagrams are sometimes known as event diagrams or event scenarios.
Benefits of sequence diagrams
Sequence diagrams can be useful references for businesses and other
organizations. Try drawing a sequence diagram to:
• Represent the details of a UML use case.
• Model the logic of a sophisticated procedure, function, or operation.
• Seehow objects and components interact with each other to complete a
process.
• Planand understand the detailed functionality of an existing or future
scenario.
Basic symbols and components
To understand what a sequence diagram is, you should be familiar with
its symbols and components. Sequence diagrams are made up of the following
icons and elements:
Symbol Name Description
Represents a class or object in UML. The object symbol
Object demonstrates how an object will behave in the context of
symbol the system. Class attributes should not be listed in this
shape.
Represents the time needed for an object to complete a
Activation
task. The longer the task will take, the longer the
box
activation box becomes.
Actor Shows entities that interact with or are external to the
symbol system.
SEQUENCE DIAGRAM:
5.USECASE DIAGRAM
To model a system, the most important aspect is to capture the dynamic
behaviour. Dynamic behaviour means the behaviour of the system when it is
running/operating.
Only static behaviour is not sufficient to model a system rather dynamic
behaviour is more important than static behaviour. In UML, there are five
diagrams available to model the dynamic nature and use case diagram is one of
them. Now as we have to discuss that the use case diagram is dynamic in nature,
there should be some internal or external factors for making the interaction.
These internal and external agents are known as actors. Use case diagrams
consists of actors, use cases and their relationships. The diagram is used to model
the system/subsystem of an application. A single use case diagram captures a
particular functionality of a system.
Hence to model the entire system, a number of use case diagrams are used.
Purpose of Use Case Diagrams
The purpose of use case diagram is to capture the dynamic aspect of a system.
However, this definition is too generic to describe the purpose, as other four
diagrams (activity, sequence, collaboration, and Statechart) also have the same
purpose. We will look into some specific purpose, which will distinguish it from
other four diagrams.
Use case diagrams are used to gather the requirements of a system including
internal and external influences. These requirements are mostly design
requirements. Hence, when a system is analyzed to gather its functionalities, use
cases are prepared and actors are identified.
When the initial task is complete, use case diagrams are modelled to present the
outside view.
the purposes of use case diagrams can be said to be as follows −
• Used to gather the requirements of a system.
• Used to get an outside view of a system.
• Identify the external and internal factors influencing the system.
• Show the interaction among the requirements are actors.
USECASE DIAGRAM:
SYSTEM
DESIGN
GUI PAGE:
Here is the gui window to fill details of the patient.
ENTRY FIELD :
SEARCH DATA:
PATIENT PDF:
VALIDATIONS:
FEATURES:
1. This window contains all the necessary fields that should be
filled.
2. We search the patient by his/her Reference number or name,
see all the data which has been filled.
3. Can perform CRUD operation of patients entry.
4. It also provide Patient’s pdf with specific Patient Name.
5. If entry field is missing it pop ups error message.
DATABASE:
Here is the MYSQL database that stores Patient entered Data
CONCLUSIONS
Form this project, I would like to conclude that Python has
significant advantages and rich in features that is easy to use
and is time efficient. Using Python, I have tried my best to
design and develop this software and apply theoretical
knowledge to the best use.
The IDE used is VS Code (Visual Studio Code) which is a
free and open-source code editor developed by Microsoft. It is
one of the most popular code editors used because it is rich in
features like: Lightweight and Fast, IntelliSense, Debugging,
Extension, Marketplace, Git Integration and Multi-Platform
etc which is easy to use and is time efficient. I have tried my
best to design and develop this website and apply theoretical
knowledge to the best use.
In this programming Language I have used Python which is a
powerful tool that can helped me build this standard software
that can understand and generate pdf by fetching data from
database and it also helped me to create innovative and
exciting applications that can change the way we interact with
technology.
FUTURE ENHANCEMENTS
The project objective has to be achieved pertaining to the
Time Constraint and Monetary constraint applied in
accordance with the defined functionality of the system.
However, features that are not included in the system can be
considered as future enhancements like: Adding more
modules, Make it more feature rich by:
1) Add Authentications
2) Add Signup & Login Module
3) Voice Search Module
4) Add Reports, Doctors Information and Image of Patient .
4) Add Billing Service Too
5) Add Logout Module
REFERENCES
1) https://www.youtube.com/watch?v=HrWJzzfU9Z0
Thank
you!