Back to Guides
Quality Metrics

Medicare STAR Ratings Guide

CMS STAR Ratings determine Medicare Advantage bonus payments and member enrollment. Learn measure domains, scoring methodology, data sources, database design, and strategies to improve plan performance.

What Are Medicare STAR Ratings?

CMS publishes annual STAR ratings (1–5 stars) for all Medicare Advantage and Part D plans. Ratings are published each October and apply to the following plan year — so 2024 ratings affect 2025 payment and enrollment.

The ratings are heavily consequential: plans with 4+ stars receive Quality Bonus Payments (QBP) from CMS — increasing their benchmark by up to 5%. Five-star plans can enroll Medicare beneficiaries year-round via Special Enrollment Periods, a significant competitive advantage.

As of the most recent ratings cycle, approximately 50% of MA enrollees are in plans with 4+ stars, and QBPs total billions of dollars annually across the industry.

Five STAR Rating Domains (Part C)

Staying Healthy

Weight: Moderate

Breast Cancer Screening, Colorectal Cancer Screening, Annual Flu Vaccine, Improving or Maintaining Physical Health

Managing Chronic Conditions

Weight: High

Controlling Blood Pressure, Diabetes Care (HbA1c, Eye Exam, Nephropathy), Medication Adherence (PDC), Rheumatoid Arthritis Management

Member Experience (CAHPS)

Weight: High

Getting Needed Care, Getting Appointments & Care Quickly, Customer Service, Rating of Health Care Quality

Member Complaints & Changes

Weight: Moderate

Complaints about the Plan, Members Choosing to Leave, Plan Makes Timely Decisions, Reviewing Appeals Decisions

Health Plan Administration

Weight: Low–Moderate

Claims Processing Accuracy, Care Coordination, Call Center Language Accessibility, SNP Care Management

High-Impact STAR Measures

MeasureDomainData SourceNumerator Logic
PDC DiabetesChronic ConditionsPharmacy ClaimsPDC ≥ 80% for diabetes meds
PDC Hypertension (RAS)Chronic ConditionsPharmacy ClaimsPDC ≥ 80% for ACEI/ARB
PDC Cholesterol (Statins)Chronic ConditionsPharmacy ClaimsPDC ≥ 80% for statins
Controlling Blood PressureChronic ConditionsHEDIS (Claims + EHR)Most recent BP < 140/90
Diabetes Care — HbA1cChronic ConditionsHEDISHbA1c test performed + result < 9%
Annual Flu VaccineStaying HealthyHEDIS / AdminFlu shot Aug 1 – Mar 31
Breast Cancer ScreeningStaying HealthyHEDISMammogram in past 27 months
Plan All-Cause ReadmissionsChronic ConditionsAdmin ClaimsUnplanned 30-day readmission rate

STAR Rating Database Schema

-- STAR Measure Reference
CREATE TABLE star_measure (
  id                  SERIAL PRIMARY KEY,
  measure_code        VARCHAR(20) UNIQUE NOT NULL,    -- e.g., C01, D08
  measure_name        VARCHAR(255) NOT NULL,
  domain              VARCHAR(50),                    -- Staying Healthy, Chronic Conditions, etc.
  part                VARCHAR(5),                     -- C, D, C_D
  data_source         VARCHAR(50),                    -- HEDIS, CAHPS, HOS, Admin
  weight              DECIMAL(4,2) DEFAULT 1.0,       -- CMS measure weight
  direction           VARCHAR(10) DEFAULT 'HIGHER',   -- HIGHER = better, LOWER = better
  is_active           BOOLEAN DEFAULT TRUE,
  measurement_year    INTEGER
);

-- Member-Level Measure Tracking
CREATE TABLE star_member_measure (
  id                  UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  member_id           UUID NOT NULL,
  contract_id         VARCHAR(20),                    -- CMS contract (H-number)
  measure_code        VARCHAR(20) REFERENCES star_measure(measure_code),
  measurement_year    INTEGER NOT NULL,

  -- Eligibility
  in_denominator      BOOLEAN NOT NULL DEFAULT FALSE,
  exclusion_reason    VARCHAR(100),

  -- Performance
  in_numerator        BOOLEAN,
  numerator_dt        DATE,                           -- Date the numerator event occurred
  numerator_source    VARCHAR(50),                    -- CLAIM, EHR, SURVEY, MANUAL

  -- Raw measure value (for continuous measures like PDC)
  measure_value       DECIMAL(8,4),
  measure_threshold   DECIMAL(8,4),                   -- e.g., 0.80 for PDC

  -- Outreach
  outreach_attempted  BOOLEAN DEFAULT FALSE,
  outreach_dt         DATE,
  outreach_channel    VARCHAR(50),                    -- PHONE, MAIL, PORTAL, SMS

  updated_at          TIMESTAMP DEFAULT NOW()
);

CREATE INDEX idx_star_member ON star_member_measure(member_id, measurement_year);
CREATE INDEX idx_star_measure ON star_member_measure(measure_code, measurement_year);
CREATE INDEX idx_star_denom ON star_member_measure(in_denominator, in_numerator);

-- Plan-Level STAR Performance Rollup
CREATE TABLE star_plan_performance (
  id                  SERIAL PRIMARY KEY,
  contract_id         VARCHAR(20) NOT NULL,
  measurement_year    INTEGER NOT NULL,
  measure_code        VARCHAR(20) NOT NULL,
  denominator_count   INTEGER,
  numerator_count     INTEGER,
  rate                DECIMAL(6,4),
  star_value          INTEGER,                        -- 1–5 star cut point achieved
  UNIQUE(contract_id, measurement_year, measure_code)
);

SQL Query Examples

Measure Performance by Domain

SELECT
  sm.domain,
  sm.measure_code,
  sm.measure_name,
  COUNT(smm.id)                         AS denominator,
  SUM(CASE WHEN smm.in_numerator THEN 1 ELSE 0 END) AS numerator,
  ROUND(100.0 * SUM(CASE WHEN smm.in_numerator THEN 1 ELSE 0 END)
    / NULLIF(COUNT(smm.id), 0), 2)      AS rate_pct,
  SUM(CASE WHEN NOT smm.in_numerator AND smm.outreach_attempted THEN 1 ELSE 0 END) AS outreach_count
FROM star_measure sm
JOIN star_member_measure smm ON smm.measure_code = sm.measure_code
WHERE smm.measurement_year = 2025
  AND smm.in_denominator = TRUE
  AND smm.contract_id = 'H1234'
GROUP BY sm.domain, sm.measure_code, sm.measure_name
ORDER BY sm.domain, rate_pct ASC;

Members Eligible for Outreach (Open Gaps)

SELECT
  smm.member_id,
  sm.measure_code,
  sm.measure_name,
  smm.outreach_attempted,
  smm.outreach_dt
FROM star_member_measure smm
JOIN star_measure sm ON sm.measure_code = smm.measure_code
WHERE smm.measurement_year = 2025
  AND smm.in_denominator = TRUE
  AND smm.in_numerator = FALSE
  AND smm.exclusion_reason IS NULL
  AND (smm.outreach_attempted = FALSE OR smm.outreach_dt < CURRENT_DATE - INTERVAL '30 days')
ORDER BY sm.weight DESC, smm.member_id;

STAR Rating Best Practices

  • Track gaps in care in real time: Don't wait for annual HEDIS season — build continuous member-level tracking to identify and close care gaps throughout the year
  • Prioritize high-weight measures: CMS applies Categorical Adjustment Index weights — focus improvement efforts on highly weighted measures like medication adherence and chronic disease management
  • Use pharmacy data for PDC: Proportion of Days Covered (PDC) is measured from pharmacy claims — ensure real-time pharmacy data feeds for timely outreach
  • Integrate CAHPS strategy: CAHPS surveys are sent to random members — train call center staff and ensure issue resolution, as member perception drives survey scores
  • Simulate projected star ratings: Model cut points using historical rates and member-level data to estimate current star performance and prioritize outreach ROI

Frequently Asked Questions

What are Medicare STAR Ratings?

CMS STAR Ratings are a 1–5 star quality rating system for Medicare Advantage (Part C) and Part D prescription drug plans. CMS publishes ratings annually, and they directly affect plan bonus payments, enrollment eligibility for special enrollment periods, and beneficiary plan choice during open enrollment.

How are STAR ratings calculated?

STAR ratings combine performance on 40+ quality measures across five domains: Staying Healthy (screenings, tests, vaccines), Managing Chronic Conditions, Member Experience (CAHPS survey), Member Complaints (appeals and grievances), and Health Plan Administration. Each measure is scored using cut points, then aggregated into domain and summary scores.

What is the Quality Bonus Payment (QBP)?

MA plans that earn 4+ STAR ratings receive a Quality Bonus Payment from CMS — a percentage increase to their benchmark payment rate. 5-star plans receive the highest bonus (currently 5% above benchmark) and have the privilege of accepting enrollees year-round via Special Enrollment Periods.

What data sources are used for STAR ratings?

STAR ratings use three data sources: HEDIS (Healthcare Effectiveness Data and Information Set) from administrative claims and medical records, CAHPS (Consumer Assessment of Healthcare Providers and Systems) member surveys, and HOS (Health Outcomes Survey) for physical and mental health outcomes. Administrative data from CMS is also used for some measures.

What are the most impactful STAR measures?

CMS applies "CAI" (Categorical Adjustment Index) weights that make some measures more impactful than others. Highly weighted measures include Medication Adherence (PDC), Diabetes Care measures, Controlling Blood Pressure, Annual Flu Vaccine, and Plan All-Cause Readmissions. Improving low-performing high-weight measures has the greatest rating impact.

Related Healthcare Guides