Most LLM tutorials show structured output as a one-liner: pass a Pydantic model, get back validated JSON, ship it. In production with PHI on the line, that one-liner is the easy 20% of the problem. The other 80% is what happens when the schema validates but the data is still wrong, when the model returns a JSON that passes type checks but contains hallucinated content, or when a field that should be redacted slips through because the schema only knew about its shape. I worked on a clinical documentation pipeline last year where the LLM was extracting structured data from doctor-patient conversations. The schema validated. The integration tests passed. Then a real visit transcript came in where the patient mentioned a family member's medication and the LLM helpfully attributed it to the patient. Schema-valid. Clinically wrong. PHI-adjacent enough to trigger a compliance review. This post covers the five patterns we ended up adopting.…