A console-based Java application designed to streamline the daily operations of a medical clinic. This project was developed to demonstrate the practical application of custom Abstract Data Types (ADTs) and algorithms in managing complex, interconnected data without relying on a traditional relational database.
The TARUMT Clinic Management System utilizes a robust Boundary-Control-Entity (BCE) architecture to separate user interfaces, business logic, and data models. It acts as an end-to-end management tool, handling everything from patient registration and appointment scheduling to doctor consultations, pharmacy queues, and final payment processing.
- Custom Data Structures: Implements bespoke ADTs (
MyClinicADTimplementingClinicADT) to efficiently store, retrieve, and manipulate application data in memory. - Pharmacy Queue Management: Utilizes queueing algorithms to handle prescription workflows, transitioning patients from a
ready_queueto adispensed_queueas medication is prepared and collected. - Comprehensive Entity Tracking:
- Patients & Doctors: Full profile registration and staff duty scheduling.
- Appointments: Scheduling and tracking of patient visits.
- Consultations: Logging of diagnoses (
DiagnosisCatalog), required medical treatments, and medicine prescriptions.
- Billing & Receipts: Automated calculation of consultation fees, treatment costs, and medication prices, culminating in detailed receipt generation.
- File-Based Persistence: Automatically serializes all ADT data into text files (
appointments.txt,patients.txt,medicine.txt, etc.) to ensure state persistence between sessions.
- Language: Java
- Architecture: Boundary-Control-Entity (BCE) Pattern
- Build Tool: Apache Ant (NetBeans project structure)
- Data Storage: Custom ADTs with
.txtfile serialization
π¦ TARUMTClinicManagementSystem
β£ π src
β β£ π adt # Custom Data Structure Interfaces and Implementations
β β£ π boundary # CLI Menus (PatientUI, DoctorUI, PharmacyUI, etc.)
β β£ π control # Business Logic (TreatmentControl, QueueControl, etc.)
β β£ π entity # Data Models (Consultation, Medicine, Appointment, etc.)
β β£ π textFile # Local text-file database storage
β β£ π utility # Helper classes (Validation, Report Generation)
β β π tarumtclinic... # Main execution class and Session state
- Clone this repository to your local machine.
- Open the
TARUMTClinicManagementSystem.javafolder in an IDE that supports Apache Ant (such as Apache NetBeans). - Ensure your project is set to compile with the correct JDK version.
- Clean and build the project.
- Run the main application file:
TARUMTClinicManagementSystem.java. - Follow the on-screen command-line interface to navigate through different staff and patient modules.
- Ting Rong You
- Yong Chong Xin
- Lim Wen Liang
- Anson Chang
Bachelor of Software Engineering (Honours)
Tunku Abdul Rahman University of Management and Technology (TARUMT) Year 2 Semester 1 - Data Structure and Algorithm Assignment