# Medicare Post-Acute Care Utilization — by Provider (SNF/HHA/Hospice/IRF/LTCH)

`medicare_silver.fact_post_acute_utilization` · Medicare Advantage, Part D, Medicaid · status live · 14,214 rows

The CMS Medicare Post-Acute Care Utilization PUFs, unified across the five post-acute settings (SNF, HHA, hospice, IRF, LTCH) into one fact partitioned by (setting, year). Per provider: distinct beneficiaries, episodes/stays, service days, total charge, total allowed, total Medicare payment + standardized payment, plus beneficiary mix (dual %, rural %, avg age, avg risk score). The provider-level post-acute utilization + cost layer — completes provider-level coverage alongside physician / inpatient / outpatient / DME by provider.

**Grain.** One row per (setting, year, provider, summary/service category) — episodes/days/charge/allowed/payment.

| column | type | meaning |
|---|---|---|
| setting | string |  |
| year | int |  |
| year_type | string |  |
| summary_category | string |  |
| service_category | string |  |
| prvdr_id | string |  |
| prvdr_name | string |  |
| prvdr_city | string |  |
| state | string |  |
| prvdr_zip | string |  |
| bene_distinct_cnt | double |  |
| tot_episode_stay_cnt | double |  |
| tot_service_days | double |  |
| tot_charge_amt | double |  |
| tot_allowed_amt | double |  |
| tot_medicare_payment_amt | double |  |
| tot_medicare_standardized_amt | double |  |
| tot_outlier_payment_amt | double |  |
| bene_dual_pct | double |  |
| bene_rural_pct | double |  |
| bene_avg_age | double |  |
| bene_avg_risk_score | 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_post_acute_utilization WHERE ... LIMIT 100`; read `describe_data_source("medicare_silver.fact_post_acute_utilization")` first.
