Physician
The full workstation: schedule, triaged inbox, chart + CPP, AI scribe, immutable signing, eRx, billing, panel management.
Enter as Physician →Built by a physician, for the clinicians who have to use it — a full workstation for the whole clinic day, with AI that helps when you want it and never sends patient data off-site.
One click · no sign-up · synthetic patients · about five minutes
FHIR R4–aligned · PHIPA-conscious · on-prem AI — for Ontario family physicians and their teams.
Jump straight in
The best way to judge an EMR is to use one. Pick a role and you'll land in the running system as that person. Every screen is live and all the data is synthetic, so there's no sign-up and nothing to set up.
The full workstation: schedule, triaged inbox, chart + CPP, AI scribe, immutable signing, eRx, billing, panel management.
Enter as Physician →Vitals, immunizations, recalls and reminders, encounter prep — the clinical support view of the same charts.
Enter as Nurse →The staff inbox, document handling, messaging, and referral chasing — the day-to-day engine of the clinic.
Enter as Staff →Scheduling and booking, patient requests, front-desk workflow — what arrives before the physician ever sees it.
Enter as Secretary →Practice settings, user and role management, AI posture, security policy, billing defaults — governance made visible.
Enter as Admin →Book, self-triage, submit intake, grant or decline AI consent — and watch it land pre-sorted in the physician's inbox.
Enter the portal →You'll start on today's dashboard, which shows the schedule, the inbox and anything overdue. From there, try these:
Not sure where to go next? Click Guided tour at the top right of the EMR for a short walkthrough. When you're done, tell Ani what you think.
Why it's different
These aren't really features. They're the decisions the whole system is built on, and you can see each one in the demo.
The workflows, the order of the modules, and the compliance requirements all come from how a family doctor actually runs a clinic day, not from a billing system with a chart screen bolted on. It was designed by someone who has to use it, not just consulted about it.
One switch on each patient's chart turns off every AI feature for that patient, and the EMR still does everything by hand. If consent is declined or hasn't been set, the AI stays off. Every AI feature has a manual path behind it. It answers the thing doctors and regulators worry about most with AI in medicine: staying in control.
The ambient scribe and the clinical assistant both run on a machine inside the clinic. No audio and no chart text ever leave the building. Most AI-EMR products can't say that.
When the AI suggests a change to the chart, it has to quote the exact words from the signed note it's drawing on. If it can't point to the source, the suggestion never appears. The AI proposes, the clinician accepts, and every action is logged.
The data is stored in FHIR shapes, the status codes match FHIR, and the standard terminologies (LOINC, SNOMED, RxNorm, CVX) are carried inline. Sharing data is a matter of exporting it, not rebuilding the system — which is where certification and the provincial strategy are headed.
Feature tour
It's a full workstation, not a chart viewer. The tour below follows a clinic day rather than a feature list.
Results and correspondence arrive already sorted by urgency and category. The manual inbox is always one click away.
A tabbed chart with a persistent clinical banner: Summary/CPP, notes, Rx, labs, vitals, imaging, forms, billing — one surface for everything about the patient.
Dictate; a structured SOAP note appears. The audio never leaves the machine it was recorded on.
Signed notes are snapshotted and locked — corrections are amendments, not edits. Medico-legally correct by construction.
End the encounter and the local assistant proposes the OHIP code with a rationale. It suggests; the clinician decides.
The full referral lifecycle, with a directory and a built-in "chase" step, so nothing gets sent and then forgotten.
One unified worklist: preventive recalls, free-form tasks, recurrence, per-provider ownership, "mine only" view.
Practice-wide and per-provider stats, care gaps, high-risk lists — and a cohort builder that finds patients by disease, lab, or keyword.
Patients book, self-triage, and submit intake (including electronic AI consent) — and it lands in the physician's inbox pre-sorted.
One click takes you into a working clinic as the physician. There's nothing to install and no account to create.
Before you click
About five minutes. That's enough to open a chart, write and sign a note, and bill the visit. You don't need to sign up, so you can start right away.
No. The demo runs in your web browser. It works on a phone, but you'll see more on a computer.
No. Every patient in the demo is synthetic. Other visitors use the same demo, so please don't enter real patient information.
No. You don't need an account, a credit card or an email address.
You're signed in as a demo clinician at a synthetic clinic, so the screens greet you by that clinician's name. To see the nurse, front-desk, admin or patient view, choose a different role above.
Not really. Click around, start visits and write notes. Nothing you do touches real patients, and the demo resets from time to time.
The demo runs on a server Ani hosts himself, and it's occasionally offline. When it is, a notice appears above the role buttons. Please try again later, or get in touch.
Dr. Ani Garg does. He's the family physician who designs EMR21, and what clinicians tell him shapes what he builds next. Send him your thoughts.
The build
One practising family physician designed and directed the whole thing, using AI coding tools under close supervision, and logged every architectural decision along the way.
Pilot it in your practice
If the demo has you picturing your own clinic day in EMR21, let's talk. Ani sets up each pilot with the clinic, on a computer in the practice.
You remain the health information custodian for your patients' records. EMR21 is set up with your clinic, not run on its behalf.
Collaborate on the build
EMR21 gets better with every clinician and developer who pitches in. Both are welcome.
Try the demo in your own role. Then tell Ani what's missing, what's wrong and what's slow. Ideas from people who run a clinic day are the most useful input there is. Send your feedback.
The code lives in emr-21-collab, a private GitHub repository for invited collaborators. To join, email your GitHub username to ani.garg.md@gmail.com and say what you'd like to work on.
Run it locally
With access to emr-21-collab, you can run the full EMR on your own computer with a set of synthetic patients. The AI features are optional, and everything else works without them.
cd docker && docker compose --env-file ../.env up -d postgres backend # apply the database migrations in order (see the README) python scripts/seed_synthetic.py cd frontend && npm install && npm run dev # then open http://localhost:5173
Want to use EMR21 in your clinic? For now, clinic installations are set up through a pilot, and a simpler installer is on the way. Once EMR21 is running, the user manual explains how to use it.
Contact
Your email goes straight to Dr. Ani Garg. Choose a topic, and your email app will open with a short message ready to fill in. Please don't include any patient information.
Or email Ani directly at ani.garg.md@gmail.com.
See for yourself
A few minutes in the live system will tell you more than any write-up. Pick a role and run through a clinic day.