Medicare Advantage, Part D, Medicaid

get_medicaid_mco_enrollment

Get Medicaid Mco Enrollment·v0.5.0·L2·read-only·MCP + REST·admitted 2026-11-01
Inputs
51 required
Sources
3
Known limits
5
Real answer
4.39scomplete

What it answers

  1. 1Returns Medicaid managed-care enrollment for ONE state.
  2. 2HEADLINE (value.summary.tracker, value.tracker_parents, value.tracker_months): the Medicaid MCO enrollment tracker v2, the state's own monthly figure by parent for its latest 13 months, every figure graded observed (a published count), estimated (ours, with an interval) or modeled (indicative only, never in a total) and summed apart; summary.tracker.headline is the latest month that carries a value, with its basis, methods and interval, and summary.tracker.last_observed the latest observed month. parent_basis (optional): 'current' (default) rolls every month up to each plan's parent as bound today; 'dated' rolls each month up to the parent that owned the plan in that month; never mix the two in one series.
  3. 3Behind it: the annual CMS 'Enrollment by Program and Plan' roster (each managed-care program x plan with SEPARATE Medicaid-only, dual and total member counts and a value_status per count, plus parent organization) for the requested or latest calendar year (2016-2024); the state's TOTAL Medicaid and CHIP enrollment from the CMS monthly state report for the latest 12 reporting months (context: all delivery systems, managed care and fee-for-service, CHIP separate); and, for the four T-MSIS dashboard pilot states (AZ, MI, NV, NM), the MCO roster with county footprint and service categories; and the state's OWN monthly plan-level publication for its latest month (45 jurisdictions).
  4. 4Inputs: state (required, 2-letter USPS code); optional year (plan-roster calendar year, defaults to the latest the state has); optional limit; optional offset (skips that many rows of value.plans and value.monthly_plans in their served order; summary.paging.next_page is the exact next call).
  5. 5RETURNS a detail payload: value.summary (state, plan_year, plan_count, program_count, the SOURCE-PUBLISHED sum of plan total_enrollment where reported_numeric for the comprehensive_medical benefit scope ONLY, plus per-benefit-scope sums that must never be added together, with the count of rows that are suppressed / not reported, the latest monthly total Medicaid+CHIP / Medicaid / CHIP enrollment with its reporting_period, and a `blocks` map saying which sources have rows for this state); value.plans (one row per program x plan x region, ordered comprehensive medical first and largest first BEFORE the row cap, summary.plans_page saying how many rows and of which scope are not on the page: benefit_scope (comprehensive_medical, behavioral_health, dental, pharmacy, ltss, pace, nemt, pccm, limited_benefit, unknown) with the rule that set it, medicaid_only / dual / total each with value + value_status, parent_organization = the parent in force through Vlada's effective-dated plan identity decisions (null when no decision covers the filed name), parent_label_as_filed = the parent column as the state filed it (in Florida the plan's own label), calendar_year, source_table); value.monthly (reporting_period, total_medicaid_and_chip_enrollment, total_medicaid_enrollment, total_chip_enrollment, adult / child enrollment, revision + final flags, source_table); value.mco_roster (mco_name, plan_category, county_count, service_categories, source_table;
  6. 6NO enrollment number); value.monthly_plans (the state-published plan rows for the latest monthly observation_period, statewide where the state publishes statewide rows, otherwise sub-state as published, each with reported_value, value_unit, value_status, row_role and source_url; never summed into a state total; per program, statewide rows where the program publishes them, otherwise sub-state rows; each row carries parent_share_segment when it lies inside the parent-share view's basis, and summary.parent_share_reconciliation names that basis and routes to it).
  7. 7The ledger stores 17 states' publisher totals as plan detail: rows whose plan label reads as a total, whose label is fee-for-service (fee_for_service_not_a_plan), whose label is an eligibility, population or unassigned count (population_count_not_a_plan), whose plan label is a bare number, whose program label is a total, or whose value equals a suspected total in the same cell are served with row_role publisher_total_suspected / fee_for_service_not_a_plan / population_count_not_a_plan / plan_label_numeric_suspected / overlapping_summary_suspected / equals_publisher_total_suspected, the stored role kept in row_role_as_published, ordered after plan detail, never dropped; summary.monthly_plans_not_plans lists the page's non-plan rows in their own block; summary.monthly_plans_guard carries the rule and the counts over the whole month.
  8. 8Each monthly_plans row carries cell_check (source_total, sum_of_plans, plan_rows, difference, status): within one cell (one table, measure, program, breakdown and geography) the plan rows are summed, never the re-labelled rows, and set beside the publisher's own total, so a reader sees whether the plans add up; plan rows are never added across cells.
  9. 9A fractional value under value_unit 'members' is an average and the row says so (value_unit_note); a published 0 may be a masked small cell (WA prints 0 for 1 to 10).
  10. 10Every number carries its as-of period and exact source table.
  11. 11Nothing is recomputed or reconciled across sources: Medicaid-only + dual is not re-summed, a published 0 is reported_zero_or_suppressed (never exact zero), and the annual plan roster is a different population and grain from the monthly state total.
  12. 12All sources are read WHERE is_current = true (monthly: is_latest_revision = true).
  13. 13An unknown state returns found=false.
  14. 14SOURCE: state Medicaid agencies' published plan enrollment through the Medicaid MCO enrollment tracker v2 (medicare_semantic.vw_medicaid_mco_enrollment_tracker_v2_parent_state_month);
  15. 15CMS/Data.Medicaid.gov Medicaid Managed Care Enrollment by Program and Plan (state-reported, annual);
  16. 16CMS Medicaid & CHIP Application, Eligibility and Enrollment monthly state report;
  17. 17CMS Medicaid MCO Dashboard (T-MSIS, four pilot states); state Medicaid agencies' monthly managed-care enrollment reports (medicare_semantic.vw_medicaid_mco_enrollment_tracker_reported_observation_v6).

Inputs (5)

NameTypeRequiredDefaultAccepts
statestringrequired
limitintegeroptional
offsetintegeroptional
parent_basisstringoptional
yearintegeroptional

Call it

# MCP (https://mcp.vladahealth.com/mcp): the tool by name
get_medicaid_mco_enrollment(state="TX", year=2024, limit=5)
curl -X POST https://api.vladahealth.com/v1/tools/get_medicaid_mco_enrollment \
  -H "Authorization: Bearer $VLADA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"TX","year":2024,"limit":5}'

# the schema, no key
curl https://api.vladahealth.com/v1/tools/get_medicaid_mco_enrollment/schema

A real answer

customer seat, 2026-11-09·over REST·4.39s·status complete·first 6,000 of 39,531 chars·verbatim
{
 "value": {
  "found": true,
  "not_found_reason": null,
  "summary": {
   "state": "TX",
   "state_name": "Texas",
   "tracker": {
    "status": "available",
    "measure_class": "members",
    "measure_classes_held": [
     "members",
     "members_hhsc_prelim_plan_total"
    ],
    "headline": {
     "observation_month": "2026-11",
     "basis": "estimated",
     "members_total": 3585306.7,
     "members_observed": null,
     "members_estimated": 3585306.7,
     "estimated_interval_summed": [
      3239052.03,
      5174349.43
     ],
     "members_modeled_indicative": null,
     "state_total_members": 3915559.0,
     "state_total_basis": "cms_carried",
     "methods": {
      "M-e": 48
     }
    },
    "headline_rule": "the latest month that carries a value, with its basis: observed (a published count), estimated (method and interval) or observed_and_estimated; members_total = observed + estimated, modeled never in it; modeled_only (indicative, no total) only when no month has a total",
    "last_observed": {
     "observation_month": "2026-02",
     "basis": "observed",
     "members_total": 3679446.0,
     "members_observed": 3679446.0,
     "members_estimated": null,
     "estimated_interval_summed": [
      null,
      null
     ],
     "members_modeled_indicative": null,
     "state_total_members": 4033526.8286634316,
     "state_total_basis": "state_reported_hhsc_preliminary"
    },
    "months_from_last_observed_to_headline": 9,
    "methods_legend": {
     "M-a": "M-a carry-forward of the last observed value",
     "M-b": "M-b plan share x the state total",
     "M-e": "M-e the tracker's nowcast model",
     "PUB-PRELIM": "PUB-PRELIM the publisher's own preliminary estimate"
    },
    "parents_month": "2026-11",
    "parent_count": 15,
    "parent_basis": "current",
    "parent_binding": "current: each plan's parent as bound today, not as of the month (today's companies' history)",
    "parent_basis_note": "parent_basis='dated' answers who owned each plan in the month; parent_basis='current' (the default) answers today's companies' history. Never mix the two in one series.",
    "months_held": 13,
    "build_id": "68af685e675fe657",
    "months_after_headline": null
   },
   "plan_year": 2024,
   "plan_years_available": [
    2016,
    2017,
    2018,
    2019,
    2020,
    2021,
    2022,
    2023,
    2024
   ],
   "plan_count": 36,
   "program_count": 6,
   "programs": [
    "Children's Medicaid Dental Services (Dental only (PAHP))",
    "PACE (PACE)",
    "STAR (Comprehensive MCO)",
    "STAR HEALTH (Comprehensive MCO + MLTSS)",
    "STAR Kids (Comprehensive MCO + MLTSS)",
    "STAR+PLUS (Comprehensive MCO + MLTSS)"
   ],
   "parent_organization_count": 0,
   "parent_organization_count_basis": "distinct parents in force through the plan identity decisions (exact filed plan name, July 1 of the plan year); rows without a decision are not counted as parents",
   "parent_labels_as_filed_count": 24,
   "plan_rows_parent_unresolved": 36,
   "plan_rows_parent_unresolved_by_benefit_scope": {
    "comprehensive_medical": 30,
    "pace": 3,
    "dental": 3
   },
   "comprehensive_medical_rows_parent_unresolved": 30,
   "parent_identity_read": "not_available",
   "plans_order": "benefit_scope (comprehensive_medical, ltss, behavioral_health, pccm, unknown, pace, limited_benefit, dental, pharmacy, nemt), then total_enrollment descending (reported_numeric first), then program, plan and source row",
   "plans_page": {
    "offset": 0,
    "returned": 5,
    "matched": 36,
    "cut": 31,
    "cut_by_benefit_scope": {
     "comprehensive_medical": 25,
     "pace": 3,
     "dental": 3
    },
    "comprehensive_medical_rows": 30,
    "comprehensive_medical_on_this_page": 5
   },
   "paging": {
    "offset": 0,
    "limit": 5,
    "applies_to": [
     "plans",
     "monthly_plans"
    ],
    "rule": "offset skips that many rows of each of the two plan lists in their served order (the order is total, so pages never overlap); monthly and mco_roster are short and always returned whole up to limit",
    "next_page": {
     "tool": "get_medicaid_mco_enrollment",
     "arguments": {
      "state": "TX",
      "year": 2024,
      "limit": 5,
      "offset": 5
     }
    }
   },
   "plan_total_enrollment_sum_reported_numeric": 3842754,
   "plan_total_enrollment_sum_scope": "comprehensive_medical",
   "plan_total_enrollment_sum_basis": "sum of 30 comprehensive_medical plan rows whose total_enrollment is reported_numeric; excludes none within that scope; rows of other benefit scopes are NOT in this sum ({'dental': 3, 'pace': 3}) because they count the same members again (e.g. a state's dental or pharmacy benefit manager); source-published totals, not recomputed from medicaid-only + dual",
   "plan_rows_outside_headline_scope": {
    "dental": 3,
    "pace": 3
   },
   "plan_total_enrollment_sum_by_benefit_scope": {
    "comprehensive_medical": {
     "total_enrollment_sum_reported_numeric": 3842754,
     "rows": 30,
     "rows_summed": 30
    },
    "dental": {
     "total_enrollment_sum_reported_numeric": 2904560,
     "rows": 3,
     "rows_summed": 3
    },
    "pace": {
     "total_enrollment_sum_reported_numeric": 1136,
     "rows": 3,
     "rows_summed": 3
    }
   },
   "plan_benefit_scope_note": "Sums are per benefit_scope and must not be added across scopes: one member can be counted by a medical MCO, a dental plan, a pharmacy benefit manager and a behavioral-health plan at once.",
   "plans_not_found_reason": null,
   "period_format": "every month is YYYY-MM; observation_date keeps the publisher's own as-of day for the state-published rows",
   "monthly_latest_reporting_period": "2026-07",
   "monthly_total_medicaid_and_chip_enrollment": 3891857,
   "monthly_total_medicaid_enrollment": 3569046,
   "monthly_total_chip_enrollment": 322811,
   "monthly_months_returned": 12,
   "mco_roster_count": 0,
   "monthly_plans_observation_period": "2026-08",
   "monthly_plans_observation_date": "2026
…

What comes back

FieldHolds
statuscomplete · partial · refused · failed · queued
valuerows or the figure, with its unit
source · caveats · invariants_applied · response_hashthe public file and vintage; what to know before citing; the rules honoured; replayable
refusalcode (15), message, recover_with

Sources

KindName
sourcemedicare_silver.cms_medicaid_managed_care_plan_enrollment
sourcemedicare_silver.cms_medicaid_chip_enrollment_monthly_state
sourcemedicare_silver.fact_medicaid_managed_care
tablemedicare_silver.cms_medicaid_managed_care_plan_enrollment
tablemedicare_silver.cms_medicaid_chip_enrollment_monthly_state
tablemedicare_silver.fact_medicaid_managed_care

Known limits (5)

  1. 1Tracker v2 headline: the latest month most states have printed lags the calendar; newer months are estimated (interval) or modeled (indicative, never in a total). Parents are today's binding, not the parent as of the month.
  2. 2Plan roster is annual (2016-2024) and state-reported; plan labels and the filed parent column (parent_label_as_filed) are publisher text, not stable payer identities; parent_organization is read through the reviewed plan identity decisions and is null where none covers the filed name.
  3. 3Published 0 may be exact zero or CMS confidentiality suppression under ten (reported_zero_or_suppressed) — never asserted as exact zero.
  4. 4Monthly series = TOTAL Medicaid and CHIP enrollment (all delivery systems), not managed-care enrollment; CHIP is a separate column and is not inside the plan-level counts.
  5. 5fact_medicaid_managed_care covers four pilot states (AZ, MI, NV, NM) and carries utilization, not enrollment; returned as a roster only.
Admitted with a known defect
The guard is a label rule, not the publisher's own classification: a sole plan in a program is flagged equals_publisher_total_suspected (Florida: 11 rows), a total whose label carries no total word is not caught, and a total filed under its own program (Arizona's two combined-display rows, 1,404,364 and 75,580) is set aside but not paired with its plans, so Arizona's cells read source_total_without_plan_rows. Washington's 1,168 of 1,170 checked cells fall short of their total because masked 0s hide 1 to 10 members each. The ledger view version that classifies each publisher's totals is the Data Tracker's pending fix (measured 2026-10-05).

This page as markdown: /docs-md/tools/get_medicaid_mco_enrollment.md · every page in one file: /llms-full.txt