Oja is an assistant built into DRP-OS that understands how Indian clinics actually talk — English, Hindi, or the mix everyone really uses. It doesn't answer questions about your clinic. It runs it.
There is a real difference between software that talks about your clinic and software that changes it. Ask most medical AI to book an appointment and you get a paragraph explaining how to book an appointment. Ask Oja and the appointment exists.
"To book an appointment for Ramesh, navigate to the Appointments module, click New Appointment, select the patient from the dropdown…"
Ramesh ka appointment 15 June 9:30am
Not a demo. Not "coming soon." These are commands running in production right now — each one resolves the patient by name, checks your permissions, and shows you what changed before it saves.
"book Kiran with Dr Priya tomorrow 4pm"
Resolves the patient and the doctor, converts "4pm" to 16:00, checks the slot is free.
"Vikram ke liye fever ka prescription banao"
Builds the Rx from your saved templates or from what you dictate. Groups by morning/lunch/night, generates the PDF.
"Ramesh paid 1200 by upi"
Finds the unpaid visit, applies the payment, updates the balance.
"Anita ko agle hafte follow-up lagao"
Understands "agle hafte", "tomorrow", "in 3 days" — resolves it to a real date.
"change Kiran's phone to 9988776655"
Edits phone, email, address, age, gender, notes. Names are deliberately not editable.
"new patient Sunita, 34, 9812345678"
Creates the record and opens it ready for the first visit.
"add Amoxicillin 500mg to catalog"
Adds to your medicine catalog with its unit and category, so it's there next time you write an Rx.
"make a category called Ayurvedic"
Organises your catalog the way your practice actually thinks about medicines.
"add unit: ml"
Defines dosage units beyond the presets — drops, ml, sachets, whatever you dispense.
"set consultation fee to 800"
Changes practice settings by voice instead of hunting through a settings tree.
Oja never writes to a patient record on its first guess. Every command runs through the same four steps — and you can stop it at any of them.
"book Kiran tomorrow 4pm" — which doctor? Oja stops and asks rather than picking one. If you wrote in Hindi, it asks in Hindi.
Two patients called Ramesh? Oja shows both — name, phone, age, gender — and lets you point at the right one. It never invents an ID.
A card with the action, the fields, and the old → new diff. Confirm or Cancel. Nothing is written until you tap.
The model proposes; the system decides. Balances, permissions, tenant boundaries and validation are enforced in code — never by the AI.
Every screen in DRP-OS — the dashboard, patients, appointments, prescriptions, the wallet, the whole thing — sits on one core. Oja reaches into that same core. When it books an appointment it uses the identical conflict-detection your front desk uses. When it writes a prescription it runs the identical two-mode costing engine. There is no separate "AI version" of your data that can drift out of sync. One clinic, one brain, two ways in.
Anything you can do by tapping through the portal, you can do by telling Oja — because underneath, it's the exact same set of actions. Nothing Oja does is a shortcut that skips a rule. It asks, it confirms, then it executes.
“Eight medicines, one quantity each, thirty days.”
“I can’t price these yet — when is each one taken?”
What a medicine costs depends on how many times a day it is taken. Until Oja knows that, there is no total to give you. So it asks — and it will not save a prescription it cannot stand behind.
They ask their own app instead of ringing your reception.
They see real free slots and rebook, inside the rules you set.
Their balance, without anyone at your desk looking it up.
Oja comes with your plan, alongside patient self-booking, prepaid consultations, and wallet settlement.