Get Landscape Benefit Change
get_landscape_benefit_changeWhat the plan design looked like for the SAME Medicare Advantage members in year Y and in year Y+1, member-weighted from the CMS Landscape files: total, Part C and Part D premiums and the $0 shares, the premium after full Extra Help, in-network MOOP and the share at or under $5,000, the Part D deductible and its $0 and standard shares, the tier-skips-deductible share, MA-PD and enhanced shares, the D-SNP $0 cost sharing, FIDE and HIDE shares, and the overall star. Both sides of a change are the SAME members: y = the Y design of the members whose plan continues in their county (same_store, Day-One) or is routed through the CMS crosswalk where that crosswalk is held (routed: continues + moved); y1 = those members' Y+1 design; change = y1 minus y. all_members_y = the Y design on every September-Y member (members_y), context only, never one side of a change. The members whose plan departs and is not yet crosswalked are in all_members_y and members_y but NOT in y, y1 or members_y1, and the row says how many.
ARGUMENTS: transition_year (Y, default the newest held), group_by (national | product_type | parent | state | parent_by_product | state_by_product | county; county needs state and returns one row per county of that state, each on its own members), product_type / state / parent (filters), county (filter, the county name as CMS spells it, e.g. 'Maricopa'; with product_type it cuts one county by product), metrics ('key' = the twelve headline metrics, 'all' = every metric, or a comma-separated list of metric names), weight (same_store | routed; any other value is refused by name, and routed is refused where the crosswalk is not held), include_cost_mmp (default false), limit (default 50, max 500, largest members first).
RETURNS value.rows (one per group: members_y (every September-Y member), members_y1 (the same members on both sides of the change) and, per metric, {y, y1, change, all_members_y, unit}), value.summary (the national row for the same scope, the editions, the weight used) and value.metrics (the metric labels and units). Dollars are the filed monthly premium / annual MOOP or deductible in nominal dollars; pct metrics are shares of members in the metric's own domain (Part D metrics over MA-PD members, D-SNP metrics over D-SNP members).
RULES THE TOOL ENFORCES: member base H/R contracts, plans 001-799, matched to the Y file by plan and county; PDP never; industry excludes Cost and MMP unless asked; D-SNP is its own product type; a change is over the same members, never a mix of two populations. Suppressed cells count as zero, so every weight is a floor.
SOURCE: Vlada analysis of the CMS MA/Part D Landscape files, CMS monthly enrollment by plan and county, and the CMS plan crosswalk where held.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | ||
| county | No | ||
| parent | No | ||
| weight | No | same_store | |
| metrics | No | key | |
| group_by | No | national | |
| product_type | No | ||
| transition_year | No | ||
| include_cost_mmp | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | ||
| as_of | No | ||
| value | Yes | ||
| source | Yes | ||
| status | No | complete | |
| caveats | No | ||
| failure | No | ||
| quality | No | ||
| refusal | No | ||
| vintage | No | as_restated | |
| audit_id | Yes | UUID; ties to medicare_silver.audit_log row. | |
| signature | No | ||
| tenant_id | No | Calling tenant slug, resolved by the binding and stamped via the per-call tenant context. Defaults to the bootstrap 'internal' tenant for local/in-process callers. | |
| timestamp | Yes | ||
| confidence | No | ||
| data_as_of | No | ||
| request_id | Yes | ||
| methodology | No | ||
| snapshot_set | Yes | {table_fqn → iceberg_snapshot_id (int64)}. Per M-2 §2.2. | |
| tool_version | Yes | ||
| response_hash | Yes | SHA-256 of canonicalized form per M-2 §2.4. | |
| result_status | Yes | ||
| vintage_basis | No | default_unmeasured | |
| as_of_asserted | No | ||
| as_of_observed | No | ||
| parse_revision | No | ||
| as_of_effective | No | ||
| freshness_state | No | unknown | |
| methodology_era | No | ||
| confidence_basis | No | ||
| semantic_version | Yes | ||
| invariants_applied | No | ||
| finality_confidence | No | ||
| cms_vintage_sequence | Yes | ||
| parser_artifact_hash | Yes | ||
| methodology_blend_factors | No | ||
| parser_artifact_hash_basis | No | not_evaluated |