hospital-management-system-java-full-stack-project

๐Ÿฅ Hospital Management System (HMS)

Enterprise-grade role-based hospital management system for streamlined clinical, administrative, and operational workflows.


๐Ÿ“Œ Problem Statement

Hospitals require centralized control over patient records, doctor management, department administration, appointment scheduling, prescriptions, and audit tracking.

Manual or disconnected systems introduce inefficiencies, security risks, and poor traceability.
This system provides a structured, secure, database-driven platform to manage multi-role healthcare operations in a unified environment.


๐Ÿ‘ฅ Target Users & Capabilities

๐Ÿ” Admin

๐Ÿฉบ Doctor

๐Ÿง‘โ€โš•๏ธ Patient


๐Ÿš€ Technology Stack


๐Ÿ— Architecture

Architecture Style

Layer Breakdown

Presentation Layer โ†’ JSP
Controller Layer โ†’ Servlets
Business Logic โ†’ Embedded within Servlets
Data Access Layer โ†’ DAO + DAOImpl
Model Layer โ†’ POJOs
Security Layer โ†’ Filters (AuthFilter, RoleFilter)

Request Flow

Client โ†’ Servlet โ†’ DAO โ†’ Database โ†’ JSP Response


๐Ÿ“ฆ Major Modules

๐Ÿ” Authentication Module

๐Ÿ‘ค User Management

๐Ÿ‘จโ€โš•๏ธ Doctor Management

๐Ÿง‘โ€โš•๏ธ Patient Management

๐Ÿฅ Department Management

๐Ÿ“… Appointment Management

๐Ÿ’Š Prescription Management

๐Ÿงพ Medical Reports Module

๐Ÿ“Š Admin Dashboard

๐Ÿ“ Audit Logging


๐Ÿ”’ Security Implementation


๐Ÿ“ Project Structure

Hospital_Management_System/ โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ””โ”€โ”€ main/ โ”‚ โ”œโ”€โ”€ java/ โ”‚ โ”‚ โ””โ”€โ”€ com/ โ”‚ โ”‚ โ””โ”€โ”€ hospital/ โ”‚ โ”‚ โ”œโ”€โ”€ dao/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AppointmentsDAO.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AuditLogsDAO.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DepartmentsDAO.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DoctorsDAO.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ MedicalReportsDAO.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PatientsDAO.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PrescriptionsDAO.java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ UsersDAO.java โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ daoimpl/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AppointmentsDAOImpl.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AuditLogsDAOImpl.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DepartmentsDAOImpl.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DoctorsDAOImpl.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ MedicalReportsDAOImpl.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PatientsDAOImpl.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PrescriptionsDAOImpl.java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ UsersDAOImpl.java โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ model/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Appointments.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AuditLogs.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Departments.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Doctors.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ MedicalReports.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Patients.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Prescriptions.java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ Users.java โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ servlet/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AdminDashboardServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AppointmentsServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DepartmentsServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DoctorAppointmentsServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DoctorDashboardServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DoctorsServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ LoginServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ LogoutServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PatientDashboardServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PatientsServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PrescriptionsServlet.java โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ RegisterServlet.java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ ReportUploadServlet.java โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ filter/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AuthFilter.java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ RoleFilter.java โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ util/ โ”‚ โ”‚ โ””โ”€โ”€ DBConnection.java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ webapp/ โ”‚ โ”œโ”€โ”€ META-INF/ โ”‚ โ”œโ”€โ”€ WEB-INF/ โ”‚ โ”‚ โ”œโ”€โ”€ lib/ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ mysql-connector-j-9.1.0.jar โ”‚ โ”‚ โ””โ”€โ”€ web.xml โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ admin-dashboard.jsp โ”‚ โ”œโ”€โ”€ appointment-form.jsp โ”‚ โ”œโ”€โ”€ appointments.jsp โ”‚ โ”œโ”€โ”€ department-form.jsp โ”‚ โ”œโ”€โ”€ departments.jsp โ”‚ โ”œโ”€โ”€ doctor-dashboard.jsp โ”‚ โ”œโ”€โ”€ doctor-appointments.jsp โ”‚ โ”œโ”€โ”€ doctor-form.jsp โ”‚ โ”œโ”€โ”€ doctors.jsp โ”‚ โ”œโ”€โ”€ error.jsp โ”‚ โ”œโ”€โ”€ login.jsp โ”‚ โ”œโ”€โ”€ patient-dashboard.jsp โ”‚ โ”œโ”€โ”€ patient-profile.jsp โ”‚ โ”œโ”€โ”€ prescription-form.jsp โ”‚ โ”œโ”€โ”€ register.jsp โ”‚ โ”œโ”€โ”€ report-form.jsp โ”‚ โ””โ”€โ”€ reports.jsp โ”‚ โ”œโ”€โ”€ database/ โ”‚ โ””โ”€โ”€ hospital_schema.sql โ”‚ โ”œโ”€โ”€ screenshots/ โ”‚ โ”œโ”€โ”€ register.png โ”‚ โ”œโ”€โ”€ medical-reports.png โ”‚ โ”œโ”€โ”€ doctors.png โ”‚ โ”œโ”€โ”€ appointments.png โ”‚ โ”œโ”€โ”€ departments.png โ”‚ โ”œโ”€โ”€ login.png โ”‚ โ”œโ”€โ”€ admin-dashboard.png โ”‚ โ”œโ”€โ”€ doctor-dashboard.png โ”‚ โ””โ”€โ”€ patient-dashboard.png โ”‚ โ””โ”€โ”€ README.md


๐Ÿ—„ Database

Database: MySQL 8.x
Connection: JDBC
Utility Class: DBConnection.java

Schema file located at:

database/hospital_schema.sql

Includes:


๐Ÿ“ธ Application Screenshots

๐Ÿ“ Registration Page

Register

๐Ÿ” Login Page

Login

๐Ÿง‘โ€๐Ÿ’ผ Admin Dashboard

Admin Dashboard

๐Ÿฉบ Doctor Dashboard

Doctor Dashboard

๐Ÿง‘โ€โš•๏ธ Patient Dashboard

Patient Dashboard

๐Ÿ‘จโ€โš•๏ธ Doctors Management

Doctors

๐Ÿ“… Appointments Management

Appointments

๐Ÿฅ Departments Management

Departments

๐Ÿงพ Medical Reports Module

Medical Reports


โš  Current Limitations


๐Ÿ“ˆ Future Enhancements


๐Ÿ“„ License

Educational and portfolio demonstration project.

๐Ÿ‘จโ€๐Ÿ’ป Author

**Surya Teja **
Java Full Stack Developer
Specialized in scalable backend systems, RESTful API architecture, Spring ecosystem, and production-grade application design.

๐Ÿ“ง Email: suryateja36200@gmail.com
๐ŸŒ Location: India
๐Ÿ”— GitHub: https://github.com/Surya63023

โญ If you found this project useful, consider giving it a star.