# CCIIO Unified Rate Review PUF (URRT Part I) - filings, plans and rating-area factors, PY2024-PY2026

`medicare_silver.fact_rate_review_puf_history` · Insurer negotiated rates · status partial · 285,554 rows

The Part I Unified Rate Review Template data CMS publishes for every single-risk-pool rate filing, individual and small group, on and off exchange, 50 states and DC. Worksheet I per filing (issuer, market, effective date, filing cycle and status), Worksheet II per plan (cumulative proposed rate change as last filed and as first filed, current enrollment, projected member months, review determination), Worksheet III per rating-area factor. Lossless: the ordered header and raw values of every row are kept beside the typed columns.

**Grain.** One publisher CSV row per (plan_year, sha256_content_hash, worksheet, source_row_number); WKSH1 is one row per filing, WKSH2 one row per plan, WKSH3 one row per issuer x market x rating area. Measured 2026-09-25, 285,554 rows = 285,554 keys (Athena 942ed2c8).

| column | type | meaning |
|---|---|---|
| plan_year | int |  |
| worksheet | string |  |
| source_row_number | bigint |  |
| filing_id | string |  |
| hios_issuer_id | string |  |
| issuer_name | string |  |
| state_code | string |  |
| market | string |  |
| effective_date | date |  |
| filing_cycle | string |  |
| filing_status | string |  |
| plan_id | string |  |
| product_id | string |  |
| plan_category | string |  |
| on_exchange | boolean |  |
| review_determination | string |  |
| rate_change_cumulative | double |  |
| rate_change_cumulative_initial | double |  |
| current_enrollment | double |  |
| projected_member_months | double |  |
| rating_area_id | string |  |
| rating_area_factor | double |  |
| source_encoding | string |  |
| ordered_header_json | string |  |
| header_sha256 | string |  |
| column_count | int |  |
| raw_values_json | string |  |
| raw_row_sha256 | string |  |
| artifact_id | string |  |
| source_zip_bytes | bigint |  |
| final_source_url | string |  |
| archive_member | string |  |
| archive_member_sha256 | string |  |
| archive_member_bytes | bigint |  |
| archive_inventory_json | string |  |
| expected_artifact_rows | bigint |  |
| publisher_modified_at | string |  |
| publisher_etag | string |  |
| observed_period | date |  |
| asserted_at | date |  |
| effective_period_start | date |  |
| effective_period_end | date |  |
| cms_vintage_sequence | int |  |
| parse_revision | int |  |
| parser_artifact_hash | string |  |
| source_url | string |  |
| sha256_content_hash | string |  |
| source_id | string |  |
| is_current | boolean |  |
| bronze_object_key | string |  |
| s3_version_id | string |  |
| vintage_tag | string |  |
| drug_source_version_id | string |  |

Query it: `query_substrate` with `SELECT ... FROM medicare_silver.fact_rate_review_puf_history WHERE ... LIMIT 100`; read `describe_data_source("medicare_silver.fact_rate_review_puf_history")` first.
