A Patient Portal Where Patients Actually See Their Records
Patients shouldn't have to WhatsApp your receptionist to ask "what did the doctor prescribe last time?" Here's a patient portal that just works — included from the starter plan.
Every solo doctor knows this pattern: a patient calls or messages, asking for a copy of their prescription from the last visit. The receptionist (or you) digs through paper files, finds it, takes a photo, sends it on WhatsApp. 10 minutes per request. Multiplied by 20-30 requests per week, that's 3-5 hours of staff time wasted.
Bigger clinics solve this with patient portals — separate logins where patients self-serve their records. Most clinic software treats this as a premium feature only available in higher tiers. DRP-OS includes it from the starter plan.
Here's exactly what patients see and what they can do.
The patient portal at /patient/
Every DRP-OS Clinic comes with a patient-facing portal at the path /patient/. The pages built and live in production:
- login.php — Patient enters phone or email + password
- index.php — Patient dashboard with upcoming appointments + recent prescriptions
- appointments.php — Full appointment history with statuses
- book.php — Self-service appointment booking (respects doctor availability)
- prescriptions.php — All past prescriptions with download links
- prescription-pdf.php — Direct PDF download of a specific prescription
- profile.php — Update personal info (phone, address, etc.)
- change-password.php — Password management
- logout.php — Clean session end
Each page enforces strict authentication. A patient can only see their own data. The system uses session tokens stored in clinic_patient_sessions, with logout invalidating the session immediately.
Login flow
First-time login is the most fragile point of any patient portal. DRP-OS handles it carefully:
- You invite a patient from the doctor's view ("Invite to portal" button)
- System generates a temporary password
- Patient receives SMS or WhatsApp: "Login at yourclinic.com/patient/login with phone +91XXXXXXXXXX and password XYZ123"
- Patient clicks the link, enters credentials
- System detects
force_password_change = 1and forces them to set a new password - From the next login, they use their own password
- Failed login attempts are logged in
clinic_patient_login_log
The patient's login uses bcrypt-hashed passwords (industry-standard). The force_password_change flag ensures no patient ever lives with a default password — they MUST change it on first use.
What patients see on their dashboard
The dashboard (index.php) shows the patient:
- Welcome message with their first name
- Upcoming appointments — date, time, doctor, with cancel/reschedule buttons
- Recent prescriptions — last 5 visits, each with download PDF button
- Pending payments — if any visit has balance due
- Quick actions — "Book a new appointment", "View all prescriptions", "Update profile"
It's a clean, simple interface. No medical jargon. No menus they don't need. Patients can navigate it without help.
Prescription history
The prescriptions.php page shows every past prescription:
- Date of visit
- Doctor's name
- Diagnosis (one-liner)
- List of medicines (collapsed by default, expandable)
- "Download PDF" button
Clicking download takes them to prescription-pdf.php, which generates the exact same PDF they received in the clinic — same letterhead, same formatting, same content. They can:
- Save it to their phone
- Share it with a pharmacist
- Forward it to a family member
- Print it themselves
No more "doctor, can you send me last month's prescription?" calls.
Self-service appointment booking
The book.php page is the killer feature. Patients can:
- Pick a doctor (if multi-doctor practice)
- Pick a date (only doctor-available days show)
- Pick a time slot (only free slots show)
- Optionally add a reason
- Confirm
The system creates an appointment with source = "online". You see it in your dashboard alongside walk-in appointments, with a small "online" badge.
Patients can also cancel or reschedule upcoming appointments directly from the portal. If a patient cancels 48 hours in advance, the slot reopens automatically for other patients to book.
Profile management
The profile.php page lets patients update their own info:
- Phone number
- Email address
- Address
- Weight (useful for weight-based dosing)
- Emergency contact
When a patient updates info, you see the change reflected in their record on your side. This catches data drift — patients change phone numbers, move houses, but rarely tell their doctor unless prompted.
What the patient CANNOT see
This is as important as what they CAN see. The portal does NOT show:
- Other patients' data (enforced at database level)
- Your internal notes / private observations
- Pricing/cost data (if hidden in settings)
- Doctor schedules in detail (only their booked slots vs free slots)
- Audit logs / system data
- Other patients' files (even shared family members — each patient has separate login)
This isolation is enforced via SQL queries that always filter by tenant_id + patient_id. Even if a patient tries to manipulate URLs or session tokens, they cannot access another patient's data.
What this does for your clinic
Concrete impact:
- Receptionist time saved: 3-5 hours/week previously spent on "send me my prescription" calls
- Patient satisfaction: patients feel respected when they have access to their own data
- Reduced data entry errors: patients update their own profile, accuracy improves
- Online bookings: 60-70% of appointment bookings happen via portal within 6-12 months
- Compliance support: under DPDP Act, patients have a right to access their own data — portal makes this automatic
- Practice modernization signal: tells patients your clinic is current, organized, professional
Patient adoption pattern
In Indian clinics that have implemented patient portals, adoption typically looks like:
- Month 1: 10-15% of invited patients log in once
- Month 3: 30-40% have logged in at least once
- Month 6: 50-60% use portal regularly (at least monthly)
- Month 12: 70-80% adoption among smartphone-using patients
Older patients (70+) typically have lower adoption — that's fine, they call your receptionist. The portal handles the 70-80% who prefer self-service, freeing your staff for the patients who genuinely need human interaction.
White-label option
The portal URL by default is yourclinic.com/patient/. You can customize:
- Clinic logo at the top
- Color theme
- Clinic name in the header
- Optional welcome message
To patients, it feels like YOUR clinic's portal — not a DRP-OS portal. The branding is yours.
Try it
The patient portal is included in DRP-OS Clinic from the starter plan (₹1,499/month). Setup is straightforward — once you create a patient record and click "Invite to portal," that patient has access.
Start your 24-hour free trial. No credit card needed.
If you want a walkthrough of the patient portal in your demo, WhatsApp +91 9560793054 — we can do a 10-minute screen-share.
Try DRP-OS Clinic free for 24 hours
Built for Indian solo doctors. GST invoices, Hindi prescriptions, patient records. ₹1,499/month. No credit card.
Start free trial →