π Electronic Health Record (EHR) System
Final Project for CC103 - Object-Oriented Programming
Developed by Davedev
A console-based Electronic Health Record (EHR) System built with Java, designed for healthcare professionals to manage patient and doctor records efficiently.
β¨ Features
Patient Management
- β CRUD Operations: Add, view, update, and archive patient records
- π Archival System: Safely archive/unarchive records without deletion
- π Search: Find patients by ID
- π Detailed Records:
- Personal info, medical history, allergies, treatment plans
- Emergency contacts, assigned doctors
Doctor Management
- π¨ββοΈ Add/View Doctors: Track doctor specializations
- π·οΈ Assign Doctors: Link patients to doctors
User Experience
- π¨ Color-Coded Console: ANSI colors for better readability
- βοΈ Input Validation: Ensures correct formats (dates, phone numbers, etc.)
- π Auto Age Calculation: From date of birth
Security & Compliance
- π Privacy Notice: Prompts users about data confidentiality
- β»οΈ Safe Archiving: Prevents accidental data loss
π οΈ Technical Implementation
OOP Principles Used
- Encapsulation: Private fields with getters/setters
- Abstraction: Separate UI (
*Viewclasses) from logic (*Serviceclasses) - Composition:
PatientServicedepends onDoctorService
Key Classes
| Class | Purpose |
|---|---|
Patient |
Stores patient data (ID, name, medical history, etc.) |
Doctor |
Manages doctor details (ID, name, specialization) |
PatientService |
Handles patient operations (CRUD, archiving) |
InputValidator |
Validates user inputs (numbers, dates, text) |
MenuUtil |
Manages console UI (menus, screen clearing) |
Error Handling
- Try-catch blocks with colored error messages
- Prevents crashes on invalid inputs
π How to Run
-
Requirements:
- Java 17+
- Terminal/CMD (for console output)
-
Steps:
git clone cd EHR-System javac Main.java java Main
π License
MIT License - Free for academic/learning use.
π₯ Contributors
- Anggit, John Robert
- Balonzo, John Venedick
- Gascon, Jerell
- Quidan, Excequel
- Rentoria, Mark Rainier
Submitted for CC103 - AISAT DASMARIΓAS COLLEGE
πΉ For a detailed code walkthrough, check the source files!