# CMS Transparency in QHP Coverage PUF — partial Individual QHP serving derivative

`medicare_silver.fact_tc_puf_issuer_claims` · Insurer negotiated rates · status live · 25,666 rows

A 25,666-row partial derivative of the CMS CCIIO Transparency in QHP Coverage PUF: only the Individual QHP tabs from publication years 2022-2026. Those publications contain measurement data from 2020-2024 respectively. Do not treat plan_year as the measure year, aggregate repeated issuer measures across plans, or publish payer rankings until denominator and suppression semantics pass review.

**Grain.** Partial table: one Individual-QHP row per (publication-year label stored as plan_year, 14-character Plan_ID); issuer-level measures repeat across plan rows.

| column | type | meaning |
|---|---|---|
| plan_year | int |  |
| individual_shop | string |  |
| exchange_type | string |  |
| state | string |  |
| issuer_name | string |  |
| issuer_id | string |  |
| sadp_only | string |  |
| plan_id | string |  |
| plan_type | string |  |
| qhp_or_sadp | string |  |
| metal_level | string |  |
| is_issuer_new_to_exchange | string |  |
| url_claims_payment_policies | string |  |
| rate_review_url | string |  |
| financial_information_url | string |  |
| claims_received_oon | double |  |
| claims_received_in | double |  |
| claims_denied_oon | double |  |
| claims_denied_in | double |  |
| claims_resubmitted_oon | double |  |
| claims_resubmitted_in | double |  |
| internal_appeals_filed | double |  |
| internal_appeals_overturned | double |  |
| pct_internal_appeals_overturned | double |  |
| external_appeals_filed | double |  |
| external_appeals_overturned | double |  |
| pct_external_appeals_overturned | double |  |
| avg_monthly_enrollment | double |  |
| avg_monthly_disenrollment | double |  |
| plan_claims_received_oon | double |  |
| plan_claims_received_in | double |  |
| plan_claims_denied_oon | double |  |
| plan_claims_denied_in | double |  |
| plan_claims_resubmitted_oon | double |  |
| plan_claims_resubmitted_in | double |  |
| plan_denied_referral_required | double |  |
| plan_denied_out_of_network | double |  |
| plan_denied_services_excluded | double |  |
| plan_denied_not_med_nec | double |  |
| plan_denied_not_med_nec_bh | double |  |
| plan_denied_benefit_limit | double |  |
| plan_denied_member_not_covered | double |  |
| plan_denied_investigational | double |  |
| plan_denied_administrative | double |  |
| plan_denied_other | double |  |
| 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_tc_puf_issuer_claims WHERE ... LIMIT 100`; read `describe_data_source("medicare_silver.fact_tc_puf_issuer_claims")` first.
