A deterministic engine builds the disease registers from SNOMED codes and decides every data-quality flag; the LLM only drafts the completeness report, gated so it can never mention a patient, code, or register that isn’t in the computed results.
Six patients; two have a free-text problem that exactly matches a SNOMED synonym but carries no code ('high blood pressure' → 38341003, 'T2DM' → 44054006), and one has a near-miss ('type 2 diabetic') that exact matching must leave alone.
Demo/educational tool on synthetic patients. Registers use a simplified stand-in for QOF business rules over an illustrative SNOMED subset. Not for clinical use.