Skip to main content
Glama

Get Stars

get_stars
Read-onlyIdempotent

Returns a Medicare Advantage contract's CMS Star Ratings: the Overall, Part C, and Part D summary stars for a rating year, each with the year-over-year change vs the prior year. Set include_measures=true to also get the full per-measure breakdown (measure name, identity key, part, domain, weight, direction, the raw value and its star, the 4-star line, and the star's YoY change) so you can see exactly which measures moved the rating. The prior-year star is matched by MEASURE IDENTITY through the Stars measure spine, never by code (CMS renumbered 27 of 33 Part C codes for RY2026); prior_year_measure_id names the code the prior star was filed under. Filter by contract_id (required) + optional year (the rating_year, defaults to the latest) + optional limit (max measure rows returned). Rating years 2012-2027 (RY2027 is CMS's final October 2026 release). The answer is a detail payload: the headline stars sit in value.summary, the part rows in value.summary_parts, the measure rows in value.measures.

Stars drive the quality-bonus payment and rebate, so this sits directly upstream of the plan economics (payment and MLR) and is reported at the CONTRACT level (no plan_id).

Scores are served at the precision CMS publishes (float32 storage noise is removed on the wire). Each measure row's four_star_ladder names the cut point ladder its four-star line came from: CMS calculates MA-PD and PDP Part D cut points separately, so an MA contract (H, R) reads the MA-PD ladder and a stand-alone drug plan contract (S) the PDP ladder; ALL is a ladder CMS published for every organisation (Part C).

RESTATED OVERALL. CMS restated 50 contracts' RY2026 Overall rating on July 22, 2026 (after the Clover Health ruling) without changing any measure star, so for those contracts the measure breakdown reflects the original calculation and can round to a different star than the served Overall. The answer says so in a caveat and names the original value in summary.overall_restated_from (summary.overall_restated_from_text carries CMS's text when the original was a message such as 'Not enough data available').

SOURCE: CMS Star Ratings (summary + measure-level) and the Vlada measure spine medicare_semantic.dim_stars_measure_identity_v6.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNo
limitNo
contract_idYes
include_measuresNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
unitNo
as_ofNo
valueYes
sourceYes
statusNocomplete
caveatsNo
failureNo
qualityNo
refusalNo
vintageNoas_restated
audit_idYesUUID; ties to medicare_silver.audit_log row.
signatureNo
tenant_idNoCalling 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.
timestampYes
confidenceNo
data_as_ofNo
request_idYes
methodologyNo
snapshot_setYes{table_fqn → iceberg_snapshot_id (int64)}. Per M-2 §2.2.
tool_versionYes
response_hashYesSHA-256 of canonicalized form per M-2 §2.4.
result_statusYes
vintage_basisNodefault_unmeasured
as_of_assertedNo
as_of_observedNo
parse_revisionNo
as_of_effectiveNo
freshness_stateNounknown
methodology_eraNo
confidence_basisNo
semantic_versionYes
invariants_appliedNo
finality_confidenceNo
cms_vintage_sequenceYes
parser_artifact_hashYes
methodology_blend_factorsNo
parser_artifact_hash_basisNonot_evaluated

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources