# CMS QHP Enrollee Survey PUF: current read surface (one CMS artifact per plan year)

`medicare_semantic.vw_enrollee_survey_puf_current_v1` · Insurer negotiated rates · status live · 1,586 rows

The read surface over medicare_silver.fact_enrollee_survey_puf_history (append-only): for each business_year it keeps one CMS data unit (cms_vintage_sequence DESC, then asserted_at DESC, then archive member as tie-breakers) and returns its publisher rows unchanged (raw_values_json keyed by ordered_header_json). Defined in pipelines/medicare/semantic/enrollee_survey_puf_current_v1.sql (#3583). A later CMS repost of a plan year replaces the earlier artifact here and stays in the history table.

**Grain.** One publisher row of the selected data unit per business_year: 1,586 rows PY2022-2026, one CMS artifact per business_year (266 / 298 / 325 / 343 / 354; Athena bccf9835, 2026-10-13).

| column | type | meaning |
|---|---|---|
| business_year | int |  |
| market_segment | string |  |
| sheet_name | string |  |
| source_row_number | bigint |  |
| worksheet_row_number | bigint |  |
| source_format | string |  |
| 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_sha256 | string |  |
| source_zip_bytes | bigint |  |
| final_source_url | string |  |
| archive_member | string |  |
| archive_member_sha256 | string |  |
| archive_member_bytes | bigint |  |
| archive_member_crc32 | string |  |
| 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_semantic.vw_enrollee_survey_puf_current_v1 WHERE ... LIMIT 100`; read `describe_data_source("medicare_semantic.vw_enrollee_survey_puf_current_v1")` first.
