Key takeaways
CPT code 87880 describes the rapid Group A Streptococcus antigen detection test performed by direct optical immunoassay at the point of care.
87880 is CLIA-waived, but your practice still needs a valid Certificate of Waiver to perform and bill the test.
The 2026 Medicare national average reimbursement is roughly $18 to $22. Verify your locality-adjusted rate in the CMS fee schedule look-up tool.
The neighboring codes 87650 and 87651 are molecular probe tests, so neither one describes a result read by eye.
Practice management software like Pabau records the test result and routes the coded claim to the clearinghouse in one workflow.
CPT code 87880 covers detection of Streptococcus group A antigen by immunoassay with direct optical (visual) observation. In plain terms, it is the rapid strep test that office and urgent care staff read by eye. The read is usually a color change on a lateral-flow strip, and no specimen goes to a certified laboratory. The AMA’s CPT code set places 87880 within the Microbiology subsection of Pathology and Laboratory codes (80000 series).
The “direct optical observation” language in the descriptor is what separates 87880 from culture-based and instrument-read alternatives. If a reader device or an analyzer interprets the result, a different code applies. A visual read by the clinician or staff is the defining characteristic here.
CLIA waiver status: What it means for your practice
CPT code 87880 holds CLIA-waived status. The test is classified as simple enough to pose minimal risk of error when performed correctly. Practices without a full laboratory certification can therefore run it on-site. Waived does not mean unregulated, though. Your practice still needs a valid CLIA Certificate of Waiver from CMS before billing 87880.
The certificate costs $248 for a two-year period and must be renewed on schedule. Practices that run high volumes of in-office diagnostics feel a lapse first, because the certificate covers every waived test they perform. Lapsed certificates are among the most common reasons Medicare denies rapid strep claims during post-payment audits.
- What CLIA waiver allows: Perform 87880 without a full laboratory director or CLIA-certified staff
- What it does not remove: The obligation to hold and maintain a Certificate of Waiver
- Documentation requirement: Keep your CLIA certificate number accessible; some payers require it on the claim or in supporting records
- Inspection risk: CMS may conduct unannounced waived-test inspections; follow the manufacturer’s instructions for the specific rapid strep kit you use
- Multiple locations: Each physical practice location needs its own certificate, even under the same tax ID
2026 Medicare reimbursement rate for CPT 87880
The 2026 Medicare national average reimbursement for CPT code 87880 is approximately $18 to $22. The exact figure depends on geographic locality and the applicable Medicare Administrative Contractor (MAC) region. Always verify your practice-specific rate using the CMS Physician Fee Schedule Look-Up Tool, because rates differ by state and locality adjustment.
Commercial payer rates are contract-dependent and can vary widely. An RVU lookup tool shows the work, practice expense, and malpractice components behind a code, which gives you a starting point in payer negotiations. Medicaid coverage is state-determined, so no universal Medicaid rate exists for this code.
ICD-10 codes to pair with CPT code 87880
Every claim for CPT code 87880 needs a supporting ICD-10-CM diagnosis code that establishes medical necessity. The payer must see a clinical reason for performing the rapid strep test. Choosing the wrong code, or submitting without a diagnosis code at all, is one of the fastest paths to a denial. Payer medical necessity policies also specify which ICD-10 codes satisfy their requirements, so check the relevant LCD or coverage policy.
When the rapid strep test returns positive, J02.0 is the most specific and appropriate code. When the result is negative but the clinical picture still fits pharyngitis, J02.9 or J06.9 is appropriate depending on symptom presentation. Avoid coding a confirmed streptococcal diagnosis when the test was negative. The clinical record must support whatever code you submit.
Documentation requirements for billing 87880
Billing CPT code 87880 without adequate documentation is the second most common denial trigger after missing diagnosis codes. The chart has to show why the test was performed and what the result showed. Each element below belongs in the medical record before the claim is submitted.
- Clinical indication: Document the presenting symptoms (sore throat, fever, lymphadenopathy, tonsillar exudate) that led to the decision to perform the test
- Test performed: Identify the specific rapid strep test kit used, including the manufacturer and lot number for CLIA waiver compliance
- Result: Record the test result (positive or negative) with the date and time of the reading
- Ordering provider: The test must be ordered or performed under the supervision of a licensed provider with a valid NPI
- CLIA certificate: Your practice CLIA certificate number should be on file and accessible; some payers require it on the claim form
- Diagnosis assigned: The final diagnosis code in the record must match the ICD-10 code submitted on the claim
Capturing the result where the test happens is what keeps that list short. When rapid strep results are logged into the patient record at the point of care, the billing team can submit the same day. Nobody has to chase the provider afterward for the kit details or the reading.
Pro Tip
Run a monthly audit of your 87880 claims. Pull the last 20 and confirm each one has a clinical indication, a matching ICD-10 code, a recorded result, and your CLIA number on file. Catching a lapse internally costs an hour of someone’s time. Catching it in a payer audit costs the payments back.
Billing CPT 87880 with an office visit: Modifier -25 and bundling rules
A rapid strep test often runs on the same date as an evaluation and management (E/M) visit. Both can be billed when the E/M is a separately identifiable service, beyond the decision to order the test. Modifier -25 is the mechanism that signals it, and it belongs on the E/M code rather than on 87880. Leaving it off the E/M, or attaching it to the wrong code, is a leading cause of bundling denials.
- Bill the E/M with modifier -25: Append -25 to the E/M code (e.g., 99213-25) to signal a separate, identifiable evaluation
- No modifier on 87880: The test code itself does not take a modifier in this pairing
- Document separately: The E/M documentation must stand on its own; it cannot be supported solely by the decision to run the rapid strep test
- Payer variation: Some commercial payers apply stricter bundling rules than Medicare; check your payer contracts before assuming same-day billing is always permitted
- Telehealth exception: The swab must be physically collected and read on-site, so 87880 cannot be billed with a virtual-only visit
Related CPT codes: 87880 vs 87650, 87651, and 87804
Selecting the wrong strep code is a frequent error, because the options look similar but describe different testing methods. The table below compares CPT code 87880 with its closest relatives. Practices that swab for strep and influenza in the same visit bill 87804 as well, on its own claim line.
The distinction that matters: 87650 and 87651 are molecular probe tests, so neither one covers a result read by eye. 87650 runs in a CLIA-certified laboratory and cannot be billed on a Certificate of Waiver. 87651 can be billed with modifier QW when the practice runs it on a CLIA-waived amplified-probe system. If a patient needs a backup throat culture after a negative rapid test, send the specimen to a reference lab. The lab bills the culture itself.
Common billing errors and denial reasons
Denial patterns for rapid strep claims are predictable. Knowing which common denial codes a payer returns lets you build preventive checks into the workflow before the claim goes out.
- Missing or invalid diagnosis code: 87880 submitted without a supporting ICD-10 code, or with one that does not establish medical necessity, is denied automatically
- No CLIA certificate on file: During post-payment audits, Medicare requests proof of a valid Certificate of Waiver; practices that cannot produce it face recoupment
- Modifier -25 missing from E/M: Without -25 on the E/M, a same-date E/M and 87880 get bundled under the Correct Coding Initiative
- Wrong code selected: Billing 87650 or 87651 when only a rapid visual test was performed misrepresents the service and can trigger fraud flags
- Invalid NPI or provider credential: The ordering provider must have an active NPI; claims from expired or unenrolled providers are denied at the clearinghouse level
- Duplicate claims: Submitting 87880 twice for the same patient on the same date, even under different claim lines, triggers an automatic duplicate denial
Every one of those denials is settled at the desk, not in an appeal. Four checks, run in the same order before the encounter closes, cover the ones that account for most rejected rapid strep claims.

Routing claims through a clearinghouse adds a validation layer on top of those checks. It catches format and eligibility errors before the claim reaches the payer, which shortens the revenue cycle.
How Pabau supports point-of-care test billing and documentation
Fee schedule lookups tell you what CPT code 87880 pays. What they cannot do is connect the moment the strep test is read to the moment the claim goes out. That handoff is where the revenue leaks.
Practice management software like Pabau closes the handoff. Pabau’s tools for faster claims management sit in the same record as the visit note. The clinician records the result, attaches the CPT and ICD-10 codes, and sends the claim to the clearinghouse.
When documentation and billing sit in separate systems, the CLIA number goes missing and modifier -25 gets dropped somewhere between them. Keeping both in one record removes that round trip, so the claim leaves the practice the day the test was run.

- In-workflow documentation: Record the test result, kit details, and clinical indication in the patient chart at the point of care
- CPT code attachment: Attach 87880 and the appropriate ICD-10 code directly from the visit note before the encounter closes
- CLIA compliance records: Store your Certificate of Waiver details in the system so they are available during audits without a manual search
- Clearinghouse integration: Claims route through Claim.MD, which validates against over 4,000 US payers and flags errors before submission
- Denial tracking: Monitor denial reasons by code so recurring 87880 issues are visible at the practice level, not buried in individual claim records
Simplify point-of-care billing from documentation to payment
Pabau connects rapid test documentation, claim coding, and submission in a single workflow. See how primary care and urgent care teams use Pabau to reduce 87880 denials and get paid faster.
Conclusion
CPT code 87880 is one of the highest-volume point-of-care codes in primary care, and its denials are almost entirely preventable. The recurring failures are administrative rather than clinical. A missing ICD-10 code, modifier -25 on the wrong line, or a certificate nobody renewed accounts for most of them.
So treat the four pre-submission checks as part of closing the encounter, not as a billing task for later in the week. The trade-off is a minute at the end of the visit against a rebill, an appeal, or money handed back after an audit.
To see how Pabau handles rapid strep documentation and claim submission for primary care and urgent care teams, book a demo.
Continue your research
Need guidance on managing healthcare claim denials? Denial management in healthcare walks through the most effective strategies for reducing rejection rates across your billing workflow.
Want to understand how clearinghouse submission works? Medical claims clearinghouse overview explains how electronic claim routing reduces errors and accelerates payment.
Looking for a complete reference on clean claims? Superbill documentation guide covers what needs to appear on a claim for it to pass payer edits on the first submission.
Frequently asked questions
What is CPT code 87880?
CPT code 87880 is the procedure code for the rapid Group A Streptococcus antigen detection test performed by immunoassay with direct optical (visual) observation. It is the standard billing code for the in-office rapid strep test used in primary care, urgent care, and pediatric settings.
Is CPT code 87880 CLIA-waived?
Yes, CPT code 87880 is CLIA-waived, meaning it can be performed in a physician office without full laboratory certification. However, your practice must hold a valid CLIA Certificate of Waiver and follow the test manufacturer’s instructions to maintain that status.
What is the Medicare reimbursement rate for CPT 87880?
The 2026 Medicare national average reimbursement for CPT code 87880 is approximately $18 to $22, varying by geographic locality and MAC region. Verify your practice-specific rate using the CMS Physician Fee Schedule Look-Up Tool, as rates differ by state.
What ICD-10 codes should be paired with CPT 87880?
Pair a positive result with J02.0, streptococcal pharyngitis. For suspected but unconfirmed strep, use J02.9, acute pharyngitis, unspecified. A broader upper respiratory presentation takes J06.9. Payer medical necessity policies vary, so verify against your payer’s own coverage policy.
What is the difference between CPT 87880 and CPT 87650?
CPT 87880 covers the rapid antigen test read visually in the office and is CLIA-waived. CPT 87650 covers nucleic acid detection of Streptococcus group A by direct probe technique, which is a molecular test rather than a culture. It is not CLIA-waived, so a certified laboratory performs and bills it.
Can CPT 87880 be billed with an office visit on the same date?
Yes, 87880 can be billed alongside an E/M code on the same date, provided the evaluation is a separately identifiable service. Append modifier -25 to the E/M code to signal this. Without modifier -25 on the E/M, most payers will bundle and deny the test code.