Patterns for Hospitals

Download Report

Transcript Patterns for Hospitals

An Analysis Pattern for Patient Treatment
1. Introduction
• A Patient Treatment Pattern describes the treatment or stay history of a patient in a hospital.
• The hospital may be a member of a medical consortium.
• Each patient has a medical history which contains insurance information and a record of all treatments within
the medical consortium.
• Each patient has a primary physician, an employee of the hospital.
• Upon admission the patient is created as new or information is updated from previous visit(s).
• A treatment history is created for each patient admitted and updated throughout the patient’s stay.
• Inpatients are assigned a room, nurse team and consulting doctors.
• The Patient Treatment Pattern is a composite pattern that includes three simpler patterns.
•
Patient Record
•
Consortium Assets
•
Asset Assignment.
• The component patterns have their own value and can be used independent of the composite pattern.
1
2. Patient Record
2.1 Intent
This pattern describes the process of creating patient records for a stay or treatment in a hospital and managing
the history of these records.
2.2 Context
A hospital or medical consortium that keeps records of patient treatments.
2.3 Problem
Maintaining accurate patient records is crucial for patient treatment.
2.4 Forces
• Patients may receive treatment in separate hospitals of the medical consortium and we need to keep track of
all treatments in all hospitals.
• Patients receive treatment for various ailments in different areas of a hospital and we need to keep track of all
treatments in all departments of a hospital.
• Patients may receive treatment from various doctors and nurses of the hospital and we need to keep track of
all treatments by all medical employees.
2.5 Solution
• Create a unique stay or treatment history for every patient upon admission to the hospital.
• The treatment histories are added to the patient medical histories.
2
2. Patient Record
Patient
MedicalHistory
1
name
address
patient number
insurance
treatment history
*
Outpatient
specialty
Inpatient
TreatmentHistory
medications
procedures
Figure 1 Class Diagram for Patient Record
3
2. Patient Record
<<actor>>
aPatient:
<<actor>>
anAdmissionsClerk:
provide information
<<create>>
:Patient
<<create>> :MedicalHistory
<<create>>
:TreatmentHistory
Figure 2 Sequence diagram for admit a new patient
<<actor>>
aPatient:
<<actor>>
anAdmissionsClerk:
provide information
:Patient
:MedicalHistory
open
open
<<create>>
:TreatmentHistory
Figure 3 Sequence diagram for admit a patient (not new)
4
5. Patient Record
(New) create
activate
Created
Active
do: setPatient Info( )
complete
treatmentHistory
entry:addTreatmentHistory()
Closed
do: closeMedicalHistory ( )
do: closePatient ( )
Figure 10 State Chart Diagram: Medical History
5
5. Patient Record
create
begin stay
Created
Under Diagnosis
start treatment
do:updateTreatmentlHistory()
UnderTreatment
discontinue treatment
or death
do:updateTreatmentHistory()
do:updateMedications()
Discharged
do: closeTreatmentHistory ( ) complete treatment
return to
treatment
suspend
treatment
Suspend
Figure 11 State chart Diagram: Treatment(Stay) History
6
2. Patient Record
2.6 Consequences
Advantages:
• Each treatment or stay history is summarized into one record.
• Each stay history is added to a patient medical history.
• Each medical history provides information about the patient for future treatments within the medical
consortium.
• Role based access control can be used to protect the privacy of a patient.
Disadvantages:
• Policies about the size of a treatment history need to be established, if a patient receives treatment in too many
departments by multiple doctors and nurses during one stay, it may need to be broken down into separate
treatments.
• The accuracy of patient records will depend upon the employees of the medical group.
2.7 Known Uses
• Every hospital or clinic maintains records about their patients.
• For example if a patient visits West Boca Medical Center for the third time there will be a record of previous
visits.
2.8 Related Patterns
• Collection Pattern
7
3. Consortium Assets
3.1 Intent
To manage the hospitals, buildings and employees and equipment of a medical consortium.
3.2 Context
A medical consortium that has multiple hospitals with buildings and rooms, medical equipment and employees.
3.3 Problem
Management of assets is crucial for efficient and professional service.
3.4 Forces
• In a medical consortium if employees or employee information changes this information needs to be recorded.
• All hospitals of a medical consortium consist of buildings with rooms and the information about availability
and use of these assets must be recorded and kept up to date.
• We need to keep track of the use, stock, transfer and information about all medical equipment used by any
hospital within the medical consortium.
3.5 Solution
• Maintain employee records with basic information and separate employees by their profession to add specific
information, specialties and rights.
• Each hospital is a separate asset of the consortium. Each building is an asset of the hospital. Each room is an
asset of the building. This way all the information can be easily kept up to date.
• Use the Stock Manager Pattern[Fer2000] to keep track of the medical equipment inventory and use.
8
3. Consortium Assets
Consortium
Location
name
main location
number
location
Distribution
*
Employee
name
ss number
address
works at
*
Hospital
1…*
localQuantity
1
name
address
*
*
Building
name
location
Doctor
Nurse
specialty
specialty
MedEquip
MedEquipStock
name
number
add()
remove()
Inventory
quantity
*
Room
number
size
Class Diagram for Stock Manager
Figure 4 Class Diagram for Consortium Assets
9
4. Asset Assignment
4.1 Intent
To assign doctors, nurses and rooms to a patient for treatment
4.2 Context
A hospital or medical consortium that assigns doctors, nurses and rooms to patients.
4.3 Problem
How does the hospital keep track of which doctors, nurses and rooms are assigned to the patients.
Patient
name
address
patient number *
assigned to primary
1
Doctor
Nurse
specialty
specialty
0...*
Outpatient
Inpatient
specialty
assigned to
* consulting
*
Room
assigned to
number
size
*
1...2
assigned to
1
Figure 5 Class Diagram for Asset Assignment
10
4. Asset Assignment
<<actor>>
aPatient:
<<actor>>
anAdmissionsClerk:
provide information
<<create>>
<<actor>>
aDoctor:
:Patient
<<create>>
:MedicalHistory
<<create>>
:TreatmentHistory
assign
Figure 6 Sequence diagram for admit a new patient and assign doctor
<<actor>>
aDoctor:
<<actor>>
anAdmissions clerk:
:Building
:Room
:Nurse
:Doctor
assign
check
availability
assign
assign
assign
Figure 7 Sequence diagram for admit an inpatient
11
5. Patient Treatment
5.1 Intent
This pattern describes the process of admitting and treating a patient in a hospital.
5.2 Context
A medical facility that offers patient treatment.
5.3 Problem
To provide patients with necessary services the combination of patient records, medical consortium assets and
assignment of patients to these assets needs to be organized, maintained and and managed efficiently.
5.4 Forces
In addition to the forces of component patterns we also have:
• A patient may be moved or reassigned during a stay and we need to document the new assignment and
location.
• After the patient is discharged all assignments need to be released and the records updated.
• Patients may discontinue treatment for various reasons and all information needs to be recorded.
5.5 Solution
The combination of the previous patterns function together to manage patient treatment in a hospital.
12
5. Patient Treatment
Patient
Consortium
assigned to primary
name
address
*
patient number
Employee
name
ss number
address
name
main location
*
works at
*
Hospital
1…*
Outpatient
Inpatient
*
name
address
specialty
1...2
*
1
Doctor
Nurse
specialty
specialty
0...*
*
Building
*
name
location
MedicalHistory
1
insurance
treatment history
assigned to
consulting
*
Room
assigned to
number
size
*
TreatmentHistory
assigned to
1
medications
procedures
Figure 8 Class Diagram for Patient Treatment
13
5. patient treatment
5.6 Consequences
Advantages:
• All information about a patient’s stay is recorded and documented even if there are reassignments during that
stay.
• When a patient is discharged the treatment history is added to the medical history and all treatments within the
medical consortium will be kept for future reference.
• If a patient discontinues treatment for any reason this information will be on record.
• Role based access control can be used to protect the privacy of a patient.
Disadvantages:
• The accuracy of patient treatment, assignment and record updates are dependent upon the employees
maintaining and recording information.
• Employees need to follow procedure.
5.8 Related Patterns
Repair Pattern – A patient enters a hospital for “repair”, assignment is made for the repair and a record is
kept.
Future Work
• Defining the Role Rights and adding authorization to the Patient Treatment Pattern.
• Generalizing the pattern for other applications such as student, prison, or repair.
14
Class Diagram for Patient Treatment
with Authorization
Consortium
name
main location
Patient
name
patient number
create
update
<<role>.
1
*
AdmissionsClerk
Right
*
Outpatient
1
1
*
create
update
Hospital
name
address
Inpatient
specialty
Right
create
*
Employee
Right
create
*
medications
procedures
update
*
insurance
treatment history
TreatmentHistory
*
1
*
MedicalHistory
name
ss number
address
Right
update
1
<<role>>
Doctor
Nurse
specialty
specialty
15
Patient Treatment
Admit a Patient with Authorization
Model
Observer
<<role>.
AdmissionsClerk
1
AdmitPatientView
Patient
- name
- address
- patient number
Right
admit_patient
+ create(patient info)
+ update(patient info)
+ close( )
- newPatient
- openPatient
- patientNumber
- patientInformation
- treatmentHistory
- medicalHistory
- inpatient
- outpatient
AdmitPatientController
+ handleEvent( )
+ update( )
+admit_patient()
*
Outpatient
Inpatient
- specialty
New Patient
Open Patient
MedicalHistory
1
- insurance
- treatmentHistory
+ open ( )
+ create( )
+ update ( )
+ close ( )
*
TreatmentHistory
- medications
- procedures
+ create ( )
+ update ( )
+ close ( )
Admit a Patient
Patient
Number:
Patient Information:
Create
Treatment History
Medical History
Inpatient
16
Outpatient
Patient Treatment
Admit an Inpatient with Authorization
Model
Observer
1
<<role>.
AdmissionsClerk
- name
- address
- patient number
Right
admit_inpatient
+ create(patient info)
+ update(patient info)
+ close( )
MedicalHistory
Inpatient
assigned
to
- insurance
- treatmentHistory
*
+ assign ( )
+ remove ( )
+ assign ( )
+ remove ( )
Nurse
- specialty
Hospital
Building
+ activateRoom ( )
+ deleteRoom ( )
+ update ( )
admit_inpatient
Admit an Inpatient
+ assign ( )
+ remove ( )
*
+ create ( )
+ update ( )
+ close ( )
+ handleEvent ( )
- specialty
- number
- size
- name
- location
AdmitInpatientController
Doctor
Room
TreatmentHistory
- medications
- procedures
assigned
to
0…*
1
*
+ open ( )
+ create( )
+ update ( )
+ close ( )
1…2
assigned
to
consulting
AdmitInpatientView
- patientNumber
- patientInfo
- room
- nurseTeam
-consultingDoctor
*
Patient
- name
- address
+ addDepartment
+ addBuilding ( )
Room
Nurse Team
Consulting Doctor
Patient Number
Patient Information
17
Patient Treatment
Discharge a Patient with Authorization
Model
<<role>.
AdministrativeClerk
1
Observer
Patient
- name
- address
- patient number
Right
discharge_patient
DischargePatientView
1…2
assigned
to
consulting
MedicalHistory
+ open ( )
+ create( )
+ update ( )
+ close ( )
1
0…*
Room
Doctor
- number
- size
+ assign ( )
+ remove ( )
- patientNumber
- patientInfo
- room
- nurseTeam
-consultingDoctor
assigned
to
- specialty
+ assign ( )
+ remove ( )
Nurse
- specialty
TreatmentHistory
- medications
- procedures
+ create ( )
+ update ( )
+ close ( )
+ handleEvent ( )
+ update ( )
+ assign ( )
+ remove ( )
*
DischargePatientController
*
assigned
to
- insurance
- treatmentHistory
*
Inpatient
+ create(patient info)
+ update(patient info)
+ close( )
*
Discharge a Patient
Room
Nurse Team
1
<<role>.
1
Patient Number
Patient Information
Consulting Doctor
Doctor
Right
discharge_patient
Treatment History
Medical History
18
References
E.B. Fernandez, X. Yuan, “An Analysis pattern for Course Management”
[Fer2000]E.B. Fernandez, “Stock Manager: An Analysis Pattern for Inventories”,Procs, of PLoP 2000.
E.B. Fernandez and X. Yuan, “Semantic Analysis Patterns”, Procs. of the 19th Int, Conf on Conceptual Modeling (ER2000),183195.
E.B Fernandez, X. Yuan, and S. Brey, “An Analysis Pattern for Order and Shipment of a Product”, Procs. of PLoP 2000.
E.B. Fernandez, “Layers and non-functional patterns”
E.B. Fernandez and R. Pan, “A Pattern Language for security models”, Procs, of PLoP 2001.
E.B. Fernandez and J.C. Hawkins, “Determining Role Rights from Use Cases”
E.B. Fernandez, M. Larrondo-Petrie, N. Seliya, N. Delessy and A.Herzberg, “A Pattern Language for Firewalls”
19