You are on page 1of 63

#-------------------------------------------------------------------------------

# Name: Hospital

# Created: 02/06/2015

# EDIT : 5

# Project Done by : Niyati, Nikitha and Bessi.

#-------------------------------------------------------------------------------

from tkinter import *

#import tkMessageBox

import tkinter.messagebox

from tkinter import messagebox

import datetime

#import Tix as tk

from tkinter import tix

from tkinter.constants import *

import sys

import ast

class Hospital(Frame):

def __init__(self, parent):

Frame.__init__(self, parent)

self.parent = parent
self.Mainpage()

def Mainpage(self):

""" this line ti add extra """

self.destroy_children()

self.parent.title("Hospital")

self.pack(fill=BOTH, expand=1)

menubar = Menu(self.parent)

self.parent.config(menu=menubar)

fileMenu = Menu(menubar)

reportmenu = Menu(menubar)

billingmenu = Menu(menubar)

apptmenu = Menu(menubar)

menubar.add_cascade(label="Data Update", menu=fileMenu)


fileMenu.add_command(label="Patient Data", command=self.patientform)

fileMenu.add_command(label="Doctor Data", command=self.doctorform)

fileMenu.add_separator()

menubar.add_cascade(label="Records", menu=reportmenu)

reportmenu.add_command(label="Patient Records", command=self.patientrecord)

reportmenu.add_command(label="Doctor Records", command=self.doctorrecord)

reportmenu.add_command(label="Existing Bills", command=self.view_bills)

menubar.add_cascade(label="Billing", menu=billingmenu)

billingmenu.add_command(label="Generate Bill", command=self.billing)

billingmenu.add_command(label="Invoice", command=self.view_a_bill)

self.Photohob = PhotoImage(file="background1.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)

self.Photohob = PhotoImage(file="logo.gif", height=10, width = 15)

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()
self.label100.place(x=800,y=10)

l3=Label(self,text="Hospital Management System",fg='black',font='Arial 28 bold ')

l3.pack()

l3.place(x=400,y=10)

l3=Label(self,text="Welcome to the hospital database management


system." ,fg='black',font='Arial 14 bold ')

l3.pack()

l3.place(x=100,y=200)

l3=Label(self,text="This is a user-friendly program created to store informations in the main


database . ",fg='black',font='Arial 14 bold ')

l3.pack()

l3.place(x=100,y=240)

l3=Label(self,text="Click on the buttons below to add new records or click on the respective
menus for more options.",fg='black',font='Arial 14 bold ')

l3.pack()

l3.place(x=100,y=280)

l3=Label(self,text="Thank you and have a nice day. ",fg='black',font='Arial 14 bold ')

l3.pack()

l3.place(x=100,y=400)

self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()
self.label100.place(x=1050,y=10)

add_but=Button(self,text="New patient data",fg='navy',bg='light yellow',height=2,width=20 ,


command=self.patientform)

add_but.pack()

add_but.place(x=200, y=500)

upt_but=Button(self,text="Generate Bill",fg='navy',bg='light yellow',height=2,width=20,


command=self.billing)

upt_but.pack()

upt_but.place(x=400, y=500)

inv_but=Button(self,text="Invoice",fg='navy',bg='light yellow',height=2,width=20,
command=self.view_a_bill)

inv_but.pack()

inv_but.place(x=600, y=500)

clr_but=Button(self,text="Exit",fg='navy',bg='light yellow',height=2,width=20,
command=self.parent.destroy)

clr_but.pack()

clr_but.place(x=800, y=500)

def view_a_bill(self):

def search():

bno1= bno.get()
import mysql.connector as ms

db =
ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT * FROM billing where bno= "+bno1+" "

cursor.execute(sql)

results = cursor.fetchall()

for row in results:

bno2 = StringVar()

bdate2 = StringVar()

bpno2 =StringVar()

bpname2 = StringVar()

bpaddress2 = StringVar()

bpphone2 = StringVar()

bpgender2 = StringVar()

bpage2 = StringVar()
descrip2 = StringVar()

fees2 = StringVar()

tot2 = StringVar()

Label(self, textvariable=bno2 ,bg='white', fg='black',font='comicsansms 10


bold').place(x=900,y=200)

Label(self, textvariable=bdate2,bg='white', fg='black',font='comicsansms 10


bold').place(x=915,y=230)

Label(self, textvariable=bpno2,bg='white', fg='black',font='comicsansms 10


bold').place(x=650,y=170)

Label(self, textvariable=bpname2 ,bg='white', fg='black',font='comicsansms 10


bold').place(x=650,y=200)

Label(self, textvariable=bpaddress2 ,bg='white', fg='black',font='comicsansms 10


bold ' ).place(x=650,y=230)

Label(self, textvariable=bpgender2,bg='white', fg='black',font='comicsansms 10


bold').place(x=650,y=260)

Label(self, textvariable=bpphone2 ,bg='white', fg='black',font='comicsansms 10 bold


' ).place(x=950,y=170)

Label(self, textvariable=bpage2 ,bg='white', fg='black',font='comicsansms 10


bold').place(x=885,y=260)

Label(self, textvariable=descrip2 ,bg='white', fg='black',font='comicsansms 12


').place(x=700,y=360)

Label(self, textvariable=fees2 ,bg='white', fg='black',font='comicsansms 12


').place(x=1050,y=360)
Label(self, textvariable=tot2 ,bg='white', fg='black',font='comicsansms 12
').place(x=1050,y=605)

bno2.set(row[0])

bdate2.set(row[1])

bpno2.set(row[2])

bpname2.set(row[3])

bpaddress2.set(row[4])

bpphone2.set(row[5])

bpgender2.set(row[6])

bpage2.set(row[7])

descrip2.set(row[8])

fees2.set(row[9])

tot2.set(row[10])

db.close()
""" this line to add extra """

self.destroy_children()

self.Photohob = PhotoImage(file="background5.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)

wid = Canvas ( self,bg='white',height=600, width = 700, bd =5)

wid.pack()

wid.place(x=500,y=50)

wid.create_line(500, 580, 500, 270, width = 2)

wid.create_line(650, 580, 650, 270, width = 2)

wid.create_line(50, 580, 50, 270, width = 2)

wid.create_line(50, 550, 650, 550, width = 2)

wid.create_line(50, 300, 650, 300, width = 2 )

wid.create_line(50, 270, 650, 270, width = 2)

wid.create_line(50, 580, 650, 580, width = 2)

wid.create_line(50, 650, 650, 650, width = 2)

wid.create_line(50, 620, 650, 620, width = 2)

self.Photohob = PhotoImage(file="logo1.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob
self.label100.pack()

self.label100.place(x=990,y=80)

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1250, y=630)

Label(self, text="Stanford Health Care",bg='white', fg='black',font='comicsansms 18


bold').place(x=520,y=60)

Label(self, text="Contact Details: 83059839489 ",bg='white', fg='black',font='comicsansms 8


bold').place(x=520,y=100)

Label(self, text="Address: 69 Alley Street, Florida" ,bg='white', fg='black',font='comicsansms 8


bold').place(x=520,y=120)

Label(self, text="Invoice" ,bg='white', fg='black',font='comicsansms 20 bold underline


' ).place(x=800,y=110)

Label(self, text="Bill No:",bg='white', fg='black',font='comicsansms 10


bold').place(x=850,y=200)

Label(self, text="Bill Date:",bg='white', fg='black',font='comicsansms 10


bold').place(x=850,y=230)

Label(self, text="Patient No:" ,bg='white', fg='black',font='comicsansms 10


bold').place(x=550,y=170)

Label(self, text="Patient Name:" ,bg='white', fg='black',font='comicsansms 10


bold').place(x=550,y=200)

Label(self, text="Address:" ,bg='white', fg='black',font='comicsansms 10 bold


' ).place(x=550,y=230)

Label(self, text="Gender:" ,bg='white', fg='black',font='comicsansms 10


bold').place(x=550,y=260)

Label(self, text="Contact details:" ,bg='white', fg='black',font='comicsansms 10 bold


' ).place(x=850,y=170)

Label(self, text="Age:" ,bg='white', fg='black',font='comicsansms 10


bold').place(x=850,y=260)

Label(self, text="Description" ,bg='white', fg='black',font='comicsansms 13


bold').place(x=700,y=323)
Label(self, text="Amount" ,bg='white', fg='black',font='comicsansms 13
bold').place(x=1050,y=323)

Label(self, text="Total Amount" ,bg='white', fg='black',font='comicsansms 13


bold').place(x=700,y=603)

l1=Label(self,text="Bill no",bg="pink",font='comicsansms 9 bold ')

l1.pack()

l1.place(x=50,y=100)

del_but=Button(self,text="Enter the Bill no",fg='navy',bg='light yellow',


command=search,font='comicsansms 9 bold ')

del_but.pack()

del_but.place(x=300, y=100)

bno =Entry(self)

bno.pack()

bno.place(x=100, y=100)

del_but=Button(self,text="View Existing Bill Numbers",fg='navy',bg='light yellow', height =


3,command=self.view_bills,font='comicsansms 9 bold ')

del_but.pack()

del_but.place(x=200, y=600)

del_but=Button(self,text="Erase",fg='navy',bg='light yellow', height =


3,command=self.view_a_bill,font='comicsansms 9 bold ')

del_but.pack()

del_but.place(x=400, y=600)
def view_bills(self):

""" this line ti add extra """

self.destroy_children()

self.Photohob = PhotoImage(file="background2.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)

self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=1050,y=10)

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1200, y=630)

Label(self, text="Existing Bills",bg='black', fg='cyan',font='comicsansms 20 bold


underline' ).place(x=500,y=10)

ree_but=Button(self,text="Invoice",fg='navy',bg='light yellow',height=1,width=10, command=


self.view_a_bill)

ree_but.pack()

ree_but.place(x=1200, y=600)

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):
print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT bno, bpname,tot FROM billing"

cursor.execute(sql)

results = cursor.fetchall()

Label(self, text="Bill no" ,bg='black', fg='white',font='comicsansms 13 bold


' ).place(x=100,y=150)

Label(self, text="Patient Name:",bg='black', fg='white',font='comicsansms 13


bold').place(x=300,y=150)

Label(self, text="Total Fee",bg='black', fg='white',font='comicsansms 13


bold').place(x=500,y=150)

r = IntVar()

r=200

for row in results:

bno2 = StringVar()

bpname2 = StringVar()
tot2 = StringVar()

Label(self, textvariable=bno2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=100,y=r)

Label(self, textvariable=bpname2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=300,y=r)

Label(self, textvariable=tot2,bg='black', fg='cyan',font='comicsansms 13 ' ).place(x=500,y=r)

bno2.set(row[0])

bpname2.set(row[1])

tot2.set(row[2])

r=r+50

#s = v.get()

db.close()
def onExit(self):

self.destroy()

def destroy_children(self):

for child in self.winfo_children():

child.destroy()

def onClick(self):

if self.var.get() == 1:

self.master.title("Checkbutton....")

else:

self.master.title("")

def billing(self):
""" this line ti add extra """

self.destroy_children()

import random

self.Photohob = PhotoImage(file="background5.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)

l1=Label(self,text="Billing ",fg='black',font='comicsansms 20 bold ')

l1.pack()

l1.place(x=500,y=20)

self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=1050,y=10)

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1200, y=630)
def callfinddate():

bdate.delete(0,END)

today = datetime.date.today()

y=today.year

m=today.month

d=today.day

bdate.insert(0,d)

bdate.insert(0,"/")

bdate.insert(0,m)

bdate.insert(0,"/")

bdate.insert(0,y)

def generatebno():

bno.delete(0,END)

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT max(bno) FROM billing"


cursor.execute(sql)

results = cursor.fetchall()

for row in results:

bno.insert(0,(row[0]+1))

db.close()

def fromdoctor():

dno1=bdno.get()

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")
cursor = db.cursor()

sql = "SELECT dfee,dspz FROM doctor WHERE dno = "+dno1+""

cursor.execute(sql)

results = cursor.fetchall()

for row in results:

fee.insert(0,row[0])

d = row[1]

d = 'Doctor fee-' +d

db.close()

desc.insert (0,d)

bdno.delete(0,END)

def frompatient():

pno1=bpno.get()
import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT pname,paddress,pphone,pgender,page FROM patient WHERE pno = "+pno1+""

cursor.execute(sql)

results = cursor.fetchall()

for row in results:

bpname.insert(0,row[0])

bpaddress.insert(0,row[1])

bpgender.insert(0,row[3])

bpphone.insert(0,row[2])

bpage.insert(0,row[4])

db.close()

fa = []
ga = []

def intothelist():

des1= desc.get()

fee1= fee.get()

fa.append(fee1)

ga.append (des1)

list1.insert (ind , des1)

list2.insert (ind , fee1)

desc.delete(0,END)

fee.delete(0,END)

def Generate_bill():

bno1=bno.get()

bdate1=bdate.get()

bpno1=bpno.get()

bpname1=bpname.get()

bpaddress1=bpaddress.get()

bpphone1=bpphone.get()

bpgender1=bpgender.get()

bpage1=bpage.get()

descrip = ga

altod = ''
altof= ''

tot1 = tot.get()

for i in descrip:

altod= altod +'\n'+ i

fee_=fa

for j in fee_:

altof = altof +'\n'+ j

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "INSERT INTO


billing(bno,bdate,bpno,bpname,bpaddress,bpphone,bpgender,bpage,descr,fee,tot)VALUES("+bno1+
",'"+bdate1+"',"+bpno1+",'"+bpname1+"','"+bpaddress1+"',"+bpphone1+",'"+bpgender1+"',"+bpage
1+",'"+altod+"','"+altof+"','"+tot1+"' ) "
cursor.execute(sql)

db.commit()

messagebox.showinfo("Bill", "Bill Generated Successfully")

db.close()

def feecal ():

tott = 0

tot.delete(0,END)

for i in fa:

tott = tott+int(i)

tot.insert(0,tott)

l1=Label(self,text="Bill no",bg="pink",font='comicsansms 9 bold ')

l1.pack()

l1.place(x=50,y=100)
del_but=Button(self,text="Generate Bill no",fg='navy',bg='light yellow',font='comicsansms 10
bold ', command=generatebno)

del_but.pack()

del_but.place(x=300, y=100)

bno =Entry(self)

bno.pack()

bno.place(x=100, y=100)

del_but=Button(self,text="Bill date",fg='navy',bg='light yellow', font='comicsansms 9 bold


',command=callfinddate)

del_but.pack()

del_but.place(x=700, y=100)

bdate=Entry(self)

bdate.pack()

bdate.place(x=800,y=100)

l2=Label(self,text="Patient No",bg="pink",font='comicsansms 9 bold ')

l2.pack()

l2.place(x=50,y=200)

bpno =Entry(self)
bpno.pack()

bpno.place(x=150, y=200)

del_but=Button(self,text="Search",fg='navy',bg='light yellow', font='comicsansms 9 bold


',command=frompatient)

del_but.pack()

del_but.place(x=300, y=200)

l3=Label(self,text="Patient Name",bg="pink",font='comicsansms 9 bold ')

l3.pack()

l3.place(x=50,y=230)

bpname =Entry(self)

bpname.pack()

bpname.place(x=150, y=230)

l4=Label(self,text="Patient Address",bg="pink",font='comicsansms 9 bold ')

l4.pack()

l4.place(x=50,y=260)

bpaddress =Entry(self)

bpaddress.pack()

bpaddress.place(x=150, y=260)

l5=Label(self,text="Contact number",bg="pink",font='comicsansms 9 bold ')


l5.pack()

l5.place(x=50,y=290)

bpphone =Entry(self)

bpphone.pack()

bpphone.place(x=150, y=290)

l6=Label(self,text="Gender",bg="pink",font='comicsansms 9 bold ')

l6.pack()

l6.place(x=50,y=320)

bpgender =Entry(self)

bpgender.pack()

bpgender.place(x=150, y=320)

l5=Label(self,text="Age",bg="pink",font='comicsansms 9 bold ')

l5.pack()

l5.place(x=50,y=350)

bpage =Entry(self)

bpage.pack()

bpage.place(x=150, y=350)
ind = 1

l2=Label(self,text="Doctor Consulted",bg="pink",font='comicsansms 9 bold ')

l2.pack()

l2.place(x=50,y=450)

bdno =Entry(self)

bdno.pack()

bdno.place(x=200, y=450)

del_but=Button(self,text="Search",fg='navy',bg='light yellow',
command=fromdoctor,font='comicsansms 9 bold ')

del_but.pack()

del_but.place(x=350, y=450)

list1= Listbox ( self,height=20,width=60)

list1.pack()

list1.place(x=700, y=250)

list1.insert(ind,"Description")
list2= Listbox ( self,height=20, width=20)

list2.pack()

list2.place(x=950, y=250)

list2.insert(ind,"Fees")

l5=Label(self,text="Description",bg="pink",font='comicsansms 9 bold ')

l5.pack()

l5.place(x=700,y=180)

desc =Entry(self,width=40,font='comicsansms 9 bold ')

desc.pack()

desc.place(x=700, y=210)

l52=Label(self,text="Fee ",bg="pink",font='comicsansms 9 bold ')

l52.pack()

l52.place(x=950,y=180)
fee =Entry(self,font='comicsansms 9 bold ')

fee.pack()

fee.place(x=950, y=210)

enter=Button(self,text="Enter",fg='navy',bg='light
yellow',command=intothelist,font='comicsansms 9 bold ')

enter.pack()

enter.place(x=1100, y=210)

l5=Label(self,text="Total Fee",bg="pink",font='comicsansms 9 bold ')

l5.pack()

l5.place(x=870,y=600)

g=0

tot =Entry(self)

tot.pack()

tot.place(x=950, y=600)

tot.insert(0,g)

cal=Button(self,text="Calculate",fg='navy',bg='light yellow',command=feecal,font='comicsansms
9 bold ')

cal.pack()

cal.place(x=700, y=600)
gen=Button(self,text="Generate Bill",fg='navy',bg='light yellow',height=3,width=10, command=
Generate_bill,font='comicsansms 9 bold ')

gen.pack()

gen.place(x=50, y=600)

gen2=Button(self,text="Clear",fg='navy',bg='light yellow',height=3,width=10, command=


self.billing,font='comicsansms 9 bold ')

gen2.pack()

gen2.place(x=200, y=600)

def patientform(self):

""" this line ti add extra """

self.destroy_children()

self.Photohob = PhotoImage(file="background4.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.Photohob = PhotoImage(file="logo.gif")

self.label100.place(x=0,y=0)

self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob
self.label100.pack()

self.label100.place(x=1050,y=10)

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1200, y=630)

l68=Label(self,text="Patient Data ",fg='black',font='comicsansms 20 bold ')

l68.pack()

l68.place(x=350,y=25)

def evClear():

pno.delete(0,END)

pname.delete(0,END)

paddress.delete(0,END)

pgender.delete(0,END)

page.delete(0,END)

pphone.delete(0,END)

proomno.delete(0,END)

pspezialiest.delete(0,END)

def callinsert():

pno1=pno.get()
pname1=pname.get()

paddress1=paddress.get()

pgender1=pgender.get()

page1=page.get()

pphone1=pphone.get()

proomno1=proomno.get()

pspezialiest1=pspezialiest.get()

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "INSERT INTO


patient(pno,pname,paddress,pgender,page,pphone,proomno,pspezialiest )VALUES("+pno1+",'"+pna
me1+"','"+paddress1+"','"+pgender1+"',"+page1+","+pphone1+","+proomno1+",'"+pspezialiest1+"')"

cursor.execute(sql)

db.commit()

messagebox.showinfo("Patient Record", "Added")

db.close()
self.patientform()

def callselect():

pno1=pno.get()

pname.delete(0,END)

paddress.delete(0,END)

pgender.delete(0,END)

page.delete(0,END)

pphone.delete(0,END)

proomno.delete(0,END)

pspezialiest.delete(0,END)

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT * FROM patient WHERE pno = "+pno1+""


cursor.execute(sql)

results = cursor.fetchall()

for row in results:

pname.insert(0,row[1])

paddress.insert(0,row[2])

pgender.insert(0,row[3])

pphone.insert(0,row[4])

page.insert(0,row[5])

proomno.insert(0,row[6])

pspezialiest.insert(0,row[7])

db.close()

def callupdate():

pno1=pno.get()

pname1=pname.get()

paddress1=paddress.get()

pgender1=pgender.get()

page1=page.get()

pphone1=pphone.get()

proomno1=proomno.get()

pspezialiest1=pspezialiest.get()
import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "UPDATE patient SET pname= '"+pname1+


"',paddress='"+paddress1+"',pgender='"+pgender1+"',page="+page1+" ,pphone="+pphone1+",proo
mno="+proomno1+" ,pspezialiest='"+pspezialiest1+"' WHERE pno ="+pno1+" "

cursor.execute(sql)

db.commit()

messagebox.showinfo("Patient Record", "Updated")

db.close()

def calldelete():

pno1=pno.get()

pno.delete(0,END)
pname.delete(0,END)

paddress.delete(0,END)

pgender.delete(0,END)

page.delete(0,END)

pphone.delete(0,END)

proomno.delete(0,END)

pspezialiest.delete(0,END)

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "DELETE FROM patient WHERE pno ="+pno1+""

cursor.execute(sql)

db.commit()

messagebox.showinfo("Patient's Record", "Deleted")


db.close()

def getsex():

pgender.delete(0,END)

#sname.insert(0,"PPP")

if(sex1.get()==1):

sexsel="Male"

elif(sex1.get()==2):

sexsel="Female"

elif(sex1.get()==3):

sexsel="Other"

pgender.insert(0,sexsel)

l1=Label(self,text=" Patient no",bg="pink",font='comicsansms 9 bold ')

l1.pack()

l1.place(x=50,y=100)

pno=Entry(self,fg="black", bg="white")

pno.pack()

pno.place(x=200, y=100)

l2=Label(self,text=" Patient Name",bg="pink",font='comicsansms 9 bold ')

l2.pack()

l2.place(x=50,y=130)
pname=Entry(self,fg="black", bg="white")

pname.pack()

pname.place(x=200, y=130)

l3=Label(self,text=" Patient Address",bg="pink",font='comicsansms 9 bold ')

l3.pack()

l3.place(x=50,y=160)

paddress=Entry(self,fg="black", bg="white")

paddress.pack()

paddress.place(x=200, y=160)

l4=Label(self,text=" Gender :",bg="pink",font='comicsansms 9 bold ')

l4.pack()

l4.place(x=50,y=190)

sex2 = IntVar()

sex1 = IntVar()

s1=Radiobutton(self,variable=sex1,value=1,text="Male",command=getsex,font='comicsansms 9
bold ')

s1.pack()

s1.place(x=200,y=190)

s2=Radiobutton(self,variable=sex1,value=2,text="Female",command=getsex,font='comicsansms
9 bold ')

s2.pack()

s2.place(x=250,y=190)
s3=Radiobutton(self,variable=sex1,value=3,text="Other",command=getsex,font='comicsansms
9 bold ')

s3.pack()

s3.place(x=315,y=190)

pgender=Entry(self,fg="black")

pgender.pack()

pgender.place(x=500, y=190)

l5=Label(self,text="Telephone Number",bg="pink",font='comicsansms 9 bold ')

l5.pack()

l5.place(x=50,y=220)

pphone=Entry(self,fg="black", bg="white")

pphone.pack()

pphone.place(x=200, y=220)

l6=Label(self,text="Age",bg="pink",font='comicsansms 9 bold ')

l6.pack()

l6.place(x=50,y=250)

page=Entry(self,fg="black", bg="white")

page.pack()

page.place(x=200, y=250)
l7=Label(self,text="Room No. alloted",bg="pink",font='comicsansms 9 bold ')

l7.pack()

l7.place(x=50,y=280)

proomno=Entry(self,fg="black", bg="white")

proomno.pack()

proomno.place(x=200, y=280)

l8=Label(self,text="Specialist required",bg="pink",font='comicsansms 9 bold ')

l8.pack()

l8.place(x=50,y=310)

var = StringVar(self)

var.set("") # initial value

option = OptionMenu(self, var,


"Dentist","Cardiologist","Dermatologist","Gynecologist","Neurologist","Ophthalmologist","Paediatri
cian","Radiologist","Surgeon","ENT specialist","Emergency Doctor")

option.pack()

option.place(x=200,y=310)

def ok():

a=str(var.get())

if(a=="Dentist"):

spl="Dentist"

elif(a=="Neurosurgeon"):
spl="Neurosurgeon"

elif(a=="Cardiologist"):

spl="Cardiologist"

elif(a=="Dermatologist"):

spl="Dermatologist"

elif(a=="Gynecologist"):

spl="Gynecologist"

elif(a=="Neurologist"):

spl="Neurologist"

elif(a=="Ophthalmologist"):

spl="Ophthalmologist"

elif(a=="Paediatrician"):

spl="Paediatrician"

elif(a=="Radiologist"):

spl="Radiologist"
elif(a=="Surgeon"):

spl="Surgeon"

elif(a=="ENT specialist"):

spl="ENT specialist"

elif(a=="Emergency Doctor"):

spl="Emergency Doctor"

pspezialiest.delete(0,END)

pspezialiest.insert(0,spl)

button = Button(self, text="OK", command=ok, activebackground="salmon")

button.pack()

button.place(x=400,y=310)

pspezialiest=Entry(self)

pspezialiest.pack()

pspezialiest.place(x=500,y=310)

add_but=Button(self,text="Add",fg='navy',bg='light yellow',height=2,width=20, command =


callinsert,font='comicsansms 9 bold ')

add_but.pack()

add_but.place(x=200, y=500)
upt_but=Button(self,text="Update",fg='navy',bg='light yellow',height=2,width=20,command =
callupdate,font='comicsansms 9 bold ')

upt_but.pack()

upt_but.place(x=400, y=500)

del_but=Button(self,text="Delete",fg='navy',bg='light yellow',height=2,width=20, command =


calldelete,font='comicsansms 9 bold ')

del_but.pack()

del_but.place(x=600, y=500)

clr_but=Button(self,text="Clear",fg='navy',bg='light yellow',height=2,width=20,command =
evClear,font='comicsansms 9 bold ')

clr_but.pack()

clr_but.place(x=800, y=500)

src_but=Button(self,text="Search",fg='navy',bg='light yellow',height=2,width=20, command =


callselect,font='comicsansms 9 bold ')

src_but.pack()

src_but.place(x=1000, y=500)

def doctorform(self):

""" this line ti add extra """

self.destroy_children()

self.Photohob = PhotoImage(file="background4.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)
self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=1050,y=10)

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1200, y=630)

l68=Label(self,text="Doctor Data",fg='black',font='comicsansms 20 bold ')

l68.pack()

l68.place(x=350,y=25)

def evClear():

dno.delete(0,END)

dname.delete(0,END)

dfee.delete(0,END)

dspz.delete(0,END)

dadd.delete(0,END)

droomno.delete(0,END)

dage.delete(0,END)

dphone.delete(0,END)

gender.delete(0,END)
def callinsert():

dno1=dno.get()

dname1=dname.get()

dfee1=dfee.get()

dspz1=dspz.get()

dadd1=dadd.get()

droomno1=droomno.get()

dage1=dage.get()

dphone1=dphone.get()

gender1=gender.get()

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "INSERT INTO


doctor(dno,dname,dfee,dspz,dadd,droomno,dage,dphone,dgender)VALUES("+dno1+",'"+dname1+"'
,"+dfee1+",'"+dspz1+"','"+dadd1+"',"+droomno1+","+dage1+","+dphone1+",'"+gender1+"' ) "

cursor.execute(sql)
db.commit()

self.doctorform()

messagebox.showinfo("Doctor Record", "Added")

db.close()

def callselect():

dno1=dno.get()

dname.delete(0,END)

dfee.delete(0,END)

dspz.delete(0,END)

dadd.delete(0,END)

droomno.delete(0,END)

dage.delete(0,END)

dphone.delete(0,END)

gender.delete(0,END)

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")
else:

print("not connected")

cursor = db.cursor()

sql = "SELECT * FROM doctor WHERE dno = "+dno1+""

cursor.execute(sql)

results = cursor.fetchall()

for row in results:

dname.insert(0,row[1])

dfee.insert(0,row[2])

dspz.insert(0,row[3])

dadd.insert(0,row[4])

droomno.insert(0,row[5])

dage.insert(0,row[6])

dphone.insert(0,row[7])

gender.insert(0,row[8])

db.close()

def callupdate():

dno1=dno.get()

dname1=dname.get()
dfee1=dfee.get()

dspz1=dspz.get()

dadd1=dadd.get()

droomno1=droomno.get()

dage1=dage.get()

dphone1=dphone.get()

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "UPDATE doctor SET dname= '"+dname1+


"',dfee="+dfee1+",dspz='"+dspz1+"' ,dadd='"+dadd1+"',droomno="+droomno1+" ,dage="+dage1+",d
phone="+dphone1+" WHERE dno ="+dno1+" "

cursor.execute(sql)

db.commit()
messagebox.showinfo("Doctor Record", "Updated")

db.close()

def calldelete():

dno1=dno.get()

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "DELETE FROM doctor WHERE dno ="+dno1+""

cursor.execute(sql)

db.commit()

messagebox.showinfo("Doctor", "Deleted")

db.close()

dno.delete(0,END)

dname.delete(0,END)

dfee.delete(0,END)
dspz.delete(0,END)

dadd.delete(0,END)

droomno.delete(0,END)

dage.delete(0,END)

dphone.delete(0,END)

gender.delete(0,END)

def getsex():

gender.delete(0,END)

#sname.insert(0,"PPP")

if(sex1.get()==1):

sexsel="Male"

elif(sex1.get()==2):

sexsel="Female"

elif(sex1.get()==3):

sexsel="Other"

gender.insert(0,sexsel)

##print sex1.get()

l1=Label(self,text=" Doctor no ",bg="pink",font='comicsansms 9 bold ')

l1.pack()

l1.place(x=50,y=100)
dno=Entry(self,fg="black", bg="white")

dno.pack()

dno.place(x=200, y=100)

l2=Label(self,text=" Doctor name",bg="pink",font='comicsansms 9 bold ')

l2.pack()

l2.place(x=50,y=130)

dname=Entry(self,fg="black", bg="white")

dname.pack()

dname.place(x=200, y=130)

l3=Label(self,text="Fee per patient",bg="pink",font='comicsansms 9 bold ')

l3.pack()

l3.place(x=50,y=160)

dfee=Entry(self,fg="black", bg="white")

dfee.pack()

dfee.place(x=200, y=160)

l5=Label(self,text="Specialising in",bg="pink",font='comicsansms 9 bold ')

l5.pack()

l5.place(x=50,y=220)

var = StringVar(self)

var.set("") # initial value


option = OptionMenu(self,
var,"Dentist","Cardiologist","Anesthesiologist","Dermatologist","Gynecologist","Neurologist","Ophth
almologist","Paediatrician","Radiologist","Surgeon","ENT specialist","Emergency Doctor")

option.pack()

option.place(x=200,y=220)

def ok():

a=str(var.get())

if(a=="Dentist"):

spl="Dentist"

elif(a=="Cardiologist"):

spl="Cardiologist"

elif(a=="Anesthesiologist"):

spl="Anesthesiologist"

elif(a=="Dermatologist"):

spl="Dermatologist"

elif(a=="Gynecologist"):

spl="Gynecologist"

elif(a=="Neurologist"):

spl="Neurologist"

elif(a=="Ophthalmologist"):
spl="Ophthalmologist"

elif(a=="Paediatrician"):

spl="Paediatrician"

elif(a=="Radiologist"):

spl="Radiologist"

elif(a=="Surgeon"):

spl="Surgeon"

elif(a=="ENT specialist"):

spl="ENT specialist"

elif(a=="Emergency Doctor"):

spl="Emergency Doctor"

dspz.delete(0,END)

dspz.insert(0,spl)

button = Button(self, text="OK", command=ok, activebackground="salmon")

button.pack()

button.place(x=400,y=220)

dspz=Entry(self)
dspz.pack()

dspz.place(x=500, y=220)

l7=Label(self,text=" Address ",bg="pink",font='comicsansms 9 bold ')

l7.pack()

l7.place(x=50,y=280)

dadd=Entry(self,fg="black", bg="white")

dadd.pack()

dadd.place(x=200, y=280)

l8=Label(self,text=" Room no",bg="pink",font='comicsansms 9 bold ')

l8.pack()

l8.place(x=50,y=310)

droomno=Entry(self,fg="black", bg="white")

droomno.pack()

droomno.place(x=200, y=310)

l9=Label(self,text="Gender",bg="pink",font='comicsansms 9 bold ')

l9.pack()

l9.place(x=50,y=340)

sex2 = IntVar()

sex1 = IntVar()
s1=Radiobutton(self,variable=sex1,value=1,text="Male",command=getsex)

s1.pack()

s1.place(x=200,y=340)

s2=Radiobutton(self,variable=sex1,value=2,text="Female",command=getsex)

s2.pack()

s2.place(x=300,y=340)

s3=Radiobutton(self,variable=sex1,value=3,text="Other",command=getsex)

s3.pack()

s3.place(x=400,y=340)

gender=Entry(self,fg="black", bg="white")

gender.pack()

gender.place(x=500, y=340)

l10=Label(self,text="Age",bg="pink",font='comicsansms 9 bold ')

l10.pack()

l10.place(x=50,y=370)

dage=Entry(self,fg="black", bg="white")

dage.pack()

dage.place(x=200, y=370)

l6=Label(self,text="Phone",bg="pink",font='comicsansms 9 bold ')

l6.pack()
l6.place(x=50,y=400)

dphone=Entry(self,fg="black", bg="white")

dphone.pack()

dphone.place(x=200, y=400)

add_but=Button(self,text="Add",fg='navy',bg='light yellow',height=2,width=20, command =


callinsert,font='comicsansms 9 bold ')

add_but.pack()

add_but.place(x=200, y=500)

upt_but=Button(self,text="Update",fg='navy',bg='light yellow',height=2,width=20,command =
callupdate,font='comicsansms 9 bold ')

upt_but.pack()

upt_but.place(x=400, y=500)

del_but=Button(self,text="Delete",fg='navy',bg='light yellow',height=2,width=20, command =


calldelete,font='comicsansms 9 bold ')

del_but.pack()

del_but.place(x=600, y=500)

clr_but=Button(self,text="Clear",fg='navy',bg='light yellow',height=2,width=20,command =
evClear,font='comicsansms 9 bold ')

clr_but.pack()

clr_but.place(x=800, y=500)

src_but=Button(self,text="Search",fg='navy',bg='light yellow',height=2,width=20, command =


callselect,font='comicsansms 9 bold ')

src_but.pack()
src_but.place(x=1000, y=500)

def doctorrecord(self):

""" this line ti add extra """

self.destroy_children()

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1200, y=630)

self.Photohob = PhotoImage(file="background2.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)

Label(self, text="Doctor records",bg='black', fg='white',font='comicsansms 20 bold


underline').place(x=500,y=10)

self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=1050,y=10)

import mysql.connector as ms

db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):
print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT dno,dname,dspz,dfee FROM doctor"

cursor.execute(sql)

results = cursor.fetchall()

Label(self, text="Doctor No:",bg='black', fg='white',font='comicsansms 13


bold').place(x=10,y=100)

Label(self, text="Doctor name:",bg='black', fg='white',font='comicsansms 13


bold').place(x=200,y=100)

Label(self, text="Specializing in:",bg='black', fg='white',font='comicsansms 13


bold').place(x=400,y=100)

Label(self, text="Fee:" ,bg='black', fg='white',font='comicsansms 13


bold' ).place(x=600,y=100)

r = IntVar()

r=200

for row in results:

dno2 = StringVar()

dname2 = StringVar()

dspz2 = StringVar()
dfee2 = StringVar()

Label(self, textvariable=dno2,bg='black', fg='cyan',font='comicsansms 13 ' ).place(x=10,y=r)

Label(self, textvariable=dname2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=200,y=r)

Label(self, textvariable=dspz2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=400,y=r)

Label(self, textvariable=dfee2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=600,y=r)

dno2.set(row[0])

dname2.set(row[1])

dspz2.set(row[2])

dfee2.set(row[3])

r=r+50

#s = v.get()

db.close()
def patientrecord(self):

""" this line ti add extra """

self.destroy_children()

self.Photohob = PhotoImage(file="background2.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=0,y=0)

Label(self, text="Patient records",bg='black', fg='white',font='comicsansms 20 bold


underline').place(x=500,y=10)

self.Photohob = PhotoImage(file="logo.gif")

self.label100 = Label(self,image = self.Photohob)

self.label100.image = self.Photohob

self.label100.pack()

self.label100.place(x=1050,y=10)

ree_but=Button(self,text="Main Menu",fg='navy',bg='light yellow',height=1,width=10,


command= self.Mainpage)

ree_but.pack()

ree_but.place(x=1200, y=630)

import mysql.connector as ms
db = ms.connect(host="localhost",user="root",passwd="root1",database="hospitalproject1")

if(db.is_connected()):

print("Connected")

else:

print("not connected")

cursor = db.cursor()

sql = "SELECT pno,pname,proomno,pgender,pspezialiest FROM patient"

cursor.execute(sql)

results = cursor.fetchall()

Label(self, text="Patient No:",bg='black', fg='white',font='comicsansms 13


bold').place(x=10,y=100)

Label(self, text="Pname:",bg='black', fg='white',font='comicsansms 13


bold').place(x=200,y=100)

Label(self, text="Room No:",bg='black', fg='white',font='comicsansms 13


bold').place(x=400,y=100)

Label(self, text="Gender:" ,bg='black', fg='white',font='comicsansms 13


bold' ).place(x=600,y=100)

Label(self, text="Specialist Needed:",bg='black', fg='white',font='comicsansms 13


bold').place(x=800,y=100)

r = IntVar()

r=200

for row in results:

pno2 = StringVar()
pname2 = StringVar()

proomno2 = StringVar()

pgender2 = StringVar()

pspezialiest2 = StringVar()

Label(self, textvariable=pno2,bg='black', fg='cyan',font='comicsansms 13 ' ).place(x=10,y=r)

Label(self, textvariable=pname2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=200,y=r)

Label(self, textvariable=proomno2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=400,y=r)

Label(self, textvariable=pgender2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=600,y=r)

Label(self, textvariable=pspezialiest2,bg='black', fg='cyan',font='comicsansms 13


' ).place(x=800,y=r)

pno2.set(row[0])

pname2.set(row[1])

proomno2.set(row[2])

pgender2.set(row[3])

pspezialiest2.set(row[4])
r=r+50

#s = v.get()

db.close()

def main():

root = Tk()

root.geometry("1500x500+500+0")

app = Hospital(root)

root.mainloop()

if __name__ == '__main__':

main()

You might also like