# MA contract enrollment by month with the canonical parent as of that month (the parent series spine)

`medicare_semantic.vw_ma_parent_resolved_v1` · Medicare Advantage, Part D, Medicaid · status live · 203,755 rows

medicare_silver.monthly_contract_enrollment_summary joined to dim_parent_alias_v1 on the raw string and the month: parent_of_record (CMS's name that month), canonical_parent_id, canonical_parent_name, applied_event_id (the acquisition that opened the current segment, if any), alias_event_type, method_tier, confidence, plus the contract's organization, plan_type and the enrollment counts (enrollment_count, ma_only_count, part_d_count). Proved 2026-09-30: Aetna Inc. resolves to cvs_health_corporation for all 5,156 of its contract-months 2006-08 to 2018-12 and the CVS Health series is continuous across the 2019-01 string flip (10.21M -> 8.27M, the WellCare PDP divestiture, not a gap); The Cigna Group is its own canonical through 2025-02 and its 17 contracts are HCSC's from 2025-03 (HCSC 485,178 -> 4,211,247 members). Read by the certified measure pct_enrollment_4plus_stars_by_canonical_parent.

**Grain.** One row per contract_id x report_month, 203,755 rows = 203,755 keys, 2006-08 to 2026-09 (measured 2026-09-30, Athena d09a09de); every row of medicare_silver.monthly_contract_enrollment_summary with a parent string, none dropped, none unresolved.

| column | type | meaning |
|---|---|---|
| contract_id | string |  |
| report_month | date |  |
| parent_of_record | string |  |
| canonical_parent_id | string |  |
| canonical_parent_name | string |  |
| applied_event_id | string |  |
| alias_event_type | string |  |
| method_tier | string |  |
| confidence | string |  |
| organization_type | string |  |
| plan_type | string |  |
| organization_name_raw | string |  |
| organization_marketing_name_raw | string |  |
| enrollment_count | int |  |
| ma_only_count | int |  |
| part_d_count | int |  |
| offers_part_d | boolean |  |
| source_url | string |  |
| sha256_content_hash | string |  |

Query it: `query_substrate` with `SELECT ... FROM medicare_semantic.vw_ma_parent_resolved_v1 WHERE ... LIMIT 100`; read `describe_data_source("medicare_semantic.vw_ma_parent_resolved_v1")` first.
