Technical writing

CMS HCAHPS: The Federal Survey of What Patients Say About Every US Hospital

· 12 min read· AI Analytics
CMSHCAHPSPatient ExperienceHospital QualityFederal Data

Some time after a patient is discharged from a US hospital, a survey may arrive—by mail, by phone, or online. It asks plain questions: did the nurses explain things in a way you could understand, did someone come quickly when you pressed the call button, was the area around your room kept clean, would you recommend this hospital? The answers, gathered from a random sample of adult inpatients at thousands of hospitals and adjusted so the comparison is fair, become HCAHPS—the first national, standardized public measure of what hospital care actually feels like from the bed. CMS publishes roughly 326,000 hospital-by-measure records of it, and ties real Medicare dollars to the result.

This article covers what HCAHPS is and the history that produced it; how the survey is designed, sampled, and administered after discharge; the ten reported measures, from communication with nurses to the would-recommend question and the overall 0-to-10 rating; how raw answers become top-box percentages and then star ratings; the two adjustments— for survey mode and for patient mix—that make hospitals comparable on a level field; the financial weight HCAHPS carries through the Hospital Value-Based Purchasing program and the Inpatient Quality Reporting requirement; how the hospital-by-measure table is keyed by the CMS Certification Number and joins to the rest of the CMS hospital data; the analyses the data supports, from ranking and state benchmarking to testing whether response rate tracks score; a Python workflow that pulls HCAHPS from the CMS Provider Data Catalog and computes those metrics; and the caveats—response bias, the top-box ceiling, and the limits of comparing satisfaction across very different hospitals—that every analyst must hold in mind.

What HCAHPS is

HCAHPS—the Hospital Consumer Assessment of Healthcare Providers and Systems, universally pronounced “H-caps”—is the first national, standardized, publicly reported survey of patients' experience of hospital care. It was developed by the Centers for Medicare & Medicaid Services (CMS) in partnership with the Agency for Healthcare Research and Quality (AHRQ), which led the testing and scientific development of the instrument, and it has been in public use since 2008. Its purpose is twofold and was deliberate from the start: to give consumers an apples-to-apples way to compare hospitals on the experience of care, and to create an incentive for hospitals to improve by making that experience visible and comparable. Before HCAHPS, many hospitals ran their own patient satisfaction surveys, but they used different questions, different sampling, and different scoring, so no one could compare one hospital's patients' experience against another's. HCAHPS replaced that incommensurable patchwork with a single national instrument.

The survey is administered to a random sample of adult inpatients after they are discharged—not on hand-picked patients, and not while they are still in the hospital and dependent on its staff. It asks about a recent hospital stay across a set of standardized topics, and the results are reported publicly on Care Compare (the CMS consumer site that succeeded the older Hospital Compare) so that patients, families, referring clinicians, and researchers can look up and compare any participating hospital. Critically, the results are adjusted for survey mode and patient mix before they are reported, so that differences between hospitals reflect differences in the care experience rather than differences in how the survey was administered or which kinds of patients happened to answer. In our database the hospital-level results are stored as the table cms_hospital_hcahps, comprising roughly 326,000 hospital-by-measure records.

The dataset and its grain

The grain of cms_hospital_hcahps is one row per hospital per survey measure (and reporting period). A single hospital does not get one row—it gets one row for each HCAHPS measure reported about it, so a hospital contributes a dozen or more rows: one for its nurse-communication top-box, one for its would-recommend top-box, one for its overall-rating star value, and so on. That long, tidy shape is what makes the file roughly 326,000 records across the few thousand participating hospitals, and it is the shape an analyst must respect: any question about a single hospital's standing on a single dimension is a filter to one measure ID, and any cross-hospital ranking is a filter to one measure followed by a sort. The columns capture the hospital, the measure, the score, and the survey volume behind it:

facility_id (ccn)        -- CMS Certification Number: the hospital key
facility_name            -- hospital name
state                    -- two-letter state / territory code
hcahps_measure_id        -- the measure (e.g. H_RECMND_DY, H_NURSE_RESPECT)
hcahps_question          -- human-readable text of the measure
hcahps_answer_description -- the answer category (e.g. "would definitely recommend")
hcahps_answer_percent    -- top-box percent for the measure / answer
patient_survey_star_rating -- 1-5 star value (for star-rated measures)
hcahps_linear_mean_value -- linear-mean score (for linear-mean measures)
number_of_completed_surveys -- completed surveys behind the score
survey_response_rate_percent -- response rate for the hospital
start_date / end_date    -- the survey reporting period

The facility_id—the CMS Certification Number (CCN)—is the load-bearing column. The CCN is the persistent, six-character identifier CMS assigns to every Medicare-certified provider, and it is the key that ties a hospital's HCAHPS results to every other CMS hospital file: its outcomes and readmissions, its healthcare-associated infection rates, its general information record, and its service area. Because the CCN appears on all of these tables, a hospital's patient-experience scores can be joined directly to its clinical outcomes and its size and ownership characteristics. The hcahps_measure_id is the other essential column: it identifies which of the standardized measures a row reports, and it is the value an analyst filters on to isolate, say, the would-recommend measure from the cleanliness measure. The number_of_completed_surveys and survey_response_rate_percent columns are not decoration—they record how much survey volume stands behind each score, and they are the columns that tell you whether a hospital's number rests on hundreds of completed surveys or on a thin handful that should be read with caution.

How the survey is designed and administered

HCAHPS is a tightly standardized instrument, and the standardization is the whole point. The questionnaire is a fixed set of items, with required wording and a required order, that every participating hospital must use without alteration. Hospitals do not administer it themselves to a chosen sample; instead, the survey is administered to a random sample of eligible adult inpatients drawn continuously throughout the year, so that the sampled patients are representative of the hospital's actual discharges rather than a curated subset. Eligibility rules exclude certain patients—for example, patients discharged to hospice or certain other settings, and patients in some excluded service lines—to keep the instrument focused on the adult inpatient experience it was validated for.

The survey is fielded after discharge, within a defined window, by one of several approved modes: mail, telephone, a mixed mail-and-telephone approach, and—more recently—web and other electronic modes that CMS has worked to incorporate as response patterns shift. The after-discharge timing matters: it means patients answer when they are no longer dependent on the hospital's staff and can speak candidly. Most hospitals contract with an approved third-party survey vendor to conduct the survey under CMS's protocols and quality-control rules, which standardizes the administration across the country and reduces the room for a hospital to influence its own results. The completed surveys are submitted to CMS, scored, adjusted, and published. This machinery—fixed questions, random sampling, approved modes, third-party administration, central scoring—is what lets CMS claim that an HCAHPS comparison between two hospitals is a comparison of care experience and not an artifact of how each hospital chose to ask.

The reported measures

The publicly reported HCAHPS results are organized into a set of summary measures, each built from one or more survey items. They fall into composites about specific aspects of care, two single-item measures about the environment, and two global measures about the stay as a whole. The composite measures cover communication with nurses (how well nurses listened, explained, and treated the patient with courtesy and respect), communication with doctors (the same dimensions for physicians), responsiveness of hospital staff (help with toileting and call-button response when the patient needed it), communication about medicines (whether staff explained new medicines and their side effects), and discharge information (whether the patient got the information needed to manage recovery at home). A care transition measure captures whether the patient felt prepared to take responsibility for their own care after leaving and understood their medications and what to watch for.

Two single-item measures cover the cleanliness of the hospital environment and its quietness at night— unglamorous but consistently among the dimensions patients notice most. Finally, two global measures summarize the whole experience: the overall hospital rating, in which patients rate the hospital on a 0-to-10 scale, and the willingness to recommend the hospital, in which patients say whether they would definitely, probably, probably not, or definitely not recommend it to friends and family. These two global measures are the ones consumers gravitate to and the ones most often used in rankings, because they roll the many specific dimensions up into a single summary judgment—though, as the caveats stress, a global number always conceals the composition beneath it.

Top-box scoring and star ratings

The reported numbers are not raw averages of survey responses but top-box percentages, and understanding the top-box convention is essential to reading the data correctly. For most HCAHPS measures, CMS reports the percentage of respondents who gave the most positive possible answer. For a frequency question, that is the share who answered “always” rather than “usually,” “sometimes,” or “never”; for the overall rating it is the share who gave a 9 or 10 out of 10; for the recommend question it is the share who would definitely recommend. The top-box convention is demanding by design—it counts only unambiguous excellence, so a hospital where most patients answered “usually” gets little credit—and it is why HCAHPS top-box percentages are often lower than the rosy numbers a hospital might cite from a five-star average. The published file also carries, for some measures, the linear mean value, a different summary that uses the full distribution of answers rather than only the top category; analysts should be careful which they are comparing, because top-box and linear-mean numbers are not interchangeable.

On top of the percentages, CMS summarizes the results into star ratings—the patient_survey_star_rating column—which translate a measure's performance into a familiar one-to-five-star scale for consumers, with a summary star rating that combines the measures into a single overall HCAHPS star. The stars are computed relative to the distribution of hospitals, so they are inherently a relative ranking: a five-star hospital is in the top band of its peers, not a hospital that cleared an absolute threshold. This relative construction is convenient for consumers but a trap for naive analysis, because it means the stars compress and re-scale the underlying percentages—two hospitals a few percentage points apart can land in different star bands, and a star is not a linear measure of how much better one hospital is than another. For quantitative work, the top-box percentages and linear means in hcahps_answer_percent and hcahps_linear_mean_value are the analyzable signal; the stars are best read as a consumer-facing summary layered on top.

Mode and patient-mix adjustment

The single most important methodological feature of HCAHPS—the one that justifies comparing hospitals at all—is that the published scores are adjusted before they are reported. There are two adjustments, and both correct for things that would otherwise contaminate a comparison.

Survey-mode adjustment corrects for the fact that the way a survey is administered systematically affects the answers. Patients responding by telephone, for instance, tend to give more positive answers than patients responding by mail, even about identical care—a well-documented mode effect. If one hospital used mostly phone surveys and another used mostly mail, an unadjusted comparison would partly be measuring the mode rather than the care. CMS applies a statistical adjustment that puts all hospitals onto a common footing, removing the systematic effect of how the survey was fielded so that the reported score reflects the experience rather than the medium.

Patient-mix adjustment corrects for the fact that the kinds of patients a hospital serves affect how they answer, independent of the quality of care. Characteristics such as a patient's self-reported health status, age, education, the service line of the admission, and the language of the survey are all associated with how positively patients tend to rate their experience. A hospital that happens to treat a sicker, older, or otherwise different population would be unfairly advantaged or disadvantaged in a raw comparison. The patient-mix adjustment statistically levels these differences so that two hospitals can be compared as if they had treated similar patients— the comparison is meant to isolate the part of the experience the hospital is responsible for. These adjustments are why an analyst should treat the published, adjusted scores in the CMS file as the comparable numbers and should resist the temptation to re-derive scores from raw responses, which would discard the very corrections that make the comparison fair. They also explain a recurring source of confusion: a hospital's adjusted public score may differ from the raw number its own vendor reports internally, and the difference is the adjustment doing its job, not an error.

The financial weight: Value-Based Purchasing and IQR

HCAHPS is not merely informational. It carries real financial weight, and that is the chief reason hospitals take it so seriously. Two distinct Medicare mechanisms tie payment to the survey.

The first is the Hospital Value-Based Purchasing (VBP)program. Under VBP, CMS withholds a percentage of participating hospitals' Medicare inpatient payments and redistributes the pool based on performance across several domains—clinical outcomes, safety, efficiency and cost, and a person-and-community-engagement domain that is built substantially on HCAHPS. A hospital that scores well on patient experience, and that improves over time, can earn back more than it had withheld; a hospital that scores poorly earns back less and comes out behind. Because the patient-experience domain is a meaningful slice of the VBP score, HCAHPS results translate fairly directly into upward or downward adjustments to a hospital's Medicare reimbursement. Both the level of performance and the improvement over a baseline count, so the program rewards getting better, not only being good.

The second mechanism is the Hospital Inpatient Quality Reporting (IQR) program, which is what makes participation in HCAHPS effectively mandatory. Under IQR, hospitals that fail to successfully report the required quality measures—HCAHPS among them—forfeit a portion of their annual Medicare payment update, the inflation-style increase to their base payment rates. For a hospital that depends on Medicare, taking that reduction year after year is not viable, so the practical effect is that the great majority of acute-care hospitals administer HCAHPS and report it on schedule. This is why the dataset has such broad national coverage: it is not that every hospital volunteered to be surveyed, but that the payment system gives them a compelling reason to participate. The combination of VBP (pay tied to how patients rate the experience) and IQR (full payment update tied to reporting at all) is the financial scaffolding that turned a patient-experience survey into a force that reshapes how hospitals manage discharge, staffing responsiveness, and bedside communication.

Joining to the rest of the CMS hospital data

HCAHPS is most powerful not in isolation but as one facet of the integrated CMS hospital record, and the CCN is the universal join key that makes the integration possible. Several joins matter most.

The first is to the hospital general-information and quality files. CMS publishes a hospital-level record of each facility's name, address, ownership type, whether it is a critical-access hospital, its emergency-services status, and its overall hospital quality star rating, alongside the outcome measures— mortality, readmissions, timely and effective care, and complications. Joining cms_hospital_hcahps to these by CCN is what lets an analyst ask the most interesting questions about patient experience: do hospitals with better outcomes also have better patient experience, or are the two only loosely related? Does patient experience vary by ownership type, by size, by teaching status, or by whether a hospital is a small rural critical-access facility? Without the join, HCAHPS scores float free of context; with it, every score is anchored to a hospital of known type, size, and clinical performance.

The second join is to the healthcare-associated infection and safety measures, also keyed by CCN. Pairing patient experience with the objective safety record lets an analyst test whether the two move together—whether hospitals patients rate highly are also the ones with lower infection rates, or whether perception and measured safety diverge. The third, broader join is geographic and demographic: through the hospital's location and the hospital service area that records where its patients come from, HCAHPS scores can be related to the characteristics of the communities a hospital serves, supporting equity-minded questions about whether patient experience differs systematically across the populations different hospitals reach. The recurring lesson is the one common to all the CMS provider files: the CCN turns a stack of separate measure tables into a single, hospital-resolved picture, and HCAHPS is the part of that picture that only the patient can supply.

Analytical uses

A national, hospital-resolved, measure-level record of patient experience supports a distinctive set of analyses.

Ranking and benchmarking is the most immediate use. Filtering to a single measure—the would-recommend top-box, say, or the overall-rating star—and sorting across hospitals produces the kind of ranking consumers and journalists want, while rolling the scores up to the state or hospital-referral-region level reveals geographic patterns in patient experience that no single hospital's page can show. Computing state averages on the recommend measure, as the Python workflow below does, is the simplest version of this benchmarking, and it surfaces real and persistent regional differences in how patients rate their care.

Correlating experience with outcomes and with response rate is the more analytically interesting use. Joining HCAHPS to the outcomes files by CCN lets an analyst test the much-debated question of whether patient experience and clinical quality go together or diverge. And testing whether a hospital's response rate correlates with its score—again, something the workflow below computes—is a built-in check on the data itself: if higher scores tended to come from hospitals with lower response rates, that would be a warning sign of response bias worth investigating, whereas a weak correlation is reassuring. Finally, tracking change over time uses the reporting-period fields to follow a hospital's trajectory, which matters precisely because VBP rewards improvement, not only level—a hospital's direction of travel can be as consequential to its payment as its absolute standing.

Python workflow: HCAHPS from the CMS Provider Data Catalog

The script below pulls the hospital-level HCAHPS file from the CMS Provider Data Catalog at data.cms.gov, which requires no API key, then computes three things: a ranking of hospitals on the would-recommend measure, the average recommend score by state, and a check of whether a hospital's overall recommend score correlates with its survey response rate. The catalog exposes each dataset through a datastore query endpoint that returns paginated JSON; the HCAHPS hospital file is the dataset titled “Patient survey (HCAHPS) - Hospital.” Because the catalog's column headers vary slightly between releases, the script resolves the working column names defensively rather than hard-coding them, and because the file is large it pages through the full result set. Requirements: requests and pandas.

import requests
import pandas as pd

# CMS Provider Data Catalog (data.cms.gov/provider-data) -- no API key.
# The HCAHPS hospital-level file is the dataset titled
# "Patient survey (HCAHPS) - Hospital". Its stable distribution
# identifier on the catalog is dgck-syfz. The datastore query API
# returns JSON rows; column names ship with the response.
#
#   metastore item:  /api/1/metastore/schemas/dataset/items/<id>
#   datastore query: /api/1/datastore/query/<distribution-id>/0
#
# The grain is one row per hospital per HCAHPS measure (and period).
BASE = "https://data.cms.gov/provider-data/api/1"
DATASET_ID = "dgck-syfz"   # Patient survey (HCAHPS) - Hospital


def fetch_hcahps(limit=5000):
    # The datastore returns paginated JSON; page until exhausted.
    rows, offset = [], 0
    url = f"{BASE}/datastore/query/{DATASET_ID}/0"
    while True:
        params = {"limit": limit, "offset": offset}
        r = requests.get(url, params=params, timeout=120)
        r.raise_for_status()
        batch = r.json().get("results", [])
        if not batch:
            break
        rows.extend(batch)
        if len(batch) < limit:
            break
        offset += limit
    return pd.DataFrame(rows)


def col(df, *needles):
    # Catalog headers vary slightly by release; match defensively.
    for c in df.columns:
        if all(n.lower() in c.lower() for n in needles):
            return c
    return None


df = fetch_hcahps()
print(f"HCAHPS rows loaded: {len(df):,}")

ccn   = col(df, "facility", "id") or col(df, "ccn")
state = col(df, "state")
mid   = col(df, "hcahps", "measure", "id") or col(df, "measure", "id")
ans   = col(df, "hcahps", "answer", "percent") or col(df, "answer", "percent")
star  = col(df, "patient", "survey", "star")
nsurv = col(df, "completed", "surveys")
resp  = col(df, "response", "rate")

# The "would recommend" measure: top-box = would definitely recommend.
RECOMMEND = "H_RECMND_DY"   # HCAHPS measure ID for "definitely recommend"

# --- 1. Rank hospitals on the recommend measure -----------------------
rec = df[df[mid] == RECOMMEND].copy()
rec[ans] = pd.to_numeric(rec[ans], errors="coerce")
rec = rec.dropna(subset=[ans])
top = rec.sort_values(ans, ascending=False).head(15)
print("\nTop 15 hospitals by % who would definitely recommend:")
for _, row in top.iterrows():
    print(f"  {str(row[ccn]):<8} {str(row[state]):<3} {row[ans]:>5.0f}%")

# --- 2. State averages on the recommend measure -----------------------
state_avg = (rec.groupby(state)[ans].mean()
                .sort_values(ascending=False))
print("\nTop and bottom 5 states (% would definitely recommend):")
print(state_avg.head(5).round(1).to_string())
print("...")
print(state_avg.tail(5).round(1).to_string())

# --- 3. Does response rate correlate with score? ----------------------
# Join the recommend score to each hospital's survey response rate.
rr = df[[ccn, resp]].drop_duplicates(subset=[ccn]).copy()
rr[resp] = pd.to_numeric(rr[resp], errors="coerce")
merged = rec.merge(rr, on=ccn, how="left", suffixes=("", "_rr"))
merged = merged.dropna(subset=[ans, resp])
corr = merged[ans].corr(merged[resp])
print(f"\nPearson r (recommend score vs response rate): {corr:.3f}")
print(f"  hospitals in correlation: {len(merged):,}")

Two practical notes apply. First, the measure identifiers matter: HCAHPS rows are filtered by hcahps_measure_id, and the would-recommend top-box used here is one specific measure among the dozen or so reported per hospital, so any production analysis should confirm the current measure-ID vocabulary against the file's own measure list rather than assuming a fixed code. Second, the response-rate correlation is deliberately simple— a single Pearson coefficient between the recommend score and the hospital response rate. A rigorous treatment would weight hospitals by the number of completed surveys (so that a hospital with thousands of responses counts more than one with a handful), would exclude hospitals whose scores are suppressed for low survey volume, and would consider that the published scores are already patient-mix adjusted—so the correlation is testing the data's integrity, not re-deriving the adjustment. For national-scale work, the catalog also offers full CSV downloads of each dataset, which are more efficient than paging the datastore API thousands of rows at a time and ship the authoritative column definitions for the release.

Limitations and analytical caveats

HCAHPS is the most rigorous and comparable public measure of hospital patient experience in the United States, but it carries limitations that an analyst must internalize before drawing conclusions.

Response rates are modest, and non-response can bias.Like all voluntary surveys, HCAHPS is answered by only a fraction of sampled patients, and the patients who respond may differ systematically from those who do not. The patient-mix adjustment corrects for measured differences in who responds, but it cannot correct for unmeasured ones, so some residual non-response bias is always possible. This is exactly why the survey_response_rate_percent and number_of_completed_surveys columns deserve attention: a score built on a high response rate and many completed surveys is more trustworthy than one resting on a thin, possibly unrepresentative sample. Treating every hospital's score as equally solid, regardless of the volume behind it, over-reads the data.

Top-box scores compress, and small differences are noise.Because most measures report only the share giving the single most positive answer, hospitals cluster within a fairly narrow band, and a one- or two-percentage-point difference between two hospitals is frequently within the margin of sampling error rather than a real difference in care. Star ratings, being relative bands, can magnify such small gaps into different star counts. Any ranking that treats tiny top-box differences as meaningful—or that reads a star difference as a proportional quality difference—is reading precision into the data that is not there. Confidence intervals and survey volume should govern how seriously a gap is taken.

Patient experience is not the same as clinical quality.HCAHPS measures how care felt to the patient—communication, responsiveness, environment, the sense of being prepared for home—which is genuinely important and is associated with outcomes, but is not a direct measure of whether the medicine was correct or the surgery successful. A hospital can be warm, attentive, and quiet and still have a mediocre clinical record, or be clinically excellent and brusque. The right use is to treat patient experience as one dimension of quality, to be read alongside the outcomes, safety, and infection measures—not as a stand-in for them, and not dismissively as “just satisfaction.” Conflating experience with clinical quality in either direction misreads what the survey can bear.

Comparability has limits, and small hospitals are suppressed. The mode and patient-mix adjustments make hospitals far more comparable than raw scores would, but they do not erase every difference; the experience of care at a large urban academic medical center and a small rural critical-access hospital differ in ways no adjustment fully captures. Moreover, hospitals with too few completed surveys to report reliably have their scores suppressed, which means the smallest hospitals are under-represented in the comparable data—the same skew that runs through much of the provider data. An analysis that silently drops suppressed hospitals, or that compares very different hospital types as if the adjustment made them identical, should say so.

Held with these caveats in mind, the cms_hospital_hcahps table is a uniquely valuable resource: a national, hospital-resolved, measure-level, fairly-adjusted record of what patients actually say about their hospital stays—the part of the quality picture that no chart abstraction or claims file can supply, gathered from the people the hospitals exist to serve and wired, through Value-Based Purchasing, straight into the payments that keep those hospitals running.

Related writing

CMS Hospital Quality Data: Outcomes, Readmissions, and Star Ratings for 6,000 US Hospitals — The clinical counterpart to patient experience: joined by CCN, the outcomes and readmissions measures let an analyst test the central question of whether the hospitals patients rate highly on HCAHPS are also the ones with better mortality, complications, and overall quality stars.

CMS Healthcare-Associated Infections: The Federal Record of CLABSI, CAUTI, MRSA, and C. diff in US Hospitals — The objective safety record that pairs with subjective experience: linking HCAHPS to infection rates by CCN reveals whether patients' perception of cleanliness and care tracks the measured rate at which hospitals actually harm them.

CMS Hospital Service Area: The Federal Map of Where Every Hospital's Patients Come From — The geography behind the scores: tying each hospital's HCAHPS results to the communities its patients are drawn from supports equity-minded questions about whether patient experience differs systematically across the populations different hospitals serve.