How mi-kelele/-concurrent-patient-management-and-medicine-inventory-system- works
This repository is a Java concurrency demonstration centered on a hospital shift simulation. The main workflow initializes shared hospital resources, dispatches nurses, doctors, laboratory technicians, and pharmacists concurrently, then audits inventory and patient records. Nurses record vitals and submit lab requests; technicians process requests and add results to records; doctors perform consultations and use limited MRI capacity; pharmacists dispense from shared stock. A separate executor-service demo illustrates task submission and shutdown. The excerpts do not show doctors retrieving lab results, so that documented behavior is not drawn as an implemented connection.
Main entry points: HospitalSystem.java Hospital System · HospitalSimulation.java Hospital Simulation · Patient.java Patient Record · Nurse.java Nurse
Components 13
Shift Workflow
- Hospital Simulation
HospitalSimulation.java - Executor Demo
ExecutorServiceMethodsDemo.java
Shared Hospital State
- Hospital System
HospitalSystem.java - Patient Repository
HospitalSystem.java - Patient Record
Patient.java - Lab Request Queue
HospitalSystem.java - MRI Permits
HospitalSystem.java - Medicine Inventory
MedicineInventory.java - Lab Request
LabRequest.java
Care Workers
- Nurse
Nurse.java - Doctor
Doctor.java - Laboratory Technician
LaboratoryTechnician.java - Pharmacist
Pharmacist.java
Connections 24
- Hospital Simulation → Hospital System: initializes
HospitalSimulation.java - Hospital Simulation → Nurse: dispatches
HospitalSimulation.java - Hospital Simulation → Doctor: dispatches
HospitalSimulation.java - Hospital Simulation → Laboratory Technician: dispatches
HospitalSimulation.java - Hospital Simulation → Pharmacist: dispatches
HospitalSimulation.java - Hospital Simulation → Medicine Inventory: audits
HospitalSimulation.java - Hospital Simulation → Patient Record: inspects
HospitalSimulation.java - Hospital System → Patient Repository: stores
HospitalSystem.java - Hospital System → Patient Record: creates
HospitalSystem.java - Hospital System → Medicine Inventory: creates
HospitalSystem.java - Nurse → Hospital System: accesses
Nurse.java - Nurse → Patient Record: updates vitals
Nurse.java - Nurse → Lab Request: creates
Nurse.java - Nurse → Lab Request Queue: enqueues
Nurse.java - Laboratory Technician → Lab Request Queue: polls
LaboratoryTechnician.java - Laboratory Technician → Lab Request: completes
LaboratoryTechnician.java - Laboratory Technician → Hospital System: looks up patient
LaboratoryTechnician.java - Laboratory Technician → Patient Record: records result
LaboratoryTechnician.java - Doctor → Hospital System: accesses
Doctor.java - Doctor → Patient Record: adds notes
Doctor.java - Doctor → MRI Permits: acquires permit
Doctor.java - Pharmacist → Hospital System: accesses
Pharmacist.java - Pharmacist → Medicine Inventory: dispenses from
Pharmacist.java - Pharmacist → Patient Record: records fill
Pharmacist.java