Professional Documents
Culture Documents
Hospital Management System SRS and UML Diagrams
Hospital Management System SRS and UML Diagrams
The document lists the following features as the high-level requirements that the Hospital Patient
Management System will satisfy:
Purpose
The purpose of this document is to describe all the requirements for the Hospital Patient Management
System (HPMS). The intended audience includes all stakeholders in the potential system. These
include, but are not necessarily limited to, the following: administrative staff, doctors, nurses, surgeons
and developers.
Scope
The proposed software product is the Hospital Patient Management System (HPMS). The system will be
used to allocate beds to patients on a priority basis, and to assign doctors to patients in designated wards
as need arises. Doctors will also use the system to keep track of the patients assigned to them. Nurses
who are in direct contact with the patients will use the system to keep track of available beds, the
patients in the different wards, and the types of medication required for each patient. The current system
in use is a paper-based system. It is too slow and cannot provide updated lists of patients within a
reasonable timeframe. Doctors must make rounds to pick up patients’ treatment cards in order to know
whether they have cases to treat or not. The intentions of the system are to reduce over-time pay and
increase the number of patients that can be treated accurately. Requirements statements in this document
are both functional and non-functional.
Software Requirement Specification
Hospital Management
Functional Requirements:
R1 Registration
R2 Consultation
OUTPUT: If none of the wards are empty then patient is added to waiting list if
not too serious or shifted to another hospital.
INPUT: During this medical procedure the doctor and nurses are assigned
according to the patient’s condition and disease.
Output: The reports are created of patients.
R4 Check Out
R5 Report Generation
INPUT: The following information: patient’s PHN, patient’s name, ward name,
bed number and the doctor’s name.
INPUT: The following information: staff ID, staff name, staff type, duty shift.
OUTPUT: The corresponding system reports will be generated. The system will
be updated accordingly.
Data Flow Diagram
Hospital Management
Level 0
Assign ID
Patient ID
Hospital
Management
System
Doctor Schedule
Wards Details
Registration Consultation
0.1 0.2
Patient ID
Patient ID
Patients
Details
Patient ID
Doctors
Details
Assign Doctor/Nurse
Medical Matter
Report Generation
Management
Update Reports 0.4
0.3
Reports
Details
Patient ID
Check-Out
0.5
Payment
Ward Details
Details
Level 2.5
Doctor Assign
Checkout
Patient ID Request
Update
ward
Checkout
Details
Ward
Details
Account
Process
Update
Patient
Details
Patient
Details
ID Assigned
Add
Patients
Patient Details
Patient
Details
Check
Prehistory Prehistory
Details
Update
Prehistory
USE CASE:
System
«extends»
Admission Bed Allocation
«extends»
«extends»
Nurses Expendlture
Draw Salary
Add Dortor/Staff
«extends»
Visiting Doctors
Delete Doctor/Staff
Edit Doctor/Staff
«extends»
Doctors
Ward/Bed Status
InHouse Doctors
Admission/
Discharge Reports
Information system
Patient Information
CLASS DIAGRAM:
Patient Expenditure
-id : int +amt : float
-name : char edit +billno : int
-age : int +GiveSalary() : void
-sex : char
1 -appdate : Date 1..* +AddDoctor() : int
+Create() : int +AddStaff() : int 1
+Inpatient() : bool +DelDoctor() : void
+IsPatient() : int +DelStaff() : void
+Editdocot() : void
+EditStaff() : void 1..*
1
1 1
DoctorStaff
-id : int
Appointment -name : char
-age : int
+dt : Date -sex : char
+tm : Date 1..*
-salary : float
Test Operation
+DrawSalary() : void
Registration -PatientId : int
-Id : int
-flag : int 1
+Register() : int
+AllotBed() : void +OpAppt() : void
+TestAppt() : void
+DocAppt() : void
1 +GetTests() : int
1
+GetOper() : int
Income
-amt : float
-billno : int
+AddTestCharges() : float
1 +AddOprCharges() : float
+AddApptCharges() : float
+AddWardCharges() : float
1
1
Ward
Reports
-wardno : int
-nobeds : int
-*name : char +DispWardStatus() : void
+BedStatus() : int 1 1 +DispAddisReport() : void
+GetName() : char +DispPatInfo() : void
1
SEQUENCE DIAGRAMS:
ADMISSION:
1: Create()
2: Inpatient()
3: Register()
4: AddApptCharges
5: Date
6: Time
DOCTOR APPOINTMENTS
1: Ispatient()
2: AddApptcharges()
3: Date()
4: Time()
5: DocAppt()
TEST APPOINTMENTS:
1: Inpatient
2: AddTestCharges()
3: Date();
4: Time()
5: TestAppt()
BED ALLOTMENT:
1: AddWardCharges()
2: AllotBed()
3: GetName()
5: DispWardStatus()
UNDERGO OPERATION:
1: Ispatient()
2: AddOprCharges()
3: GetOpr()
LOGIN:
1: IsDoctor()
2: IsStaff()
3: DrawSalary()
4: GiveSalaryr()
DRAW SALARY:
1: IsDoctor()
2: IsStaff()
3: DrawSalary()
4: GiveSalary()
1: AddTestCharges()
2: GetTests()
3: AddisReports()
1: IsPatient()
2: AllotBed()
3: BedStatus()
4: DispWardStatus()
ADMISSION/DISCHARGE STATUS:
1: IsPatient()
2: GetTests()
3: GetOper()
4: DispWardStatus()
5: DispAddisReport()
PATIENT INFORMATION:
1: IsPatient()
2: DispWardStatus()
3: DispAddisReport()
4: DispPattInfo()