Patient Management System


Team


Table of Contents

  1. Introduction
  2. Solution Architecture
  3. Software Designs
  4. Testing
  5. Technology Stack
  6. Deployment
  7. Conclusion
  8. Links

Introduction

Healthcare facilities still face problems such as paper-based records, scattered patient information, appointment conflicts, and limited access to medical history. These issues can lead to delays in treatment, data loss, and poor patient experience.

The Patient Management System (PMS) is a full-stack web application designed to manage patient records, medical history, appointments, billing, pharmacy, and clinical workflows in a centralized system. The system provides a secure, role-based platform for healthcare staff and patients to access and update information efficiently.

The system supports 10 distinct user roles — Super Admin, Admin, Management, Doctor, Nurse, Receptionist, Pharmacist, Lab Technician, Billing Staff, and Patient — each with a dedicated dashboard and tailored permissions. It improves data accuracy, reduces manual work, and supports better decision-making by healthcare providers.


Solution Architecture

Architecture Overview

The system follows a three-tier client-server architecture with a clear separation between the presentation, business logic, and data layers.

Architecture Diagram

Frontend (React + Vite)

Backend (Spring Boot)

Database (PostgreSQL)

Security


Software Designs

1. System Modules

1.1 Patient Management Module

1.2 Medical Records Module

1.3 Appointment Management Module

1.4 User & Access Control Module

1.5 Billing & Invoicing Module

1.6 Pharmacy Module

1.7 Lab & Diagnostics Module

1.8 Notification Module

1.9 Reporting & Management Module


2. Database Design

Key Entities

Relationships


3. Security Design


Testing

Testing Approach

The project implements a comprehensive multi-layered testing strategy covering unit, integration, and security testing.

Types of Testing

Unit Testing (16 test suites)

Integration Testing (5 test suites, PostgreSQL Testcontainers)

Frontend Testing


Technology Stack

Layer Technology
Frontend React 19, Vite 7, Tailwind CSS 4
Backend Spring Boot (Java 17+), Spring Security, Spring Data JPA
Database PostgreSQL
Authentication JWT (Access + Refresh Tokens), OTP Email Verification
Email Resend API
Real-time WebSocket (STOMP)
Migrations Flyway
Testing JUnit 5, Testcontainers (PostgreSQL)
Containerization Docker
Deployment Render (Backend + PostgreSQL)
API RESTful APIs (JSON)

Deployment

The application is containerized and deployed to the cloud:


Conclusion

The Patient Management System has been successfully developed as a fully functional, production-deployed web application that centralizes patient data, medical records, appointments, billing, and pharmacy operations using modern web technologies.

The system serves 10 distinct user roles, each with a tailored dashboard and appropriate access controls. The architecture using React (Vite) and Spring Boot with PostgreSQL provides a scalable, secure, and maintainable solution. Comprehensive testing (21 test suites including integration tests with Testcontainers) ensures reliability, and Docker-based deployment enables seamless cloud hosting.

Key Achievements