> 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-feeds-dataset/cms-data-feeds-catalog/physiciansupplier-procedure-summary.md).

# Physician/Supplier Procedure Summary

Part of the [CMS Data Feeds Dataset](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog.md) › Medicare

Dataplex delivers this CMS feed as the analysis-ready table `DWV.PHYSICIANSUPPLIER_PROCEDURE_SUMMARY` on Snowflake and Databricks — 17 annual reporting periods (2010–2024) aligned to a single 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.PHYSICIANSUPPLIER_PROCEDURE_SUMMARY`               |
| **Databricks**     | `cms_dwv.physiciansupplier_procedure_summary`           |
| **Coverage**       | Jan 2010 – Dec 2024 (15 of 15 annual reporting periods) |
| **Rows**           | 250,560,807 (total across all reporting periods)        |
| **Cadence**        | Annual                                                  |
| **Update pattern** | Time-partitioned — each file adds one reporting year    |
| **CMS published**  | 2026-01-09                                              |
| **Loaded**         | 2026-01-09                                              |
| **Columns**        | 28 data + 6 lineage                                     |
| **Identifiers**    | HCPCS codes                                             |
| **File versions**  | 17                                                      |
| **License**        | CMS public data — U.S. Government work                  |
| **Platforms**      | Snowflake Marketplace · Databricks Delta Sharing        |

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

{% hint style="success" %}
**Current** — CMS last published this feed on 2026-01-09. Coverage is complete through the 2024 reporting year. Next CMS release expected \~Jan 2027.
{% endhint %}

{% hint style="info" %}
**Time-partitioned feed** — each file version covers one reporting year, so history is additive. Query the full table for all years; filter on the reporting period columns for a single period. Do **not** filter to the latest file only — that would return just the 2024 reporting year.
{% endhint %}

## Sample queries

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

```sql
-- Each file version covers one reporting period — history is additive
SELECT *
FROM DWV.PHYSICIANSUPPLIER_PROCEDURE_SUMMARY
LIMIT 100;
```

{% endtab %}

{% tab title="Databricks" %}

```sql
-- Each file version covers one reporting period — history is additive
SELECT *
FROM cms_dwv.physiciansupplier_procedure_summary
LIMIT 100;
```

{% endtab %}
{% endtabs %}

## About this feed

> The Physician/Supplier Procedure Summary (PSPS) data provides a summary of calendar year Medicare Part B carrier and durable medical equipment fee-for-service (FFS) claims. The file is organized by carrier, pricing locality, Healthcare Common Procedure Coding System (HCPCS) code, HCPCS modifier, provider specialty, type of service, and place of service. The summarized fields are total submitted services and charges, total allowed services and charges, total denied services and charges, and total payment amounts.  This dataset is produced annually and is typically available in July (i.e., data for CY2015 is usually available in July 2016).
>
> — *Source: CMS feed metadata*

**Keywords:** Medicare, Original Medicare, Health Care Use & Payments **Theme:** Medicare

## Coverage timeline

2010–2024 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 (🟩 covered · ⬜ no data)

15 of 15 annual reporting periods present — no gaps.

## Release history

| Reporting period        | CMS published | Loaded     | Latest file |
| ----------------------- | ------------- | ---------- | ----------- |
| 2024-01-01 – 2024-12-31 | 2026-01-09    | 2026-01-09 | ✓           |
| 2024-01-01 – 2024-12-31 | 2025-09-09    | 2025-10-18 |             |
| 2024-01-01 – 2024-12-31 | 2025-08-15    | 2025-08-15 |             |
| 2023-01-01 – 2023-12-31 | 2024-08-05    | 2024-08-05 |             |
| 2022-01-01 – 2022-12-31 | 2023-08-14    | 2023-08-29 |             |
| 2021-01-01 – 2021-12-31 | 2022-08-25    | 2023-08-29 |             |
| 2020-01-01 – 2020-12-31 | 2022-05-31    | 2023-08-29 |             |
| 2019-01-01 – 2019-12-31 | 2021-02-05    | 2023-08-29 |             |
| 2018-01-01 – 2018-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2017-01-01 – 2017-12-31 | 2020-11-09    | 2023-08-29 |             |

<details>

<summary>Show 7 earlier file versions</summary>

| Reporting period        | CMS published | Loaded     | Latest file |
| ----------------------- | ------------- | ---------- | ----------- |
| 2016-01-01 – 2016-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2015-01-01 – 2015-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2014-01-01 – 2014-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2013-01-01 – 2013-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2012-01-01 – 2012-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2011-01-01 – 2011-12-31 | 2020-11-09    | 2023-08-29 |             |
| 2010-01-01 – 2010-12-31 | 2020-11-10    | 2023-08-29 |             |

</details>

## Data dictionary

<details>

<summary>📋 <strong>28 data columns + 6 lineage columns</strong></summary>

Column-level definitions are maintained by CMS in the official [Physician/Supplier Procedure Summary data dictionary](https://data.cms.gov/resources/physician-supplier-procedure-summary-data-dictionary).

**Data columns**

| Column                       | Type    |
| ---------------------------- | ------- |
| `HCPCS_CD`                   | TEXT    |
| `HCPCS_INITIAL_MODIFIER_CD`  | TEXT    |
| `PROVIDER_SPEC_CD`           | TEXT    |
| `CARRIER_NUM`                | NUMBER  |
| `PRICING_LOCALITY_CD`        | TEXT    |
| `TYPE_OF_SERVICE_CD`         | TEXT    |
| `PLACE_OF_SERVICE_CD`        | NUMBER  |
| `HCPCS_SECOND_MODIFIER_CD`   | TEXT    |
| `PSPS_SUBMITTED_SERVICE_CNT` | NUMBER  |
| `PSPS_SUBMITTED_CHARGE_AMT`  | NUMBER  |
| `PSPS_ALLOWED_CHARGE_AMT`    | NUMBER  |
| `PSPS_DENIED_SERVICES_CNT`   | NUMBER  |
| `PSPS_DENIED_CHARGE_AMT`     | NUMBER  |
| `PSPS_ASSIGNED_SERVICES_CNT` | NUMBER  |
| `PSPS_NCH_PAYMENT_AMT`       | NUMBER  |
| `PSPS_HCPCS_ASC_IND_CD`      | BOOLEAN |
| `PSPS_ERROR_IND_CD`          | NUMBER  |
| `HCPCS_BETOS_CD`             | TEXT    |
| `SUBMITTED_SERVICE_CNT`      | NUMBER  |
| `SUBMITTED_CHARGE_AMT`       | NUMBER  |
| `ALLOWED_CHARGE_AMT`         | NUMBER  |
| `DENIED_SERVICES_CNT`        | NUMBER  |
| `DENIED_CHARGE_AMT`          | NUMBER  |
| `ASSIGNED_SERVICES_CNT`      | NUMBER  |
| `NCH_PAYMENT_AMT`            | NUMBER  |
| `HCPCS_ASC_IND_CD`           | BOOLEAN |
| `ERROR_IND_CD`               | NUMBER  |
| `BETOS_CD`                   | TEXT    |

**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            |
| `CREATED_AT`   | TIMESTAMP\_NTZ | Timestamp when the record was loaded         |

</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{ PHYSICIANSUPPLIER_PROCEDURE_SUMMARY : "ID = FILE_FEED_ID"
    FEEDS_FILES ||--o{ PHYSICIANSUPPLIER_PROCEDURE_SUMMARY : "ID = FILE_ID"

    FEEDS {
        text ID PK
        text TITLE
        text VIEW_NAME
        text ACCURAL_PERIODICITY
    }
    FEEDS_FILES {
        text ID PK
        text FEED_ID FK
        date TEMPORAL_START
        date TEMPORAL_END
        date CMS_FEED_MODIFIED
        number IS_LATEST
    }
    PHYSICIANSUPPLIER_PROCEDURE_SUMMARY {
        text ROW_ID PK
        text FILE_ID FK
        text FILE_FEED_ID FK
        text HCPCS_CD
        text HCPCS_INITIAL_MODIFIER_CD
        text PROVIDER_SPEC_CD
        number CARRIER_NUM
        number remaining_24_data_columns
    }
```

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

```sql
SELECT d.HCPCS_CD, d.HCPCS_INITIAL_MODIFIER_CD, d.PROVIDER_SPEC_CD,
       ff.TEMPORAL_START, ff.TEMPORAL_END, ff.CMS_FEED_MODIFIED
FROM DWV.PHYSICIANSUPPLIER_PROCEDURE_SUMMARY d
JOIN DWV.FEEDS_FILES ff ON d.FILE_ID = ff.ID;
```

## Source & provenance

Published by the **Centers for Medicare & Medicaid Services** (bureau 009:38).

* [Official CMS data dictionary](https://data.cms.gov/resources/physician-supplier-procedure-summary-data-dictionary)
* [Physician Supplier Procedure Summary Methodology](https://data.cms.gov/resources/physician-supplier-procedure-summary-methodology)

## Frequently asked questions

### How often is Physician/Supplier Procedure Summary updated?

Annually. CMS last published this feed on 2026-01-09, and Dataplex loaded it to the warehouse the same day. New releases are added automatically when CMS publishes them.

### What years does Physician/Supplier Procedure Summary cover?

2010 through 2024 — 15 annual reporting periods with no gaps. Each reporting year arrives as its own file version, and all years remain queryable side by side.

### How many records are in Physician/Supplier Procedure Summary?

250,560,807 rows across all 17 reporting periods. Because this feed is time-partitioned, the full table total is the meaningful count — no deduplication needed.

### How do I get Physician/Supplier Procedure Summary data?

It's included in the CMS Data Feeds Dataset on the [Snowflake Marketplace](https://app.snowflake.com/marketplace/listing/GZT1Z125KDH/dataplex-consulting-data-products-cms-data-feeds-dataset) (free trial available) and via [Databricks Delta Sharing](https://checkout.dataplex-consulting.com/b/3cIdR2e1J59Sh2w7pWbQY00). Once mounted, query `DWV.PHYSICIANSUPPLIER_PROCEDURE_SUMMARY` directly — no pipeline setup required.

## Related feeds

{% content-ref url="/pages/5H1w0p0jmbbBcj2z19zh" %}
[Medicare Geographic Variation - by National, State & County](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog/medicare-geographic-variation-by-national-state-county.md)
{% endcontent-ref %}

{% content-ref url="/pages/KhY9ywEKkMe8aup1oyDx" %}
[Medicare Post-Acute Care Utilization - Skilled Nursing Facility by Geography/Provider and Case-Mix Grouping](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog/medicare-post-acute-care-utilization-skilled-nursing-facility-by-geographyprovider-and-case-mix-grou.md)
{% endcontent-ref %}

{% content-ref url="/pages/WTbpcuHqPp1SoMJIuPnI" %}
[Medicare Post-Acute Care Utilization - Home Health Agency by Geography and Provider](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog/medicare-post-acute-care-utilization-home-health-agency-by-geography-and-provider.md)
{% endcontent-ref %}

{% content-ref url="/pages/6Ktd5L4FvOqn6LPnWdbI" %}
[Medicare Post-Acute Care Utilization - Hospice by Geography and Provider](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog/medicare-post-acute-care-utilization-hospice-by-geography-and-provider.md)
{% endcontent-ref %}

{% content-ref url="/pages/dZ5a1Et93c7pLvaH9tnH" %}
[Medicare Post-Acute Care & Hospice - by Geography and Provider](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog/medicare-post-acute-care-hospice-by-geography-and-provider.md)
{% endcontent-ref %}

## Get this feed

1. [Start a free trial on Snowflake Marketplace](https://app.snowflake.com/marketplace/listing/GZT1Z125KDH/dataplex-consulting-data-products-cms-data-feeds-dataset) or purchase via [Databricks](https://checkout.dataplex-consulting.com/b/3cIdR2e1J59Sh2w7pWbQY00)
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 Feeds Dataset](/data-catalog/cms-data-feeds-dataset.md) — 280+ feeds · 245B+ records · updated daily. [Back to the full catalog →](/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog.md#physiciansupplier-procedure-summary)


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dataplex-consulting.com/data-catalog/cms-data-feeds-dataset/cms-data-feeds-catalog/physiciansupplier-procedure-summary.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
