2027 open enrollment. 3.15M must pick a new plan.

Your county →

Home / Tools / Medicare Advantage, Part D, Medicaid

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

get_quality_bonus

Get Quality Bonus

What it answers

MA quality bonus dollars by contract or parent and payment year. For each: the star tier CMS pays on (bonus % of the benchmark and the rebate share), members, risk score, rebate, the benchmark bonus, and what the star tier is worth in revenue per member per month and per year, three ways: benefits held (rebate fixed), observed (what carriers did when a contract crossed a tier, 2015-2024), and the 4.0 cliff (4.0 over 3.5).

ARGUMENTS: contract_id (e.g. H5216) or parent (part of the parent organization's name, e.g. 'Humana'), group_by (contract | parent; default contract when contract_id is given, else parent), payment_year (default: every year for one contract, otherwise the newest year), limit (default 50, most members first).

RETURNS value.rows: a contract row per payment year (tier, tier source and check against the tier CMS's payment file implies, members, PMPM and annual dollars), or a parent row per payment year (members, member-weighted star, bonus %, PMPM figures, annual dollars summed, contracts). value.summary carries the scope and which years are measured and which are modeled.

RULES THE TOOL ENFORCES: rating year Y sets the bonus paid in payment year Y+1 (PY2028 uses the RY2027 stars) and every row names both; PY2025-2028 are modeled (period 'forward') and labeled; new contracts of an existing parent take the parent's member-weighted star, not 3.5; all of MA is priced (individual, employer group and regional PPO) and the share not priced is shown; a parent row weights PMPM by members priced and sums dollars.

SOURCE: CMS MA ratebooks, plan payment files (average payment, risk score, rebate), Rate Announcements, Star Ratings and monthly enrollment, through Vlada's QBP financial chain (audited twice; method: STARS-QBP-FINANCIAL-CHAIN).

Inputs

contract_id
string · optional
group_by
string · optional
limit
integer · optional
parent
string · optional
payment_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_quality_bonus 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_quality_bonus \
  -H "Authorization: Bearer $VLADA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
curl https://api.vladahealth.com/v1/tools/get_quality_bonus/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.stars_ratings_summary
  • medicare_silver.ma_plan_payment_part_c_v2

tables: medicare_silver.stars_ratings_summary · medicare_silver.ma_plan_payment_part_c_v2

views: medicare_semantic.stars_qbp_financial_v4

Known limits

  • The paid bonus for very small and new-parent contracts follows CMS's stated policy and is not verifiable from public data (under 1.5% of members).

As of the 2026-10-19 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.