How these files are graded

Every check is deterministic, cites the CMS hospital price-transparency rule (45 CFR part 180, in particular § 180.50) or the CMS schema documentation, and can be explained in one sentence. There is no model anywhere in the grading path.

What is checked

Five independent dimensions per file: retrievability (one identified, bounded download attempt), conformance (selected CMS v3 envelope or general-element, structure, and accepted-value checks), completeness (presence and usability of the fields that make a rate interpretable), interpretability (whether rates are usable amounts or require separate treatment), and freshness (the file's own last_updated_on against the assessment date). JSON publications are assessed under the CMS JSON v3 profile and CSV publications under the CMS CSV v3 profile (Tall and Wide); the two are never pooled. The complete finding catalogs with citations are in docs/how-we-grade.md.

What is deliberately not checked

The letter grade

In evaluation order: a failed download is an F with the dated reason; a local limit (invalid input, the project's size ceiling, cache trouble) is not graded and never conflated with an F; an incomplete stream is an F; then errors (or missing evidence) in zero dimensions is an A (warnings make it a B), one dimension a C, two a D, three or more an F. Tolerated INFO observations never lower a grade. Each cohort names the exact policy its grades were minted under below.

Retrieval conduct

Hosts' robots.txt files were checked for every retrieved URL before the run; a site that blocks is recorded and skipped, never circumvented. Retrieval of these files is what the transparency rule exists to allow: CMS requires them to be public, machine-readable, and accessible without barriers.

The CMS hospital JSON v3 cohort (2026-09-12)

Grade policy cms-hospital-json-v3-file-grade-v1, fingerprint df7943ac4f005297…; the full rule table ships in this cohort's machine-readable comparison.

One serial, operator-invoked run of `mrf-honest scorecard` per target under the default retrieval policy: identified User-Agent with a contact address, HTTPS only, robots.txt fetched and obeyed in code before every request, a per-host minimum interval, conditional revalidation against the verified cache, retry backoff, and the default 1 GiB decoded-size ceiling. The policy is byte-identical to the one 2026-08-19 was collected under -- same fingerprint -- which is what makes the two cohorts comparable. Every target's URL was re-resolved from its own origin's `cms-hpt.txt`, retrieved the same day, rather than replayed from the earlier cohort: three of the seventeen are published today at a URL that is not the one graded on 2026-08-19, because the HCA storage account those three sit behind rotated its shared access signature, and each was fetched at the URL its hospital publishes now. Of the seventeen attempts, 9 revalidated against the verified cache and returned HTTP 304, moving no body bytes; 7 transferred a body; 1 answered with an HTTP error and is an F with the dated reason.

How these subjects were chosen

Two strata, each a complete enumeration, carried forward unchanged from 2026-08-19: this cohort re-measures those subjects and draws nothing new. Stratum A is every subject published in the 2026-08-14 cohort (6 files, 4 systems) and is a convenience sample. Stratum B is the seeded uniform random sample of 48 facilities drawn on 2026-08-19 from the 3024 acute-care, non-federal, 50-states-and-DC hospitals in the CMS Hospital General Information dataset; every drawn facility was attempted then and every outcome is recorded. The draw itself is dated 2026-08-19 and is not re-run here -- re-drawing would make the two cohorts describe different hospitals and the change between them unreadable. Cohort-wide totals mix the two strata and are descriptions of this cohort, not estimates. docs/SAMPLING-FRAME.md states it in full.

A target is graded only where the publication is a CMS hospital JSON document. Format is read from the publication, never from a failed request: the URL's file extension decides where it has one; where it has none, a specific declared media type decides; where the declaration is generic, the retrieved document decides. A hospital publishing a conforming CSV is not a hospital with a problem, and is recorded as an exclusion rather than graded against the wrong profile. A .json publication whose retrieval failed stays in the cohort and is graded F with the dated reason.

Finding codes emitted in this cohort

CMS_V3_VERSION_UNEXPECTED ERROR

The template version is not the v3.0.0 version implemented here.

Dimension: conformance · emitted by: cedars-sinai/cedars-sinai-medical-center, central-maine-healthcare/central-maine-medical-center

FRESHNESS_ANNUAL_UPDATE_OVERDUE WARNING

The source publication date is more than one year before as_of.

Dimension: freshness · emitted by: nmc-health/nmc-health

INTERPRETABILITY_ALGORITHM_RATES INFO

Algorithm rates were observed and kept separate from dollar rates.

Dimension: interpretability · emitted by: cedars-sinai/cedars-sinai-medical-center, central-maine-healthcare/central-maine-medical-center, chi-health/chi-health-lakeside, commonspirit-health/mercy-gilbert-medical-center, hca-florida-healthcare/hca-florida-raulerson-hospital, mercer-health/mercer-county-joint-township-community-hospital, portsmouth-regional-hospital/portsmouth-regional-hospital, rio-grande-regional-hospital/rio-grande-regional-hospital, st-elizabeth-healthcare/st-elizabeth-florence, stanford-health-care/stanford-health-care, stanford-health-care/stanford-health-care-tri-valley, uc-davis-health/uc-davis-medical-center, uc-health/university-of-cincinnati-medical-center, uc-health/west-chester-hospital

INTERPRETABILITY_PERCENTAGE_RATES INFO

Percentage rates were observed and kept separate from dollar rates.

Dimension: interpretability · emitted by: cedars-sinai/cedars-sinai-medical-center, central-maine-healthcare/central-maine-medical-center, chi-health/chi-health-lakeside, christus-health/christus-spohn-hospital-beeville, commonspirit-health/mercy-gilbert-medical-center, hca-florida-healthcare/hca-florida-raulerson-hospital, mercer-health/mercer-county-joint-township-community-hospital, portsmouth-regional-hospital/portsmouth-regional-hospital, rio-grande-regional-hospital/rio-grande-regional-hospital, stanford-health-care/stanford-health-care, uc-davis-health/uc-davis-medical-center, uc-health/university-of-cincinnati-medical-center, uc-health/west-chester-hospital

JSON_UTF8_BOM_PRESENT INFO

A UTF-8 byte-order mark was present and tolerated.

Dimension: conformance · emitted by: st-elizabeth-healthcare/st-elizabeth-florence, stanford-health-care/stanford-health-care, uc-davis-health/uc-davis-medical-center

MRF_AUTOMATION_BARRIER_OBSERVED ERROR

The direct-download request received an HTTP access barrier.

Dimension: retrievability · emitted by: northside-hospital/northside-hospital-duluth

The CMS hospital CSV v3 (Tall and Wide) cohort (2026-09-12)

Grade policy cms-hospital-csv-v3-file-grade-v1, fingerprint eadf930dd97d123b…; the full rule table ships in this cohort's machine-readable comparison.

One serial, operator-invoked run of `mrf-honest scorecard --profile csv` per target under the default retrieval policy: identified User-Agent with a contact address, HTTPS only, robots.txt fetched and obeyed in code before every request, conditional revalidation against the verified cache, retry backoff, and the default 1 GiB decoded-size ceiling. The policy is byte-identical to the one 2026-08-19 was collected under, which is what makes the two cohorts comparable. Every target's URL was re-resolved from its own origin's `cms-hpt.txt`, retrieved the same day; twenty-four of the twenty-five are published today at the same URL, byte for byte, as on 2026-08-19. The exception is Whitfield Medical Surgical Hospital: msh.ms.gov's robots.txt answered HTTP 301 on 2026-09-12, so under RFC 9309 2.3.1.4 this tool could not retrieve that origin's cms-hpt.txt at all and the origin no longer declares the file. The file itself is still served at the URL the 2026-08-19 TXT published, which is the URL this row was retrieved from, and that discrepancy is stated here rather than hidden behind an unchanged grade. Of the twenty-five attempts, 13 revalidated against the verified cache and returned HTTP 304, 7 transferred a body, 2 were refused by robots.txt, 2 exceeded this project's own size ceiling, and 1 answered HTTP 404.

How these subjects were chosen

One stratum, a complete enumeration: every facility of the committed 2026-08-19 seeded random draw (48 facilities from CMS's enumeration of 3024 acute-care, non-federal, 50-states-and-DC hospitals) whose cms-hpt.txt publication the sibling JSON cohort recorded as a CSV-retrievable format_outside_profile exclusion - 25 of the 32 format exclusions; the other 7 are ZIP archives and remain excluded there. Every target is a row in this cohort, graded or stated. Totals describe this cohort, not hospitals as a class, and must never be pooled with the JSON cohort. This cohort re-measures those same 25 targets on 2026-09-12; nothing was re-drawn and no target was added or dropped. docs/SAMPLING-FRAME.md states it in full.

A target is graded only where the publication is a CMS hospital CSV document (Tall or Wide). Format was read from the publication during the sibling cohort's review, never from a failed request: the URL's file extension decides where it has one; where it has none, a specific declared media type decides; where the declaration is generic, the retrieved document decides. A ZIP archive is a container, not a CSV file, and grading one against this profile would measure the wrong thing; the 7 ZIP publications remain recorded exclusions of the sibling cohort. A .csv publication whose retrieval failed stays in this cohort and is graded F with the dated reason.

Finding codes emitted in this cohort

CMS_CSV_COLUMN_10TH_PERCENTILE_MISSING ERROR

Required standard-charge column 10th_percentile is absent from the header row.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_COLUMN_90TH_PERCENTILE_MISSING ERROR

Required standard-charge column 90th_percentile is absent from the header row.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_COLUMN_COUNT_MISSING ERROR

Required standard-charge column count is absent from the header row.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_COLUMN_MEDIAN_AMOUNT_MISSING ERROR

Required standard-charge column median_amount is absent from the header row.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_DERIVED_RATE_COUNT_MISSING ERROR

A percentage or algorithm rate has no allowed-amount count.

Dimension: completeness · emitted by: kaiserpermanente/kaiser-foundation-hospital

CMS_CSV_ENCODING_NOT_UTF8 INFO

The file is not valid UTF-8; it was read as Latin-1 and recorded.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital, mindenmedicalcenter/minden-medical-center, umms/umd-rehabilitation-orthopaedic-institute

CMS_CSV_GENERAL_ATTESTATION_MISSING ERROR

Required general data element attestation is absent or unusable.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_GENERAL_ATTESTER_NAME_MISSING ERROR

Required general data element attester_name is absent or unusable.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_GENERAL_LOCATION_NAME_MISSING ERROR

Required general data element location_name is absent or unusable.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_GENERAL_TYPE_2_NPI_MISSING ERROR

Required general data element type_2_npi is absent or unusable.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital

CMS_CSV_PAYER_WITHOUT_CHARGE ERROR

A payer or plan name is encoded with no payer-specific charge beside it.

Dimension: completeness · emitted by: frederickhealth/frederick-health-hospital, marshallmedical/marshall-medical-center, slhn/st-luke-s-hospital-monroe-campus, slhn/st-luke-s-warren-hospital, upmc/upmc-mercy

CMS_CSV_UTF8_BOM_PRESENT INFO

A UTF-8 byte-order mark was present and tolerated.

Dimension: conformance · emitted by: kaiserpermanente/kaiser-foundation-hospital, lafayettesurgical/lafayette-surgical-specialty-hospital, marshallmedical/marshall-medical-center, sgmc/sgmc-berrien-campus, slhn/st-luke-s-hospital-monroe-campus, slhn/st-luke-s-warren-hospital, upmc/upmc-mercy, wvumedicine/princeton-community-hospital-assn-inc

CMS_CSV_VERSION_UNEXPECTED ERROR

The template version is not the v3.0.0 version implemented here.

Dimension: conformance · emitted by: frederickhealth/frederick-health-hospital, kaiserpermanente/kaiser-foundation-hospital

CSV_INTERPRETABILITY_ALGORITHM_RATES INFO

Algorithm rates were observed and kept separate from dollar rates.

Dimension: interpretability · emitted by: hillcrest/hillcrest-hospital-henryetta, kaiserpermanente/kaiser-foundation-hospital, lafayettesurgical/lafayette-surgical-specialty-hospital, marshallmedical/marshall-medical-center, rochesterregional/united-memorial-medical-center, scripps/scripps-memorial-hospital-la-jolla, sgmc/sgmc-berrien-campus, slhn/st-luke-s-hospital-monroe-campus, uchealth/medical-center-of-the-rockies, upmc/upmc-mercy, wvumedicine/princeton-community-hospital-assn-inc

CSV_INTERPRETABILITY_NO_PAYER_RATES WARNING

No payer-specific rate values were observed.

Dimension: interpretability · emitted by: msh/whitfield-medical-surgical-hospital, umms/umd-rehabilitation-orthopaedic-institute

CSV_INTERPRETABILITY_PERCENTAGE_RATES INFO

Percentage rates were observed and kept separate from dollar rates.

Dimension: interpretability · emitted by: bayareahospital/bay-area-hospital, grmedcenter/guadalupe-regional-medical-center, hillcrest/hillcrest-hospital-henryetta, kaiserpermanente/kaiser-foundation-hospital, lafayettesurgical/lafayette-surgical-specialty-hospital, marshallmedical/marshall-medical-center, rochesterregional/united-memorial-medical-center, scripps/scripps-memorial-hospital-la-jolla, sgmc/sgmc-berrien-campus, slhn/st-luke-s-hospital-monroe-campus, trhosp/taylor-regional-hospital, uchealth/medical-center-of-the-rockies, upmc/upmc-mercy, wvumedicine/princeton-community-hospital-assn-inc

FRESHNESS_ANNUAL_UPDATE_OVERDUE WARNING

The source publication date is more than one year before as_of.

Dimension: freshness · emitted by: frederickhealth/frederick-health-hospital

MRF_DIRECT_DOWNLOAD_FAILED ERROR

The direct-download request did not produce a verified local body.

Dimension: retrievability · emitted by: williamsonhealth/williamson-medical-center

A grade describes one published file under one stated policy on one date. It does not rank hospitals, price care, or determine compliance with 45 CFR part 180, and it is not the official CMS validator.