Inspiration
Hospital outpatient departments (OPDs) and private clinics frequently struggle with manual record keeping, chaotic queue lines, and accidental double-booking. Inspired by modern table reservation workflows, we wanted to build a dependable, frictionless reservation platform specifically for outpatient healthcare that lets patients secure exact consultation windows and provides clinic administration with clear daily patient queues.
What it does
- Real-Time Slot Locking: Patients select a doctor and date to view live available 30-minute intervals. Taken slots are automatically locked out and disabled to prevent scheduling conflicts.
- Role-Based Access Control: Dual dashboards separate patient activities (booking appointments, viewing schedules, cancelling) from doctor management (viewing assigned patient lists, visit reasons, contact details).
- Automated QR-Verified Consultation Slips: Once an appointment is secured, the system automatically compiles an official PDF receipt complete with the patient's token ID (
#MS-XXXX), room assignment, consultation fee, and a scannable QR verification code.
How we built it
- Backend: Python (Flask) with secure session handling.
- Database: MySQL relational database enforcing referential integrity with foreign keys and multi-column unique constraints.
- Frontend: Responsive HTML5, CSS3, and JavaScript using the Fetch API for asynchronous slot checking.
- Document Engine: ReportLab and QRCode libraries for on-the-fly PDF generation and verification badges.
Challenges we ran into
- Handling simultaneous slot availability without race conditions: solved by introducing database-level unique constraints across doctor ID, date, time slot, and status.
- Dynamically building formatted PDF consultation slips in-memory via ReportLab without blocking Flask server worker threads.
What we learned
- Designing robust relational database schemas that enforce business rules directly at the data layer.
- Integrating asynchronous client-side API requests with Flask backend route controllers to update UI elements without full page reloads.
What's next for MediSlot
- Integrating PayPal payment sandbox checkout so patients can settle consultation fees prior to clinic arrival.
- Automated SMS and WhatsApp reminder notifications dispatched 1 hour before scheduled consultation slots.