CPT code 87340 is the billing code for hepatitis B surface antigen (HBsAg) detection by qualitative or semiquantitative immunoassay. In fact, it is one of the most commonly ordered preventive lab tests in primary care and infectious disease settings. Medicare prices it under the Clinical Laboratory Fee Schedule at a single national amount, recently in the $13 to $16 range.
Medicare Part B covers HBsAg screening for two patient groups with no cost-sharing. But which diagnosis code you attach decides whether those claims pay. This guide covers the official descriptor, the fee schedule, the ICD-10-CM codes to pair with 87340, Medicare coverage rules, and denial prevention.
Key takeaways
CPT code 87340 describes qualitative or semiquantitative HBsAg detection by immunoassay, distinct from 87341, which adds a neutralization check step.
Medicare prices 87340 under the Clinical Laboratory Fee Schedule, so there is no facility or non-facility rate and no locality adjustment.
Screening is covered under Medicare Part B for pregnant patients at the first prenatal visit and annually for adults at increased risk.
Pair preventive screening encounters with Z11.59, not Z11.51, which is the screening code for human papillomavirus.
Pabau’s claims management software attaches CPT codes to lab orders and submits claims online through a clearinghouse integration.
CPT code 87340: official descriptor and quick reference
CPT code 87340 describes the lab procedure for detecting hepatitis B surface antigen (HBsAg) by qualitative or semiquantitative immunoassay. The official American Medical Association (AMA) descriptor reads: “Hepatitis B surface antigen (HBsAg); qualitative or semiquantitative, immunoassay.”
The code sits in the Pathology and Laboratory section of the CPT code set, under the Infectious Agent Antigen Detection subsection (87260-87899). Unlike an antibody test, it detects the antigen itself. A reactive result points to active hepatitis B infection or carrier status rather than prior immunity.
The split between “qualitative” and “semiquantitative” in the descriptor matters at the bench rather than on the claim. Qualitative testing returns a reactive or non-reactive result. Meanwhile, semiquantitative testing returns a signal-to-cutoff ratio without quantifying antigen levels precisely. Both fall under CPT code 87340 when the method is immunoassay, so check the methodology on the lab report before you select the code.
How Medicare prices 87340 under the lab fee schedule
Medicare pays CPT code 87340 under the Clinical Laboratory Fee Schedule (CLFS), not the Physician Fee Schedule. That distinction changes two things coders often get wrong. The CLFS sets one national payment amount per code, so there is no facility or non-facility rate to choose between. It also carries no adjustment for where the practice is located, so locality does not move the number.
Recent CLFS amounts for 87340 have sat in the $13 to $16 range. CMS updates the file every year, so pull the current-year rate from the Clinical Laboratory Fee Schedule before you quote a figure.
Commercial payer rates for CPT code 87340 are set on their own and vary widely. Some plans benchmark to the Medicare CLFS amount. In contrast, others publish their own lab schedules with no link to it. Read the fee schedule attached to each payer contract rather than assuming the Medicare figure carries across.
Medicare coverage and patient eligibility for HBV screening
Medicare Part B covers hepatitis B virus (HBV) screening under its preventive services benefit for two separate patient groups. Specifically, coverage depends on billing the correct indication diagnosis code and on meeting the frequency limit.
Check coverage before you bill Medicare, because it depends on the patient’s group rather than on the test itself. The two covered groups are:
- Pregnant patients: covered at the first prenatal visit regardless of risk level. Indeed, Medicare Part B pays for HBsAg testing with no cost-sharing when it is billed as a preventive service at that encounter.
- Adults at increased risk: covered annually for beneficiaries with a recorded risk factor, again with no cost-sharing. For example, qualifying factors include a history of sexually transmitted infection, injection drug use, and multiple sexual partners, per CDC guidance.
The frequency limit for high-risk adults is once per year. Billing CPT code 87340 more often than that for the same beneficiary under a preventive indication will trigger a denial. Pregnant patients are covered at the first prenatal visit. After that, repeat testing later in the pregnancy falls outside the preventive benefit and needs medical necessity documentation.
Pro Tip
When billing CPT code 87340 for a pregnant patient, document the gestational age and confirm the test was ordered at the first prenatal visit. In addition, some MACs require that notation in the ordering provider’s note. Similarly, for high-risk adults, document the specific risk factor in the medical record before submitting the claim.
ICD-10-CM codes to pair with CPT code 87340
Selecting the correct ICD-10-CM diagnosis code is the single most important billing decision for CPT code 87340. Mismatched or overly vague codes cause most denials on this code. Verify accepted codes against the current CDC/NCHS ICD-10-CM tabular list and your MAC’s local coverage article before you submit. In addition, our ICD-10-CM codes reference sets out how screening, carrier, and diagnosis codes differ across the Z, B, and O chapters.
Z11.59 is the screening code that carries hepatitis B. Z11.51 covers human papillomavirus screening, so it does not belong on an HBsAg claim. The two sit close together in the tabular list, which is where the mix-up usually starts. For pregnant patients, an O98.41- code fits better than a screening code once HBV status affects prenatal management. Check the CMS ICD-10 codes page for the current tabular list and any guideline updates.
Ultimately, encounter type, not the test itself, decides both the diagnosis code and whether Medicare pays the claim as preventive.

87340 billing guidelines and documentation requirements
Billing CPT code 87340 requires proven medical necessity for the test, a valid ordering provider NPI, and the correct place of service code. When it is billed as a Medicare preventive service, the claim must show the preventive indication through the diagnosis code rather than a symptom code.
Practices using claims management software can attach CPT codes directly to lab orders inside the clinical workflow. That removes the re-keying step where most manual coding errors start. Online submission then runs coverage and code checks before the claim reaches the payer.

Lab order records have to show the ordering clinician’s name, the clinical indication, and the specimen collection date.
- Ordering provider record: the ordering provider’s name and NPI must appear on the claim. However, self-referral exceptions do not apply to lab tests ordered for preventive purposes.
- Specimen record: note the specimen type, which is usually serum, along with the collection date and collection method.
- Place of service: use POS 11 for a practice-based draw and POS 22 for a hospital-based outpatient lab. It doesn’t change the CLFS amount, but a location mismatch still draws denials.
- Modifier usage: no standard modifier is required for routine HBsAg testing. If the test comes with a preventive visit, the -25 modifier belongs on the E/M code rather than on the lab code.
- Frequency limit: track the date of the last HBsAg test for high-risk beneficiaries. So billing within 12 months of a prior preventive HBsAg test triggers a frequency denial.
Writing down the clinical indication at the moment the test is ordered, rather than rebuilding it at billing, is the strongest defense if you’re audited later.
CPT 87340 vs. CPT 87341: qualitative vs. neutralization
CPT 87340 covers qualitative or semiquantitative HBsAg detection by immunoassay. CPT 87341 covers HBsAg detection with neutralization, a follow-up technique used when an initial 87340 result is reactive but unclear. In short, you can’t use one code in place of the other.
Billing 87341 in place of 87340 for a routine screen is an incorrect code selection. If the lab runs a standard immunoassay with no neutralization step, bill 87340. If the lab adds neutralization because the first result was borderline reactive, bill both codes and document the clinical rationale for the confirmatory step.
Related CPT codes for hepatitis and infectious disease panels
CPT code 87340 rarely travels alone. HBsAg testing is usually ordered as part of a broader hepatitis panel, a prenatal lab bundle, or a sexually transmitted infection screen. Knowing the nearby codes reduces unbundling errors and supports accurate panel billing.
Still, each of these codes is billable on its own, alongside CPT code 87340. No National Correct Coding Initiative (NCCI) edits bundle the standard hepatitis panel codes together, provided each test is performed and reported separately. Confirm with your payer that panel billing does not trigger a global test edit before you submit several codes on one date of service.
Common billing errors and denial prevention for CPT 87340
The denial patterns for CPT code 87340 are predictable. Most trace to three causes: the wrong diagnosis code, a frequency limit violation, or a place of service mismatch. Overall, catching those before submission costs far less than working the denial afterward.
- Mismatched or missing ICD-10 code: a preventive claim will deny if it carries a symptom code such as R17 for jaundice. Use Z11.59 on a preventive screening encounter, or a carrier code where that fits.
- Frequency limit exceeded: billing CPT code 87340 for a high-risk adult within 12 months of a prior preventive HBsAg claim triggers a frequency denial. So track prior claim dates in your billing system.
- Incorrect place of service: billing POS 11 when the specimen was drawn at a hospital-based outpatient lab creates a setting mismatch. As a result, payers reject the claim on that alone.
- Missing ordering provider NPI: the ordering provider’s NPI has to appear in the right claim field. In either case, an absent or invalid NPI stops the claim before review begins.
- Unbundling 87340 with 87341 by mistake: billing both codes without noting neutralization as a separate step will be denied as duplicate or unbundled testing.
- Using 87340 for quantitative HBsAg levels: if the lab report states a quantitative HBsAg level in IU/mL, a different code may apply. Confirm the methodology matches the 87340 descriptor.
A clean claim for CPT code 87340 takes four checks. Verify coverage, confirm the last test date, select the correct ICD-10 code, and match the place of service. Then build all four into the front-end workflow and most denials never happen.
Pro Tip
Run a quarterly audit of every CPT 87340 claim from the prior 90 days, filtered by denial reason code. The three that come up most often are CO-4, CO-18 and CO-119. CO-4 means the procedure code doesn’t match the modifier used, or a required modifier is missing. CO-18 is a duplicate service and CO-119 is a benefit frequency limit. In any case, it points back to a front-end step you can fix.
How Pabau keeps 87340 claims clean from order to payment
Practices billing CPT code 87340 often hit the same three pinch points. They have to confirm coverage before ordering, attach the right ICD-10 code to the lab order, and track frequency limits across a high-volume preventive panel. Overall, practice management software like Pabau connects those steps in one clinical and billing workflow.
Pabau’s claims management tools let billing teams attach CPT codes to lab orders at the point of care. In fact, the system surfaces the linked diagnosis codes for staff to review and confirm, and it never assigns a diagnosis on its own. Claims then go out online through the Claim.MD clearinghouse integration.
Real-time coverage checks run before the test is ordered. The front desk can see whether the patient has already used their annual preventive HBsAg benefit. As a result, this heads off the frequency denials behind a large share of 87340 rejections.
On prenatal panels and STI prevention programs, 87340 travels with codes such as 86803 and 87389. Pabau lets several CPT codes sit on one encounter, each with its own ICD-10 pairing. That removes the manual re-entry behind most code selection errors, too.
Streamline lab billing from order to payment
Pabau connects CPT code workflows, claim submission, and coverage checks in one platform. See how practices reduce denials on preventive lab codes.
Conclusion
CPT code 87340 pays reliably once three details line up. The diagnosis code matches the encounter type, the frequency window is clear, and the ordering provider’s NPI is on the claim. Miss any one of them, and the claim still comes back.
The change worth making this week sits on the ordering screen rather than the billing screen. When the encounter type drives the diagnosis code at the moment the test is requested, the denial never reaches your billing team at all.
Pabau’s claims management tools connect lab ordering, ICD-10 code assignment, and claim submission in one workflow. Book a demo to see how practices cut preventive lab denials before the claim leaves the building.
Continue your research
Need a clearinghouse that checks CPT codes before submission? How the Claim.MD clearinghouse works explains how electronic claim checks catch diagnosis code mismatches before they reach payers.
Want to understand the full medical billing cycle for preventive services? Revenue cycle management basics covers how preventive lab billing fits into the broader claims workflow.
Billing multiple lab codes on the same encounter? Superbill creation for lab panels covers how to structure multi-code claims for hepatitis panels without triggering unbundling edits.
Frequently asked questions
What does CPT code 87340 cover?
CPT code 87340 covers qualitative or semiquantitative detection of hepatitis B surface antigen (HBsAg) by immunoassay. It applies to initial screening, prenatal testing, and carrier tracking. The lab must use an immunoassay method rather than a molecular or other detection technique.
What is the Medicare reimbursement rate for CPT 87340?
Medicare prices CPT code 87340 under the Clinical Laboratory Fee Schedule (CLFS), not the Physician Fee Schedule. Recent CLFS amounts have sat in the $13 to $16 range. The CLFS pays one national amount per code, so there is no facility or non-facility rate and no locality adjustment. Download the current-year CLFS file from CMS to confirm the figure.
What does a non-reactive hepatitis B surface antigen result mean for billing?
Even so, a non-reactive HBsAg result does not change how CPT code 87340 is billed. The code is reportable no matter the result, because it describes the test performed rather than the outcome. Document the result in the patient record. Either way, do not change the CPT code based on whether the result was reactive or non-reactive.
What records are required to bill CPT 87340 under Medicare?
Medicare requires the ordering provider’s name and NPI, the clinical indication, the specimen collection date, the test method, and the result. The clinical indication is either a preventive screening rationale or a recorded risk factor. For preventive billing, the record must also show no HBsAg test in the prior 12 months for a high-risk adult. For a pregnant patient, it must show that this is the first prenatal visit.