Introducing Vlada Studio. Now open.

Book a demo →

Home / Tools / Medicare Advantage, Part D, Medicaid

Medicare Advantage, Part D, MedicaidL2 · v1.0.0 · read-only

get_landscape_exits

Get Landscape Exits

What it answers

Members of Medicare Advantage plans that do NOT continue into the next plan year, from the Landscape disposition: every September member of year Y placed against the Y+1 Landscape file. A member CONTINUES when the same plan is sold in their county next year; otherwise they are DEPARTING, split into the five Day-One buckets the two Landscape files can see (D1 a same-named plan in the county, D2 the plan still sold elsewhere, D3 the contract still in the county, D4 the parent still in the county, D5 the parent gone). When the CMS crosswalk for Y+1 is held, each row also carries the TRUE outcome (moved, split, stranded by a service-area reduction, terminated); when it is not yet held (the newest transition) the answer carries the calibrated estimate range of members who lose their plan, from the buckets' measured rates in the held years.

ARGUMENTS: transition_year (Y, the September enrollment year; default the newest held, 2026 = the 2026 to 2027 transition), group_by (national | product_type | parent | state | parent_by_product | state_by_product; default national), product_type (filter, e.g. 'non-SNP HMO', 'D-SNP HMO'), state (two-letter filter), parent (filter, the CMS parent organization as reported), include_cost_mmp (default false: industry = every product type but Cost and MMP), limit (rows, default 50, max 500, largest members first).

RETURNS value.rows (one per group: members_september, base_members, continuing, departing, pct_departing, the five buckets, and either the true_* outcomes or est_lost_low / est_lost_high), value.summary (the totals for the same scope, the editions, and the calibration rates used).

RULES THE TOOL ENFORCES: the member base is H/R contracts, plans 001-799, September Y, matched to the Y Landscape by plan AND county (members whose plan-county is not listed are counted separately, never silently); stand-alone Part D (PDP) is never in it; D-SNP is its own product type and is never pooled; parent is CMS's reported parent organization at September Y, not a canonical chain across renames. Suppressed enrollment cells (under 11) count as zero, so every figure 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.

Inputs

group_by
string · optional
default: "national"
include_cost_mmp
boolean · optional
default: false
limit
integer · optional
parent
string · optional
product_type
string · optional
state
string · optional
transition_year
integer · optional

Call it

From an agent: connect the Vlada MCP once (one click for Claude, ChatGPT, Cursor, VS Code) and ask in plain English; the agent selects get_landscape_exits when the question fits. From code: the same tool over REST with an API key. The schema endpoint needs no key.

curl -X POST https://api.vladahealth.com/v1/tools/get_landscape_exits \
  -H "Authorization: Bearer $VLADA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
curl https://api.vladahealth.com/v1/tools/get_landscape_exits/schema      # the JSON schema, no auth
# MCP endpoint (Streamable HTTP): https://mcp.vladahealth.com/mcp

What comes back

Typed rows plus provenance on every answer: the public source file, its vintage, the methodology, and a response_hash you can replay. Prove and replay tools turn any number into a re-runnable receipt. A number the data cannot support comes back as “not in the data”, never as zero.

Sources behind it

  • medicare_silver.fact_ma_landscape
  • medicare_silver.enrollment_monthly_county
  • medicare_silver.plan_crosswalks_annual
  • medicare_semantic.fact_landscape_disposition_v1

tables: medicare_silver.fact_ma_landscape · medicare_silver.enrollment_monthly_county · medicare_silver.plan_crosswalks_annual

views: medicare_semantic.fact_landscape_disposition_v1

Known limits

No gaps recorded for this tool. Absence of a recorded gap is not a claim of complete coverage; the answer itself says what it covers.

As of the 2026-09-30 build of the served surface · machine-readable catalog · the live server may run a different version; the schema endpoint above is authoritative for what is deployed.