Doctori
A healthcare platform connecting patients with practitioners for discovery, booking and consultations. I implemented its ophthalmology module: specialized clinical records, practitioner-level access control and automated follow-up reminders for ophthalmologists.
Doctori handles sensitive healthcare data, so this entry shows no patient information, clinical records or application screenshots, and the artwork is conceptual.
My role
Full-stack engineer on an existing, multi-contributor Laravel platform, contributing to its ongoing development and maintenance. The ophthalmology module is the work I can attribute most directly to myself; I also made a smaller correction to the prescription PDF.
The wider platform lets patients find practitioners and book appointments or remote consultations, and gives practitioners tools for patients, consultations, prescriptions, documents and invoices. The ophthalmology module extends that practitioner application with eye-care records such as vision exams, eye pressure readings and eyeglass or contact-lens prescriptions. It reuses the platform’s existing patients, practitioners and login instead of becoming a separate application.
Contribution
- Specialized data model: designed how ophthalmology records attach to a consultation and to the platform’s existing patients and practitioners, so nothing in the core system is duplicated.
- Access control: a patient can be linked to several practitioners, so a patient ID alone must not unlock their eye-care records. Access is limited to ophthalmologists and to the practitioner who owns each record, with tests for both cases. This is application-level access control, not a security audit.
- Automated follow-ups: a daily scheduled job creates reminders for prescription renewals and annual checkups, and saving a high eye-pressure reading or a cataract or LASIK procedure creates a follow-up reminder. These are workflow reminders, not medical advice.
- Clinical interface: built the consultation screens, including an interactive eye diagram and a pressure chart, and removed the patient’s age from the prescription PDF.
Technologies
- Laravel 8
- PHP 7.4 / 8.x
- Blade
- JavaScript
- MySQL
- PHPUnit
- Spatie Media Library
- Laravel Snappy