Skip to contents

An Add-on Code (AOC) is a Healthcare Common Procedure Coding System (HCPCS) / Current Procedural Terminology (CPT) code that describes a service that is performed in conjunction with the primary service by the same practitioner. An AOC is rarely eligible for payment if it’s the only procedure reported by a practitioner.

Usage

search_aocs(
  hcpcs_code = NULL,
  aoc_type = NULL,
  aoc_edit = NULL,
  unnest = FALSE,
  ...
)

Arguments

hcpcs_code

<chr> vector of 5-character HCPCS codes

aoc_type

<chr> AOC type; Add-On or Primary

aoc_edit

<int> AOC edit type:

  • 1: Only Paid if Primary is Paid. Payment Eligible if Primary Payment Eligible to Same Practitioner for Same Patient on Same DOS.

  • 2: Some Specific Primaries. Payment Eligible if, as Determined by MAC, Primary Payment Eligible to Same Practitioner for Same Patient on Same DOS.

  • 3: No Specific Primary Codes. Payment Eligible if, as Determined by MAC, Primary Payment Eligible to Same Practitioner for Same Patient on Same DOS.

unnest

<lgl> Unnest the aoc_complements column, default is FALSE

...

These dots are for future extensions and must be empty.

Value

a tibble

Details

Add-on codes may be identified in three ways:

  1. The add-on code is in the AOC file as a Type 1, Type 2, or Type 3 AOC (formerly displayed as Type I, Type II or Type III).

  2. In the Medicare Physician Fee Schedule, an AOC generally has a global surgery period of ZZZ.

  3. In the CPT Manual, an add-on code is designated by the symbol +. The code descriptor of an AOC generally includes phrases such as "each additional" or "(List separately in addition to primary procedure)."

Some CPT codes are identified as Add-on Codes (AOCs), which describe a service that can only be reported in addition to a primary procedure.

For specific primary codes, AOCs shall not be reported as a supplemental service for other HCPCS/CPT codes not listed as a primary code.

AOCs permit the reporting of significant supplemental services commonly performed in addition to the primary procedure. By contrast, incidental services that are necessary to accomplish the primary procedure (e.g., lysis of adhesions in the course of an open cholecystectomy) are not separately reportable with an AOC.

Similarly, complications inherent in an invasive procedure occurring during the procedure are not separately reportable. For example, control of bleeding during an invasive procedure is considered part of the procedure and is not separately reportable.

Although the AOC and primary code are normally reported for the same date of service, there are unusual circumstances where the two services may be reported for different dates of service (e.g., 99291 and 99292).

AOC Edit Types

CMS divided the AOCs into three types to distinguish the payment policy for each type:

  • Type 1: A Type 1 AOC has a limited number of identifiable primary procedure codes. The Change Request (CR) lists the Type 1 AOCs with their acceptable primary procedure codes. A Type 1 AOC, with one exception, is eligible for payment if one of the listed primary procedure codes is also eligible for payment to the same practitioner for the same patient on the same date of service. Claims processing contractors must adopt edits to assure that Type 1 AOCs are never paid unless a listed primary procedure code is also paid.

  • Type 2: A Type 2 AOC does not have a specific list of primary procedure codes. The CR lists the Type 2 AOCs without any primary procedure codes. Claims processing contractors are encouraged to develop their own lists of primary procedure codes for this type of AOC. Like the Type 1 AOCs, a Type 2 AOC is eligible for payment if an acceptable primary procedure code as determined by the claims processing contractor is also eligible for payment to the same practitioner for the same patient on the same date of service.

  • Type 3: A Type 3 AOC has some, but not all, specific primary procedure codes identified in the CPT Manual. The CR lists the Type 3 AOCs with the primary procedure codes that are specifically identifiable. However, claims processing contractors are advised that these lists are not exclusive and there are other acceptable primary procedure codes for AOCs in this Type. Claims processing contractors are encouraged to develop their own lists of additional primary procedure codes for this group of AOCs. Like the Type 1 AOCs, a Type 3 AOC is eligible for payment if an acceptable primary procedure code as determined by the claims processing contractor is also eligible for payment to the same practitioner for the same patient on the same date of service.

PTP Edits

In general, NCCI PTP edits do not include edits with most AOCs because edits related to the primary procedure(s) are adequate to prevent inappropriate payment for an add-on coded procedure (i.e., if an edit prevents payment of the primary procedure code, the AOC shall not be paid).

Note

Version: 2024-04-01

See also

Other NCCI Edits: search_mues(), search_ptps()

Examples

search_aocs(hcpcs_code = "22532", aoc_type = "Primary")
#> # A tibble: 2 × 4
#>   hcpcs_code aoc_type aoc_complements   aoc_edit
#>   <chr>      <fct>    <list>               <int>
#> 1 22532      Primary  <tibble [1 × 1]>         3
#> 2 22532      Primary  <tibble [19 × 1]>        1

search_aocs(hcpcs_code = c("22630", "77001", "88334", "64727"))
#> # A tibble: 6 × 4
#>   hcpcs_code aoc_type aoc_complements   aoc_edit
#>   <chr>      <fct>    <list>               <int>
#> 1 22630      Primary  <tibble [22 × 1]>        1
#> 2 64727      Add-On   <tibble [13 × 1]>        3
#> 3 77001      Add-On   <tibble [1 × 1]>         2
#> 4 77001      Primary  <tibble [2 × 1]>         1
#> 5 88334      Add-On   <tibble [2 × 1]>         1
#> 6 88334      Primary  <tibble [2 × 1]>         1

search_aocs(hcpcs_code = "33935", unnest = TRUE)
#> # A tibble: 4 × 4
#>   hcpcs_code aoc_type aoc_complement aoc_edit
#>   <chr>      <fct>    <chr>             <int>
#> 1 33935      Primary  33924                 1
#> 2 33935      Primary  34714                 1
#> 3 33935      Primary  34716                 1
#> 4 33935      Primary  34833                 1