
Bazavar — Patient Recall for Clinics
Most clinics sit on years of patient records, and many of those patients never left — their next check-up simply passed and nobody called. Bazavar imports the clinic's existing Excel export, applies a treatment protocol to each record, and works out who is due for a cleaning, an implant check or a filler top-up. Each due patient gets a short sequence of personal messages with a booking link, and the moment they book, visit, reply or opt out, they drop out of the sequence. At the end of the month the clinic gets one number: how many patients came back and how much revenue that was.
// Architecture
A standalone FastAPI and SQLAlchemy backend on PostgreSQL, with a Next.js 14 RTL panel, deployed with Docker next to the other Orv SaaS apps and billed through Orv Pay. A nightly engine enrolls due patients, advances sequence steps and queues messages; every message goes through the same gate for opt-outs, a monthly per-patient cap, the clinic's sending hours and public holidays. Sending sits behind a channel layer: the live default is a manual outbox the receptionist sends from, with SMS provider adapters written but switched off until a line is in place.
// Key capabilities
Protocols with sources
A built-in library of 33 dental and aesthetic protocols, each with a recall interval, a clinical note and its source (NICE, ADA, AAE and others), plus 86 ready message templates the clinic can edit.
Never message someone who just came in
A booking, visit, reply or opt-out ends every live sequence for that patient and cancels their queued messages, so nobody who came in yesterday is asked where they have been.
Conservative attribution
A visit only counts as recovered if a message actually reached the patient within the attribution window and matches the treatment; when the amount is missing, the average price is used and shown as an estimate.
Import from what the clinic has
The import wizard recognises Persian and English column names, normalises mobile numbers and Persian digits, reads Jalali dates and merges duplicates on mobile number.
// Technology stack
- Python / FastAPI
- PostgreSQL
- Next.js
- Jalali calendar
- Orv Pay
- Docker
// Next step
Need something like Bazavar — Patient Recall for Clinics?
Tell us what you're building. We'll reply with how we'd approach it, a rough timeline and the first step.
Start a similar project


