DrugLens addresses the geriatric polypharmacy crisis — but the real problem isn't that EHRs miss interactions. It's that they flag everything, so clinicians ignore up to 90% of alerts and the dangerous ones get lost. We attack precision, not volume. A deterministic rules engine runs on EVERY request in ~3ms: 102 curated drug-drug interactions, 61 AGS Beers Criteria 2023 rules, and 38 STOPP + 20 START v3 criteria. Three things make it different from a lookup table: 1. TRUE COMBINATION LOGIC. "Opioid + benzodiazepine" and the renal "triple whammy" fire only when EVERY component is present — never on a single drug. This AND-semantics is the core defence against alert fatigue, and it's locked by tests. Our safe demo case produces ZERO alerts. 2. eGFR AND AGE GATING. Metformin is silent at eGFR 90 and flagged at eGFR 25. The same drug list at age 30 produces 0 Beers violations; at age 85 it produces 2. Change one field and watch the rules activate live. 3. TOKEN-EFFICIENT ROUTING. Low-risk patients are answered entirely offline for ZERO LLM tokens. Only MODERATE/HIGH cases escalate to the cloud. For the "novel drug" blindspot, every drug pair with no database entry is evaluated by the cloud model, grounded in each drug's PubChem SMILES structure — surfacing interactions no lookup table contains. The rules can never be hallucinated or skipped: the deterministic engine always runs first; the LLM only narrates findings it cannot invent or suppress. React 19 + FastAPI, single-origin deployment, 75 offline tests green in CI, deployed live and open. Every statistic in the UI is read from the loaded rulesets at runtime, never hardcoded.
Category tags: