Project On Hospital Management Using Oracle Forms
Project On Hospital Management Using Oracle Forms
GROUP MEMBERS
FORM NO.
SAHELI BHATTACHARYA
28119
POULAMEE MUKHERJEE
27242
PRIYANKA SEN
26765
PATRALI DUTTA
26764
DEBASMITA DEB
26766
POUSHALI DUTTA
27448
ACKNOWLEDGEMENT
We take upon this opportunity endowed upon us by the
grace of the
Almighty , to thank all those who have been part of
this endeavour .
Firstly, we would like to thank GLOBSYN FINISHING
SCHOOL for
Giving us the opportunity as well as lending us the
resources to fulfill our
work.
We would like to thank our mentor PROF. ARNAB
CHAKRABORTY
for giving us the right direction to follow and proper
guidance regarding
the topic. Without his active involvement and the right
guidance this
would not have been possible .we sincerely thank him
for giving us the
chance as well as the support for all the time being.
Last but not the least, we heartily appreciate all those
people who have
helped us directly or indirectly in making these task a
success.
INDEX
1.INTRODUCTION
2. REQUIREMENT SPECIFICATION:
2.1 Domain description
2.2 Problem definition
2.3 Functional requirements
2.4 Hardware & Software requirements
3. DATABASE DESIGN
3.1 ER diagram
3.2 Table description
4. SCREEN SHOTS
5. FUTURE SCOPE OF IMPROVEMENTS
6. CODE
INTRODUCTION
This is a project work undertaken during SUMMER
TRAINING 2015 at GLOBSYN FINISHING SCHOOL.
We have tried our best to make this project which is
HOSPITAL PATIENT BOOKING SYSTEM using ORACLE
10g and ORACLE DEVELOPER SUITE as simple as
possible which could help the administrators and staffs to use
and to manipulate different field values easily.
This project consists of two types of users:
1: Staff
2: Administrator (Who are involved in the updation and
manipulation of the tables)
REQUIREMENT SPECIFICATION
Domain Descriptions
The main aim of the entire activity is to automate the process
of day to day activities of Hospital like Ward activities,
Admission of a New Patient, Assigning a bed according to
availability, Patients test details, Entering test details,
Discharge description and finally Computing the bill etc. The
limited time and resources have restricted us to incorporate,
in this project, only main activities that are performed in a
HOSPITAL PATIENT BOOKING SYSTEM , but utmost care has
been taken to make the system efficient and user friendly.
HOSPITAL PATIENT BOOKING SYSTEM has been designed to
computerize all the functions that are performed by the
system.
Problem Description
Problem: A Project on HOSPITAL PATIENT BOOKING SYSTEM
Problem Definition:
This is a Project work undertaken in context of partial
fulfilment of PROJECT. We have tried our best to make the
complicated process of HOSPITAL PATIENT BOOKING SYSTEM
as simple as possible using Sql, triggers, forms builder. We
have tried to design the software in such a way that the user
may not have any difficulty in using this package & further
expansion is possible without much effort. Even though we
cannot claim this work to be entirely exhaustive, the main
purpose of our exercise is to perform each Employees
activity in computerized way rather than manually which is
time consuming. We are confident that this software package
can be readily used by non-programming personal avoiding
human handled chance of error. This project is used by
Administrator (management of the Hospital).Administrator
must be an authorized user who can maintain daily updates
in the hospital records. He can further change the password.
There is the facility for password changing, logout etc.Also a
Nurse must be an authorised user who can maintain the
treatment aspect of the patient. There is a facility for
login,signup,test entries,billing etc.
Functionality Required:
Online Hospital management system is a web based
software system that will control every aspect of a
hospital. This system should have following facilities:
E-R DIAGRAM
STAFF_ID
USER_ID
PASSWORD
AC/NAC
FLOOR_NO
PERSON
GENDER
ROOM_TYPE
BLOCK_NO
ROOM
HAS
ACCOUNT
ROOM_ID
HAS
ID
DESIGNATION
BED_NO
ROOM_ID
NAME
STAFF
BED
AVAILABILITY
CONTACT_NO
BED
BED CHARGE
AGE
ADDRESS
HAS
ADMDATE
PID
PATHOLOGY
COST
DESIGNATION
GENDER
PTYPE
OTHER_COST
DID
ADDRESS
PATIENT
ADMIT
DNAME
PNAME
DID
DOCTOR
GENDER
PID
RELDATE
BED_NO
BED_CHARGE
MED_COST
ADMITID
PH_NO
SURGERY
MASTER
FEES
SID
STYPE
NOTE: * Admit_id:(pid,sid,did,bedno)
PH_NO
DATABASE TABLES:
DATABASE DESIGN: STAFF TABLE
ATTRIBUTES
ID
NAME
AGE
GENDER
ADDRESS
CONTACT
DSGN
CONSTRAINT
PRIMARY KEY
DATATYPE
INTEGER
VARCHAR2(10)
INTEGER
VARCHAR2(10)
VARCHAR2(15)
VARCHAR2(15)
VARCHAR2(15)
PERSON TABLE(LOGIN_PAGE)
ATTRIBUTES
PERSON_ID
CONSTRAINT
PERSON_PASSWORD
ID
FOREIGN KEY
DATATYPE
VARCHAR2(15)
VARCHAR2(15)
INTEGER
ROOM_TABLE
ATTRIBUTES
ROOM_ID
ROOM_TYPE
AC_NAC
FLOOR_NO
CONSTRAINT
PRIMARY KEY
DATATYPE
NUMBER(10)
VARCHAR2(10)
VARCHAR2(10)
NUMBER(10)
CONSTRAINT
primary key
Foreign key
DATATYPE
number(10)
number(10)
Varchar2(20)
BED_TABLE
ATTRIBUTES
bed_no
room_id
bed_availability
bed_charge
number(10)
DOCTOR_TABLE
ATTRIBUTES
doctor_id
Id
Dname
Gender
designation
ph_no
CONSTRAINT
primary key
Foreign key
DATATYPE
integer
integer
varchar2(20)
varchar2(20)
varchar2(20)
varchar2(20)
CONSTRAINT
primary key
DATATYPE
number(10)
varchar2(50)
number(10,2)
CONSTRAINT
primary key
DATATYPE
integer
varchar2(10)
varchar2(10)
varchar2(10)
varchar2(10)
varchar2(30)
number (10)
PATIENT_TABLE
ATTRIBUTES
Pid
Pname
address
gender
ptype
email
cont_no
CONSTRAINT
foreign key
PRIMARY KEY
DATATYPE
INTEGER
VARCHAR(20)
DATE
DATE
INTEGER
NUMBER(10)
NUMBER(10,2)
NUMBER(10,2)
NUMBER(10,2)
NUMBER(10,2)
NUMBER(10,2)
NUMBER(10,2)
PROGRAM CODE:
TABLE CREATION CODE
TABLE CREATION CODE:
--------STAFF TABLE------------------------------------
commit;
INSERTING VALUES----
-----------------------login-----------------------
commit;
------------------------room details---------------------------
commit;
------------------bed details----------------------------------------
commit;
-----------------doctor details-------------------------------------
-------------------patient details------------------------
cycle;
commit;
ADMIT TABLE-----------
admdate date ,
reldate date,
did integer,
admitid number(10) primary key,
bed_charge number(10,2),
bed_no number(10),
s_id number(10),
s_type varchar2(50),
fees number(10,2),
med_cost number(10,2),
other_cost number(10,2),
pathology_cost number(10,2),
total_cost number(10,2)
);
DID
ADMITID BED_CHARGE
BED_NO
1 no
32 no
1 yes
21 yes
3000
3500
2000
5000
BED_NO
1 no
32 no
1 no
21 yes
3000
3500
2000
5000
DID
ADMITID BED_CHARGE
4 07-JUL-15
DID
ADMITID BED_CHARGE
500
4 07-JUL-15
3000
1000
BED_NO
1 yes
32 no
1 no
21 yes
3000
3500
2000
5000
--------PERSON DETAILS-----
CODES:
CODE FOR BACKGROUND IMAGE:
read_image_file('C:\Documents and Settings\All
Users\Documents\My Pictures\Sample
Pictures\image.tif','tif','image47');
declare
rec_user person%rowtype;
num integer;
a integer;
no_uname exception;
no_pass exception;
wrong_input exception;
no_match exception;
begin
if (:block13.ti1) is null then
raise no_uname;
elsif (:block13.ti2) is null then
raise no_pass;
else
select count(*) into num from person where
person_id=:block13.ti1 and
person_password=:block13.ti2;
if num=1 then
select * into rec_user from person where
person_id=:block13.ti1 and
person_password=:block13.ti2;
:global.uname:=rec_user.person_id;
end if;
else
raise no_match;
end if;
end if;
exception
when no_uname then
----message('no user id...');
a:=show_alert('nouserid');
when no_pass then
---message('no password...');
a:=show_alert('nopassword');
when wrong_input then
----message('wrong input...');
a:=show_alert('wronginput');
when no_match then
-----message('no match...');
a:=show_alert('nomatch');
end;
open_form('C:\Documents and
Settings\Administrator\Desktop\hospital\LOGIN.fmx',
activate,no_session);
declare
rec_user person%rowtype;
num integer;
a integer;
no_record exception;
no_pass exception;
begin
if (:block7.ti1) is null or (:block7.ti2) is null or
(:block7.ti3) is null or (:block7.ti4) is null or
(:block7.ti5) is null or (:block7.ti6) is null then
raise no_record;
end if;
exception
when no_record then
message('some fields remain blank...');
message('some fields remain blank...');
when no_pass then
message('user id & password of admin are wrong');
message('user id & password of admin are wrong');
end;
:di1:=:global.rectotno+1;
:ti2:=' ';
:ti3:=' ';
:ti4:=' ';
:ti5:=' ';
:li1:=' ';
:li2:=' ';
go_item('ti1');
begin
delete from staff where id=:di1;
:global.rectotno:=:global.rectotno-1;
:di1:=' ';
:ti2:=' ';
:ti3:=' ';
:ti4:=' ';
:ti5:=' ';
:li1:=' ';
:li2:=' ';
go_item('ti1');
standard.commit;
end;
declare
a number;
b number;
begin
if(:ti2 is null or :ti3 is null or :ti4 is null or :ti5 is
null or :li1 is null or :li2 is null) then
a:=show_alert('blankdetails');
go_item('ti1');
else
insert into staff
values(staffseq.nextval,:ti2,:ti3,:li1,:ti4,:ti5,:li2);
standard.commit;
:global.rectotno:=:global.rectotno+1;
:global.recno:=:global.rectotno;
:di2:=:global.recno||'/'||:global.rectotno;
b:=show_alert('successfulinsertion');
end if;
end;
declare
staffid staff.id%type;
staffname staff.name%type;
staffage staff.age%type;
staffgender staff.gender%type;
staffaddress staff.address%type;
staffcontact staff.contact%type;
staffdsgn staff.dsgn%type;
begin
:global.recno:=1;
select id,name,age,gender,address,contact,dsgn
into
staffid,staffname,staffage,staffgender,staffaddre
ss,staffcontact,staffdsgn
from
(
select rownum
rn,id,name,age,gender,address,contact,dsgn
from staff
order by rn asc
)
where rn=:global.recno;
:di1:=staffid;
:ti2:=staffname;
:ti3:=staffage;
:li1:=staffgender;
:ti4:=staffaddress;
:ti5:=staffcontact;
:li2:=staffdsgn;
:di2:=:global.recno||'/'||:global.rectotno;
end;
declare
staffid staff.id%type;
staffname staff.name%type;
staffage staff.age%type;
staffgender staff.gender%type;
staffaddress staff.address%type;
staffcontact staff.contact%type;
staffdsgn staff.dsgn%type;
a number;
begin
if (:global.recno = :global.rectotno) then
a:=show_alert('lastposition');
else
:global.recno:=:global.rectotno;
select
id,name,age,gender,address,contact,dsgn into
staffid,staffname,staffage,staffgender,staffaddre
ss,staffcontact,staffdsgn
from
(
select rownum
rn,id,name,age,gender,address,contact,dsgn
from staff
order by rn asc
)
where rn=:global.recno;
:di1:=staffid;
:ti2:=staffname;
:ti3:=staffage;
:li1:=staffgender;
:ti4:=staffaddress;
:ti5:=staffcontact;
:li2:=staffdsgn;
:di2:=:global.recno||'/'||:global.rectotno;
end if;
end;
declare
staffid staff.id%type;
staffname staff.name%type;
staffage staff.age%type;
staffgender staff.gender%type;
staffaddress staff.address%type;
staffcontact staff.contact%type;
staffdsgn staff.dsgn%type;
a number;
begin
if (:global.recno = 1) then
a:=show_alert('firstposition');
else
:global.recno:=:global.recno-1;
select
id,name,age,gender,address,contact,dsgn into
staffid,staffname,staffage,staffgender,staffaddre
ss,staffcontact,staffdsgn
from
(
select rownum
rn,id,name,age,gender,address,contact,dsgn
from staff
order by rn asc
)
where rn=:global.recno;
:di1:=staffid;
:ti2:=staffname;
:ti3:=staffage;
:li1:=staffgender;
:ti4:=staffaddress;
:ti5:=staffcontact;
:li2:=staffdsgn;
:di2:=:global.recno||'/'||:global.rectotno;
end if;
end;
declare
staffid staff.id%type;
staffname staff.name%type;
staffage staff.age%type;
staffgender staff.gender%type;
staffaddress staff.address%type;
staffcontact staff.contact%type;
staffdsgn staff.dsgn%type;
a number;
begin
if (:global.recno = :global.rectotno) then
a:=show_alert('lastposition');
else
:global.recno:=:global.recno+1;
select
id,name,age,gender,address,contact,dsgn into
staffid,staffname,staffage,staffgender,staffaddre
ss,staffcontact,staffdsgn
from
(
select rownum
rn,id,name,age,gender,address,contact,dsgn
from staff
order by rn asc
)
where rn=:global.recno;
:di1:=staffid;
:ti2:=staffname;
:ti3:=staffage;
:li1:=staffgender;
:ti4:=staffaddress;
:ti5:=staffcontact;
:li2:=staffdsgn;
:di2:=:global.recno||'/'||:global.rectotno;
end if;
end;
:di1 := :global.reccount+1;
:ti1:='';
:ti2:='';
:li1:='';
:ti4:='';
:ti5:='';
:ti6:='';
go_item('ti1');
begin
delete from patient where Pid=:di1;
:global.reccount:=:global.reccount-1;
:di1:='';
:ti1:='';
:ti2:='';
:li1:='';
:ti4:='';
:ti5:='';
:ti6:='';
go_item('ti1');
standard.commit;
end;
declare
a number;
begin
if (:ti1 is null or :ti2 is null or :li1 is null or :ti4
is null or :ti5 is null or :ti6 is null) then
a:=show_alert('blankfield');
go_item('ti1');
else
insert into patient values
(patseq.nextval,:ti1,:ti2,:li1,:ti4,:ti5,:ti6);
standard.commit;
:global.reccount:=:global.reccount+1;
:global.currecno:=:global.reccount;
:di2:=:global.currecno||'/'||:global.reccount;
end if;
end;
declare
a number;
pat_id patient.Pid%type;
pat_name patient.Pname%type;
pat_add patient.address%type;
pat_gen patient.gender%type;
pat_type patient.ptype%type;
pat_email patient.email%type;
pat_contno patient.cont_no%type;
begin
select count(*) into a
from patient;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
----- message('I am in the then block...');
else
----message('I am in the else block...');
:global.currecno:=1;
:global.reccount:=a;
:di2:=:global.currecno||'/'||:global.reccount;
select
Pid,Pname,address,gender,ptype,email,cont_no into
pat_id,pat_name,pat_add,pat_gen,pat_type,pat_email,p
at_contno
from
(
select rownum
rn,Pid,Pname,address,gender,ptype,email,cont_no
from patient
order by rownum
)
where rn=1;
:di1:=pat_id;
:ti1:=pat_name;
:ti2:=pat_add;
:li1:=pat_gen;
:ti4:=pat_type;
:ti5:=pat_email;
:ti6:=pat_contno;
end if;
end;
declare
a number;
pat_id patient.Pid%type;
pat_name patient.Pname%type;
pat_add patient.address%type;
pat_gen patient.gender%type;
pat_type patient.ptype%type;
pat_email patient.email%type;
pat_contno patient.cont_no%type;
begin
select count(*) into a
from patient;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
---message('I am in the then block...');
else
---message('I am in the else block...');
:global.currecno:=a;
:global.reccount:=a;
:di2:=:global.currecno||'/'||:global.reccount;
select
Pid,Pname,address,gender,ptype,email,cont_no into
pat_id,pat_name,pat_add,pat_gen,pat_type, pat_email,
pat_contno
from
(
select rownum
rn,Pid,Pname,address,gender,ptype,email,cont_no
from patient
order by rownum
)
where rn=:global.reccount;
:di1:=pat_id;
:ti1:=pat_name;
:ti2:=pat_add;
:li1:=pat_gen;
:ti4:=pat_type;
:ti5:=pat_email;
:ti6:=pat_contno;
end if;
end;
a number;
pat_id patient.Pid%type;
pat_name patient.Pname%type;
pat_add patient.address%type;
pat_gen patient.gender%type;
pat_type patient.ptype%type;
pat_email patient.email%type;
pat_contno patient.cont_no%type;
begin
select count(*) into a
from patient;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
else
if (:global.currecno=:global.reccount) then
a := show_alert('lastrecord');
else
:global.currecno:=:global.currecno + 1;
select
Pid,Pname,address,gender,ptype,email,cont_no into
pat_id,pat_name,pat_add,pat_gen,pat_type,pat_email,p
at_contno
from
(
select rownum
rn,Pid,Pname,address,gender,ptype,email,cont_no
from patient
order by rownum
)
where rn=:global.currecno;
:di1:=pat_id;
:ti1:=pat_name;
:ti2:=pat_add;
:li1:=pat_gen;
:ti4:=pat_type;
:ti5:=pat_email;
:ti6:=pat_contno;
:di2:=:global.currecno||'/'||:global.reccount;
end if;
end if;
end;
declare
a number;
pat_id patient.Pid%type;
pat_name patient.Pname%type;
pat_add patient.address%type;
pat_gen patient.gender%type;
pat_type patient.ptype%type;
pat_email patient.email%type;
pat_contno patient.cont_no%type;
begin
select count(*) into a
from patient;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
else
if (:global.currecno=1) then
a := show_alert('firstrecord');
else
:global.currecno:=:global.currecno - 1;
select
Pid,Pname,address,gender,ptype,email,cont_no into
pat_id,pat_name,pat_add,pat_gen,pat_type,pat_email,p
at_contno
from
(
select rownum
rn,Pid,Pname,address,gender,ptype,email,cont_no
from patient
order by rownum
)
where rn=:global.currecno;
:di1:=pat_id;
:ti1:=pat_name;
:ti2:=pat_add;
:li1:=pat_gen;
:ti4:=pat_type;
:ti5:=pat_email;
:ti6:=pat_contno;
:di2:=:global.currecno||'/'||:global.reccount;
end if;
end if;
end;
INSERTION CODE----------------------------------
:di2:=:global.reccount+1;
:ti6:='';
:ti7:='';
:li8:='';
:ti9:='';
:ti10:='';
go_item('ti6');
DELETION CODE----------------------------------
declare
a number;
begin
delete from doctor where doctor_id=:di2;
a:=show_alert('recorddelete');
:global.reccount:=:global.reccount-1;
:di2:='';
:ti6:='';
:ti7:='';
:li8:='';
:ti9:='';
:ti10:='';
go_item('ti7');
standard.commit;
end;
UPDATION CODE----------------------------------
declare
a number;
begin
if(:ti6 is null or :ti7 is null or :li8 is null or :ti9 is
null or :ti10 is null)then
a:=show_alert('blankfield');
else
insert into doctor
values(docseq.nextval,:ti6,:ti7,:li8,:ti9,:ti10);
standard.commit;
a:=show_alert('successfulinsertion');
:global.reccount:=:global.reccount+1;
:global.currecno:=:global.reccount;
:di1:=:global.currecno||'/'||:global.reccount;
end if;
end;
declare
a number;
docid doctor.doctor_id%type;
id doctor.id%type;
docname doctor.dname%type;
gen doctor.gender%type;
des doctor.designation%type;
phno doctor.ph_no%type;
begin
select count(*) into a from doctor;
if(a=0) then
:global.reccount:=0;
:global.currecno:=0;
---------
else
--------
:global.currecno:=1;
:global.reccount:=a;
:di1:=:global.currecno||'/'||:global.reccount;
select
doctor_id,id,dname,gender,designation,ph_no into
docid,id,docname,gen,des,phno from
(
select rownum
rn,doctor_id,id,dname,gender,designation,ph_no
from doctor
order by rownum
)
where rn=1;
:di2:=docid;
:ti6:=id;
:ti7:=docname;
:li8:=gen;
:ti9:=des;
:ti10:=phno;
end if;
end;
declare
a number;
docid doctor.doctor_id%type;
id doctor.id%type;
docname doctor.dname%type;
gen doctor.gender%type;
des doctor.designation%type;
phno doctor.ph_no%type;
begin
select count(*) into a from doctor;
if(a=0) then
:global.reccount:=0;
:global.currecno:=0;
---
else
-------message('I am in th else block......');
:global.currecno:=a;
:global.reccount:=a;
:di1:=:global.currecno||'/'||:global.reccount;
select
doctor_id,id,dname,gender,designation,ph_no into
docid,id,docname,gen,des,phno from
(
select rownum
rn,doctor_id,id,dname,gender,designation,ph_no
from doctor
order by rownum
)
where rn=:global.reccount;
:di2:=docid;
:ti6:=id;
:ti7:=docname;
:li8:=gen;
:ti9:=des;
:ti10:=phno;
end if;
end;
declare
a number;
docid doctor.doctor_id%type;
id doctor.id%type;
docname doctor.dname%type;
gen doctor.gender%type;
des doctor.designation%type;
phno doctor.ph_no%type;
begin
select count(*) into a from doctor;
if(a=0)then
:global.reccount:=0;
:global.currecno:=0;
else
if(:global.currecno=1)then
a:=show_alert('FIRST');
else
:global.currecno:=:global.currecno-1;
select
doctor_id,id,dname,gender,designation,ph_no into
docid,id,docname,gen,des,phno from
(
select rownum
rn,doctor_id,id,dname,gender,designation,ph_no
from doctor
order by rownum
)
where rn=:global.currecno;
:di2:=docid;
:ti6:=id;
:ti7:=docname;
:li8:=gen;
:ti9:=des;
:ti10:=phno;
:di1:=:global.currecno||'/'||:global.reccount;
end if;
end if;
end;
declare
a number;
docid doctor.doctor_id%type;
id doctor.id%type;
docname doctor.dname%type;
gen doctor.gender%type;
des doctor.designation%type;
phno doctor.ph_no%type;
begin
message('I am here-1');
:di1:=:global.currecno||'/'||:global.reccount;
select count(*) into a from doctor;
if(a=0) then
:global.reccount:=0;
:global.currecno:=0;
---message('I am here-2');
else
if(:global.currecno=:global.reccount)then
a:=show_alert('ALERT47');
else
----- message('I am here-3');
:global.currecno:=:global.currecno + 1;
select
doctor_id,id,dname,gender,designation,ph_no into
docid,id,docname,gen,des,phno from
(
select rownum
rn,doctor_id,id,dname,gender,designation,ph_no
from doctor
order by rownum
)
where rn=:global.currecno;
----
message('I am here-4');
:di2:=docid;
:ti6:=id;
:ti7:=docname;
:li8:=gen;
:ti9:=des;
:ti10:=phno;
:di1:=:global.currecno||'/'||:global.reccount;
end if;
end if;
end;
declare
a number;
b number;
begin
if(:ti1 is null or :li2 is null or :li3 is null or :ti4 is
null) then
a:=show_alert('blankdetails');
go_item('ti1');
else
insert into room values (:ti1,:li2,:li3,:ti4 );
b:=show_alert('insertionsuccessful');
standard.commit;
:ti1:='';
:li2:='';
:li3:='';
:ti4:='';
go_item('ti1');
end if;
end;
declare
a number;
b number;
begin
if(:ti1 is null or :li2 is null or :li3 is null or :ti4 is
null) then
a:=show_alert('blankdetails');
go_item('ti1');
else
insert into room values (:ti1,:li2,:li3,:ti4 );
b:=show_alert('insertionsuccessful');
standard.commit;
:ti1:='';
:li2:='';
:li3:='';
:ti4:='';
go_item('ti1');
end if;
end;
update-------------------declare
a number;
b number;
begin
if(:bi1 is null or :ri1 is null or :li1 is null or :bc1
is null) then
a:=show_alert('blankdetails');
go_item('bi1');
else
insert into bed values(:bi1,:ri1,:li1,:bc1);
standard.commit;
:global.rectotno:=:global.rectotno+1;
:global.recno:=:global.rectotno;
:di7:=:global.recno||'/'||:global.rectotno;
b:=show_alert('successfulinsertion');
end if;
end;
-----------delete------------------
begin
delete from bed where bed_no=:bi1;
:global.rectotno:=:global.rectotno-1;
:bi1:=' ';
:ri1:=' ';
:li1:=' ';
:bc1:=' ';
go_item('bi1');
standard.commit;
end;
------------------movefirst---------------------------------declare
bedno bed.bed_no%type;
roomid bed.room_id%type;
bedavail bed.bed_availability%type;
bedcharge bed.bed_charge%type;
begin
:global.recno:=1;
select
bed_no,room_id,bed_availability,bed_charge into
bedno,roomid,bedavail,bedcharge
from
(
select rownum
rn,bed_no,room_id,bed_availability,bed_charge
from bed
order by rn asc
)
where rn=:global.recno;
:bi1:=bedno;
:ri1:=roomid;
:li1:=bedavail;
:bc1:=bedcharge;
:di7:=:global.recno||'/'||:global.rectotno;
end;
----------Move next------------------------declare
bedno bed.bed_no%type;
roomid bed.room_id%type;
bedavail bed.bed_availability%type;
bedcharge bed.bed_charge%type;
a number;
begin
if (:global.recno = :global.rectotno) then
a:=show_alert('lastposition');
else
:global.recno:=:global.recno+1;
select
bed_no,room_id,bed_availability,bed_charge into
bedno,roomid,bedavail,bedcharge
from
(
select rownum
rn,bed_no,room_id,bed_availability,bed_charge
from bed
order by rn asc
)
where rn=:global.recno;
:bi1:=bedno;
:ri1:=roomid;
:li1:=bedavail;
:bc1:=bedcharge;
:di7:=:global.recno||'/'||:global.rectotno;
end if;
end;
-------------------------Move preVIOUS--------------------------
declare
bedno bed.bed_no%type;
roomid bed.room_id%type;
bedavail bed.bed_availability%type;
bedcharge bed.bed_charge%type;
a number;
begin
if (:global.recno = 1) then
a:=show_alert('firstposition');
else
:global.recno:=:global.recno-1;
select
bed_no,room_id,bed_availability,bed_charge into
bedno,roomid,bedavail,bedcharge
from
(
select rownum
rn,bed_no,room_id,bed_availability,bed_charge
from bed
order by rn asc
)
where rn=:global.recno;
:bi1:=bedno;
:ri1:=roomid;
:li1:=bedavail;
:bc1:=bedcharge;
:di7:=:global.recno||'/'||:global.rectotno;
end if;
end;
------------------Move last----------------------
declare
bedno bed.bed_no%type;
roomid bed.room_id%type;
bedavail bed.bed_availability%type;
bedcharge bed.bed_charge%type;
a number;
begin
if (:global.recno = :global.rectotno) then
a:=show_alert('lastposition');
else
:global.recno:=:global.rectotno;
select
bed_no,room_id,bed_availability,bed_charge into
bedno,roomid,bedavail,bedcharge
from
(
select rownum
rn,bed_no,room_id,bed_availability,bed_charge
from bed
order by rn asc
)
where rn=:global.recno;
:bi1:=bedno;
:ri1:=roomid;
:li1:=bedavail;
:bc1:=bedcharge;
:di7:=:global.recno||'/'||:global.rectotno;
end if;
end;
begin
update bed
set bed_availability='no' where bed_no=:new.bed_no;
end;
/
:di4:='';
:di5:='';
:di6:='';
:di20:='';
:di21:='';
:ti1:='';
:di1:='';
:di10:='';
:ti2:='';
:ti3:='';
standard.commit;
:di2:=:di1+:ti1+:ti2+:ti3+:di6*(n+1);
standard.commit;
:global.reccount:=:global.reccount+1;
:global.currecno:=:global.currecno;
end;
FORM exit------------------exit_form;
-------update CODE--------------------------------
declare
---
a number;
----b number;
begin
if(:ti2 is null or :ti3 is null) then
----a:=show_alert('blankdetails');
message('ooooooooooo');
go_item('ti2');
else
insert into
admit(Pid,admitid,did,admdate,bed_no)values(:ti2,ads
eq.nextval,:ti3,:di1,:ti4);
message('yyyyyyyyyyyyyyyy');
standard.commit;
:global.rectotno:=:global.rectotno+1;
:global.recno:=:global.rectotno;
b:=show_alert('successfulinsertion');
end if;
end;
:di1:=:global.rectotno+1;
:si2:='';
:fi1:='';
go_item('si2');
standard.commit;
end if;
end;
CODE FOR RECORD GROUPS:
RELEASE FORM:
QUERY FOR RG1:
select to_char(s_id),to_char(s_id) from sur_mas ;
SCREENSHOTS:
LOGIN FORM:
ADMIT FORM:
RELEASE FORM
SIGN UP FORM
CONCLUSION:
The HOSPITAL PATIENT BOOKING SYSTEM is a step in
the direction to ease the structure of hospital
management. Some of the advantages that it enjoys
over Manual System are:
Data retrieval process becomes easy when it is
needed, if we use computer management instead of
manually. Storage capacity of the computer is also
excellent. Updating of data is easy in computerized
system. Data consistency is required for neat and
proper management that is achieved by computer
easily. Time is precious and speed is the order of
today. Our software supports this statement. With the
help of software, data redundancy reduces as
compared to manual.
FUTURE SCOPES:
Developing an interface so that staff can admit and release
patients ,assign them bed,doctor and calculate bill easily using
this software.
In this project one patient can go through one surgery at a
time. so it has to be developed so that multiple surgeries can
be done at a time .
REPORT:
BED REPORT
BILL REPORT
DAYWISE BILL
DURATION REPORT
MENU FORMAT :
Certificate
THIS IS TO CERTIFY THAT SAHELI BHATTACHARYA OF
HERITAGE INSTITUTE OF TECHNOLOGY HAS SUCCESSFULLY
COMPLETED THE PROJECT ON HOSPITAL PATIENT BOOKING
SYSTEM, UNDER THE GUIDANCE OF PROF.ARNAB
CHAKRABORTY USING ORACLE 10g FROM GLOBSYN FINISHING
SCHOOL IN SUMMER TRAINING PROGRAM 2015.
___________________
Signature and date
___________________________
PROF.ARNAB CHAKRABORTY
Certificate
THIS IS TO CERTIFY THAT POULAMEE MUKHERJEE OF
B.P.PODDAR INSTITUTE OF MANAGEMENT AND TECHNOLOGY
HAS SUCCESSFULLY COMPLETED THE PROJECT ON HOSPITAL
PATIENT BOOKING SYSTEM, UNDER THE GUIDANCE OF
PROF.ARNAB CHAKRABORTY USING ORACLE 10g FROM GLOBSYN
FINISHING SCHOOL IN SUMMER TRAINING PROGRAM 2015.
___________________
Signature and date
___________________________
PROF.ARNAB CHAKRABORTY
Certificate
THIS IS TO CERTIFY THAT PRIYANKA SEN OF
CALCUTTA INSTITUTE OF ENGINEERING AND MANAGEMENT
HAS SUCCESSFULLY COMPLETED THE PROJECT ON HOSPITAL
PATIENT BOOKING SYSTEM, UNDER THE GUIDANCE OF
PROF.ARNAB CHAKRABORTY USING ORACLE 10g FROM GLOBSYN
FINISHING SCHOOL IN SUMMER TRAINING PROGRAM 2015.
___________________
Signature and date
___________________________
PROF.ARNAB CHAKRABORTY
Certificate
THIS IS TO CERTIFY THAT PATRALI DUTTA OF
CALCUTTA INSTITUTE OF ENGINEERING AND MANAGEMENT
HAS SUCCESSFULLY COMPLETED THE PROJECT ON HOSPITAL
PATIENT BOOKING SYSTEM, UNDER THE GUIDANCE OF
PROF.ARNAB CHAKRABORTY USING ORACLE 10g FROM GLOBSYN
FINISHING SCHOOL IN SUMMER TRAINING PROGRAM 2015.
___________________
Signature and date
___________________________
PROF.ARNAB CHAKRABORTY
Certificate
THIS IS TO CERTIFY THAT DEBASMITA DEB OF
CALCUTTA INSTITUTE OF ENGINEERING AND MANAGEMENT
HAS SUCCESSFULLY COMPLETED THE PROJECT ON HOSPITAL
PATIENT BOOKING SYSTEM, UNDER THE GUIDANCE OF
PROF.ARNAB CHAKRABORTY USING ORACLE 10g FROM GLOBSYN
FINISHING SCHOOL IN SUMMER TRAINING PROGRAM 2015.
___________________
Signature and date
___________________________
PROF.ARNAB CHAKRABORTY
Certificate
THIS IS TO CERTIFY THAT POUSHALI DUTTA OF
RCC INSTITUTE OF INFORMATION TECHNOLOGY
HAS SUCCESSFULLY COMPLETED THE PROJECT ON HOSPITAL
PATIENT BOOKING SYSTEM, UNDER THE GUIDANCE OF
PROF.ARNAB CHAKRABORTY USING ORACLE 10g FROM GLOBSYN
FINISHING SCHOOL IN SUMMER TRAINING PROGRAM 2015.
___________________
Signature and date
___________________________
PROF.ARNAB CHAKRABORTY