CPT code 86787 – Varicella zoster antibody test billing guide
86787 is the CPT code for antibody; varicella-zoster. It reports one serum test for IgG or IgM antibodies to the virus behind chickenpox and shingles, by any lab method.
The code sits in the Immunology subsection (86000-86849) of Pathology and Laboratory and is paid under the Medicare Clinical Laboratory Fee Schedule. Antigen detection on a lesion swab is billed as 87290 instead, and PCR testing as 87798.
- Section
- 80047-89398 Pathology and laboratory
- Subsection
- 86000-86849 Immunology
- Code range
- 86602-86804 Antibody
- Billable
- No
- Code also known as
- chickenpox antibody test, shingles serology, VZV titer, herpes zoster antibody test
Let Pabau's smart automation suggest the right codes, reduce claim denials, and keep your practice compliant—effortlessly.
- AI-powered code suggestions
- Real-time compliance checks
- Faster claims, fewer denials
Automate repetitive tasks and focus on what matters most—your patients.
Reduce coding errors and ensure compliance with the latest regulations.
Clean claims, fewer denials, and faster reimbursements.
Powerful insights and reporting to help your practice thrive.
HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide
Key takeaways
CPT code 86787 covers VZV antibody serology (IgG or IgM) by any detection method. Antigen detection and molecular/PCR testing map to separate codes.
Pair 86787 with an ICD-10 code that establishes medical necessity (B01.x, B02.x, Z20.820, or pre-transplant Z codes). Payers routinely deny claims with unsupported or missing diagnoses.
AMA guidance may support billing IgG and IgM in the same encounter. Payer MUE limits often restrict 86787 to one unit per date of service, so verify before billing two.
Pabau’s claims management software supports 86787 claims with built-in CPT and ICD-10 catalogs, electronic 837P filing via Claim.MD, and real-time eligibility checks.
CPT code 86787: Official descriptor and code definition
CPT code 86787 is defined by the American Medical Association (AMA) as: Antibody; varicella-zoster. It belongs to the Immunology subsection (86000-86849) of Pathology and Laboratory (80047-89398).
One unit covers detection of VZV antibodies by any method, including enzyme immunoassay (EIA), indirect fluorescent antibody (IFA), and chemiluminescent immunoassay (CLIA).
What the varicella zoster antibody test measures: Clinical context for billing
The varicella zoster antibody test detects immunoglobulins produced in response to VZV, the virus responsible for both chickenpox and shingles. Understanding what the test measures directly supports the documentation that justifies billing it.
VZV IgG indicates prior infection or vaccine-induced immunity. Clinicians order it to confirm immune status before vaccination decisions, occupational health clearance, or pre-transplant workups. VZV IgM signals acute or recent infection, ordered when a patient presents with active rash or exposure to confirm primary varicella or reactivation.
Common clinical indications that drive an 86787 order:
- Pre-vaccination immune status check (healthcare workers, susceptible adults)
- Pre-transplant infectious disease screening (organ or bone marrow transplant candidates)
- Pregnancy: exposure to varicella in a patient with unknown immune status
- Immunocompromised patients with potential VZV reactivation
- Occupational health panels requiring evidence of chickenpox immunity
- Acute rash workup to distinguish primary varicella from herpes zoster
Each indication maps to its own antibody and ICD-10 code, as the chart below shows. Pairing the clinical scenario with the wrong diagnosis is the most common trigger for a medical necessity denial on this code.

What CPT 86787 includes and what it excludes
One unit of 86787 covers the complete antibody detection process: specimen handling, the immunoassay run (by any method), and reporting of the result.
It does not include a separate interpretation fee, specimen collection (billed separately where applicable), or any molecular or antigen-based testing for VZV. Knowing the medical billing bundling rules prevents both under-coding and inappropriate unbundling.
CPT 86787 vs. related codes: Avoiding upcoding and confusion
The most common coding error on VZV serology claims is selecting a code that detects the antigen rather than the antibody. 87290 detects VZV antigen by immunofluorescence, the test run on a skin lesion specimen.
86787 detects the patient’s antibody response in serum. These are different assays, and they are billed differently.
ICD-10-CM codes to pair with CPT 86787
Every 86787 claim must carry an ICD-10-CM diagnosis code that supports medical necessity. Use the CDC/NCHS ICD-10-CM web tool to verify current code validity before submission. Below are the codes payers accept most consistently, with flags for codes that often draw a medical necessity denial on their own.
Common mistake: Using Z23 or Z20.820 as the sole diagnosis without a supporting clinical note. Most LCD policies require documentation linking the exposure or vaccination context to a specific patient risk factor.
Medical necessity documentation requirements for CPT 86787
Solid medical billing compliance on serology claims starts with documentation that ties the test order to a specific clinical need. For 86787, the ordering provider’s note must contain:
- Clinical indication stated explicitly. The note must name the reason for testing (e.g., “patient is a transplant candidate requiring VZV immune status confirmation”), not just list the code.
- Valid ICD-10-CM code that matches the note. The diagnosis on the claim must appear verbatim in the provider’s documentation. A coded diagnosis with no matching note language fails audit.
- Patient context that justifies the assay type. Document why IgG or IgM was chosen. Ordering IgM for a pre-vaccination screen raises audit flags, because IgM indicates acute infection, not prior immunity.
- Ordering provider NPI active and on file. The provider NPI on the order must match the NPI in Box 17b of the CMS-1500. Mismatched NPIs are a top administrative denial reason for lab claims.
- Standing order policy documented if applicable. Labs running standing orders for transplant programs must keep a policy document listing the covered tests and the clinical criteria.
Pro Tip
Check your payer’s local coverage determination (LCD) before submitting 86787 for pre-vaccination screening. Some Medicare Administrative Contractors limit coverage to patients with documented exposure or a specific clinical risk factor. A claim sent without checking the jurisdiction-specific LCD is a predictable denial.
Prior authorization: When is it required for CPT 86787?
Medicare typically does not require prior authorization for clinical laboratory codes, including 86787, which is adjudicated under the Clinical Laboratory Fee Schedule (CLFS). Commercial and managed-care plans vary, though, and assuming no PA (prior authorization) is needed without checking is a reliable path to denial.
Before submitting, run insurance eligibility verification for the specific plan and date of service. For commercial plans, check the payer’s authorization portal or call the provider services line to confirm whether 86787 requires PA. Have this information ready when PA is required:
- Ordering provider NPI and tax ID
- Patient diagnosis (ICD-10 code) and supporting clinical summary
- Clinical notes documenting the indication
- Anticipated date of service and lab performing the test
If a PA request is denied, document the denial in writing and appeal with a clinical letter from the ordering provider. Most payers allow one administrative and one clinical appeal before the claim is final.
Reimbursement rates: Medicare CLFS and commercial payer benchmarks
Medicare reimburses 86787 under the Clinical Laboratory Fee Schedule, not the Physician Fee Schedule. Rates are set under the Protecting Access to Medicare Act (PAMA) methodology, which uses median private payer rates collected during data reporting periods.
To look up the current national limitation amount, use the CMS fee schedule search tool and filter by the CLFS. Check the current year’s published figure before quoting a rate, because PAMA adjustments can move it from one year to the next.
For commercial payers, reimbursement varies by contract. Many commercial contracts price lab serology codes at a percentage of the Medicare CLFS rate, typically between 80% and 120%.
Claims management software that holds payer-specific fee schedules lets billing teams compare each remittance with the contracted rate and flag underpayments for follow-up.

Billing CPT 86787 for IgG vs IgM: Can you bill both in the same encounter?
Sometimes, and the payer’s MUE rules decide it rather than AMA guidance alone. AMA’s position is that each antibody analyte reported separately may support its own unit of 86787. So IgG and IgM tested and reported in the same encounter could each warrant one unit. In practice, payers frequently disagree.
CMS publishes Medically Unlikely Edits (MUEs) that cap units per code per date of service. If the current Medicare MUE for 86787 is 1, a second unit is denied automatically, whatever the medical justification. Confirm the current MUE value in the AAPC code lookup or the CMS MUE tables before billing two units.
If a payer allows separate units and you have documented clinical justification for both IgG and IgM:
- Append modifier 59 (distinct procedural service) to the second unit when an NCCI bundling edit applies and your documentation supports separate medical necessity.
- Use modifier 91 (repeat clinical diagnostic laboratory test) when the same test is repeated later in the encounter for a separate clinical reason. It does not apply to two analytes from the same draw.
- Never append 59 or 91 routinely without documentation behind it. Inappropriate modifier use is a compliance risk under NCCI policy.
Common claim denial reasons for CPT 86787 and how to fix them
Proactive denial management on lab serology codes means mapping each denial reason to a corrective action before it recurs. The table below pairs the most common patterns with their medical billing denial codes and the fix.
How to submit a clean CPT 86787 claim: Step-by-step
Submitting a clean claim for 86787 depends on correct setup on both the ordering provider side and the performing lab side. A single field error, such as a mismatched NPI, a wrong diagnosis pointer or a missing ABN, creates a denial that takes weeks to resolve.
- Verify the ordering provider NPI is active. Confirm the NPI in NPPES and make sure it matches what is on file with the payer.
- Confirm lab enrollment. The performing lab must be enrolled with the patient’s payer. For Medicare, verify the lab holds a valid CLIA certificate.
- Select the correct ICD-10-CM code. Choose the code that matches the documented clinical indication, not a generic Z code the provider’s note does not support.
- Confirm units and modifiers. Bill one unit for a single analyte. For IgG and IgM, check the current MUE before billing two units, and append modifier 59 only with supporting documentation.
- Attach an ABN if required. When medical necessity is uncertain for a Medicare beneficiary, obtain a signed Advance Beneficiary Notice before collecting the specimen. Without a valid ABN, the lab absorbs the cost if the claim is denied.
- Submit on CMS-1500 or 837P. Box 21 holds the ICD-10-CM code, Box 24D holds CPT 86787, and Box 24E holds the diagnosis pointer to Box 21. Electronic claims through a clearinghouse such as Claim.MD add eligibility checks, ERA remittance and denial code tracking.
Practices using superbill preparation workflows that pre-populate CPT and ICD-10 fields cut manual entry errors. Each claim then reaches the clearinghouse with a complete, matched diagnosis pointer.
Pro Tip
Run an eligibility check at least 48 hours before the specimen is collected, not on the day of service. This confirms both active coverage and whether the payer plan requires PA for lab serology. A same-day check can miss plan-level changes loaded in the payer’s overnight batch update.
How Pabau prevents 86787 claim errors before submission
Most 86787 denials start before the claim is built. A diagnosis gets typed from memory, eligibility is checked on the day, or a second unit goes out without an MUE check.
Pabau, the practice management platform we build, keeps CPT and ICD-10 catalogs inside the billing workflow. Coders pick 86787 and its diagnosis pairing from a searchable list instead of retyping them, and eligibility is checked before the specimen is drawn.
Claims go out electronically as 837P files through Claim.MD, and remittances come back to be matched against each claim line. A denied or underpaid 86787 line is flagged for follow-up instead of sitting unnoticed in a batch.
Reduce 86787 denials with smarter claims workflows
Pabau’s built-in CPT and ICD-10 catalogs, eligibility checks and electronic 837P filing via Claim.MD help billing teams catch errors before submission. See how it works for your practice.

Conclusion
Treat 86787 as a narrow code. Bill it only when the lab measured VZV antibodies in serum, and send antigen and PCR results to 87290 and 87798.
The test itself rarely causes the denial. The diagnosis does, so write the indication into the note before the order goes out, and the ICD-10 pairing follows from it.
The second unit is the one open question. Check the MUE and the payer’s policy every year rather than carrying last year’s answer forward. Book a demo to see how Pabau catches pairing and unit errors on lab claims before they reach the payer.
Continue your research
Need to understand how clearinghouse submission works end to end? Medical claims clearinghouse overview explains the 837P transaction flow, payer enrollment, and how ERAs close the payment loop.
Building a pre-transplant serology panel workflow? Revenue cycle management fundamentals covers how to structure the ordering, documentation, and billing touchpoints for multi-code panels.
Billing other antibody serology codes? CPT code 86803 covers the hepatitis C antibody test, with its own ICD-10 pairings and denial patterns.
Working through an STI screening panel? CPT code 86592 covers the qualitative non-treponemal syphilis antibody test and how to bill it.
Frequently asked questions
What does CPT code 86787 cover?
CPT code 86787 covers lab detection of varicella zoster virus (VZV) antibodies by any analytical method. That means IgG, the immunity marker, or IgM, the acute infection marker, reported as one unit per analyte. It does not cover VZV antigen detection (87290) or molecular/PCR testing (87798).
What ICD-10 codes are used with CPT 86787?
The most consistently accepted diagnosis codes are B01.9 (varicella without complication), B02.9 (zoster without complications), and Z20.820 (contact with and (suspected) exposure to varicella). Pre-transplant workups use Z01.84 with the relevant transplant-status Z code. Payers often deny Z23 or Z20.820 as a sole diagnosis, so back either one with a clinical note.
Does Medicare cover CPT code 86787?
Yes, when medical necessity is documented. The claim must also meet the local coverage determination (LCD) of the patient’s Medicare Administrative Contractor (MAC). Coverage falls under the Clinical Laboratory Fee Schedule, not the Physician Fee Schedule. Medicare requires no prior authorization, but LCD requirements vary by MAC region.
Can CPT 86787 be billed for both IgG and IgM in the same encounter?
Sometimes, but payer rules decide, not AMA guidance alone. AMA guidance supports one unit per analyte when each is reported separately. CMS Medically Unlikely Edits (MUEs) may still cap 86787 at one unit per date of service for Medicare. Check the current MUE before billing two units. If two are supported, append modifier 59 and document separate medical necessity for each analyte.
What is the difference between CPT 86787 and CPT 87290?
CPT 86787 is an antibody serology test that measures the patient’s immune response to VZV in serum. CPT 87290 is an antigen test that uses immunofluorescence to find VZV antigen directly in a lesion swab. They are different assays on different specimens, so billing 87290 for a serology result is miscoding.
What are the most common reasons CPT 86787 claims are denied?
The top reasons are a missing or unsupported ICD-10 diagnosis (CO-4) and medical necessity not established in the documentation (CO-50). Others are IgG and IgM billed beyond MUE limits (CO-97) and an ordering provider NPI not on file with the payer (CO-96). Each needs a different fix, listed in the denial table above.



