Mountain View Communicy Hospital Report
-
Upload
kusheabhijeet -
Category
Documents
-
view
214 -
download
0
Transcript of Mountain View Communicy Hospital Report
-
8/10/2019 Mountain View Communicy Hospital Report
1/44
Mountain View Community Hospital
Case Study
INFO7275
Advanced Data Management and Database Design
Professor: Dimitrios Fotiadis
Fall 2010
PROJECT TEAM MEMBERS:
SALIM KHAN
TANVI CHITNIS
ABHIJEET KUSHE
-
8/10/2019 Mountain View Communicy Hospital Report
2/44
Mountain View Community Hospital
Case Study
INDEX
1. Introduction
2. Software used
3. Features Implemented
4. Phase 1: Data Modeling and Business Rules
4.1.ER model
4.2.EER model4.3.Merged ER and Enhanced ER model
5. Phase 2: Logical Database Design And Relational Model5.1.Relational Schema
6. Phase 3: Sql Programming6.1.Create Tables
6.2.Indexes
6.3.SQL Loader
7. Phase 4: Web-Enabled Database Interface
7.1.Overview
7.2.
Screenshots
8. Additional PL/SQL
-
8/10/2019 Mountain View Communicy Hospital Report
3/44
Mountain View Community Hospital
Case Study
1.Introduction
This project aims to implement a database application to support the basic functions of a
hospital.
The Mountain View Community Hospital System can be entered by using a username and
password. It can be accessed by a Patient or an Administrator. The Patient can open a new
account by registering for it. A Patient can login again at any later time and update his profile
if he wishes to.
An Administrator can help a patient by registering for the patient through his own work area.
An Administrator can view all Persons data or choose to view only Patient data. He/she can
delete one or more Person accounts. He/she can search for a Patient by his last name as well.
2.Software Used
Oracle 10g
Spring Source IDE
Microsoft Visio
-
8/10/2019 Mountain View Communicy Hospital Report
4/44
Mountain View Community Hospital
Case Study
3.Features Implemented
Encode/Decode Functions for Password encryption.
REF Cursor
Procedures
Functions
Packages
Triggers
Sequences
Tablespace
Dynamic SQL (Bind variables)
Decode statements
VARRAY
Merge Statements
SQL Loader
-
8/10/2019 Mountain View Communicy Hospital Report
5/44
Mountain View Community Hospital
Case Study
4.
Phase 1:
Enhanced ER model and Business Rules
4.1. ER model
-
8/10/2019 Mountain View Communicy Hospital Report
6/44
Mountain View Community Hospital
Case Study
4.1.1. Business Rules:
Each Care center has one or many employees in it.
Each employee is assigned in one or more Care center
Each Care center has one nurse in charge.
One nurse can be in charge of one or more Care center (Nurse is a employee).
Nurse may or may not record any number of vital records of patient. Each patients vitalrecord is recorded by exactly one nurse.
Working hours of each employee in a particular care center are recorded.
Physician can refer any number of patients or may not refer any patient. Each patient is
referred by exactly one physician.
Physician can admit any number of patients or may not admit any patient. Each patient isadmitted by exactly one physician.
Physician can order any number of treatments or may not order any treatment for patient.Patient may or may not have treatments performed by any number of physician. Hospital
records treatment date, time and results.
Physician may or may not diagnose any number of diagnosis conditions for patient. A patientmay or may not be diagnosed. Hospital records date and time of diagnosis.
Diagnosis unit can provide one or more treatment. Each treatment is provided by exactly one
diagnosis unit.
Each facility may or may not have any number of diagnosis unit. Each diagnosis unit belongsto exactly one facility.
Facility may or may not have any number of Care center. Each care center is belongs toexactly one facility.
Facility may or may not have any number of physicians. Each physician may or may notbelongs to any number of facilities.
Care center has one or more rooms. Each room may or may not belong to a care center. Aroom may or may not have any number of beds. Each bed belongs to exactly one room.
A patient may or may not be assigned a bed. A bed may or may not assigned to a patient.
Patient can consume any number of items or may not consume any item. Each item may or
may not be consumed by any number of patients.
Vendor can supply any number of items or may not supply any item. Each item is suppliedby one or more vendor.
Patient can have any number of charges/bills or may not have any charge/bill. Eachcharge/bill belongs to exactly one patient.
Patient charge/bill may or may not have charges for room. Patient can be charged for any number of treatments or items.
-
8/10/2019 Mountain View Communicy Hospital Report
7/44
Mountain View Community Hospital
Case Study
4.2.EER Model
-
8/10/2019 Mountain View Communicy Hospital Report
8/44
Mountain View Community Hospital
Case Study4.2.1. Nurse-In-Charge Relationship
4.2.2. Business Rules for Volunteer
A Volunteer must have exactly one emergency contact. An emergency contact may be a contact for
more than one Volunteer.
A Volunteer may have one or two references. A Reference can be a reference for more than oneVolunteer.
A Volunteer may or may not have any current or last employer. An employer may have more than
one Volunteer as an employee.
A Volunteer may have previous Volunteer experience at MVCH.
A Volunteer may have previous Volunteer experience (other than MVCH).
A Volunteer may or may not have skills.
A Volunteer may or may not have hobbies.
A Volunteer may or may not have interests.
A Volunteer may or may not speak one or more languages.
A Volunteer may have one or more available timeslots. A timeslot may be chosen by one or more
Volunteers.
-
8/10/2019 Mountain View Communicy Hospital Report
9/44
Mountain View Community Hospital
Case Study
4.3.Merged ER and EER Model
-
8/10/2019 Mountain View Communicy Hospital Report
10/44
Mountain View Community Hospital
Case Study
4.3.1. Additional Business Rules
A Person can be an Employee, Physician, Patient or a Volunteer. A Person may belong to zero or
more groups.
A Patient can only be a In Patient or an Out Patient. A Patient may not belong to both groups.
An Out Patient may or may not be scheduled for one or more Visits. A Visit is scheduled for exactly
one Out Patient.
A In Patient is assigned exactly one Bed. A Bed may or may not be assigned to a In Patient.
A Person can be an Employee, Physician, Patient or a Volunteer. A Person may belong to zero or
more groups.
An Employee can be Staff, Nurse or a Technician.
A Nurse can either be RN certified or LPN certified.
A RN certified Nurse may or may not be assigned nurse-in-charge for a Care Center.
Each Care Center has exactly one nurse-in-charge for the day and one nurse-in-charge for night.
A LPN certified nurse works under exactly one RN certified nurse. A RN certified nurse may or may
not lead one or more LPN nurses.
A Technician may have one or more Skills.
A Technician is assigned to exactly one Work Unit. A Work Unit may or may not have one or more
Technicians.
A Staff is assigned to exactly one Work Unit. A Work Unit may or may not have one or more Staff.
A Volunteer is supervised by exactly one Employee or Physician. An Employee may or may not
supervise one or more Volunteers. A Physician may or may not supervise one or more Volunteers. A Volunteer works for exactly one Work Unit. A Work Unit may or may not have one or more
Volunteers.
-
8/10/2019 Mountain View Communicy Hospital Report
11/44
Mountain View Community Hospital
Case Study
5.Phase 2:
Logical Database Design And Relational Model
5.1.Relational Schema
-
8/10/2019 Mountain View Communicy Hospital Report
12/44
Mountain View Community Hospital
Case Study
Room_No
NameUnit_Id Person_Id
Name
Unit_Id Name
Unit_Id
Vendor_ID
DiagnosticUnit_Id
Item_Id Description
Item_Id
Price
Vendor_Id Name
CONSUMPTION
Bed_Nbr
BED
CARE CENTER
ROOM
DIAGNOSTIC UNIT
ITEM
VENDOR ITEM
VENDOR
Order_Id
Time
Order_Id
Date
ORDER
ORDER ITEM
MRN
Item_IdInvoice_IdMRN
Invoice_Id
Unit_id
Location
Room_No
MRN Person_Id Quantity Total_Cost
Physician_Id
TREATMENT RECORD
Invoice_ID Unit_IDMRN Facility_IDDiagnosticUnit_I
Order_IDTreatment_
Time Dat
Re
-
8/10/2019 Mountain View Communicy Hospital Report
13/44
Mountain View Community Hospital
Case Study
Diagnosis_Id Name
Diagnosis
TREATMENT
Treatment_ID DiagnosticUnit_ID Facility_ID Unit_ID Name
Physician_ID MRN
Patient_Diagnosis
Diagnosis_ID Date Time Description Person_ID
Vital_Record
Invoice_Id Room_no Person_Id Unit_Id Name
Patient_Charges
Vital_Record_Id Emp_Id MRN Person_Id Weight Blood Pressure Pulse
Person_Id
FName LName
Address City State Zip Phone Emai
Person
Employee_Id
Hire_DateEmployee
Physician_Id
Specialty Pager_Nbr DEA_NbrPhysician
Petient_id Petient_ty
Patient
-
8/10/2019 Mountain View Communicy Hospital Report
14/44
Mountain View Community Hospital
Case Study
siextenVolunteer_Id
Skill Interest
Address City State Zip BirthDate
Volunteer_Id
Begin_Date End_Date Unit_Id Nbr_HoursVolunteer_Serv
ice
Volunteer_Id
FName LName
Address Relation PhoneVolunteer_Refere
nces
Volunteer
Nurse_Id
Speciality Nursing_License Certification Nurse_Typ
Nurse
Visit_Id Date Time
Reason Person_IdVisit
person_Id admitda
Dischar
Bed_Nbr Room_NbrIn_patient1
person_IdOut_patient1
skill_IdTechnician_Skill Description
-
8/10/2019 Mountain View Communicy Hospital Report
15/44
Mountain View Community Hospital
Case Study
6.Phase 3:
Sql Programming
6.1.Create Tables
DROP TABLE TECHNICIAN CASCADE CONSTRAINTS ;
DROP TABLE TECHNICIAN_SKILL CASCADE CONSTRAINTS ;
DROP TABLE TECH_HAS_SKILL CASCADE CONSTRAINTS ;
DROP TABLE VOLUNTEER CASCADE CONSTRAINTS ;
DROP TABLE VOLUNTEER_SERVICE CASCADE CONSTRAINTS ;
DROP TABLE VOLUNTEER_EMPLOYMENT CASCADE CONSTRAINTS ;
DROP TABLE VOLUNTEER_REFERENCE CASCADE CONSTRAINTS ;DROP TABLE STAFF CASCADE CONSTRAINTS ;
DROP TABLE IN_PATIENT CASCADE CONSTRAINTS ;
DROP TABLE OUT_PATIENT CASCADE CONSTRAINTS ;
DROP TABLE PATIENT CASCADE CONSTRAINTS ;
DROP TABLE PHYSICIAN CASCADE CONSTRAINTS ;
DROP TABLE NURSE CASCADE CONSTRAINTS ;
DROP TABLE RN_NURSE CASCADE CONSTRAINTS ;
DROP TABLE LPN_NURSE CASCADE CONSTRAINTS ;
DROP TABLE EMPLOYEE CASCADE CONSTRAINTS ;
DROP TABLE ROOM CASCADE CONSTRAINTS ;
DROP TABLE BED CASCADE CONSTRAINTS ;
DROP TABLE FACILITY CASCADE CONSTRAINTS ;
DROP TABLE CARE_CENTER CASCADE CONSTRAINTS ;
DROP TABLE WORK_UNIT CASCADE CONSTRAINTS ;
DROP TABLE PERSON CASCADE CONSTRAINTS ;
DROP TABLE ADMISSION_RECORDS CASCADE CONSTRAINTS ;
DROP TABLE PATIENT_EMERG_CONTACT CASCADE CONSTRAINTS ;
DROP TABLE PATIENT_INS CASCADE CONSTRAINTS ;
DROP TABLE PATIENT_PRIM_DOCTOR CASCADE CONSTRAINTS ;
DROP TABLE PAT_INS_SUBSC CASCADE CONSTRAINTS ;
DROP TABLE CONSUMPTION CASCADE CONSTRAINTS ;
DROP TABLE PAT_ORDER CASCADE CONSTRAINTS ;
DROP TABLE ITEM CASCADE CONSTRAINTS ;
DROP TABLE ORDERED_ITEM CASCADE CONSTRAINTS ;
DROP TABLE VENDOR CASCADE CONSTRAINTS ;
-
8/10/2019 Mountain View Communicy Hospital Report
16/44
Mountain View Community Hospital
Case StudyDROP TABLE VENDOR_ITEM CASCADE CONSTRAINTS ;
CREATE TABLE PERSON
(
Person_ID NUMBER NOT NULL,
Person_First_Name VARCHAR2(50) ,
Person_Last_Name VARCHAR2(50) ,
Person_Gender VArchar2(7) CHECK (PERSON_GENDER IN('M','F') ),
Person_Country VARCHAR2(20) ,
PERSON_BIRTHDATE VARCHAR2(20) ,
Person_Address VARCHAR2(40) ,
Person_City VARCHAR2(50) ,
Person_State VARCHAR2(20) ,
Person_Zip VARCHAR2(12) ,
Person_Phone VARCHAR2(50) ,
Person_Email VARCHAR2(40) ,
Person_Type VARCHAR2(20) CHECK (Person_Type IN('EM','PA','VO','PH') ),
Person_Username VARCHAR2(20),
Person_Password VARCHAR2(200),
Created_Date DATE DEFAULT SYSDATE,
CONSTRAINT PERSON_PK PRIMARY KEY (Person_ID))
PARTITION BY RANGE(Created_Date)(
PARTITION P1 VALUES LESS THAN (TO_DATE('31-12-2008','DD-MM-YYYY')),
PARTITION P2 VALUES LESS THAN (TO_DATE('31-12-2009','DD-MM-YYYY')),
PARTITION P3 VALUES LESS THAN (MAXVALUE)
);
CREATE TABLE PHYSICIAN
(
DEA_ID VARCHAR2(20) NOT NULL ,
Physician_ID NUMBER NOT NULL,
Specialty VARCHAR2(50) ,
Pager_Nbr VARCHAR2(50) ,
CONSTRAINT PHYSICIAN_PK PRIMARY KEY (Physician_ID),
-
8/10/2019 Mountain View Communicy Hospital Report
17/44
Mountain View Community Hospital
Case StudyCONSTRAINT PHYSICIAN_FK1 FOREIGN KEY (Physician_ID) REFERENCES
PERSON(Person_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE EMPLOYEE
(
Employee_ID NUMBER NOT NULL ,
Date_Hired DATE ,
Employee_Type VARCHAR2(50) CHECK (Employee_Type
IN('STAFF','NURSE','TECHNICIAN') ),
CONSTRAINT EMPLOYEE_PK PRIMARY KEY (Employee_ID),
CONSTRAINT EMPLOYEE_FK1 FOREIGN KEY (Employee_ID) REFERENCES
PERSON(Person_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE FACILITY
(
Facility_ID NUMBER NOT NULL,
Facility_Name VARCHAR2(50) ,
CONSTRAINT FACILITY_PK PRIMARY KEY (Facility_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE WORK_UNIT(
Unit_ID NUMBER NOT NULL,
Unit_Name VARCHAR2(50),
Facility_ID NUMBER,
Work_Unit_Type VARCHAR(50) CHECK (Work_Unit_Type IN('CC','DU') ),
CONSTRAINT WORK_UNIT_PK PRIMARY KEY (Unit_ID),
CONSTRAINT WORK_UNIT_FK FOREIGN KEY (Facility_ID) REFERENCES
FACILITY(Facility_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE NURSE
(
Nurse_ID NUMBER NOT NULL,
Speciality VARCHAR2(10),
Nursing_License VARCHAR2(10),
Certificate VARCHAR2(25) NOT NULL,
-
8/10/2019 Mountain View Communicy Hospital Report
18/44
Mountain View Community Hospital
Case StudyNurse_Type VARCHAR2(10) CHECK (Nurse_Type IN('RN','LPN') ),
CONSTRAINT NURSE_PK PRIMARY KEY (Nurse_ID),
CONSTRAINT NURSE_FK2 FOREIGN KEY (Nurse_ID) REFERENCES
EMPLOYEE(Employee_ID))TABLESPACE ADB_SPACE;
CREATE TABLE RN_NURSE
(
RN_Nurse_ID NUMBER NOT NULL,
CONSTRAINT RN_NURSE_PK PRIMARY KEY (RN_Nurse_ID),
CONSTRAINT RN_NURSE_FK2 FOREIGN KEY (RN_Nurse_ID) REFERENCES
NURSE(Nurse_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE LPN_NURSE
(
LPN_Nurse_ID NUMBER NOT NULL,
Supervisor NUMBER,
CONSTRAINT LPN_NURSE_PK PRIMARY KEY (LPN_Nurse_ID),
CONSTRAINT LPN_NURSE_FK2 FOREIGN KEY (LPN_Nurse_ID) REFERENCES
NURSE(Nurse_ID),
CONSTRAINT LPN_NURSE_FK3 FOREIGN KEY (Supervisor) REFERENCES
RN_NURSE(RN_Nurse_ID))TABLESPACE ADB_SPACE;
CREATE TABLE CARE_CENTER
(
Unit_ID NUMBER NOT NULL,
CareCenter_Location VARCHAR2(50) ,
CareCenter_Name VARCHAR2(50) ,
Day_Nurse_Incharge NUMBER ,
Night_Nurse_Incharge NUMBER ,
CONSTRAINT CARE_CENTER_PK PRIMARY KEY (CareCenter_Name),
CONSTRAINT CARE_CENTER_FK1 FOREIGN KEY (Unit_ID) REFERENCES
WORK_UNIT(Unit_ID),
CONSTRAINT CARE_CENTER_FK2 FOREIGN KEY (Day_Nurse_Incharge)
REFERENCES RN_NURSE(RN_Nurse_ID),
CONSTRAINT CARE_CENTER_FK3 FOREIGN KEY (Night_Nurse_Incharge)
REFERENCES RN_NURSE(RN_Nurse_ID)
-
8/10/2019 Mountain View Communicy Hospital Report
19/44
Mountain View Community Hospital
Case Study)TABLESPACE ADB_SPACE;
CREATE TABLE ROOM(
Room_ID NUMBER NOT NULL,
CareCenter_Name VARCHAR2(50),
CONSTRAINT ROOM_PK PRIMARY KEY (CareCenter_Name,Room_ID),
CONSTRAINT ROOM_FK1 FOREIGN KEY (CareCenter_Name) REFERENCES
CARE_CENTER(CareCenter_Name)
)TABLESPACE ADB_SPACE;
CREATE TABLE BED
(
Bed_ID NUMBER NOT NULL,
Room_ID NUMBER NOT NULL,
CareCenter_Name VARCHAR2(50),
CONSTRAINT BED_PK PRIMARY KEY (Bed_ID,Room_ID,CareCenter_Name),
CONSTRAINT BED_FK1 FOREIGN KEY (Room_ID,CareCenter_Name) REFERENCES
ROOM(Room_ID,CareCenter_Name)
)TABLESPACE ADB_SPACE;
CREATE TABLE PATIENT(
Patient_Type VARCHAR2(10) CHECK (Patient_Type IN('IN','OUT') ) ,
Patient_ID NUMBER NOT NULL,
CONSTRAINT PATIENT_PK PRIMARY KEY (Patient_ID) ,
CONSTRAINT PATIENT_FK1 FOREIGN KEY (Patient_ID) REFERENCES
PERSON(Person_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE OUT_PATIENT
(
Out_Patient_ID NUMBER NOT NULL,
CONSTRAINT OUTPATIENT_PK PRIMARY KEY (Out_Patient_ID),
CONSTRAINT OUTPATIENT_FK FOREIGN KEY (Out_Patient_ID) REFERENCES
PATIENT(Patient_ID)
)TABLESPACE ADB_SPACE;
-
8/10/2019 Mountain View Communicy Hospital Report
20/44
Mountain View Community Hospital
Case Study
CREATE TABLE IN_PATIENT
(
IN_Patient_ID NUMBER NOT NULL,Bed_Nbr NUMBER NOT NULL,
Room_Nbr NUMBER NOT NULL,
CareCenter_Name VARCHAR2(50),
CONSTRAINT IN_PATIENT_PK PRIMARY KEY (IN_Patient_ID),
CONSTRAINT IN_PATIENT_FK1 FOREIGN KEY
(Bed_Nbr,Room_Nbr,CareCenter_Name) REFERENCES
BED(Bed_ID,Room_ID,CareCenter_Name),
CONSTRAINT IN_PATIENT_FK2 FOREIGN KEY (IN_Patient_ID) REFERENCES
PATIENT(Patient_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE ADMISSION_RECORDS
(
Admission_Date DATE NOT NULL,
Admission_Time VARCHAR2(50) NOT NULL,
Discharge_Date DATE,
Discharge_Time VARCHAR2(50),
IN_Patient_ID NUMBER NOT NULL,
Physician_ID NUMBER NOT NULL,Referral_Physician NUMBER,
CONSTRAINT ADMISSION_RECORDS_PK PRIMARY KEY
(IN_Patient_ID,Admission_Date,Admission_Time),
CONSTRAINT ADMISSION_RECORDS_FK1 FOREIGN KEY (Physician_ID)
REFERENCES PHYSICIAN(Physician_ID),
CONSTRAINT ADMISSION_RECORDS_FK2 FOREIGN KEY (Referral_Physician)
REFERENCES PHYSICIAN(Physician_ID),
CONSTRAINT ADMISSION_RECORDS_FK3 FOREIGN KEY (IN_Patient_ID)
REFERENCES IN_PATIENT(IN_Patient_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE STAFF
(
Staff_ID NUMBER NOT NULL,
Unit_ID NUMBER,
-
8/10/2019 Mountain View Communicy Hospital Report
21/44
Mountain View Community Hospital
Case StudyCONSTRAINT STAFF_PK PRIMARY KEY (Staff_ID),
CONSTRAINT STAFF_FK1 FOREIGN KEY (Staff_ID) REFERENCES
EMPLOYEE(Employee_ID),
CONSTRAINT STAFF_FK2 FOREIGN KEY (Unit_ID) REFERENCESWORK_UNIT(Unit_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE TECHNICIAN
(
Technician_ID NUMBER NOT NULL,
Unit_ID NUMBER,
CONSTRAINT TECHNICIAN_PK PRIMARY KEY (Technician_ID),
CONSTRAINT TECHNICIAN_FK1 FOREIGN KEY (Technician_ID) REFERENCES
EMPLOYEE(Employee_ID),
CONSTRAINT TECHNICIAN_FK2 FOREIGN KEY (Unit_ID) REFERENCES
WORK_UNIT(Unit_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE TECHNICIAN_SKILL
(
Skill_ID NUMBER NOT NULL,
Skill_Desc VARCHAR2(50),
CONSTRAINT TECHNICIAN_SKILL_PK PRIMARY KEY (Skill_ID))TABLESPACE ADB_SPACE;
CREATE TABLE TECH_HAS_SKILL
(
Technician_ID NUMBER NOT NULL,
Skill_ID NUMBER NOT NULL,
CONSTRAINT TECH_HAS_SKILL_PK PRIMARY KEY (Technician_ID,Skill_ID),
CONSTRAINT TECH_HAS_SKILL_FK1 FOREIGN KEY (Technician_ID) REFERENCES
TECHNICIAN(Technician_ID),
CONSTRAINT TECH_HAS_SKILL_FK2 FOREIGN KEY (Skill_ID) REFERENCES
TECHNICIAN_SKILL(Skill_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE VOLUNTEER
(
Volunteer_id NUMBER NOT NULL,
-
8/10/2019 Mountain View Communicy Hospital Report
22/44
Mountain View Community Hospital
Case StudySkill VARCHAR2(50),
Interest VARCHAR2(50),
Address VARCHAR2(50),
City VARCHAR2(20),Zip NUMBER,
BirthDate DATE,
CONSTRAINT VOLUNTEER_PK PRIMARY KEY (Volunteer_ID),
CONSTRAINT VOLUNTEER_FK1 FOREIGN KEY (Volunteer_ID) REFERENCES
PERSON(PERSON_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE VOLUNTEER_REFERENCE
(
Volunteer_ID NUMBER NOT NULL,
First_Name VARCHAR2(50),
Last_Name VARCHAR2(50),
Relation VARCHAR2(50),
Address VARCHAR2(50),
Phone NUMBER,
CONSTRAINT VOLUNTEER_REFERENCE_PK PRIMARY KEY (Volunteer_ID),
CONSTRAINT VOLUNTEER_REFERENCE_FK1 FOREIGN KEY (Volunteer_ID)
REFERENCES VOLUNTEER(Volunteer_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE VOLUNTEER_EMPLOYMENT
(
Volunteer_ID NUMBER NOT NULL,
Employer_Name VARCHAR2(50),
Employer_Address VARCHAR2(50),
Position VARCHAR2(50),
Date_of_Employment DATE,
CONSTRAINT VOLUNTEER_EMPLOYMENT_PK PRIMARY KEY (Volunteer_ID),
CONSTRAINT VOLUNTEER_EMPLOYMENT_FK1 FOREIGN KEY (Volunteer_ID)
REFERENCES VOLUNTEER(Volunteer_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE VOLUNTEER_SERVICE
(
Volunteer_ID NUMBER NOT NULL,
-
8/10/2019 Mountain View Communicy Hospital Report
23/44
Mountain View Community Hospital
Case StudyBegin_Date DATE,
End_Date DATE,
Unit_ID NUMBER,
Nbr_Hours NUMBER,CONSTRAINT VOLUNTEER_SERVICE_PK PRIMARY KEY (Volunteer_ID),
CONSTRAINT VOLUNTEER_SERVICE_FK1 FOREIGN KEY (Volunteer_ID)
REFERENCES VOLUNTEER(Volunteer_id),
CONSTRAINT VOLUNTEER_SERVICE_FK2 FOREIGN KEY (Unit_ID) REFERENCES
WORK_UNIT(Unit_id)
)TABLESPACE ADB_SPACE;
CREATE TABLE PATIENT_EMERG_CONTACT
(
PATIENT_ID NUMBER,
FIRST_NAME VARCHAR2(30),
LAST_NAME VARCHAR2(30),
RELATION VARCHAR2(30),
ADDRESS VARCHAR2(30),
PHONE VARCHAR2(12),
CONSTRAINT PK_EMG PRIMARY KEY (PATIENT_ID),
CONSTRAINT FK_EMG FOREIGN KEY (PATIENT_ID) REFERENCES
PATIENT(PATIENT_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE PATIENT_INS
(
PATIENT_ID NUMBER,
POLICY_NBR VARCHAR2(12),
COMPANY_NAME VARCHAR2(30),
GROUP_NBR VARCHAR2(12),
COVERAGE_DATE VARCHAR2(15),
COMP_PHONE VARCHAR2(12),
CONSTRAINT FK_INS FOREIGN KEY (PATIENT_ID) REFERENCES
PATIENT(PATIENT_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE PATIENT_PRIM_DOCTOR
(
PATIENT_ID NUMBER,
-
8/10/2019 Mountain View Communicy Hospital Report
24/44
Mountain View Community Hospital
Case StudyNAME VARCHAR2(30),
ADDRESS VARCHAR2(30),
PHONE VARCHAR2(30),
DEA_NBR VARCHAR2(12),CONSTRAINT PK_DOC PRIMARY KEY (PATIENT_ID),
CONSTRAINT FK_DOC FOREIGN KEY (PATIENT_ID) REFERENCES
PATIENT(PATIENT_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE PAT_INS_SUBSC
(
PATIENT_ID NUMBER,
FIRST_NAME VARCHAR2(30),
LAST_NAME VARCHAR2(30),
RELATION VARCHAR2(20),
ADDRESS VARCHAR2(30),
PHONE VARCHAR2(30),
CONSTRAINT FK_SUBS FOREIGN KEY (PATIENT_ID) REFERENCES
PATIENT(PATIENT_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE CONSUMPTION
(PATIENT_ID NUMBER,
TIME VARCHAR2(15),
CONS_DATE DATE,
MRN VARCHAR2(12),
QUANTITY NUMBER,
TOTAL NUMBER(10,2),
CONSTRAINT FK_CON FOREIGN KEY (PATIENT_ID) REFERENCES
PATIENT(PATIENT_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE PAT_ORDER
(
ORDER_ID NUMBER,
MRN VARCHAR2(12),
INVOICE_ID NUMBER,
PHYSICIAN_ID NUMBER,
-
8/10/2019 Mountain View Communicy Hospital Report
25/44
Mountain View Community Hospital
Case StudyCONSTRAINT PK_OR PRIMARY KEY (ORDER_ID),
CONSTRAINT FK_OR FOREIGN KEY (PHYSICIAN_ID) REFERENCES
PHYSICIAN(PHYSICIAN_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE ITEM
(
ITEM_ID NUMBER,
DESCRIPTION VARCHAR2(20),
PRICE NUMBER(9,2),
CONSTRAINT PK_IT PRIMARY KEY (ITEM_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE ORDERED_ITEM
(
ORDER_ID NUMBER,
ITEM_ID NUMBER,
CONSTRAINT FK_1 FOREIGN KEY (ORDER_ID) REFERENCES
PAT_ORDER(ORDER_ID),
CONSTRAINT FK_2 FOREIGN KEY (ITEM_ID) REFERENCES ITEM(ITEM_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE VENDOR
(
VENDOR_ID NUMBER,
NAME VARCHAR2(20),
CONSTRAINT PK_VE PRIMARY KEY (VENDOR_ID)
)TABLESPACE ADB_SPACE;
CREATE TABLE VENDOR_ITEM
(
VENDOR_ID NUMBER,
ITEM_ID NUMBER,
CONSTRAINT FK1_VI FOREIGN KEY (VENDOR_ID) REFERENCES
VENDOR(VENDOR_ID),
CONSTRAINT FK2_VI FOREIGN KEY (ITEM_ID) REFERENCES ITEM(ITEM_ID)
)TABLESPACE ADB_SPACE;
-
8/10/2019 Mountain View Communicy Hospital Report
26/44
Mountain View Community Hospital
Case Study6.2.Indexes
--A bitmap index to be created on gender & country,person_type column of person
table as the gender column has very low cardinality
DROP INDEX person_gender_bmp_idx;
DROP INDEX person_country_bmp_idx;
DROP INDEX person_type_bmp_idx;
DROP INDEX person_fname_idx;
DROP INDEX person_lname_idx;
CREATE BITMAP INDEX
person_gender_bmp_idx
ON person (PERSON_GENDER)COMPUTE STATISTICS ;
CREATE BITMAP INDEX
person_country_bmp_idx
ON person (PERSON_COUNTRY)
COMPUTE STATISTICS ;
CREATE BITMAP INDEX
person_type_bmp_idxON person (PERSON_TYPE)
COMPUTE STATISTICS ;
--A search might need to be made on the first name and the last name of the various
users in the hospital
CREATE INDEX person_fname_idx
ON person (PERSON_FIRST_NAME)
COMPUTE STATISTICS ;
CREATE INDEX person_lname_idx
ON person (PERSON_LAST_NAME)
COMPUTE STATISTICS ;
--A search might be needed to be made on the records calcultated for the patient by
the nurse
-
8/10/2019 Mountain View Communicy Hospital Report
27/44
Mountain View Community Hospital
Case StudyDROP TABLE vital_records CASCADE CONSTRAINTS;
CREATE TABLE vital_records
(vital_record_id NUMBER PRIMARY KEY NOT NULL,emp_id NUMBER ,
patient_id NUMBER,
weight VARCHAR2(50) ,
blood_pressure VARCHAR2(40) ,
pulse VARCHAR2(50) ,
temp VARCHAR2(2) ,
record_date VARCHAR2(12) ,
reason VARCHAR2(50) ,
symptoms VARCHAR2(40) ,
CONSTRAINT vital_record_emp_fk FOREIGN KEY (emp_id) REFERENCES
employee(EMPLOYEE_ID),
CONSTRAINT vital_record_per_fk FOREIGN KEY (patient_id) REFERENCES
PATIENT(PATIENT_ID));
CREATE INDEX vital_records_patient_idx
ON vital_records (patient_id)
COMPUTE STATISTICS ;
CREATE INDEX vital_records_recdate_idx
ON vital_records (record_date)
COMPUTE STATISTICS ;
--A search might also be need to be made on the visit for every patient
CREATE TABLE VISIT
(Visit_ID NUMBER NOT NULL,
Visit_Date DATE,
Visit_Time DATE,
Reason VARCHAR(100),
Patient_ID NUMBER,
CONSTRAINT VISIT_PK PRIMARY KEY (Visit_ID),
-
8/10/2019 Mountain View Communicy Hospital Report
28/44
Mountain View Community Hospital
Case StudyCONSTRAINT VISIT_FK1 FOREIGN KEY (Patient_ID) REFERENCES
OUT_PATIENT(Out_Patient_ID)
);
CREATE INDEX visit_patient_idx
ON visit (patient_id)
COMPUTE STATISTICS ;
6.3.SQL Loader
/** person.ctl **/
load data
infile 'personinput.txt'
appendinto table person
fields terminated by ','
trailing nullcols
(
Person_ID,Person_First_Name,Person_Last_Name,Person_Gender,Person_Country,P
ERSON_BIRTHDATE,Person_Address,Person_City,Person_State,Person_Zip,
Person_Phone,Person_Email,Person_Type,Person_Username,Person_Password,Crea
ted_Date)
/**person.txt **/
2000,Abhijeet,Kushe,M,United States,10/9/1984,38 Clearway
Street,Boston,MA,2115,5625371575,[email protected],PH,kushe.abhijeet,kus
he.abhijeet,02-Dec-2008
2001,Salim,Khan,M,United States,10/8/1984,52 Westland
Ave,Boston,MA,2115,6225371685,[email protected],PH,khan.sa,khan.sa,02-
Dec-2007
2002,Tanvi,Chitnis,F,United States,10/7/1985,400 Huntington
Ave,Boston,MA,2115,5225371205,[email protected],PH,ta.c,ta.c,03-Dec-
2007
2003,Subodh,Ghosalkar,M,United States,10/6/1986,438 Hemenway
,Boston,MA,2115,1234556666,[email protected],PH,su.g,su.g,05-Dec-2008
2004,Prathamesh,Rane,M,United States,10/5/1987,250 Mass
Ave,Cambridge,MA,2115,7891022344,[email protected],PH,p.rane,p.rane,05
-Dec-2008
-
8/10/2019 Mountain View Communicy Hospital Report
29/44
Mountain View Community Hospital
Case Study2005,Wasim,Sheikh,M,United States,10/3/1988,45 Clearway
Street,Boston,MA,2115,7625371575,[email protected],PA,w.s,w.s,06-
Oct-2010
2006,Prasad,Shirodkar,M,United States,10/2/1989,45 WestlandAve,Boston,MA,2115,8225371685,[email protected],PA,p.sa,p.sa,07-Jul-
2009
2007,Tom,Sawyer,M,United States,10/1/1990,420 Huntington
Ave,Boston,MA,2115,9225371205,[email protected],PA,tom.sa,tom.sa,08-Dec-
2009
2008,Mark,Twain,M,United States,9/30/1991,138 Hemenway
,Boston,MA,2115,2234556666,[email protected],PA,m.t,m.t,12-Sep-2010
2009,Arther,Doyle,M,United States,9/28/1992,350 Mass
Ave,Cambridge,MA,2115,5891022344,[email protected],PA,a.d,a.d,12-Oct-2009
/** patient.ctl **/
load data
infile 'patient.txt'
append
into table patient
fields terminated by ','
trailing nullcols
( Patient_Type,Patient_ID).
/** patient.txt **/
IN,2005
IN,2006
IN,2007
OUT,2008
IN,2009
/** patient_emer.ctl **/
load data
infile 'patient_emerinsert.txt'
append
into table PATIENT_EMERG_CONTACT
fields terminated by ','
trailing nullcols
(PATIENT_ID,FIRST_NAME,LAST_NAME,RELATION,ADDRESS,PHONE)
-
8/10/2019 Mountain View Communicy Hospital Report
30/44
Mountain View Community Hospital
Case Study/** patient_emer.txt **/
2005,Raju,King,Other Adult,38 Clearway Street,7891022344
2006,Kaju,Bing,Other Adult,52 Westland Ave,7625371575
2007,Saiju,Jing,Other Adult,400 Huntington Ave,82253716852008,Birju,Ding,Other Adult,438 Hemenway ,9225371205
2009,Mirzu,Ling,Other Adult,250 Mass Ave,2234556666
/** patient_insurance.ctl **/
load data
infile 'patientinsinsert.txt'
append
into table patient_ins
fields terminated by ','
trailing nullcols
(PATIENT_ID,POLICY_NBR,COMPANY_NAME,GROUP_NBR,COVERAGE_DATE,COMP
_PHONE)
/** patient_insurance.txt **/
2005,12324434567,Thomas Cook,Group 1,12/6/2008,6265371685
2006,12324445646,Axis Cook,Group 3,12/7/2010,7225371205
2007,12324678889,Five Star,Group 5,12/8/2009,1534556666
2008,45565786874,Tiger Star,Group 7,12/9/2010,7891722344
2009,89872467476,Tiger Star,Group 9,12/9/2010,7625871575
/** physician.txt **/
MVCHDEA000001,2000,Heart,5625371575
MVCHDEA000002,2001,Brain,6225371685
MVCHDEA000003,2002,Skin,5225371205
MVCHDEA000004,2003,Eyes,1234556666
MVCHDEA000005,2004,Gastro,7891022344
/** physician.ctl **/
load data
infile 'phys.txt'
BADFILE 'physician.bad'
DISCARDFILE 'physician.dsc'
append
discardmax 10
into table PHYSICIAN
-
8/10/2019 Mountain View Communicy Hospital Report
31/44
Mountain View Community Hospital
Case Studyfields terminated by ','
trailing nullcols
(DEA_ID,Physician_ID,Specialty,Pager_Nbr)
7.Phase 4: Web-Enabled Database Interface
7.1.Overview
The Web-enabled Database Interface includes the following features:
A Person can login into the Mountain View Community Hospital System.
A New Patient can register for an account.
A Patient can login and update his/her profile as well.
An Administrator can login into the system.
An Administrator can register and update a new patient.
An Administrator can search for a Person by last name.
An Administrator can choose to list all Persons or only Patients.
An Administrator can choose to delete one or more Person accounts.
-
8/10/2019 Mountain View Communicy Hospital Report
32/44
Mountain View Community Hospital
Case Study
7.2.Screenshots
Login Screen
-
8/10/2019 Mountain View Communicy Hospital Report
33/44
Mountain View Community Hospital
Case Study New User Screen
-
8/10/2019 Mountain View Communicy Hospital Report
34/44
Mountain View Community Hospital
Case Study Successful Registration
-
8/10/2019 Mountain View Communicy Hospital Report
35/44
Mountain View Community Hospital
Case Study
Admin Work Area Screen
-
8/10/2019 Mountain View Communicy Hospital Report
36/44
Mountain View Community Hospital
Case Study
Update Screen
-
8/10/2019 Mountain View Communicy Hospital Report
37/44
Mountain View Community Hospital
Case Study
8.Additional PL/SQL
SPOOL c:\info\7275\finProj.list
-- Decode Query
SELECT PERSON.Person_ID, PERSON.Person_First_Name,
PERSON.Person_Last_Name, decode(PERSON.Person_Gender,'M','Male','F','Female')
person_gen, PERSON.Person_Country, PERSON.Person_Phone,
CASE PERSON.Person_Type
WHEN 'PA' THEN 'PATIENT'
WHEN 'PH' THEN 'PHYSICIAN'
WHEN 'EM' THEN 'EMPLOYEE'
WHEN 'VO' THEN 'VOLUNTEER'END person_type
FROM PERSON
--Trigger for Delete Log
CREATE OR REPLACE TRIGGER del_person
BEFORE DELETE ON PERSON
FOR EACH ROW
DECLARE
BEGININSERT INTO DELETE_LOG VALUES(:old.Person_ID , :old.Person_First_Name
,:old.Person_Last_Name , :old.Person_Phone , :old.Person_Type);
END;
/
-- VARRAY
CREATE OR REPLACE TYPE Person_Array is VARRAY(20) OF NUMBER;
-- Procedure for Deleting users
CREATE OR REPLACE PROCEDURE DELETE_PERSON(p_person_array
Person_Array) AS
i NUMBER := 1;
BEGIN
DBMS_OUTPUT.ENABLE(1000000);
-
8/10/2019 Mountain View Communicy Hospital Report
38/44
Mountain View Community Hospital
Case Study
LOOP
EXECUTE IMMEDIATE 'DELETE FROM PERSON WHERE Person_ID =
:x' using p_person_array(i);i := i + 1;
EXIT WHEN i > p_person_array.count;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
-- Function returning an Object Type
CREATE OR REPLACE TYPE Admission_Type AS OBJECT
(
Admission_Date DATE,
Admission_Time VARCHAR(50),
Discharge_Date DATE,
Discharge_Time VARCHAR(50),
Patient_ID NUMBER,Physician_ID NUMBER
);
/
CREATE OR REPLACE TYPE Admission_List is VARRAY(100) OF Admission_Type;
/
CREATE OR REPLACE FUNCTION LIST_RECORDS RETURN Admission_List AS
v_array Admission_List := Admission_List() ;
i NUMBER :=1;
v_adm_date DATE;
v_adm_time VARCHAR(20);
v_dis_date DATE;
-
8/10/2019 Mountain View Communicy Hospital Report
39/44
Mountain View Community Hospital
Case Studyv_dis_time VARCHAR(20);
v_patient NUMBER;
v_physician NUMBER;
CURSOR adm_cur IS
SELECT Admission_Date, Admission_Time, Discharge_Date,
Discharge_Time, Patient_ID, Physician_ID
from ADMISSION_RECORDS;
BEGIN
DBMS_OUTPUT.ENABLE(1000000);
v_array.EXTEND(99);
OPEN adm_cur;
LOOP
FETCH adm_cur INTO v_adm_date, v_adm_time, v_dis_date,
v_dis_time, v_patient, v_physician;
v_array(i) := Admission_Type(v_adm_date, v_adm_time, v_dis_date,
v_dis_time, v_patient, v_physician);i := i + 1;
EXIT WHEN adm_cur%NOTFOUND;
END LOOP;
CLOSE adm_cur;
RETURN v_array;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
RETURN v_array;
END;
-
8/10/2019 Mountain View Communicy Hospital Report
40/44
Mountain View Community Hospital
Case StudyCREATE OR REPLACE PACKAGE fin_proj_pkg2 IS
FUNCTION encryptPassword(password IN VARCHAR2) RETURN RAW;
FUNCTION decryptPassword(password IN VARCHAR2) RETURN VARCHAR2;
FUNCTION verifyLogin(username IN VARCHAR2,password INVARCHAR2,p_personType OUT VARCHAR2) RETURN PLS_INTEGER;
END fin_proj_pkg2;
/
CREATE OR REPLACE PACKAGE BODY fin_proj_pkg2 IS
FUNCTION encryptPassword(password IN VARCHAR2) RETURN RAW
IS
v_encryptedPassword RAW(32767);
BEGIN
v_encryptedPassword:=UTL_ENCODE.uuencode(utl_raw.cast_to_raw(password));
RETURN v_encryptedPassword;
END;
FUNCTION decryptPassword(password IN VARCHAR2) RETURN VARCHAR2
IS
v_decryptedPassword VARCHAR2(30);
BEGIN
v_decryptedPassword:=utl_raw.cast_to_varchar2(UTL_ENCODE.uudecode(passwor
d)) ;
RETURN v_decryptedPassword;
END;
FUNCTION verifyLogin(username IN VARCHAR2,password IN
VARCHAR2,p_personType OUT VARCHAR2) RETURN PLS_INTEGER
IS
v_user_id PLS_INTEGER :=0;
v_password RAW(32767);
BEGIN
v_password:=encryptPassword(password);
SELECT p.person_id,
-
8/10/2019 Mountain View Communicy Hospital Report
41/44
Mountain View Community Hospital
Case StudyCASE p.Person_Type
WHEN 'PA' THEN
'PATIENT'
WHEN 'PH' THEN'PHYSICIAN'
WHEN 'EM' THEN
'EMPLOYEE'
WHEN 'VO' THEN
'VOLUNTEER'
END
INTO v_user_id, p_personType
FROM person p
WHERE p.person_username = username
AND p.person_password=v_password;
RETURN v_user_id;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_user_id:=0;
RETURN v_user_id;
END;
END fin_proj_pkg2;
/
CREATE OR REPLACE PROCEDURE getUserDetails(p_userType IN
VARCHAR2,p_refcursor OUT SYS_REFCURSOR,v_mode VARCHAR2,v_last_name
VARCHAR2) IS
v_user_query VARCHAR2(1000);
v_person_Type person.person_type%TYPE;
v_upper_last_name person.person_last_name%TYPE;
BEGIN
v_upper_last_name:=UPPER(v_last_name);
IF v_mode='SELECT'
THEN
IF p_userType='ALL'
THEN
-
8/10/2019 Mountain View Communicy Hospital Report
42/44
Mountain View Community Hospital
Case Studyv_user_query:='Select p.Person_Id,
p.Person_First_Name,
p.Person_Last_Name,
decode(p.Person_Gender, ''M'', ''Male'', ''F'', ''Female''),p.Person_Phone,
p.Person_Email,
em.Patient_Id,
em.First_Name,
em.Last_Name,
em.Relation,
em.Address,
em.City,
em.Phone,
em.Email,
p.person_type
FROM Person p, PATIENT_EMERG_CONTACT em
WHERE p.Person_Id = em.Patient_ID(+)';
open p_refcursor for v_user_query;
ELSIF p_userType='PATIENT'
THEN
v_person_Type:='PA';
v_user_query:='Select p.Person_Id,
p.Person_First_Name,p.Person_Last_Name,
decode(p.Person_Gender, ''M'', ''Male'', ''F'', ''Female''),
p.Person_Phone,
p.Person_Email,
em.Patient_Id,
em.First_Name,
em.Last_Name,
em.Relation,
em.Address,
em.City,
em.Phone,
em.Email,
p.person_type
FROM Person p, PATIENT_EMERG_CONTACT em
WHERE p.Person_Id = em.Patient_ID(+) AND UPPER(p.person_type)
=:persontype';
-
8/10/2019 Mountain View Communicy Hospital Report
43/44
Mountain View Community Hospital
Case Studyopen p_refcursor for v_user_query USING v_person_Type;
ELSIF p_userType='PHYSICIAN'
THEN
v_person_Type:='PH';v_user_query:='Select p.Person_Id,
p.Person_First_Name,
p.Person_Last_Name,
decode(p.Person_Gender, ''M'', ''Male'', ''F'', ''Female''),
p.Person_Phone,
p.Person_Email,
em.Patient_Id,
em.First_Name,
em.Last_Name,
em.Relation,
em.Address,
em.City,
em.Phone,
em.Email,
p.person_type
FROM Person p, PATIENT_EMERG_CONTACT em
WHERE p.Person_Id = em.Patient_ID(+) AND UPPER(p.person_type)
=:persontype';
open p_refcursor for v_user_query USING v_person_Type;END IF;
ELSIF v_mode='SEARCH'
THEN
v_user_query:='Select p.Person_Id,
p.Person_First_Name,
p.Person_Last_Name,
decode(p.Person_Gender, ''M'', ''Male'', ''F'', ''Female''),
p.Person_Phone,
p.Person_Email,
em.Patient_Id,
em.First_Name,
em.Last_Name,
em.Relation,
em.Address,
em.City,
em.Phone,
-
8/10/2019 Mountain View Communicy Hospital Report
44/44
Mountain View Community Hospital
Case Studyem.Email,
p.person_type
FROM Person p, PATIENT_EMERG_CONTACT em
WHERE p.Person_Id = em.Patient_ID(+) ANDUPPER(p.person_last_name)=:last_name ';
open p_refcursor for v_user_query USING v_last_name;
END IF;
END getUserDetails;
/
SPOOL OFF;