Premium · shipped, not a roadmap

Say it like you'd
say it to your staff.

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.

Why this matters

Every other clinic AI writes you a summary.
Oja does the work.

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.

A CHATBOT

"To book an appointment for Ramesh, navigate to the Appointments module, click New Appointment, select the patient from the dropdown…"

You still do the work
OJA

Ramesh ka appointment 15 June 9:30am

✓ Booked · Ramesh Gupta · Dr Priya · 15 Jun, 09:30
The work is done
Ten actions, live today

Everything Oja can
actually do.

Not a demo. Not "coming soon." These are the ten 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_appointment

"book Kiran with Dr Priya tomorrow 4pm"

Resolves the patient and the doctor, converts "4pm" to 16:00, checks the slot is free.

asks first If you didn't name a doctor, Oja asks which one before it books anything.
create_prescription

"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.

confirms first You see every line item on the confirm card before it's written to the patient's record.
record_payment

"Ramesh paid 1200 by upi"

Finds the unpaid visit, applies the payment, updates the balance.

refuses bad money Overpayment is rejected outright — you can't fat-finger ₹12,000 into a ₹1,200 bill.
add_followup

"Anita ko agle hafte follow-up lagao"

Understands "agle hafte", "tomorrow", "in 3 days" — resolves it to a real date.

asks first No date given? Oja asks for one instead of guessing. And it asks in the language you used.
edit_patient

"change Kiran's phone to 9988776655"

Edits phone, email, address, age, gender, notes. Names are deliberately not editable.

shows the diff The confirm card shows old → new. 9812345678 → 9988776655. Then you decide.
add_patient

"new patient Sunita, 34, 9812345678"

Creates the record and opens it ready for the first visit.

validates first A malformed phone never reaches the confirm card — Oja tells you it's wrong, in your script, and asks again.
add_product

"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.

confirms first Name, unit and category shown before it's saved.
add_category

"make a category called Ayurvedic"

Organises your catalog the way your practice actually thinks about medicines.

confirms first One tap to approve, one to cancel.
add_unit

"add unit: ml"

Defines dosage units beyond the presets — drops, ml, sachets, whatever you dispense.

confirms first Nothing enters your catalog without your yes.
update_setting

"set consultation fee to 800"

Changes practice settings by voice instead of hunting through a settings tree.

role-gated Only if your role may change settings. A receptionist asking this gets a polite no.
What actually happens

Ask. Clarify. Confirm.
Only then, do.

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.

KIND: CHAT

It asks what's missing

"book Kiran tomorrow 4pm" — which doctor? Oja stops and asks rather than picking one. If you wrote in Hindi, it asks in Hindi.

KIND: SEARCH

It disambiguates the patient

Two patients called Ramesh? Oja shows both — name, phone, age, gender — and lets you point at the right one. It never invents an ID.

KIND: CONFIRM

It shows you exactly what it will do

A card with the action, the fields, and the old → new diff. Confirm or Cancel. Nothing is written until you tap.

EXECUTE

The system does the arithmetic

The model proposes; the system decides. Balances, permissions, tenant boundaries and validation are enforced in code — never by the AI.

The part that matters in healthcare

An AI with its hands on patient records
needs rules.

It confirms before it writes.Anything that changes a record shows you exactly what will change — old value, new value — and waits for your yes.
It never invents an ID.Oja passes the name you said; the system resolves it against your real patients. If two Rameshes match, it asks which one.
It refuses bad money.Overpayment is rejected at the source. The balance arithmetic is done by the system, not the model.
It respects your roles.Oja can only do what the logged-in user is permitted to do. A receptionist's Oja is not a doctor's Oja.
Everything is logged.Every Oja action lands in the same audit trail as a manual one — user, timestamp, before, after.
It's off by default.Oja is a Premium feature you switch on. Clinics that don't want AI near their records simply don't have it.

Stop clicking through menus.
Just tell it.

Oja ships with DRP-OS Premium, alongside patient self-booking, prepaid consultations, and wallet settlement.