Object Oriented and Design
Hospital
Management
Name : Rutendo Gandi
Final project Presentation
Introduction
1. Come up with at least 6 classes to model the system using OOA
● Hospital - Manages the overall system
● Doctor - Handles doctor-specific details
● Patient - contains patient information
● Appointment - manages the appointment process
● Room - Manages room assignment for admitted patients
● Biling - handles payments and bill generation
Each class will represent an object with specific attributes and
methods
2. Extract attributes and methods for the classes
Hospital
● Attributes: hospitalName, address, contactNumber
● Methods: add Doctor(), addPatient(), getAllDoctors()
Doctor
● Attributes: doctorID, name, specialization, availability
● Methods: scheduleAppointment(), getDoctorDetails()
Patient
● Attributes: patientID, name, age, disease
● Methods: bookAppointment(), getPatientDetails()
Appointment
● Attributes: appointmentID, doctorID, patientID, time, status
● Methods: createAppointment(), cancelAppointment()
Room
● Attributes: roomNumber, roomType, availability
● Methods: assignRoom(), vacateRoom()
1
Billing
● Attributes: billID, patientID, amount, status
● Methods: generateBill(), processPayment()
3. Draw OOA UML Class Diagrams
- I used Lucidchart to draw OOA UML Diagrams
2
4. Object (Structural) Diagram
● The structural diagram provides a static snapshot of how objects
interact at a specific moment.
● A Patient object is linked to a Doctor object via an Appointment
object, and the Room object reflects the patient's room
assignment.
3
5. Behavior Diagrams
Behavior diagrams include:
Use Case Diagram
● Actors: Admin (Receptionist), Doctor, Patient
● Use Cases:
○ Book Appointment
○ Assign Room
○ Generate Bill
○ Prescribe Test
4
Activity Diagram
● Example: Appointment Booking:
1. Patient requests an appointment.
2. System checks doctor availability.
3. Confirms booking or suggests alternatives.
5
6. Draw the Component Diagrams
● Showing components like Database, User Interface, Backend Logic.
● Example:
○ Frontend interacts with the Hospital Database and API.
6
7. Determine the System’s Use Cases
Actor: Patient
Use Cases:
1. Register as a Patient:
○ A new patient registers in the system by providing personal
and medical details.
2. Book an Appointment:
○ A patient books an appointment with a specific doctor based
on availability.
3. View Appointment Details:
○ A patient views their upcoming appointments and appointment
history.
4. Admit to a Room:
○ For inpatients, the patient is assigned a room in the
hospital.
5. View Medical History:
○ A patient can review their medical records, such as past
diagnoses and treatments.
6. Pay Bill:
○ The patient views and pays bills for services rendered
(consultations, treatments, etc.)
Actor: Doctor
Use Cases:
1. Login to the System:
○ A doctor logs in to access their account and manage their
schedule.
2. View Schedule:
○ A doctor views all upcoming appointments and patient details
for the day.
3. Consult Patient:
7
○ A doctor updates the patient’s record with diagnosis,
prescriptions, and treatment plans.
4. Update Availability:
○ The doctor modifies their availability (e.g., available
slots for appointments).
5. Access Patient Records:
○ A doctor retrieves patient history for review during
consultations.
Actor: Admin/Receptionist
Use Cases:
1. Register a New Patient:
○ An admin registers a patient who walks in without prior
online registration.
2. Schedule an Appointment for a Patient:
○ An admin books appointments for patients directly.
3. Assign a Room to a Patient:
○ Allocate rooms to admitted patients based on availability.
4. Manage Billing:
○ Generate and process patient bills for consultations,
treatments, and other services.
5. Manage Doctor Schedules:
○ View and modify doctor schedules in case of changes or
cancellations.
6. View Hospital Data:
○ Access statistics such as room availability, total patients,
and financial reports.
8
Actor: System
Use Cases:
1. Validate Login Credentials:
○ Authenticate users (patients, doctors, admin) before
granting access to the system.
2. Notify Patients and Doctors:
○ Send appointment confirmations, reminders, or updates via
email/SMS.
3. Manage Patient Records:
○ Store and update patient details, diagnoses, prescriptions,
and discharge summaries.
4. Generate Reports:
○ Generate hospital reports (e.g., patient statistics,
financial summaries, doctor performance).
5. Handle Data Security:
○ Encrypt sensitive data and ensure secure communication.
9
8. Sequence Diagram
Appointment Booking
1. Patient sends a booking request.
2. System checks availability with the doctor.
3. Confirms or rescheduled the appointment.
4. Patient receives confirmation.
10
9. Deployment Diagram
● Client Request Layer:
○ Visualize incoming requests ( from web/mobile apps).
● API Gateway:
○ Place the API Gateway between the client requests and
services to demonstrate its intermediary role.
● Service Components:
○ Show modular services ( Patient, Doctor, Appointment,
Billing).
○ Highlight components like APIs, base services, and modules.
● Databases:
○ Represent individual databases connected to their respective
services.
11
10. Estimation and Costing for Hospital Management System
(HMS)
Hospital Management System (HMS), processes into three key
components: development costs, infrastructure costs, and maintenance
costs.
Development Costs
Activity Cost estimate (USD) Details
Requirement analysis $2,000 Gathering system
Research requirements from
stakeholders.
System Design $3,000 Design architecture ,
UML diagrams and
Database structure.
Development $12,000 Backend , frontend and
database , 3
developers assigned
Testing and Quality $3,000 Including functional
Assurance. security and
perfomance
12
Infrastructure Costs
Component Cost Estimate (USD) Details
Hosting (Cloud Server) $1,200 / year Running for backend
services(Google Cloud)
Database Service $500 /year Cloud database
management(MongoDB)
APl Gateway (optional) $ 300 /year For handling secure
Domain and SSL and $100/year Secures the web
Certificate application interface.
Maintenance Costs
Component Cost estimate (USD) Details
Bug fixes and Updates $2,000/year Fixing errors and
applying minor updates
Security Upgrades $500/year Ensuring the system is
secure against
vulnerabilities.
Feature enhancement $3,000 /year Adding new features
based on feedback
13
System Functionality and Assumptions
The Hospital Management System (HMS) will streamline operations by
enabling patients, doctors, and admins to interact through an
integrated web and mobile platform. Patients can register, book
appointments, and pay bills. Doctors can view schedules, update
availability, and access patient medical histories. Admins manage
appointments, room allocations, and billing processes.
Key Assumptions:
1. The system is intended for a medium-sized hospital with ~50
active users.
2. Data security (e.g., encryption) is critical to protect sensitive
medical and billing information.
3. The system will operate on a cloud-based infrastructure, ensuring
high availability and scalability.
Proposed Programming Languages
● Backend: Python (Django/Flask) or Java (Spring Boot) for robust
and secure API development.
● Frontend: React.js or Angular for dynamic and responsive user
interfaces.
● Database: MySQL or PostgreSQL for relational data storage.
14