CareLens Facility Quality
Description
CMS Care Compare facility quality and star-rating data for 5 facility
types: hospitals, skilled nursing facilities (SNF), home health agencies,
hospice providers, and dialysis facilities. Each facility type ships as
its own table rather than being unioned into one — the measure sets,
ownership categories, and consumer-facing fields differ enough between
facility types that a union would drop nearly every column. ccn is the
canonical join key across all five and back to HCRIS Hospital Financials
(for the hospital table specifically).
- Source: CMS Care Compare (data.cms.gov), one dataset per facility type.
- Refresh cadence: quarterly per CMS's own Care Compare release schedule.
- Row count: 47,127 across 5 files (2026-08-29 export).
- Vintage: 2026-07-31 for SNF, home health, hospice and dialysis; 2026-05-21 for hospitals (last CMS refresh observed per table at export time).
Table: facility_quality_hospitals
Snowflake: HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_HOSPITALS — 5,432 rows
| Column | Type | Description | Notes |
|---|---|---|---|
ccn |
VARCHAR | CMS Certification Number. | Joins to HCRIS Hospital Financials and HPT Negotiated Rates. |
facility_name, address, city, state, zip, county, phone |
VARCHAR | Facility identity and location. | — |
hospital_type |
VARCHAR | e.g. "Acute Care Hospitals", "Critical Access Hospitals". | Text-labeled in this table (unlike the numeric-coded hospital_type in HCRIS Hospital Financials — these are two independently-sourced fields, don't assume they're always identical for the same CCN). |
hospital_ownership |
VARCHAR | Ownership category (e.g. "Voluntary nonprofit", "Proprietary", "Physician"). | — |
emergency_services |
BOOLEAN | Whether the hospital offers emergency services. | — |
meets_ehr_meaningful_use |
BOOLEAN | Whether the hospital met EHR meaningful-use criteria per CMS. | Mostly null in current CMS releases (this measure has been phased out/deprecated by CMS) — do not expect broad coverage. |
overall_rating |
SMALLINT | CMS Overall Hospital Quality Star Rating, 1–5. | Null for 2,250 of 5,432 hospitals (~41%) — CMS doesn't rate every hospital (insufficient measure volume, specialty hospitals, etc.). |
mortality_group_measure_count, safety_group_measure_count, readmission_group_measure_count, patient_experience_group_measure_count, timely_effective_group_measure_count |
SMALLINT | Count of individual measures CMS used within each measure group to compute this hospital's group score. | Frequently null when CMS didn't have enough measure volume to score that group for the hospital. |
mortality_national_comparison, safety_national_comparison, readmission_national_comparison, patient_experience_national_comparison, timely_effective_national_comparison |
VARCHAR | CMS's categorical comparison to the national average for each measure group: "Above", "Same as", or "Below the national average". | Independently nullable per group — a hospital can have a comparison for mortality but not patient experience, etc. |
ingested_at |
TIMESTAMP WITH TIME ZONE | Last ingestion timestamp for this row. | — |
Table: facility_quality_snf
Snowflake: HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_SNF — 14,715 rows
| Column | Type | Description | Notes |
|---|---|---|---|
ccn, facility_name, address, city, state, zip, county, phone |
VARCHAR | Facility identity and location. | — |
ownership_type |
VARCHAR | e.g. "For profit - Corporation", "Government - County". | — |
number_of_certified_beds / number_of_residents |
INTEGER | Certified bed count and current resident census. | — |
provider_resides_in_hospital |
BOOLEAN | Whether this SNF is hospital-based rather than freestanding. | — |
legal_business_name |
VARCHAR | Legal entity name — the field to use for chain/operator identification (e.g. grouping facilities under a common owner). | Distinct from facility_name (the consumer-facing name), which can differ from the legal entity. |
overall_rating |
SMALLINT | CMS Overall 5-Star Rating. | Populated for 14,572 of 14,699 (~99%) at the 2026-07-15 export — near-universal for SNFs, unlike hospitals. The table has since grown to 14,715 rows. |
health_inspection_rating, qm_rating, long_stay_qm_rating, short_stay_qm_rating, staffing_rating, rn_staffing_rating |
SMALLINT | Component 1–5 star ratings feeding the overall score: health inspection, quality measures (overall/long-stay/short-stay), staffing, and RN-specific staffing. | rn_staffing_rating is null more often than the others in this sample — check before relying on it as a screening filter. |
rn_hours_per_resident_day / total_nurse_hours_per_resident_day |
DOUBLE | Payroll-based-journal-derived staffing hours per resident day: RN-only and total nursing staff. | — |
abuse_icon |
BOOLEAN | CMS's flag for facilities with a recent instance of abuse resulting in harm (displayed as a warning icon on Care Compare). | — |
recent_health_inspection_date |
DATE | Date of the most recent standard health inspection survey. | Frequently null in this export — treat as "not on file" rather than "no inspection occurred." |
total_weighted_health_survey_score |
DOUBLE | CMS's weighted health-survey deficiency score (lower is better). | — |
number_of_facility_reported_incidents, number_of_substantiated_complaints, number_of_fines, total_amount_of_fines |
INTEGER / DOUBLE | Facility-reported incident count, substantiated complaint count, fine count, and total fine dollar amount on record. | 0 is a real, common value here (no fines/complaints), distinct from null (not on file). |
ingested_at |
TIMESTAMP WITH TIME ZONE | Last ingestion timestamp. | — |
Table: facility_quality_home_health
Snowflake: HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_HOME_HEALTH — 12,559 rows
| Column | Type | Description | Notes |
|---|---|---|---|
ccn, facility_name, address, city, state, zip, phone |
VARCHAR | Facility identity and location. | No county column in this table (unlike hospitals/SNF). |
type_of_ownership |
VARCHAR | e.g. "NON-PROFIT", "GOVERNMENT OPERATED". | — |
offers_nursing_care_services, offers_physical_therapy_services, offers_occupational_therapy_services, offers_speech_pathology_services, offers_medical_social_services, offers_home_health_aide_services |
BOOLEAN | Which service lines this agency offers. | Independently flagged per service — an agency can offer nursing but not speech pathology, etc. |
date_certified |
DATE | Date the agency was Medicare-certified. | Frequently null in this export. |
quality_of_patient_care_star_rating / patient_survey_star_rating |
SMALLINT | CMS's two separate star ratings: clinical quality-of-care measures, and the HHCAHPS patient-experience survey. | Both independently nullable; a facility can have one without the other (survey ratings in particular require a minimum survey response volume CMS won't always meet). |
ingested_at |
TIMESTAMP WITH TIME ZONE | Last ingestion timestamp. | — |
Table: facility_quality_hospice
Snowflake: HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_HOSPICE — 6,852 rows
| Column | Type | Description | Notes |
|---|---|---|---|
ccn, facility_name, address, city, state, zip, phone |
VARCHAR | Facility identity and location. | — |
ownership_type |
VARCHAR | e.g. "Non-Profit", "Government". | — |
certification_date |
DATE | Date the hospice was Medicare-certified. | — |
family_caregiver_survey_rating |
SMALLINT | CAHPS Hospice Survey star rating (1–5), based on family/caregiver-reported experience. | Observed range in this export: 1–5. |
hospice_care_team_communication_rating |
SMALLINT | CAHPS Hospice "communication with family" composite score. | Not a 1–5 star scale — this is a 0–100 survey-percentage score. Observed range in this export: 54–98. Don't chart this on the same axis as family_caregiver_survey_rating or the other tables' star ratings without rescaling. |
ingested_at |
TIMESTAMP WITH TIME ZONE | Last ingestion timestamp. | This table's vintage (2026-05-29) is more recent than the other 4 facility-quality tables (2026-05-21) — CMS refreshed hospice data on a different cycle. |
Table: facility_quality_dialysis
Snowflake: HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_DIALYSIS — 7,569 rows
| Column | Type | Description | Notes |
|---|---|---|---|
ccn, facility_name, address, city, state, zip, phone |
VARCHAR | Facility identity and location. | — |
chain_organization |
VARCHAR | Parent dialysis chain, when applicable (e.g. "DaVita", "Fresenius Medical Care"). | Two chains (DaVita, Fresenius) dominate the US dialysis market — expect heavy concentration here. |
profit_or_non_profit |
VARCHAR | "Profit" or "Non-Profit". | — |
total_performance_score |
SMALLINT | CMS ESRD Quality Incentive Program composite score. | Populated for 7,072 of 7,557 (~94%). |
star_rating |
SMALLINT | CMS Dialysis Facility Compare star rating, 1–5. | Same ~94% coverage as total_performance_score — both null together for facilities CMS didn't score (typically too new or too low-volume). |
five_star_rating_dimension_score |
DOUBLE | Underlying continuous score CMS uses to assign the discrete star_rating. |
— |
ingested_at |
TIMESTAMP WITH TIME ZONE | Last ingestion timestamp. | — |
Example queries (Snowflake)
-- 1. Top-rated SNFs in a state with no recent abuse flag.
SELECT "ccn", "facility_name", "city", "overall_rating", "staffing_rating", "number_of_certified_beds"
FROM HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_SNF
WHERE "state" = 'FL' AND "abuse_icon" = FALSE
ORDER BY "overall_rating" DESC, "staffing_rating" DESC
LIMIT 25;
-- 2. Hospitals CMS rates below the national average on the safety measure
-- group, worst-rated first.
SELECT "ccn", "facility_name", "state", "overall_rating", "safety_national_comparison"
FROM HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_HOSPITALS
WHERE "safety_national_comparison" = 'Below the national average'
ORDER BY "overall_rating" ASC NULLS LAST
LIMIT 25;
-- 3. Dialysis facility count and average star rating by chain.
SELECT "chain_organization", count(*) AS facilities, avg("star_rating") AS avg_star_rating
FROM HEALTHPARSE_DATA.FACILITY_QUALITY.FACILITY_QUALITY_DIALYSIS
WHERE "chain_organization" IS NOT NULL
GROUP BY "chain_organization"
ORDER BY facilities DESC
LIMIT 10;