Readback
Source code on GitHub (opens in a new tab)

Glossary

Pharmacy, speech-recognition and measurement terms, each defined once, in the sense these pages use them.

Terms, in the order a reader meets them

TermMeaning
LASA (look-alike, sound-alike)Two drug names that are easy to confuse by sight or by ear, such as hydromorphone and morphine.
ISMP (Institute for Safe Medication Practices)Publishes the List of Confused Drug Names. Its 2023 edition is the list the pair rule reads, every pair of it.
Pair ruleA heard drug name on the ISMP list is asked about again even at full certainty, by naming it and its listed partners. Only a spoken name answers that question, never a yes.
Certainty (the recognizer's reported confidence)How sure the speech recognizer says it is about the words it returned. It describes the acoustics, so it cannot tell two similar names apart; the reason code E_LOW_CONFIDENCE keeps the recognizer's own word.
ThresholdThe certainty below which a field is asked again. A chosen default per field, not tuned on any set.
Standing read-back (E_READ_BACK_REQUIRED)Drug name, strength, quantity, directions and patient name are always read back once, whatever else happens. The pair rule changes that question into a contrastive one.
GateThe single decision function a value passes before it can enter the order. It owns the only constructor of a confirmed value.
ValidatorA pure check on a value: a checksum for NPI and DEA, existence in the built catalogue for a drug, and consistency for a combination.
Reason codeThe gate's machine-readable reason for a decision, such as E_LASA_HIT. A_ marks an acceptance, C_ a caller's confirmation that settled a value, and E_ a question asked again or a refusal.
NDC (National Drug Code)The FDA's directory of drug products. It has no check digit, so a drug name is proved by existing in the catalogue built from it, never by arithmetic.
NPI (National Provider Identifier)The prescriber's ten-digit national identifier, checked by a Luhn checksum.
DEA number (Drug Enforcement Administration registration)The prescriber's controlled-substance registration, checked by its own mod-10 rule, which is weaker than the NPI's.
Sig (the directions)How the patient takes the drug, for example one tablet by mouth twice a day. Checked against the ISMP error-prone abbreviation list.
KeytermsWords the recognizer is told to expect. A drug name the pair rule checks never goes in, or the recognizer would confirm our own hint.
ProvenanceFor every value, the spoken words that produced it, their timecodes in milliseconds, the certainty over those words and the validator's verdict.
STT and TTS (speech-to-text and text-to-speech)The recognizer socket, and the synthetic voices the evaluation corpora were recorded with.
Entity error rateHow often the recognizer returned a different drug name than the one spoken.
Wilson intervalThe bracketed range after a rate, such as [17.1%, 39.0%]: a 95% confidence interval that stays honest on small sets.

Read-back is already required; these are the clauses

Each is cited by clause. None of them governs this software, and this project is not affiliated with, endorsed by or reviewed by any of the bodies named.

SourceWhat it says, and why it is cited
ICAO Annex 11, §3.7.3.1 and §3.7.3.1.2The flight crew reads back safety-related parts of clearances transmitted by voice, and the controller corrects any discrepancy the read-back reveals. Cited because medicine’s read-back requirement is documented as borrowed from aviation.
Joint Commission NPSG.02.01.01, a National Patient Safety Goal since 2003The receiver of a verbal or telephone order, or of a critical test result, reads the complete order back. ISMP placed it at PC.02.01.03 EP 20 in 2017; its 2026 location is not verified by us.
21 CFR 1306.12(a)A Schedule II prescription may not be refilled, which the gate enforces as a validator refusal.
ISMP List of Confused Drug Names, updated through February 2023 (opens in a new tab)The published PDF the pair rule is parsed from, with the page and row of every pair kept. Its sha256 as parsed: 37adbabf78ebd91aee3f16d514c24c4c3b91294399bd01ad46b7750ac254afb8

No penalty or sanction figure is published for any of these, because none has been checked against a primary source.