Enterprise-grade role-based hospital management system for streamlined clinical, administrative, and operational workflows.
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.
- Manage Doctors, Patients, Departments
- Monitor Appointments
- View Audit Logs
- Access system-wide operational data
- View assigned appointments
- Manage patient records
- Create prescriptions
- Access medical reports
- Access dashboard
- View appointments
- View prescriptions
- Access medical reports
- Java 11+
- Jakarta Servlet 6.0 (Jakarta EE 10)
- JSP (Server-Side Rendering)
- JDBC
- MySQL 8.x
- Apache Tomcat 10+
- mysql-connector-j-9.1.0
- Layered Architecture
- MVC Pattern
- DAO Pattern
- Monolithic Deployment
Presentation Layer β JSP
Controller Layer β Servlets
Business Logic β Embedded within Servlets
Data Access Layer β DAO + DAOImpl
Model Layer β POJOs
Security Layer β Filters (AuthFilter, RoleFilter)
Client β Servlet β DAO β Database β JSP Response
- LoginServlet
- LogoutServlet
- Session-based authentication
- Role-based filtering
- Users entity
- Role control and validation
- CRUD operations
- Department mapping
- Consultation fee tracking
- CRUD operations
- Profile management
- Department CRUD
- Medical specialization classification
- Book appointments
- Doctor-specific scheduling
- Status tracking (Completed, Cancelled, Scheduled)
- Prescription entity
- Appointment-based linkage
- DAO-driven persistence
- MedicalReports entity
- Database-stored report entries
- Report type classification (MRI, ECG, BLOOD_TEST, etc.)
- System overview
- Operational visibility
- Tracks critical system actions
- Maintains traceability
- Session-based authentication
- Role-based authorization
- AuthFilter for login protection
- RoleFilter for endpoint-level access control
- Restricted dashboard access per role
- Direct JSP access prevention
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: MySQL 8.x
Connection: JDBC
Utility Class: DBConnection.java
Schema file located at:
database/hospital_schema.sql
Includes:
- Referential integrity constraints
- Foreign key relationships
- Audit logging table
- Role-based user model
- No pagination implementation
- No PDF/export report generation
- No physical file upload storage
- Direct JDBC (no ORM abstraction)
- Business logic embedded in Servlets (no service layer)
- Pagination support
- File-based report storage
- PDF report export
- Spring Boot migration
- REST API layer
- Docker containerization
- CI/CD pipeline integration
- Unit and integration testing
Educational and portfolio demonstration project.
**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








