Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 3.31 KB

File metadata and controls

58 lines (45 loc) · 3.31 KB

TARUMT Clinic Management System 🏥💊

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.

🚀 Overview

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.

✨ Key Features

  • Custom Data Structures: Implements bespoke ADTs (MyClinicADT implementing ClinicADT) 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_queue to a dispensed_queue as 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.

🛠️ Tech Stack & Architecture

  • Language: Java
  • Architecture: Boundary-Control-Entity (BCE) Pattern
  • Build Tool: Apache Ant (NetBeans project structure)
  • Data Storage: Custom ADTs with .txt file serialization

📁 Core Project Structure

📦 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

⚙️ How to Run

  1. Clone this repository to your local machine.
  2. Open the TARUMTClinicManagementSystem.java folder in an IDE that supports Apache Ant (such as Apache NetBeans).
  3. Ensure your project is set to compile with the correct JDK version.
  4. Clean and build the project.
  5. Run the main application file: TARUMTClinicManagementSystem.java.
  6. Follow the on-screen command-line interface to navigate through different staff and patient modules.

👨‍💻 Author

  • 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