Medicare Advantage, Part D, Medicaid
MA hedis hos mui
Rows
N/A
Columns
15
History
2021 to 2025
Card
yesgrain, traps, filters
Typed tools
1
What it is
- 1CMS Medicare Advantage HEDIS Public Use File 'HOS Management of Urinary Incontinence (MUI)' sheet: per MA contract per year, three survey-derived performance rates for managing urinary incontinence in members 65+, the third of which (rate3) is the CMS Star Ratings 'Improving Bladder Control' (C16) measure.
- 2It is a PLAN-QUALITY / health-outcomes table, NOT a cost or price table.
Grain
| Key | Grain |
|---|---|
contract_idreport_year |
|
How to read it
- 1Trend the Stars 'Improving Bladder Control' rate for a contract: SELECT report_year, plan_name_raw, rate3 FROM medicare_silver.hedis_hos_mui WHERE contract_id='H0104' ORDER BY report_year — returns BCBS Alabama's Star-reported MUI treatment rate per year (11.05, 16.67, 13.5, 9.0, 12.04 for 2021-2025), one row per year.
- 2Join on contract_id to MA Star Ratings / enrollment to correlate plan quality with size or premium.
Traps
- 1NOT a cost/price table. For a healthcare-COST catalog this is the odd one out: rate1/rate2/rate3 are HEDIS-HOS quality percentages (urinary-incontinence management among members 65+), not dollars or negotiated rates. Use it as a plan-QUALITY signal to pair with MA Star Ratings, not for any cost figure.
- 2The three rate columns are POSITIONAL and the source file does NOT label them. The CMS PUF sheet headers are literally the generic strings 'rate1','rate2','rate3' (confirmed in the parser fixture) — they carry no inline description. Meaning comes from external HOS Volume-6 methodology: by value (rate1 mean 60% >= rate2 45% >= rate3 15%, strict ordering holds in all non-null rows) the low rate3 is the Stars-reported 'Treatment of Urinary Incontinence' / 'Improving Bladder Control' (C16) rate. Do not assume the precise rate1/rate2 sub-definitions from the column name alone.
- 3FOUR columns redundantly encode the same calendar year: report_year, observed_period (Jan 1), effective_period_start (Jan 1), effective_period_end (Dec 31) are all 1:1 (verified aligned in all 2,790 rows). The grain needs only report_year; the date columns add nothing analytically. (This is why the profiler reported a 4-column key — it was a superset.)
- 4plan_name_raw is NOT a key and is dirty. It changes for the same contract across years (rebrands, M&A, and verbatim CMS typos like 'HIGHMARK WESTER AND NORTHEASTER NEW YORK'). That is exactly why (contract_id, plan_name_raw) = 811 exceeds the 704 distinct contracts. Always key on contract_id, never on the name; resolve identity via a clean contract dimension.
- 5NULL rates mean 'not reported / suppressed' (small denominator), not zero. ~749 rows (27%) have all three rates NULL, and they cluster: rates are almost always all-three-present or all-three-absent together. Suppression varies by year (9-35% all-null), so a year-over-year contract panel is unbalanced — filter rate1 IS NOT NULL before averaging.
- 6No snapshot/is_current dedup exists or is needed: cms_vintage_sequence and parse_revision are uniformly 1 (no CMS re-release or re-parse yet), and asserted_at is a single constant (2026-05-15, one bulk ingest). One source file per year (one sha256_content_hash, one source_url each). The 2020 year is intentionally ABSENT (CMS publication gap) and the MUI sheet did not exist before 2021 — so history starts at 2021, not earlier like sibling sheets hedis_hos_frm/pao (which include 2019).
- 7Sibling-table caveat: this is one of several HOS sheets (hedis_hos_frm = 2 falls rates, hedis_hos_oto, hedis_hos_pao = 2 physical-activity rates). They share the same (contract_id, report_year) grain and rate1/rate2 naming but measure DIFFERENT things and have different year coverage (oto = 2019/2021 only). Don't confuse hedis_hos_mui's rates with the falls (frm) or physical-activity (pao) rates.
Columns (15)
| Column | Type | Meaning |
|---|---|---|
contract_id | string | CMS Medicare Advantage contract ID (e.g. 'H0104', 'R5342'). Prefix encodes contract type: H = local MA/HMO-PPO (2,655 rows / 676 contracts), R = Regional PPO (135 rows / 28 contracts). NO 'S' (standalone Part D) contracts — HOS is MA-only. 704 distinct contracts across all years; unique WITHIN any single report_year (verified 0 intra-year dups). This is the join key to every other contract-level Medicare table (Stars, enrollment, hedis_general, etc.). |
plan_name_raw | string | Parent organization / plan-marketing name as printed in the PUF (e.g. 'BLUE CROSS AND BLUE SHIELD OF ALABAMA'). RAW and UNCLEANED — varies for the SAME contract across years due to rebranding, acquisitions, and CMS typos (e.g. H5526 appears as 'HEALTHNOW NEW YORK', 'HIGHMARK WESTERN AND NORTHEASTERN NEW YORK', and the misspelled 'HIGHMARK WESTER AND NORTHEASTER NEW YORK'). 603 distinct names; (contract_id, plan_name_raw) = 811 > 704 contracts precisely because of this cross-year name drift. A descriptive attribute, NOT part of the key. |
rate1 | double | First of three HEDIS-HOS MUI rates, a PERCENTAGE (verified 0-100; observed 41.82-87.07, mean 59.6). Survey-derived performance rate for the Management of Urinary Incontinence measure among Medicare members 65+ who reported urine leakage in the past 6 months. The HIGHEST of the three rates (rate1 >= rate2 >= rate3 in 2022/2022 non-null rows). Per HOS Vol-6 methodology this is the broadest 'Discussing Urinary Incontinence' rate, BUT the PUF file labels the column only as 'rate1' (no inline descriptive label) — see gotchas. NULL = not reported (suppressed / small denominator). |
rate2 | double | Second MUI rate, percentage (verified 0-100; observed 27.64-71.55, mean 45.1). Middle of the three rates. Per HOS methodology corresponds to the 'Receiving Treatment for Urinary Incontinence' rate, but the source labels it only 'rate2'. NULL = not reported. |
rate3 | double | Third MUI rate, percentage (verified 0-100; observed 3.39-47.53, mean 15.2 — much LOWER than rate1/rate2). The LOWEST of the three. This corresponds to the narrow 'Treatment of Urinary Incontinence' rate that is THE ONE reported to CMS Star Ratings as the 'Improving Bladder Control' (C16) measure (higher = better). Source labels it only 'rate3'. NULL = not reported. |
report_year | int | Measurement / reporting year, int (2021-2025). THE time dimension and the second half of the grain key. Equals the HEDIS PUF release year. observed_period, effective_period_start, effective_period_end are all 1:1 redundant encodings of this (verified: all 2790 rows have report_year = year() of all three date columns). |
observed_period | date | Date = Jan 1 of report_year (e.g. 2023-01-01). Redundant with report_year. Per grain registry 'effective_period_convention: equals_observed' — the observed period equals the effective period. Audit/era column stamped by the runner, not from the source row. |
asserted_at | date | Ingestion date — when Vlada parsed/asserted this row. CONSTANT 2026-05-15 for the entire table (single bulk ingestion of all 5 years). A provenance/bitemporal column, not analytical. |
effective_period_start | date | Date = Jan 1 of report_year. Start of the calendar year the rates describe. Redundant with report_year / observed_period (verified aligned in all rows). |
effective_period_end | date | Date = Dec 31 of report_year. End of the calendar year. Redundant with report_year (verified). |
cms_vintage_sequence | int | Versioning counter for CMS re-releases of the same year's PUF. Currently = 1 for ALL rows (no year has been re-vintaged). Would increment if CMS republished a corrected file for an existing year. |
parse_revision | int | Versioning counter for Vlada re-parses of the same source file. Currently = 1 for ALL rows. Would increment if the parser were re-run with fixes. Together (cms_vintage_sequence, parse_revision) form the bitemporal version; both being uniformly 1 is WHY (contract_id, report_year) is unique with no is_current dedup needed. |
parser_artifact_hash | string | SHA-256 of the parser code artifact that produced the row. One distinct value PER report_year (5 total) — code provenance for reproducibility. |
source_url | string | CMS download URL of the source ZIP, exactly one per year: https://www.cms.gov/files/zip/ma-hedis-pufs-{YEAR}.zip (the MA HEDIS Public Use File). 5 distinct values. |
sha256_content_hash | string | SHA-256 of the raw source-file CONTENT. Exactly one distinct hash per report_year (5 total) — confirms one source file per year and lets you detect if CMS silently changed a file. Lineage anchor. |
Query it
describe_data_source(source_fqn="medicare_silver.hedis_hos_mui") # the card, live query_substrate(sql="SELECT * FROM medicare_silver.hedis_hos_mui WHERE contract_id = '<value>' AND report_year = '<value>' LIMIT 100")
| Item | Value |
|---|---|
| Typed tools that read it | get_hos |
| Identity key | contract_id |
| Join | how_to_join(source_fqn="medicare_silver.hedis_hos_mui") |
| Raw door | Athena (read-only via query_substrate): medicare_silver.hedis_hos_mui |
| Note | Grain-governed; live in Glue / query_substrate. Source family ma_hedis_annual. |
This page as markdown: /docs-md/data/medicare_silver_hedis_hos_mui.md · every page in one file: /llms-full.txt