Clinical Management System — Karuna Hospital
A hospital management system built to digitize patient records, appointments, reports, and clinical workflows.

A clinical management system for Karuna Hospital that replaced paper-based patient records, appointment books, and clinical reporting with a digital workflow.
Problem #
Hospital staff were managing patient records, appointments, and clinical reports manually — paper charts, appointment books, and handwritten reports that were slow to search, easy to misplace, and hard to aggregate into any kind of operational reporting.
Solution #
The system was built on a PHP backend with a MySQL database, with parts of the interface progressively modernized using React for a faster, more responsive staff experience. Core workflows — patient intake, appointment scheduling, and clinical documentation — were converted from paper processes into structured, reusable digital templates.
Architecture #
A traditional server-rendered PHP application handles the bulk of hospital record management and reporting, backed by a MySQL database for patient, appointment, and report data. React was introduced incrementally into higher-traffic parts of the interface where interactivity mattered most, rather than as a full rewrite.
Stack #
| Layer | Choice | Why |
|---|---|---|
| Backend | PHP | Fit the hospital's existing hosting and staff familiarity |
| Frontend | React (partial) | Modernized the most-used screens without a full rewrite |
| Database | MySQL | Reliable, well-understood relational storage for patient/appointment data |
Problems solved #
- Digitized manual hospital record management processes
- Created patient record and appointment management workflows
- Built automated reporting tools for daily hospital operations
- Converted medical documentation workflows into reusable digital templates
- Improved usability by modernizing parts of the system with React
Lessons learned #
Introducing React only where staff spent the most time — rather than rewriting the whole PHP application at once — delivered usability improvements faster and with far less risk to a system hospital operations depended on daily.
Links #
- Source: private/internal (not publicly linked)
Related content
Pasal Business Management Platform
Internal business applications developed for inventory management, appointment systems, and daily operational workflows.
Building a Fast, Cached Nearby-Places Search in Node.js (No PostGIS Required)
How I built location search, map-pin clustering, and viewport caching for a mobile app on plain MySQL — bounding-box pre-filtering, Haversine distance in SQL, and Redis-cached viewport queries instead of a dedicated geospatial database.
Nearby-Places Query: Bounding Box + Haversine in MySQL
A reusable pattern for 'what's near me' search on plain MySQL — a fast bounding-box pre-filter followed by an exact Haversine distance calculation, sorted and paginated in SQL.