mountain view communicy hospital report

Upload: kusheabhijeet

Post on 02-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 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;