> For the complete documentation index, see [llms.txt](https://docs.dataplex-consulting.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dataplex-consulting.com/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-b19b-skilled-nursing-facility-vbiduf.md).

# Benefits Data - B19B Skilled Nursing Facility (VBID/UF)

Skilled Nursing Facility VBID and UF data for B19B packages.

Part of the [CMS Data Research Dataset](/data-catalog/cms-data-research-dataset/cms-data-research-catalog.md) › Plan Benefits

Dataplex delivers this CMS research table as the analysis-ready table `DWV.BENEFITS_DATA__B19B_B2_SNF` on Snowflake and Databricks: coverage from 2024 to 2027 in a single aligned schema, refreshed automatically whenever CMS publishes a new file. Every row carries lineage back to the exact CMS source file that produced it.

## Key facts

|                          |                                                       |
| ------------------------ | ----------------------------------------------------- |
| **Snowflake**            | `DWV.BENEFITS_DATA__B19B_B2_SNF`                      |
| **Databricks**           | `cms_research_dwv.benefits_data__b19b_b2_snf`         |
| **Coverage**             | Jan 2024 – Jan 2027                                   |
| **Rows**                 | 523 (total across all reporting periods)              |
| **Update pattern**       | Time-partitioned; each file adds one reporting period |
| **Latest report period** | 2027-01-01                                            |
| **Loaded**               | 2026-10-04                                            |
| **Columns**              | 239 data + 5 lineage                                  |
| **Identifiers**          | Contract ID (H-number) · Plan ID                      |
| **File versions**        | 6                                                     |
| **License**              | CMS public data (U.S. Government work)                |
| **Platforms**            | Snowflake Marketplace · Databricks Delta Sharing      |

Included in the CMS Data Research Dataset, [start a free trial on Snowflake Marketplace](https://app.snowflake.com/marketplace/listing/GZT1Z125KDP/dataplex-consulting-data-products-cms-data-research-dataset).

{% hint style="success" %}
**Current**: data runs through the Jan 2027 report period. Next CMS release expected \~Jul 2027.
{% endhint %}

{% hint style="info" %}
**Partitioned by report period**: each file version covers one report period and history is additive. The sample query below returns the latest report period; drop the `WHERE` clause to query the full history.
{% endhint %}

{% hint style="info" %}
**Join to the package header.** Rows are keyed on `BID_ID` + `PBP_VBID_GROUP_ID`, at most one per package, within one release. Match records from the same release on `FEEDS_FILES.FILE_REPORT_PERIOD` (each source file has its own `FILE_ID`, so never join two views on `FILE_ID`). Filtering on `CONTRACT_YEAR` alone also works for a year with a single release; contract years with quarterly revisions carry several.

```sql
SELECT h.PBP_VBID_GROUP_ID AS header_group, c.*
FROM DWV.BENEFITS_DATA__B19B_B2_SNF c
JOIN DWV.FEEDS_FILES fc ON fc.ID = c.FILE_ID
JOIN DWV.BENEFITS_DATA__B19B_PACKAGES h
  ON h.BID_ID = c.BID_ID AND h.PBP_VBID_GROUP_ID = c.PBP_VBID_GROUP_ID
JOIN DWV.FEEDS_FILES fh
  ON fh.ID = h.FILE_ID AND fh.FILE_REPORT_PERIOD = fc.FILE_REPORT_PERIOD;
```

{% endhint %}

## Sample queries

{% tabs %}
{% tab title="Snowflake" %}

```sql
-- Latest report period only (drop the WHERE clause for the full history)
SELECT *
FROM DWV.BENEFITS_DATA__B19B_B2_SNF
WHERE FILE_ID IN (
  SELECT ID FROM DWV.FEEDS_FILES WHERE IS_LATEST = 1
)
LIMIT 100;
```

{% endtab %}

{% tab title="Databricks" %}

```sql
-- Latest report period only (drop the WHERE clause for the full history)
SELECT *
FROM cms_research_dwv.benefits_data__b19b_b2_snf
WHERE file_id IN (
  SELECT id FROM cms_research_dwv.feeds_files WHERE is_latest = 1
)
LIMIT 100;
```

{% endtab %}
{% endtabs %}

## About this feed

> Skilled Nursing Facility VBID and UF data for B19B packages. Source file pbp\_b2\_b19b\_snf\_vbid\_uf.txt, one row per package (BID\_ID, PBP\_VBID\_GROUP\_ID) per release; CMS column names and raw codes unchanged.
>
> *Source: CMS feed metadata*

**Theme:** Plan Benefits

## Coverage timeline

2024 🟩 · 2025 🟩 · 2026 🟩 · 2027 🟩

4 of 4 years covered, no gaps.

## Release history

| Report period | Files | Loaded     | Latest | CMS source                                                                |
| ------------- | ----- | ---------- | ------ | ------------------------------------------------------------------------- |
| 2027-01-01    | 1     | 2026-10-04 | ✓      | [source ↗](https://www.cms.gov/files/zip/pbp-benefits-2027.zip)           |
| 2026-01-01    | 1     | 2026-10-04 |        | [source ↗](https://www.cms.gov/files/zip/pbp-benefits-2026.zip)           |
| 2025-01-01    | 1     | 2026-10-04 |        | [source ↗](https://www.cms.gov/files/zip/pbp-benefits-2025.zip)           |
| 2024-10-01    | 1     | 2026-10-04 |        | [source ↗](https://www.cms.gov/files/zip/pbp-benefits-2024-quarter-4.zip) |
| 2024-07-01    | 1     | 2026-10-04 |        | [source ↗](https://www.cms.gov/files/zip/pbp-benefits-2024-quarter-3.zip) |
| 2024-01-01    | 1     | 2026-10-04 |        | [source ↗](https://www.cms.gov/files/zip/pbp-benefits-2024-quarter-1.zip) |

## Data dictionary

<details>

<summary>📋 <strong>239 data columns + 5 lineage columns</strong></summary>

**Data columns**

| Column                           | Type   |
| -------------------------------- | ------ |
| `PBP_A_HNUMBER`                  | TEXT   |
| `PBP_A_PLAN_IDENTIFIER`          | TEXT   |
| `SEGMENT_ID`                     | TEXT   |
| `PBP_A_BEN_COV`                  | TEXT   |
| `PBP_A_PLAN_TYPE`                | TEXT   |
| `ORGTYPE`                        | TEXT   |
| `BID_ID`                         | TEXT   |
| `VERSION`                        | TEXT   |
| `PBP_VBID_GROUP_ID`              | TEXT   |
| `PBP_B2_BENDESC_YN`              | TEXT   |
| `PBP_B2_BENDESC_AD_NMCS`         | TEXT   |
| `PBP_B2_BENDESC_AMO_AD`          | TEXT   |
| `PBP_B2_BENEDESC_LIM_AD`         | TEXT   |
| `PBP_B2_BENDESC_AD`              | TEXT   |
| `PBP_B2_COINS_YN`                | TEXT   |
| `PBP_B2_AD_COST_VARY_TIERS_YN`   | TEXT   |
| `PBP_B2_AD_COST_VARY_TIER_NUM`   | TEXT   |
| `PBP_B2_AD_COST_VARY_LOW_TIER`   | TEXT   |
| `PBP_B2_COINS_AD_INTRVL_NUM_T1`  | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT1_T1`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT1_T1`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT1_T1`   | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT2_T1`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT2_T1`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT2_T1`   | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT3_T1`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT3_T1`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT3_T1`   | TEXT   |
| `PBP_B2_COINS_AD_INTRVL_NUM_T2`  | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT1_T2`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT1_T2`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT1_T2`   | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT2_T2`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT2_T2`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT2_T2`   | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT3_T2`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT3_T2`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT3_T2`   | TEXT   |
| `PBP_B2_COINS_AD_INTRVL_NUM_T3`  | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT1_T3`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT1_T3`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT1_T3`   | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT2_T3`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT2_T3`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT2_T3`   | TEXT   |
| `PBP_B2_COINS_AD_PCT_INT3_T3`    | TEXT   |
| `PBP_B2_COINS_AD_BGND_INT3_T3`   | TEXT   |
| `PBP_B2_COINS_AD_ENDD_INT3_T3`   | TEXT   |
| `PBP_B2_COPAY_YN`                | TEXT   |
| `PBP_B2_COPAY_AD_INTRVL_NUM_T1`  | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT1_T1`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT1_T1`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT1_T1`   | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT2_T1`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT2_T1`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT2_T1`   | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT3_T1`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT3_T1`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT3_T1`   | TEXT   |
| `PBP_B2_COPAY_AD_INTRVL_NUM_T2`  | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT1_T2`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT1_T2`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT1_T2`   | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT2_T2`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT2_T2`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT2_T2`   | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT3_T2`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT3_T2`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT3_T2`   | TEXT   |
| `PBP_B2_COPAY_AD_INTRVL_NUM_T3`  | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT1_T3`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT1_T3`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT1_T3`   | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT2_T3`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT2_T3`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT2_T3`   | TEXT   |
| `PBP_B2_COPAY_AD_AMT_INT3_T3`    | TEXT   |
| `PBP_B2_COPAY_AD_BGND_INT3_T3`   | TEXT   |
| `PBP_B2_COPAY_AD_ENDD_INT3_T3`   | TEXT   |
| `PBP_B2_AUTH_YN`                 | TEXT   |
| `PBP_B2_REFER_YN`                | TEXT   |
| `PBP_B2_BENDESC_YN_BONLY`        | TEXT   |
| `PBP_B2_BENDESC_AMO_BONLY`       | TEXT   |
| `PBP_B2_BENDESC_SNF_UNLM_BONLY`  | TEXT   |
| `PBP_B2_BENDE_AL_AD_PRIOR_BONLY` | TEXT   |
| `PBP_B2_BENDESC_SNF_PER_BONLY`   | TEXT   |
| `PBP_B2_BENDESC_SNF_PER_BONLY_D` | TEXT   |
| `PBP_B2_BENDESC_HOSTAY_BONLY_YN` | TEXT   |
| `PBP_B2_BENDE_NMDAY_PRIOR_BONLY` | TEXT   |
| `PBP_B2_MAXPLAN_YN_BONLY`        | TEXT   |
| `PBP_B2_MAXPLAN_AMT_BONLY`       | TEXT   |
| `PBP_B2_MAXPLAN_PER_BONLY`       | TEXT   |
| `PBP_B2_MAXPLAN_PER_BONLY_D`     | TEXT   |
| `PBP_B2_MAXENR_YN_BONLY`         | TEXT   |
| `PBP_B2_MAXENR_AMT_BONLY`        | TEXT   |
| `PBP_B2_MAXENR_PER_BONLY`        | TEXT   |
| `PBP_B2_MAXENR_PER_BONLY_D`      | TEXT   |
| `PBP_B2_COINS_YN_BONLY`          | TEXT   |
| `PBP_B2_COINS_PCT_BONLY`         | TEXT   |
| `PBP_B2_COINS_PS_NUM_BONLY`      | TEXT   |
| `PBP_B2_COINS_PS_PCT1_BONLY`     | TEXT   |
| `PBP_B2_COINS_PS_BGND1_BONLY`    | TEXT   |
| `PBP_B2_COINS_PS_ENDD1_BONLY`    | TEXT   |
| `PBP_B2_COINS_PS_PCT2_BONLY`     | TEXT   |
| `PBP_B2_COINS_PS_BGND2_BONLY`    | TEXT   |
| `PBP_B2_COINS_PS_ENDD2_BONLY`    | TEXT   |
| `PBP_B2_COINS_PS_PCT3_BONLY`     | TEXT   |
| `PBP_B2_COINS_PS_BGND3_BONLY`    | TEXT   |
| `PBP_B2_COINS_PS_ENDD3_BONLY`    | TEXT   |
| `PBP_B2_DED_YN_BONLY`            | TEXT   |
| `PBP_B2_DED_AMT_BONLY`           | TEXT   |
| `PBP_B2_COPAY_YN_BONLY`          | TEXT   |
| `PBP_B2_COPAY_PS_AMT_BONLY`      | TEXT   |
| `PBP_B2_COPAY_PS_NUM_BONLY`      | TEXT   |
| `PBP_B2_COPAY_PS_AMT1_BONLY`     | TEXT   |
| `PBP_B2_COPAY_PS_BGND1_BONLY`    | TEXT   |
| `PBP_B2_COPAY_PS_ENDD1_BONLY`    | TEXT   |
| `PBP_B2_COPAY_PS_AMT2_BONLY`     | TEXT   |
| `PBP_B2_COPAY_PS_BGND2_BONLY`    | TEXT   |
| `PBP_B2_COPAY_PS_ENDD2_BONLY`    | TEXT   |
| `PBP_B2_COPAY_PS_AMT3_BONLY`     | TEXT   |
| `PBP_B2_COPAY_PS_BGND3_BONLY`    | TEXT   |
| `PBP_B2_COPAY_PS_ENDD3_BONLY`    | TEXT   |
| `PBP_B2_AUTH_YN_BONLY`           | TEXT   |
| `PBP_B2_REFER_YN_BONLY`          | TEXT   |
| `PBP_B2_BENDESC_AMO_NMCS`        | TEXT   |
| `PBP_B2_BENDESC_PR_HOSP_YN`      | TEXT   |
| `PBP_B2_BENDESC_PR_HOSP_NUM`     | TEXT   |
| `PBP_B2_MAXENR_YN`               | TEXT   |
| `PBP_B2_MAXENR_AMT`              | TEXT   |
| `PBP_B2_MAXENR_PER`              | TEXT   |
| `PBP_B2_MAXENR_PER_D`            | TEXT   |
| `PBP_B2_COST_VARY_TIERS_YN`      | TEXT   |
| `PBP_B2_COST_VARY_TIER_NUM`      | TEXT   |
| `PBP_B2_COST_VARY_LOW_TIER`      | TEXT   |
| `PBP_B2_MC_COINS_CSTSHR_YN_T1`   | TEXT   |
| `PBP_B2_COINS_MCS_PCT_T1`        | TEXT   |
| `PBP_B2_COINS_MCS_INT_NUM_T1`    | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT1_T1`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT1_T1`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT1_T1`  | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT2_T1`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT2_T1`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT2_T1`  | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT3_T1`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT3_T1`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT3_T1`  | TEXT   |
| `PBP_B2_MC_COINS_CSTSHR_YN_T2`   | TEXT   |
| `PBP_B2_COINS_MCS_PCT_T2`        | TEXT   |
| `PBP_B2_COINS_MCS_INT_NUM_T2`    | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT1_T2`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT1_T2`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT1_T2`  | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT2_T2`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT2_T2`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT2_T2`  | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT3_T2`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT3_T2`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT3_T2`  | TEXT   |
| `PBP_B2_MC_COINS_CSTSHR_YN_T3`   | TEXT   |
| `PBP_B2_COINS_MCS_PCT_T3`        | TEXT   |
| `PBP_B2_COINS_MCS_INT_NUM_T3`    | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT1_T3`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT1_T3`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT1_T3`  | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT2_T3`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT2_T3`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT2_T3`  | TEXT   |
| `PBP_B2_COINS_MCS_PCT_INT3_T3`   | TEXT   |
| `PBP_B2_COINS_MCS_BGND_INT3_T3`  | TEXT   |
| `PBP_B2_COINS_MCS_ENDD_INT3_T3`  | TEXT   |
| `PBP_B2_COINS_NMCS_STRUC_YN`     | TEXT   |
| `PBP_B2_COINS_NMCS_PCT`          | TEXT   |
| `PBP_B2_COINS_NMCS_INTRVL_NUM`   | TEXT   |
| `PBP_B2_COINS_NMCS_PCT_INTRVL1`  | TEXT   |
| `PBP_B2_COINS_NMCS_BGND_INTRVL1` | TEXT   |
| `PBP_B2_COINS_NMCS_ENDD_INTRVL1` | TEXT   |
| `PBP_B2_COINS_NMCS_PCT_INTRVL2`  | TEXT   |
| `PBP_B2_COINS_NMCS_BGND_INTRVL2` | TEXT   |
| `PBP_B2_COINS_NMCS_ENDD_INTRVL2` | TEXT   |
| `PBP_B2_COINS_NMCS_PCT_INTRVL3`  | TEXT   |
| `PBP_B2_COINS_NMCS_BGND_INTRVL3` | TEXT   |
| `PBP_B2_COINS_NMCS_ENDD_INTRVL3` | TEXT   |
| `PBP_B2_DED_YN`                  | TEXT   |
| `PBP_B2_DED_AMT_T1`              | TEXT   |
| `PBP_B2_DED_AMT_T2`              | TEXT   |
| `PBP_B2_DED_AMT_T3`              | TEXT   |
| `PBP_B2_MC_COPAY_CSTSHR_YN_T1`   | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_T1`        | TEXT   |
| `PBP_B2_COPAY_MCS_INT_NUM_T1`    | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT1_T1`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT1_T1`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT1_T1`  | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT2_T1`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT2_T1`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT2_T1`  | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT3_T1`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT3_T1`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT3_T1`  | TEXT   |
| `PBP_B2_MC_COPAY_CSTSHR_YN_T2`   | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_T2`        | TEXT   |
| `PBP_B2_COPAY_MCS_INT_NUM_T2`    | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT1_T2`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT1_T2`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT1_T2`  | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT2_T2`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT2_T2`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT2_T2`  | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT3_T2`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT3_T2`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT3_T2`  | TEXT   |
| `PBP_B2_MC_COPAY_CSTSHR_YN_T3`   | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_T3`        | TEXT   |
| `PBP_B2_COPAY_MCS_INT_NUM_T3`    | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT1_T3`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT1_T3`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT1_T3`  | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT2_T3`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT2_T3`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT2_T3`  | TEXT   |
| `PBP_B2_COPAY_MCS_AMT_INT3_T3`   | TEXT   |
| `PBP_B2_COPAY_MCS_BGND_INT3_T3`  | TEXT   |
| `PBP_B2_COPAY_MCS_ENDD_INT3_T3`  | TEXT   |
| `PBP_B2_COPAY_NMCS_STRUC_YN`     | TEXT   |
| `PBP_B2_COPAY_NMCS_AMT`          | TEXT   |
| `PBP_B2_COPAY_NMCS_INTRVL_NUM`   | TEXT   |
| `PBP_B2_COPAY_NMCS_AMT_INTRVL1`  | TEXT   |
| `PBP_B2_COPAY_NMCS_BGND_INTRVL1` | TEXT   |
| `PBP_B2_COPAY_NMCS_ENDD_INTRVL1` | TEXT   |
| `PBP_B2_COPAY_NMCS_AMT_INTRVL2`  | TEXT   |
| `PBP_B2_COPAY_NMCS_BGND_INTRVL2` | TEXT   |
| `PBP_B2_COPAY_NMCS_ENDD_INTRVL2` | TEXT   |
| `PBP_B2_COPAY_NMCS_AMT_INTRVL3`  | TEXT   |
| `PBP_B2_COPAY_NMCS_BGND_INTRVL3` | TEXT   |
| `PBP_B2_COPAY_NMCS_ENDD_INTRVL3` | TEXT   |
| `PBP_B2_HOSP_BEN_PERIOD`         | TEXT   |
| `PBP_B2_HOSP_BEN_PERIOD_OTH`     | TEXT   |
| `PBP_B2_COST_DISCHARGE_YN`       | TEXT   |
| `CONTRACT_YEAR`                  | NUMBER |

**Lineage columns** (present on every feed table)

| Column         | Type   | Description                                 |
| -------------- | ------ | ------------------------------------------- |
| `ROW_ID`       | TEXT   | Unique row ID for this table (PK)           |
| `FILE_ID`      | TEXT   | Source file; joins to `FEEDS_FILES.ID` (FK) |
| `FILE_FEED_ID` | TEXT   | Parent feed; joins to `FEEDS.ID` (FK)       |
| `FILE_NAME`    | TEXT   | Source file name as published by CMS        |
| `ROWNUM`       | NUMBER | Row number within the source file           |

</details>

## Row-level lineage

Every row in this table traces to the exact CMS source file that produced it. The `FILE_ID` column joins to the `FEEDS_FILES` catalog table, and `FILE_FEED_ID` joins to the `FEEDS` master table:

```mermaid
erDiagram
    FEEDS ||--o{ FEEDS_FILES : "ID = FEED_ID"
    FEEDS ||--o{ BENEFITS_DATA__B19B_B2_SNF : "ID = FILE_FEED_ID"
    FEEDS_FILES ||--o{ BENEFITS_DATA__B19B_B2_SNF : "ID = FILE_ID"

    FEEDS {
        text ID PK
        text TITLE
        text VIEW_NAME
        text FEED_SUBTYPE
    }
    FEEDS_FILES {
        text ID PK
        text FEED_ID FK
        date FILE_REPORT_PERIOD
        text FILE_DOWNLOAD_URL
        number IS_LATEST
    }
    BENEFITS_DATA__B19B_B2_SNF {
        text ROW_ID PK
        text FILE_ID FK
        text FILE_FEED_ID FK
        text PBP_A_HNUMBER
        text PBP_A_PLAN_IDENTIFIER
        text SEGMENT_ID
        text PBP_A_BEN_COV
        number remaining_235_data_columns
    }
```

Trace any row back to its source file and reporting period:

{% tabs %}
{% tab title="Snowflake" %}

```sql
SELECT d.PBP_A_HNUMBER, d.PBP_A_PLAN_IDENTIFIER, d.SEGMENT_ID,
       ff.FILE_REPORT_PERIOD AS TEMPORAL_START, ff.FILE_REPORT_PERIOD AS TEMPORAL_END
FROM DWV.BENEFITS_DATA__B19B_B2_SNF d
JOIN DWV.FEEDS_FILES ff ON d.FILE_ID = ff.ID;
```

{% endtab %}

{% tab title="Databricks" %}

```sql
SELECT d.pbp_a_hnumber, d.pbp_a_plan_identifier, d.segment_id,
       ff.file_report_period AS temporal_start, ff.file_report_period AS temporal_end
FROM cms_research_dwv.benefits_data__b19b_b2_snf d
JOIN cms_research_dwv.feeds_files ff ON d.file_id = ff.id;
```

{% endtab %}
{% endtabs %}

## Source & provenance

Published by the **Centers for Medicare & Medicaid Services**.

* [Official CMS documentation (MA/Part D contract and enrollment data)](https://www.cms.gov/data-research/statistics-trends-and-reports/medicare-advantagepart-d-contract-and-enrollment-data/benefits-data--b19b-b2-snf)
* [Latest source file from CMS (zip)](https://www.cms.gov/files/zip/pbp-benefits-2027.zip)

## Frequently asked questions

### How often is Benefits Data - B19B Skilled Nursing Facility (VBID/UF) updated?

CMS last published this feed on 2027-01-01. New releases are added automatically when CMS publishes them.

### What years does Benefits Data - B19B Skilled Nursing Facility (VBID/UF) cover?

2024 through 2027.

### How many records are in Benefits Data - B19B Skilled Nursing Facility (VBID/UF)?

523 rows across all 6 report periods. Because this feed is partitioned by report period, the full table total is the meaningful count; no deduplication needed.

### How do I get Benefits Data - B19B Skilled Nursing Facility (VBID/UF) data?

It's included in the CMS Data Research Dataset on the [Snowflake Marketplace](https://app.snowflake.com/marketplace/listing/GZT1Z125KDP/dataplex-consulting-data-products-cms-data-research-dataset) (free trial available). Once mounted, query `DWV.BENEFITS_DATA__B19B_B2_SNF` directly; no pipeline setup required.

## Related feeds

{% content-ref url="/pages/k8kIkU8rqBH23OVbCRGc" %}
[Benefits Data - B19B Packages (VBID/UF/SSBCI)](/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-b19b-packages-vbidufssbci.md)
{% endcontent-ref %}

{% content-ref url="/pages/WZnTOrCf9lwD39ymtOGP" %}
[Benefits Data - B19B Emergency/Urgent Care (VBID/UF)](/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-b19b-emergencyurgent-care-vbiduf.md)
{% endcontent-ref %}

{% content-ref url="/pages/3BFFhqS6HZsJe0KKnL63" %}
[Benefits Data - Part D Drug Coverage](/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-part-d-drug-coverage.md)
{% endcontent-ref %}

{% content-ref url="/pages/1kTYQNTKqxsvsh1kVF8K" %}
[Benefits Data - Premiums & Deductibles](/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-premiums-deductibles.md)
{% endcontent-ref %}

{% content-ref url="/pages/JCUMORWFhdKSCd8Eq7cW" %}
[Benefits Data - B19A Skilled Nursing Facility (VBID/UF)](/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-b19a-skilled-nursing-facility-vbiduf.md)
{% endcontent-ref %}

## Get this feed

1. [Start a free trial on Snowflake Marketplace](https://app.snowflake.com/marketplace/listing/GZT1Z125KDP/dataplex-consulting-data-products-cms-data-research-dataset)
2. Mount the share; the database and `DWV` schema appear in your account immediately
3. Run the [sample query](#sample-queries) above; no ETL, no pipeline maintenance

Questions about this feed? Contact us at <notifications@dataplex-consulting.com>.

***

Part of the [CMS Data Research Dataset](/data-catalog/cms-data-research-dataset.md); 48 research tables · 25 years of Medicare Advantage & Part D history · updated daily. [Back to the full catalog →](/data-catalog/cms-data-research-dataset/cms-data-research-catalog.md#benefits-data-b19b-skilled-nursing-facility-vbiduf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dataplex-consulting.com/data-catalog/cms-data-research-dataset/cms-data-research-catalog/benefits-data-b19b-skilled-nursing-facility-vbiduf.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
