EMR & Diagnosis Coding¶
The electronic medical record: capture vitals, write SOAP clinical notes, place orders, and code diagnoses to ICD‑11 with AI assistance — all against the current encounter.
Vitals¶
Medical → EMR → Vitals (/medical/emr/vitals) — Record Vitals for an encounter:
temperature, blood pressure, heart rate, respiratory rate, SpO₂, weight/height (BMI), with timestamp.
Vitals → Trend (/medical/emr/vitals/trend) plots a patient's blood pressure, pulse, SpO₂,
temperature and weight over time as sparkline mini‑charts, so a clinician sees the direction of travel
at a glance.
Clinical Notes (SOAP)¶
Medical → EMR → Notes (/medical/emr/notes) — write a note in SOAP structure:
- Subjective — chief complaint and history.
- Objective — examination findings.
- Assessment — clinical impression.
- Plan — treatment and follow‑up.
Screenshot: Clinical note (SOAP) — TODO
Orders & Prescriptions¶
Medical → EMR → Orders (/medical/emr/orders) — place Laboratory, Imaging,
Medication, or Procedure orders. Orders move Draft → Active → Completed (or
Cancelled); medication orders carry dose, frequency, route, quantity, and duration.
Quantity and duration on a prescription¶
Under Medication Details, record how much to dispense:
- Quantity — the number of units to hand over (tabs, capsules, mL). Decimals are allowed
(e.g.
2.5for half-tabs), up to two decimal places. - Duration (days) — how many days the course runs, as whole days.
Both are optional. Leave them blank for a PRN / SOS order, or wherever no count was written — the system records "not stated" rather than guessing one.
Quantity is never calculated for you
The system does not work out a quantity from dose × frequency × days. Dose and frequency are
free text (1-0-1, TDS, ५ दिन, PRN), so any calculation would be a guess — and a wrong guess
is the wrong number of tablets handed to a patient. Type the count you intend.
What the two figures are used for:
- They print on the patient's prescription handout (the Qty column) so the patient and any outside pharmacy can see the intended count.
- Pharmacy sees them on the dispense queue, so a short fill (10 of 20 dispensed) can be told apart from a completed one.
Neither field caps anything at prescribe time — a quantity larger than the formulary's claim limit still saves. Claim limits belong to the formulary and to insurance checking, not to the prescriber's pen.
When an order becomes Active, it is routed to the fulfilling department automatically: a Lab order creates a requisition on the lab worklist, an Imaging order on the radiology worklist, and a Medication order to the pharmacy dispense queue. Cancelling the EMR order cancels the downstream requisition too (while it is still pending). If an imaging order's free‑text can't be matched to a procedure, you're prompted to raise it manually (pre‑filled) — nothing is silently dropped.
Prescribing is guarded:
- Prescriber privilege — placing a medication order requires the ordering provider to hold the PRESCRIBE privilege.
- Formulary advisory — when a hospital formulary is configured, ordering a drug not on it shows a warning but still saves — doctors may prescribe unavailable/off‑formulary drugs.
- Allergy & interaction checks — the patient's recorded allergies and drug–drug interactions are screened and flagged at prescribe time.
Allergy check on prescribing
Saving a medication order whose drug matches the patient's recorded allergies shows a warning to the prescriber. This is advisory — the hard stop is the dispense allergy gate. See Allergies & Safety.
Prescribing is guarded:
- Prescriber privilege — placing a medication order requires the ordering provider to hold the PRESCRIBE privilege.
- Formulary gate — when a hospital formulary is configured, a placed medication order must name a drug on it.
- Allergy & interaction checks — the patient's recorded allergies and drug–drug interactions are screened and flagged at prescribe time.
Diagnosis coding (ICD‑11, AI‑assisted)¶
Medical → Diagnosis Codes (/medical/icd-codes) maintains the hospital's ICD catalogue
(ICD‑11 preferred, ICD‑10 for legacy claims). When coding a diagnosis, type a free‑text
phrase — in English or Nepali (e.g. "खोकी र ज्वरो") — and the AI assistant suggests matching
codes.
Screenshot: AI diagnosis-code suggestion — TODO
Loading the full ICD‑11 catalogue (offline)¶
The catalogue ships with a starter set of common Nepal‑relevant codes. To load the complete
WHO ICD‑11 classification, use Import ICD‑11 (top‑right of the Diagnosis Codes list, or
/medical/icd-codes/import):
- Download the “Simple Tabulation” file from the WHO ICD‑11 (MMS) browser. Not sure of the expected layout? Use Download sample template on the import page to get a small headered TSV showing the exact columns.
- Upload it here. The file is parsed entirely offline into this hospital's catalogue — no internet or who.int connection is used at run time.
- The import is idempotent: it updates existing codes in place and adds new ones, with a summary (added / updated / skipped). Chapter and block rows set grouping context; only leaf categories become selectable (billable) codes.
New WHO releases
When WHO publishes a newer ICD‑11 version, just download its Simple Tabulation file and upload it again — the catalogue refreshes in place. Tick “Retire codes not present in this file” to also mark codes WHO dropped as Retired (kept for history, never deleted).
Grounded & clinician-confirmed
AI suggestions are grounded to your own ICD catalogue — it never invents codes — and are advisory: the clinician confirms the final code. No patient identifiers are sent to the model (only the diagnosis phrase and candidate codes). If AI is unavailable, a keyword search is used. Every suggestion and the clinician's accept/reject is logged — see Medical AI & Coding.
Follow-up & prescription¶
- Follow-up date — set a revisit date on the OPD clinical note. A reminder SMS is queued to the patient (through the notification outbox; it sends once an SMS provider is configured).
- Print prescription — the patient profile's Print Rx action produces a printable patient
prescription listing the active medication orders (drug, dose, frequency, route, Qty, prescriber) —
a clinic handout, distinct from the pharmacy dispense label. The Qty column shows the recorded
quantity and duration (
10 · 5 days); where neither was recorded it prints a dash, never a zero.