Kendriya Vidyalaya, Bhandup
Kanjurmarg (W), Mumbai, Maharashtra - 400078
Entitled as
Submitted By: -
Name: - Sriraj Sunil Pillai
Class: - XII - A
Roll No: - 12148
Certificate
This is to certify that SriRaj Sunil Pillai of class Xll – A has worked
successfully under the supervision of Mrs. Kajal Rai during
academic year 2022 – 23 on the project “Hospital Management
System” as per the guidelines issued by Central Board of Secondary
Education (CBSE).
Signature of Subject Signature of External
Teacher Examiner
Signature of Principal
Acknowledgment
I am thankful to my Cs teacher Mrs. Kajal Rai who helped and
guided me while making this project.
Without her guidance my project would have been incomplete and
imperfect.
The guidance and support received from all the members who
contributed and who contributed and who are contributing to this
project, was vital for the success of the project.
Introduction
This Software is used to maintain the records of the Doctors,
details of patients with their history of medication and other staffs
working in the hospital.
Objective
The objective of this project is to let the students apply the
programming knowledge into a real-world situation/problem and
exposed the students how programming skills helps in developing
a good software.
Input/Output Requirement
HARDWARE REQUIREMENTS
❖Operating System: - Windows 10 or above
❖Processor: - Pentium (Any) or AMD Athlon
(3800+ - 4200 + Dual Core)
❖RAM: - 512 MB+
❖Hard Disk: - SATA 40GB Or Above
❖Motherboard: - 1.845 Or 915,995 For Pentium or MSI K9MM-V VIA
K8M800+8237R Plus Chipset for AMD Athlon
Software Requirements
❖Windows OS
❖Python Programming Language
❖MySQL Database Management System
The Existing System
✓ The present software are obsolete, sluggish, unorganised and are only
accessible by either the staffs or the customers.
✓ Most of the work is done manually which increases the chances of human
error.
The Proposed System
✓ It’s an age of computers and automating of such an organisation gives the
better look.
✓ The work becomes fully automated and any information regarding the
organisation can be obtained by clicking the button.
Similar Softwares
Some of the pre-existing similar software are shown below
Future Scope of the
Project
Our project has a large scope in the future as it is easy to use it, understand it
and modify it.
✓ In this age of evolving technologies, our software aims to modernize Data
Storing which were not able to stand the test of time, either because of
superior competition or due to heavy storing of data in the system.
✓ Our software helps the management department to manage and maintain
the records of doctors, patients and the other staff workers of the hospital
much easier and effective method from virtually anywhere in the world.
✓ Our software is a paperless software which makes it easy to sustain and aids
the environment.
✓ Our software increases the precision and efficiently by eliminating the human
chance of error.
✓ Our software is laidback and can be accessed by employees and users.
Source Code
##hospital management software
##PRINTING WELCOME NOTE
while(True):
print("""
====================================================
=============================
WELCOME TO SP HOSPITALS PVT. LTD.
====================================================
=============================
""")
##creating database connectivity
import mysql.connector
passwd=str(input("ENTER THE DATABASE
PASSWORD;"))
mysql=mysql.connector.connect(host="localhost",user=
"root",passwd="ADMINISTRATOR12345")
mycursor=mysql.cursor()
#creating database
mycursor.execute("create database if not exists
SP_hospitals")
mycursor.execute("use SP_hospitals")
#creating the tables we need
mycursor.execute("create table if not exists
patient_details(name varchar(30) primary key, age
int(3),address varchar(50),doctor_recommended
varchar(30))")
mycursor.execute("create table if not exists
doctor_details(name varchar(30) primary
key,specialisation varchar(40),age int(2),address
varchar(30),contact varchar(15),fees
int(10),monthly_salary int(10))")
mycursor.execute("create table if not exists
nurse_details(name varchar(30) primary key,age
int(2),address varchar(30),contact
varchar(15),monthly_salary int(10))")
mycursor.execute("create table if not exists
other_workers_details(name varchar(30) primary
key,age int(2),address varchar(30),contact
varchar(15),monthly_salary int(10))")
#login or signup option
#creating table for storing the username and
password of the user
mycursor.execute("create table if not exists
user_data(username varchar(30) primary key,password
varchar(30) default'000')")
#printing option
while(True):
print("""
1. SIGN IN (LOGIN)
2. SIGN UP (REGISTER)
""")
r=int(input("enter your choice:"))
#IF USER WANTS TO REGISTER
if r==2:
print("""
====================================================
=============================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!PLEASE REGISTER
YOURSELF!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================
=============================
""")
u=input("ENTER YOUR PREFERRED
USERNAME!!:")
p=input("ENTER YOUR PREFERRED PASSWORD
(PASSWORD SHOULD BE STRONG!!!:")
#ENTERING THE ENTERED VALUE TO THE
USER_DATA TABLE
mycursor.execute("insert into user_data
values('"+u+"','"+p+"')")
mysql.commit()
print("""
====================================================
=============================
!!!!!!!!!!!!!!!!!!!!!!!!!!!REGISTERED
SUCCESSFULLY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================
=============================
""")
x=input("enter any key to continue:")
#IF USER WANTS TO LOGIN
elif r==1:
#PRINTING THE SINGIN OPTION AGAIN TO THE
USER AFTER REGISTRATION
print("""
====================================================
=============================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! {{SIGN IN }}
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================
=============================
""")
un=input("ENTER THE USERNAME!!:")
ps=input("ENTER THE PASSWORD!!:")
mycursor.execute("select password
from user_data where username='"+un+"'")
row=mycursor.fetchall()
for i in row:
a=list(i)
if a[0]==str(ps):
while(True):
##displaying the task
you can perform
print("""
1.ADMINISTRATION
2.PATIENT (ADMISSION AND DISCHARGE PROCESS)
3.SIGN OUT
""")
##asking for the task
from user
a=int(input("ENTER YOUR
CHOICE:"))
#if user wants to enter
administration option
if a==1:
print("""
1. SHOW DETAILS
2. ADD NEW MEMBER
3. DELETE EXISTING ONE
4. EXIT
""")
b=int(input("ENTER
YOUR CHOICE:"))
#showing the
existing details
if b==1:
print("""
1. DOCTOR DETAILS
2. NURSE DETAILS
3. OTHER WORKERS
""")
#ASKING USER'S
CHOICE
c=int(input("ENTER YOUR CHOICE:"))
#if user wants
to see the details of doctors
if c==1:
mycursor.execute("select * from doctor_details")
row=mycursor.fetchall()
for i in
row:
b=0
v=list(i)
k=["NAME","SPECIALISATION","AGE","ADDRESS","CONTACT"
,"FEES","MONTHLY_SALARY"]
d=dict(zip(k,v))
print(d)
#if user wants
to see the details of nurses
elif c==2:
mycursor.execute("select * from nurse_details")
row=mycursor.fetchall()
for i in
row:
v=list(i)
k=["NAME","AGE","ADDRESS","CONTACT","MONTHLY_SALARY"
]
d=dict(zip(k,v))
print(d)
#if user wants
to see the details of other_workers
elif c==3:
mycursor.execute("select * from
other_workers_details")
row=mycursor.fetchall()
for i in
row:
v=list(i)
k=["NAME","AGE","ADDRESS","CONTACT
NO","MONTHLY_SALARY"]
d=dict(zip(k,v))
print(d)
#IF USER WANTS TO
ENTER DETAILS
elif b==2:
print("""
1. DOCTOR DETAILS
2. NURSE DETAILS
3. OTHER WORKERS
""")
c=int(input("ENTER YOUR CHOICE:"))
#FOR ENTERING
DETAILS OF DOCTORS
if c==1:
#ASKING THE
DETAILS
name=input("ENTER DR. NAME:")
spe=input("ENTER SPECIALISATION:")
age=input("ENTER AGE:")
add=input("ENTER ADDRESS:")
cont=input("ENTER CONTACT NO.:")
fees=input("ENTER FEES:")
ms=input("ENTER MONTHLY_SALARY:")
#INSERTING
VALUES ENTERED INTO THE DOCTORS_TABLE
mycursor.execute("insert into doctor_details
values('"+name+"','"+spe+"','"+age+"','"+add+"','"+c
ont+"','"+fees+"','"+ms+"')")
mysql.commit()
print("SUCCESSFULLY ADDED")
#for entering
nurse details
elif c==2:
#ASKING THE
DETAILS
name=input("ENTER NURSE NAME:")
age=input("ENTER AGE:")
add=input("ENTER ADDRESS:")
cont=input("ENTER CONTACT NO.:")
ms=int(input("ENTER MONTHLY_SALARY:"))
#INSERTING
VALUES ENTERED TO THE TABLE
mycursor.execute("insert into nurse_details
values('"+name+"','"+age+"','"+add+"','"+cont+"','"+
str(ms)+"')")
mysql.commit()
print("SUCCESSFULLY ADDED")
#for entering
workers details
elif c==3:
#ASKING THE
DETAILS
name=input("ENTER WORKER NAME:")
age=input("ENTER AGE:")
add=input("ENTER ADDRESS:")
cont=input("ENTER CONTACT NO.:")
ms=input("ENTER MONTHLY_SALARY:")
#INSERTING
VALUES ENTERED TO THE TABLE
mycursor.execute("insert into other_workers_details
values('"+name+"','"+age+"','"+add+"','"+cont+"','"+
ms+"')")
mysql.commit()
print("SUCCESSFULLY ADDED")
#if unser wants to
delete data
elif b==3:
print("""
1. DOCTOR DETAILS
2. NURSE DETAILS
3. OTHER WORKERS
""")
c=int(input("ENTER YOUR CHOICE:"))
#deleting
doctor's details
if c==1:
name=input("ENTER DOCTOR'S NAME:")
mycursor.execute("select * from doctor_details where
name=='"+name+"'")
row=mycursor.fetchall()
print(row)
p=input("you
really wanna delete this data? (y/n):")
if p=="y":
mycursor.execute("delete from doctor_details where
name='"+name+"'")
mysql.commit()
print("SUCCESSFULLY DELETED!!")
else:
print("NOT DELETED")
#deleting nurse
details
elif c==2:
name=input("ENTER NURSE NAME:")
mycursor.execute("select * nurse_details where
name=='"+name+"'")
row=mycursor.fetchall()
print(row)
p=input("you
really wanna delete this data? (y/n):")
if p=="y":
mycursor.execute("delete from nurse_details where
name='"+name+"'")
mysql.commit()
print("SUCCESSFULLY DELETED!!")
else:
print("NOT DELETED")
#deleting
other_workers details
elif c==3:
name=input("ENTER THE WORKER NAME:")
mycursor.execute("select * from workers_details
where name=='"+name+"'")
row=mycursor.fetchall()
print(row)
p=input("you
really wanna delete this data? (y/n):")
if p=="y":
mycursor.execute("delete from other_workers_details
where name='"+name+"'")
mysql.commit()
print("SUCCESSFULLY DELETED!!")
else:
print("NOT DELETED")
elif b==4:
break
#entering the patient
details table
elif a==2:
print("""
1. SHOW PATIENT DETAILS
2. ADD NEW PATIENT
3. DISCHARGE PATIENT
4. EXIT
""")
b=int(input("ENTER
YOUR CHOICE:"))
#showing the
existing details
#if user wants to
see the details of PATIENT
if b==1:
mycursor.execute("select * from patient_details")
row=mycursor.fetchall()
for i in row:
b=0
v=list(i)
k=["NAME","GENDER","AGE","ADDRESS","CONTACT"]
d=dict(zip(k,v))
print(d)
#adding new patient
elif b==2:
name=str(input("ENTER NAME: "))
age=str(input("ENTER AGE: "))
address=str(input("ADDRESS: "))
doc_r=str(input("iSSUE OF THE PATIENT: "))
mycursor.execute
("insert into patient_details
values('"+name+"','"+age+"','"+address+"','"+doc_r+"
')")
mysql.commit()
mycursor.execute("select * from patient_details")
for i in
mycursor:
v=list(i)
k=['NAME','AGE','ADDRESS','ISSUE OF THE PATIENT']
print(dict(zip(k,v)))
print("""
====================================================
=============================
!!!!!!!!!!!!!!!!!!!!!!!!!!!REGISTERED
SUCCESSFULLY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================
=============================
""")
#dischare process
elif b==3:
name=input("ENTER THE PATIENT NAME:")
mycursor.execute("select * from patient_details
where name='"+name+"'")
row=mycursor.fetchall()
print(row)
bill=input("HAS
HE PAID ALL THE BILLS ? (y/n):")
if bill=="y":
mycursor.execute("delete from patient_details where
name='"+name+"'")
mysql.commit()
#if user wants to
exit
elif b==4:
break
###SIGN OUT
elif a==3:
break
#IF THE USERNAME AND PASSWORD IS NOT IN THE DATABASE
else:
print("The Entered Username and Password does
not match with the accounts stored in the Database")
break
Output