Hospital Managemt FINAL PROJECT

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 39

Computer science

PROJECT REPORT
GRADE – XII

PROJECT PREPARED BY:

NAME OF THE STUDENT : ………DRISTI GHOSH………

ROLL NUMBER :………………………………………

PROJECT TOPIC: HOSPITAL MANAGEMENT SYSTEM.....

Kendriya Vidyalaya A.F.S


Salua
2023 – 2024
1
CERTIFICATE

This is to certify that the project work entitled “…………Hospital…

Management…System…………………….”

is a bonafide record of work done by……Dristi…Ghosh…… , Roll

no:……………….…in partial fulfilment for the award of 12th standard

during the academic year 2023 - 2024.

Date:
Registration No.:

Signature of Internal Signature of External


Examiner Examiner

Signature of Principal

ACKNOWLEDGEMENT
2
I would like to take this opportunity to express my deep sense
of gratitude to all those people without whom this project could
have never been completed. First and foremost I like to thank God
for giving me such a great opportunity to work on this project, and
I would like to express my special thanks and gratitude to the
Management, the Directors and the Correspondent of
KENDRIYA , VIDYALAYA , AFS SALUA School, for their
constant guidance and providing a very nice platform to learn.

I would also like to thank our Principal – MR.


BINDHESHWARI SUKLA , for his constant encouragement and
moral support without which I would have never be able to give
my best.

I would also like to thank Mr. SANJAY MEENA (PGT CS),


the teacher of KENDRIYA, VAIDYALAYA, A.F.S. SALUA
School, who gave me the wonderful opportunity to do this project,
which also helped me in doing a lot of research and I came to know
about so many new things from this study I am really thankful to
all.

3
Index
S.No Contents Pg.No
1
SYSTEM REQUIREMENT
2
FEASIBILITY STUDY
3
ERRORS AND ITS TYPES
4
TESTING
5
MAINTENANCE
6
FUNCTION USED
7
FLOW CHART OF PROGRAM
8
SOURCE CODE
9
OUTPUT
10
CONCLUSION
11
BIBLIOGRAPHY

SIGNATURE
….….….………………………...

SYSTEM REQUIREMENTS
4
1. HARDWARE:-
 Processor
 Keyboard
Minimum memory - 2GB

2. SOFTWARE:-
 Python IDLE
 MYSQL

5
FEASIBILITY STUDY
Feasibility study is a system proposal according to its work,
ability, impact on the operation ability to meet the needs of
users and efficient use of resources. An important outcome
of preliminary investigations the determination of that
system requested feasible.

ECONOMICAL FEASIBILITY:-
Economic analysis is the most frequently used method for
measuring the records of the customers, their bookings and
offers that they expect etc., and compare them with the cost.
This software is not very costly. So customer’s records can
be maintained at a cheaper cost and every hotel would like
to use this software so that the customer’s records can be
managed easily.

TECHNICAL FEASIBILTY:-
Technical feasibility center on the existing computer system
and to what extent it can support the proposed task. This
involves financial consideration to accommodate technical
enhancements. It is technically feasible because whatever
technology is needed to develop this software is easily
available.

6
ERRORS AND ITS TYPES
An error, some time called “A BUG” is anything in the code
that prevents a program from compiling and running
correctly. There are broadly three types of errors as follows:

1.Compile- time errors:-


Errors that occurs during compilation of a program is called
compile time error. It has two types as follows:-

a. Syntax error:-
It refers to formal rules governing the construction of
valid statements in a language.
b. Semantics error:-
It refers to the set of rules which give the meaning of a
statement.

2.Run time Errors:-


That occur during the execution of program are run time
errors. These are harder to detect errors. Some run-time
error stop the execution of program which is then called
program “Crashed”.

7
3. Logical Errors:-
Sometimes, even if you don’t encounter any error during
compiling-time and runtime, your program does not provide
the correct result. This is because of the programmer’s
mistaken analysis of the problem he or she is trying to solve.
Such errors are called logical error.

8
TESTING
1.Alpha Testing:-
It is the most common type of testing used in the
software industry. The objective of this testing is to
identify all possible issues or defects before releasing it
into the market or to the user. It is conducted at the
developer’s site.

2. Beta Testing:-
AcceptsIt is a formal type of software testing which is
carried out by the customers. It is performed in a real
environment before releasing the products into the
market for the actual end-users. It is carried out to
ensure that there are no major failures in the software or
product and it satisfies the business requirement. Beta
Testing is successful when the customerthe software.

3. White Box Testing:-


White box testing is based on the knowledge about the
internal logic of an application’s code. It is also known
as Glass box Testing. Internal Software and code
working should be known for performing this type of
testing. These tests are based on the coverage of the
code statements, branches, paths, conditions etc.

9
4. Black Box Testing:-
It is a software testing, method in which the internal
structure or design of the item to be tested is not known to
the tester. This method of testing can applied virtually to
every level of the software testing.

10
MAINTENANCE
Programming maintenance refers to the
modifications in the program. After it has been
completed, in order to meet changing requirement
or to take care of the errors that shown up. There
are four types of maintenance:-

1.Corrective Maintenance:-
When the program after compilation shows error because of
some unexpected situations, untested areas such errors are
fixed up by Corrective maintenance.

2.Adaptive Maintenance:-
Changes in the environment in which an information system
operates may lead to system management. To accommodate
changing needs time to time maintenance is done and is
called Adaptive maintenance.

3.Preventive Maintenance:-
If possible the errors could be anticipated before they
actually occur; the maintenance is called Preventive
maintenance.

11
4.Perfective Maintenance:-
In this rapidly changing world, information technology is
the fastest growing area. If the existing system is maintained
to keep tuned with the new features, new facilities, new
capabilities, it is said to be Perfective maintenance.

12
Functions Used

Commit():-
This method sends a COMMIT statement to the MySQL
server, committing the current transaction. Since by default
Connector/Python does not autocommit, it is important to
call this method after every transaction that modifies data
for tables that use transactional storage engines.

Fetchall():-
The method fetches all (or all remaining) rows of a query
result set and returns a list of tuples. If no more rows are
available, it returns an empty list.

Exec():-
It dynamically execute code of python programs. The code
can be passed in as string or object code to this function.
The object code is executed as is while the string is first
parsed and checked for any syntax error.

13
FLOWCHART

14
Source Code:-
##hospital management software

##PRINTING WELCOME NOTE

while(True):

print("""

================================

WELCOME TO MYHOSPITAL

================================

""")

##creating database connectivity

import mysql.connector

passwd=str(input("ENTER THE DATABASE PASSWORD;"))

mysql=mysql.connector.connect(host="localhost",user="root",passwd="admin")

mycursor=mysql.cursor()

#creating database

mycursor.execute("create database if not exists my_hospitals")

mycursor.execute("use my_hospitals")

#creating the tables we need

mycursor.execute("create table if not exists patient_details(puid int(10) primary key,name


varchar(30) not null,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))")

15
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!!!:")

16
#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)

17
if a[0]==str(ps):

while(True):

##displaying the task you can perform

print("""

1.ADMINISTRATION

2.PATIENT (ADMISSION NAD 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

18
""")

#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","SPECIALISATION","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:

19
mycursor.execute("select * from other_workers_details")

row=mycursor.fetchall()

for i in row:

v=list(i)

k=["NAME","SPECIALISATION","AGE","ADDRESS","CONTACT","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

20
mycursor.execute("insert into doctor_details
values('"+name+"','"+spe+"','"+age+"','"+add+"','"+cont+"','"+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+"')")

21
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

22
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")

23
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","SEX","AGE","ADDRESS","CONTACT"]

d=dict(zip(k,v))

print(d)

#adding new patient

elif b==2:

24
name=str(input("ENTER NAME: "))

sex=str(input("ENTER SEX: "))

age=str(input("ENTER AGE: "))

address=str(input("ADDRESS: "))

contact=str(input("CONTACT NUMBER: "))

mycursor.execute ("insert into patient_details values('"+str(name)


+"','"+str(sex)+"','"+str(age)+"','"+str(address)+"','"+str(contact)+"')")

mysql.commit()

mycursor.execute("select * from patient_details")

for i in mycursor:

v=list(i)

k=['NAME','SEX','AGE','ADDRESS','CONTACT']

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+"'")

25
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:

break

26
27
28
29
30
31
32
33
34
35
36
37
CONCLUSION
Python supports both function-oriented and
structure-oriented programming. It has
features of dynamic memory management
which can make use of computational
resources efficiently. It is also compatible
with all popular operating systems and
platforms. Hence this language can be
universally accepted by all programmers.

38
BIBLIOGRAPHY

WWW.GEEKSFORGEEKS.ORG
WWW.PROJECTWORLDS.IN
WWW.PYTHONWOLRD.IN
WWW.WIKIPEDIA.COM

39

You might also like