Patient Management System (PMS)
A complete healthcare software solution to manage patients, appointments, billing, medical records,
and hospital workflows efficiently.
What PMS Does (Features)
Role-based access control (RBAC)
Different users (Super Admin/Admin/Staff) see different tabs, buttons, and allowed actions from centralized access rules.
Patient master management
Create, search, edit, soft-delete, and restore patients with pagination and filters.
Patient visit tracking
Log visits by Patient ID or NFC card, then view paged visit history per patient.
Treatment lifecycle management
Add/view/update treatment records, include doctor comments, feedback, allergy notes, and close-treatment flow.
Medical file handling
Upload and view X-ray/prescription images with multipart upload, validation, and base64 storage/display.
Reports and dashboard views
Dashboard/report endpoints and UI modules for operational summaries and trends.
How PMS Is Built
Frontend
WPF desktop app (AttendanceManagement.Wpf) with role-aware UI and centralized authorization checks.
Backend
ASP.NET Core Web API using controller → service → repository layers.
Database
PostgreSQL via EF Core AppDbContext with PatientMasterData, PatientVisit, and treatment tables.
Security / Ops
JWT auth, role claims, middleware logging, trace IDs, and CORS support for WPF.
Patient Workflow (FE → BE → DB)
- FE: User opens Patient screen, searches/adds/edits/deletes from WPF (Patient.xaml.cs).
- BE: Calls PatientController, PatientVisitController, and PatientTreatmentController APIs.
- Service/Repo: Business logic in services, persistence in repositories.
- DB: Reads/writes PatientMasterData, PatientVisit, PatientNfcCardMapping, PatientVisitTreatment, and PatientTreatmentMaster in PostgreSQL.

