> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# HEDIS Measure Conformance Specifications

> Lightweight aggregates surfaced by useReportRuns / computeQmSummary are not NCQA-conformant numerators; they exist only to populate the CL-15 portal QM dashboa…

# HEDIS Measure Conformance Specifications

**Status:** Draft (2026-05-18) — aligns with NCQA HEDIS MY 2026 Technical Specifications.
**Owners:** CL core (clinical reporting), PF-70 (terminology / value sets).
**Scope:** Documents how Encore implements the four HEDIS measures surfaced by CL-15 / CL-35:

| Measure                                            | Code    | Owner       | Calc location                            |
| -------------------------------------------------- | ------- | ----------- | ---------------------------------------- |
| Follow-Up After Hospitalization for Mental Illness | **FUH** | CL-29-EN-65 | `cl-fuh-calculator` edge function        |
| Follow-Up After ED Visit for Mental Illness        | **FUM** | CL-29-EN-65 | `cl-fum-calculator` edge function        |
| Initiation and Engagement of SUD Treatment         | **IET** | CL-35       | `src/cores/cl/utils/hedisCalculation.ts` |
| Antidepressant Medication Management               | **AMM** | CL-35       | `src/cores/cl/utils/hedisCalculation.ts` |

Lightweight aggregates surfaced by `useReportRuns` / `computeQmSummary` are **not** NCQA-conformant numerators; they exist only to populate the CL-15 portal QM dashboard. Conformant numerators MUST come from the calculators referenced above.

***

## Value-set sourcing (PF-70)

All HEDIS code lists are sourced from the PF-70 terminology library — never hardcoded:

| Value set                           | PF-70 table                                                                       | Notes                         |
| ----------------------------------- | --------------------------------------------------------------------------------- | ----------------------------- |
| Depression diagnoses                | `pf_icd10_codes` filtered by `pf_value_sets.code = 'HEDIS_DEPRESSION'`            | F32.x, F33.x families         |
| Antidepressant medications          | `pf_rxnorm_codes` ↔ `pf_value_sets.code = 'HEDIS_ANTIDEPRESSANT'`                 | Refreshed via PF-70 ingest    |
| SUD diagnoses                       | `pf_icd10_codes` ↔ `pf_value_sets.code = 'HEDIS_SUD'`                             | F10–F19 families              |
| Mental-illness diagnoses            | `pf_icd10_codes` ↔ `pf_value_sets.code = 'HEDIS_MH_PRINCIPAL'`                    | FUH/FUM denominator gate      |
| Follow-up visit CPT/HCPCS           | `pf_cpt_codes` + `pf_hcpcs_codes` ↔ `pf_value_sets.code = 'HEDIS_FOLLOWUP_VISIT'` | Includes telehealth modifiers |
| Initiation / engagement visit codes | `pf_cpt_codes` ↔ `pf_value_sets.code = 'HEDIS_SUD_VISIT'`                         | Per NCQA MY 2026              |

Value-set refresh cadence and provenance live in `docs/pf/pf-70-terminology-admin-guide.md`. Tenants MUST NOT override these value sets — overrides go through PF-15 picklists in non-HEDIS contexts only.

***

## FUH — Follow-Up After Hospitalization for Mental Illness

**Owner:** CL-29-EN-65 (`cl-fuh-calculator` edge function). Documented here for cross-reference only — no recomputation in this codebase.

* **Eligible population:** Members ≥ 6 years discharged from an acute inpatient stay with a principal mental-illness diagnosis (`HEDIS_MH_PRINCIPAL`).
* **Denominator:** Eligible discharges in the measurement year. Multiple discharges per member counted separately per NCQA spec.
* **Numerator (30-day):** Follow-up visit with a mental-health practitioner within 30 days of discharge (`HEDIS_FOLLOWUP_VISIT`).
* **Numerator (7-day):** Same but within 7 days.
* **Exclusions:** Death during measurement period; discharges followed by readmission ≤ 30 days; member with non-acute inpatient stay during the follow-up window.
* **Reporting stratification:** Total, 6–17, 18–64, 65+.

## FUM — Follow-Up After ED Visit for Mental Illness

**Owner:** CL-29-EN-65.

* **Eligible population:** Members ≥ 6 years with ED visits where the principal diagnosis is a mental-illness condition.
* **Denominator:** Eligible ED visits in measurement year (no follow-up admission within ≤ 24 hours).
* **Numerator (30-day / 7-day):** Follow-up encounter with a mental-health provider within the window.
* **Exclusions:** ED visits resulting in inpatient admission; death during measurement period.

## IET — Initiation and Engagement of SUD Treatment

**Owner:** CL-35, `src/cores/cl/utils/hedisCalculation.ts`.

* **Denominator** (`isInIetDenominator`): Members with a new SUD episode (`HEDIS_SUD`) — no SUD claim in the 60 days prior (negative-history window).
* **Initiation numerator:** Initiation visit (`HEDIS_SUD_VISIT`) within **14 days** of the index event. Constant: `IET_INITIATION_WINDOW_DAYS = 14`.
* **Engagement numerator** (`isInIetNumerator`): Initiation met AND ≥ 2 additional SUD visits within **34 days** of the initiation visit. Constants: `IET_ENGAGEMENT_WINDOW_DAYS = 34`, `IET_ENGAGEMENT_MIN_VISITS = 2`.
* **Exclusions:** Hospice; death; SUD claim in the 60-day negative-history window.

## AMM — Antidepressant Medication Management

**Owner:** CL-35, `src/cores/cl/utils/hedisCalculation.ts`.

* **Denominator** (`isInAmmDenominator`): Members ≥ 18 with major depression dx + at least one antidepressant dispensing event in the measurement period.
* **Acute-phase numerator** (`isInAmmNumerator(_, 'acute')`): ≥ **84 days** of antidepressant medication coverage (`AMM_ACUTE_MIN_DAYS`).
* **Continuation-phase numerator** (`isInAmmNumerator(_, 'continuation')`): ≥ **180 days** of antidepressant coverage (`AMM_CONTINUATION_MIN_DAYS`).
* **Exclusions:** Bipolar / psychosis diagnoses; hospice; death; pharmacotherapy gaps > 30 days within the measurement window (handled in calculator query — not in the pure function).

***

## Rate calculation

All rates use `calculateMeasureRate(denominator, numerator)` which returns a `NUMERIC(5,4)` value in `[0.0000, 1.0000]`. Zero-denominator measures return `0.0000` and are flagged in the UI as "insufficient data" — never as 0% performance.

## Verification & conformance

* Unit-test coverage: `src/cores/cl/utils/__tests__/hedisCalculation.test.ts` (AMM, IET denominator/numerator + rate clamping).
* Cross-reference: NCQA HEDIS MY 2026 Volume 2 (Technical Specifications). Each measure section above maps 1:1 to NCQA chapter headings; deviations require an ADR.
* Audit trail: every HEDIS report run is logged to `pf_audit_logs` via `logClinicalAudit({action: 'cl_clinical_audit_report_run'})` per CL-15 T-COMP-3.

## Known gaps (tracked)

1. FUH/FUM 30-day exclusion for non-acute inpatient overlap is implemented in the edge function only — no pure-function port yet (CL-29 follow-up).
2. AMM continuous-enrollment gap rule (≤ 45-day gap) is enforced in the SQL query, not in `isInAmmNumerator`. Refactor planned with CL-15-EN-NN.
3. PF-70 value-set version pinning per measurement year is pending PF-70-EN-04.

***

**Last Updated:** 2026-05-18 (CL-15 T-COMP-2).
