Course: Data Structures Term Project
Language: Java (JavaFX for GUI)
This project is a comprehensive Hospital Management System designed to handle patient intake, appointment scheduling, and emergency room (ER) triage. It utilizes various advanced data structures to ensure efficient data retrieval and prioritized processing of critical patients.
The system features a graphical user interface (GUI) built with JavaFX.
Efficiency was the main priority. The following custom data structures were implemented:
- Priority Queue (Binary Heap): Used in the Emergency Room (ER). Patients with higher severity scores (e.g., 10) are automatically prioritized over others, regardless of arrival time.
- Stack: Used for the Undo feature. Allows administrators to revert the last registration or appointment action instantly.
- Linked List: Implemented within the
Patientclass to store Medical History. Each visit is chained dynamically. - Queues (FIFO): Used for standard Doctor Waiting Lines. Patients are treated in the order they arrive.
- Hash Table / HashMap: Used for Registration & Search. Provides O(1) instant access when searching for patients by ID.
- Patient Registration: Captures patient details and assigns a Unique ID.
- Smart Routing: Automatically routes patients to ER (if critical) or specific Department Queues (if standard).
- Visual Directory: Real-time display of all departments, doctors, and their current waiting line lengths.
- Search & History: Instantly find patient records and view their full visit history list.
- Undo Mechanism: Mistaken entries can be reverted with a single click.
- Clone the repository:
- Open in IntelliJ IDEA.
- Setup JavaFX: Ensure JavaFX library is added to the project structure / VM Options if necessary.
- Run: Execute
Launcher.javalocated insrc/main/.