Healthcare Operations System
Hospital Management System
A web-based platform for managing patients, clinical staff, payments and day-to-day hospital operations.
- Python
- Flask
- PostgreSQL
- HTML
- CSS
- JavaScript
- Type
- Healthcare Operations System
- My role
- Architecture, development & delivery
- Core stack
- Python, Flask, PostgreSQL
Context
The Problem
In many hospitals and clinics, patient information moves between reception, doctors, nurses and the cashier on paper cards and handwritten notes.
Records get lost or are hard to find, patients wait while files are located, billing is error-prone and management has little visibility of daily activity.
What I built
The Solution
I built a web-based system where each department works from the same patient record. Reception registers and queues patients, doctors and nurses record their work, and payments produce printable receipts.
Because everything is captured as it happens, reports reflect what is actually going on in the hospital.
Capabilities
Key Features
Patient management
Registration and a single patient record shared across departments.
Reception
Check-in and queueing of patients to the right department.
Doctor module
Consultations, diagnoses and clinical notes.
Nurse module
Nursing observations and care updates.
Medical records
A searchable history of each patient's visits.
Payments
Billing for services with clear payment status.
Receipt printing
Printable receipts generated directly from payments.
Reports
Operational and financial summaries for management.
Multi-user access
Role-based access for each department.
Who uses it
User Roles
Administrator
Manages users, settings and reports.
Receptionist
Registers patients, manages the queue and payments.
Doctor
Records consultations and medical notes.
Nurse
Records observations and nursing care.
User experience
Interface & Screenshots
Reception & patient queue Patient medical record Payments & receipt printing Reports & administration
Engineering
System Architecture
01Clients
- ReceptionRegistration, queue, billing
- Clinical staffDoctors and nurses
- AdministrationUsers and reports
02Application
- Flask applicationRouting, auth, role permissions
- Department modulesReception, doctor, nurse, billing
03Data
- PostgreSQLPatients, visits, records, payments
Tools
Technology Stack
- Backend
- PythonFlaskPostgreSQL
- Frontend
- HTMLCSSJavaScript
Engineering decisions
Challenges & How I Solved Them
01One record, many departments
The challenge
Reception, doctors, nurses and billing all touch the same patient, but each needs a different view and different permissions.
How I solved it
Structured the system around a shared patient record with department-specific modules and role checks on every route.
02Accurate billing and receipts
The challenge
Payments must match the services provided and be provable to patients.
How I solved it
Linked payments to patient visits and generated printable receipts directly from stored payment data.
03Sensitive information
The challenge
Medical records are confidential and should only be visible to the right staff.
How I solved it
Restricted access to clinical data by role and kept all data access on the server side.
Ownership
My Contribution
Designed and developed the application end to end, including the database design, backend, user interface and role-based modules.
- Analysed the patient flow between departments
- Designed the PostgreSQL schema for patients, visits, records and payments
- Built the Flask backend and role-based modules
- Built the interface with HTML, CSS and JavaScript
- Implemented payments and receipt printing
Outcomes
Results
- [Add verified project metric here]
Demo available on request
See it in action
The hosted demo link is shared on request. Send me a message and I will give you access to a demo environment.
Demo accounts
DEMO ONLYDemo Admin
- Username
- demo_admin
- Password
- demo_password
Demo Receptionist
- Username
- demo_reception
- Password
- demo_password
Demo Doctor
- Username
- demo_doctor
- Password
- demo_password
The demo uses fictional patients only. No real medical data is stored in the demo.