> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhizomeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CMS OPPS Addenda A/B

> Search filters and result fields of cms_opps_addenda.

* **Dataset id:** `cms_opps_addenda`
* **Jurisdiction:** US · CMS
* **Date field:** none. A search that sets `date_from` or `date_to` skips this dataset and reports it as `skipped`.
* **Access:** any API key.

## Filters

Send these under `filters.cms_opps_addenda` in a [search](/api-reference/v3/search) request. A filter not listed here, or a value of the wrong type, is a 400.

<ParamField body="hcpcs_code" type="string">
  Exact HCPCS code, uppercase (e.g. "C1874", "0071T", "J9299"). Matches Addendum B rows only — Addendum A is APC-level and has no HCPCS code.
</ParamField>

<ParamField body="apc" type="string">
  Exact APC (Ambulatory Payment Classification) number, e.g. "5414". Matches the APC's own Addendum A row and every Addendum B code assigned to it.
</ParamField>

<ParamField body="addendum" type="string">
  "A" for APC-level payment rows, "B" for HCPCS-code-level rows. Omit to search both.

  Values: `A`, `B`.
</ParamField>

<ParamField body="quarter" type="string">
  Exact quarter label, "{"<"}year{">"}Q{"<"}n{">"}" (e.g. "2026Q2" = the April 2026 release). Omit to search every ingested quarter.
</ParamField>

<ParamField body="status_indicator" type="string">
  Exact OPPS status indicator (e.g. "J1", "N", "T", "S", "E1", "C", "K", "G"). Case-sensitive, uppercase.
</ParamField>

<ParamField body="code_level" type="string">
  "I" = CPT/Level I (digit-leading, descriptor withheld), "II" = HCPCS Level II (letter-leading, descriptor present).

  Values: `I`, `II`.
</ParamField>

<ParamField body="descriptor" type="string">
  BM25 keyword match on the short descriptor (Addendum B) or APC group title (Addendum A), e.g. "brachytherapy source". Only matches rows whose descriptor is not copyright-withheld.
</ParamField>

<ParamField body="payment_status" type="string">
  BM25 keyword match on the official status-indicator definition text from OPPS Addendum D1 (e.g. "separately payable", "packaged", "inpatient only", "pass-through").
</ParamField>

<ParamField body="year" type="integer">
  Exact calendar year of the quarter (e.g. 2026).
</ParamField>

<ParamField body="year_from" type="integer">
  Inclusive lower bound on the quarter's year.
</ParamField>

<ParamField body="year_to" type="integer">
  Inclusive upper bound on the quarter's year.
</ParamField>

<ParamField body="min_payment_rate" type="number">
  Inclusive lower bound on the national unadjusted payment rate in dollars (e.g. 1000 for rates of \$1,000+). Rows with no payment rate are excluded.
</ParamField>

<ParamField body="max_payment_rate" type="number">
  Inclusive upper bound on the national unadjusted payment rate in dollars. Rows with no payment rate are excluded.
</ParamField>

## Fields

Each result from this dataset has these in `fields`:

`addendum`, `adjusted_beneficiary_copayment`, `apc`, `changed_flag`, `code_level`, `descriptor`, `descriptor_withheld`, `effective_date`, `hcpcs_code`, `id`, `ira_coinsurance_pct`, `minimum_unadjusted_copayment`, `national_unadjusted_copayment`, `note`, `pass_through_expiring`, `payment_rate`, `quarter`, `relative_weight`, `revision_date`, `status_indicator`, `status_indicator_desc`, `url`, `year`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.