feat(canopy-reporting): wire CMS-416 EPSDT screening data from clinical systems
Context
extract_cms416 in services/canopy-reporting/src/reporting/medicaid.rs:269-336 sets eligible_for_screening = enrolled (line 332 comment: "screening data from clinical systems"). HTTP handler at api/mod.rs:616 returns "status": "generated (screening fields NULL — requires clinical systems)" — admits the gap to callers.
CMS-416 is the annual EPSDT participation report. Without clinical-system integration, the participation rate is uncomputable.
Acceptance criteria
- Clinical-systems integration shape decided (HL7? FHIR? state immunization registry?)
- Screening completion data populated per age band (per CMS-416 schema)
- Periodic + interperiodic screening counts populated
- Eligible-for-screening computed from real eligibility windows (not enrolled-as-proxy)
- Integration test covering one non-NULL age band
- HTTP handler stops emitting placeholder status string
- CHANGELOG entry under
Changed
Surfaced by
Multi-agent plan-vs-code audit, 2026-05-05.