
Introduction
Infectious disease clinics run into the same coding snag again and again with CPT 87389: the code identifies a laboratory test, but it says nothing about why the patient was tested. That distinction matters for claim accuracy, audit defense, and clean payment.
CPT 87389 reports a specific HIV antigen/antibody combination assay. The diagnosis code tells the payer why that assay was ordered: routine screening, a possible exposure, symptoms, or a documented HIV-related condition.
Mixing up those two jobs is where denials and audit flags start.
This article walks through the current descriptor, appropriate clinical contexts, documentation expectations, diagnosis-code linkage, and payer-policy review points for CPT 87389.
A note before you bill: coding rules, payer edits, and local coverage determinations change. Verify the current CPT codebook, ICD-10-CM Official Guidelines, and CMS materials before applying anything here to a live claim.
Nothing in this article states a reimbursement amount or a universal coverage rule.
Key Takeaways
- Select CPT 87389 based on the assay actually performed and documented, not because "HIV testing" was ordered
- Treat 87389 as a procedure code only; it does not establish infection, exposure, or medical necessity on its own
- Match the ICD-10-CM diagnosis to the documented reason for testing, not a default disease code
- Confirm payer, laboratory, and site-of-service rules before assuming a claim will be paid
What Does CPT 87389 Represent?
The AMA's published descriptor for CPT 87389 covers a specific combination assay:
"Infectious agent antigen detection by immunoassay technique... qualitative or semiquantitative; HIV-1 antigen(s), with HIV-1 and HIV-2 antibodies, single result."
That wording matters. The antigen component is HIV-1 antigen(s) only. The antibody component covers both HIV-1 and HIV-2. The test produces one combined result, not separate antigen and antibody line items.
Confirm this descriptor against your current, licensed CPT codebook before publishing or billing. The version quoted here comes from AMA's screening toolkit.
Procedure Code vs. Diagnosis Code
CPT and ICD-10-CM answer different questions, and conflating them is the root of most 87389 billing errors.
| Question | Code set | What it tells the payer |
|---|---|---|
| What service was performed? | CPT (87389) | The specific lab assay completed |
| Why was it performed? | ICD-10-CM | Screening, exposure, symptoms, or diagnosis |
| What condition was documented? | ICD-10-CM | Confirmed status, inconclusive result, or none established |
An order, a discussion with the patient, or a plan to test does not, by itself, prove the billed laboratory service occurred. The code should correspond to what the reporting lab or clinic actually ran.
Where 87389 Sits in the Testing Pathway
CDC's laboratory algorithm places the HIV-1/HIV-2 antigen/antibody combination immunoassay as the initial step, not the full diagnostic sequence.
A reactive initial result moves through separate follow-up stages, each with its own test and code:
- Supplemental antibody test that differentiates HIV-1 from HIV-2
- HIV-1 nucleic acid test if differentiation is nonreactive or indeterminate
CDC's testing algorithm describes these as distinct stages. Don't assume 87389 covers the whole pathway.

When May an Infectious Disease Clinic Report CPT 87389?
Clinics order the HIV antigen/antibody combination assay in several documented contexts. These are examples of common clinical scenarios, not a list of universally covered indications:
- Routine or periodic screening as part of preventive care
- Evaluation following a potential occupational or non-occupational exposure
- Patient-reported symptoms or clinical concern for acute retroviral illness
- Baseline or periodic testing tied to PrEP monitoring
- Sexual-health visits or STI panel testing
- Follow-up after a prior indeterminate or inconclusive result
The chart note needs to connect the test to one of these documented purposes. The diagnosis code should reflect that actual circumstance, not default to confirmed HIV infection just because the test name includes "HIV."
Screening vs. Diagnostic Testing
ICD-10-CM treats these situations differently, and the distinction drives code selection:
- Asymptomatic screening generally points toward a screening-encounter code, with additional codes for documented high-risk behavior when applicable
- Suspected exposure without symptoms generally points toward a contact/exposure code category
- Documented signs or symptoms should be coded as those signs or symptoms, not as a screening encounter
- Confirmed HIV disease or an HIV-related illness uses the disease code reserved for that documented status
A reactive or preliminary result changes what happens next in the lab pathway. It does not, by itself, convert a screening claim into a confirmed-infection claim.
The provider's documented interpretation of the result drives the next code. Check current CDC and payer guidance on follow-up testing language before finalizing it.
Two Quick Scenarios
Scenario A, routine screening: A 34-year-old patient requests HIV screening during an annual visit with no symptoms and no reported exposure. The note documents the screening request, the assay performed, and the result status.
CPT reflects the assay run; the diagnosis reflects an asymptomatic screening encounter.
Scenario B, exposure-driven evaluation: A patient presents after a reported needlestick exposure. The note documents the exposure history, the ordering clinician, the assay performed, and the follow-up plan.
CPT reflects the same assay, but the diagnosis reflects documented exposure rather than routine screening.
Every CPT and ICD-10-CM code applied to a real claim needs verification against the current codebook and guidelines before submission. These scenarios illustrate documentation logic, not a coding guarantee.

Documentation, Diagnosis Linkage, and Claim Review
Documentation Checklist
Before a claim goes out the door, the record should show:
- Ordering provider - who requested the test and when
- Clinical reason for testing - screening, exposure, symptoms, or monitoring
- Encounter date - when the patient was seen
- Test performed - the specific assay, matched to the CPT code billed
- Specimen or lab information - where relevant to the billing entity
- Result status - reactive, nonreactive, indeterminate, or pending
- Follow-up plan - next steps if the result is reactive or inconclusive
Coders and billing staff should reconcile the lab order, the test actually performed, the result report, and the charge capture so the submitted CPT code matches the completed service. A mismatch anywhere in that chain is where audits start.
Diagnosis-Code Linkage Isn't One-Size-Fits-All
Screening, suspected exposure, symptoms, counseling or monitoring, and established HIV disease each call for a different diagnosis code. Treating them as interchangeable because "it's all HIV testing" is a common source of denials and, worse, audit exposure.
Coverage and Medical-Necessity Review
Medicare's screening benefit under NCD 210.7 sets detailed coverage criteria. The policy uses population-based frequency limits: generally one annual voluntary screening for most beneficiaries, and up to three screenings per pregnancy.
These details come from CMS's NCD 210.7. They apply specifically to the Medicare screening benefit, not to every payer or every testing scenario.

Medicaid and commercial payers maintain their own frequency limits, risk-based criteria, and diagnosis requirements. None of these should be assumed from a Medicare policy. Research the applicable payer policy before billing, and document it in the practice's workflow reference.
Pre-Submission Workflow
- Confirm the current CPT descriptor matches the assay performed
- Verify the specific test run, not just the test ordered
- Select the ICD-10-CM code supported by actual documentation
- Check payer-specific edits, frequency limits, and modifiers if applicable
- Validate whether the clinic or an outside lab bears billing responsibility
- Retain the order, result, and clinical note for audit review
Common Coding and Billing Mistakes to Avoid
A handful of recurring errors show up on 87389 claims:
| Mistake | Why it's a problem |
|---|---|
| Billing 87389 for a different HIV test or a confirmatory service | The descriptor is specific to one combination assay; follow-up tests need separate codes |
| Reporting one combination assay as multiple units | The assay produces a single result; Medicare treats it as one unit of service |
| Billing a repeat run as a second unit only to verify an abnormal result | Repeat testing to confirm an initial result is reported as one unit, not two |
| Coding confirmed HIV infection from a reactive screening result alone | Documented clinical interpretation, not the screening result alone, should drive the diagnosis |
| Using a screening diagnosis when symptoms are documented | Code the signs or symptoms instead of the screening code |
| Billing a test that was ordered but never performed | Creates a direct mismatch between the order and the claim |
| Duplicate billing between the clinic and an outside lab | Generates denials and potential overpayment findings |
| Missing result documentation or outdated code files | Breaks the audit trail connecting order, service, and claim |
Responding to an Audit Flag
When a claim gets flagged, work through it in order:
- Compare the claim line against the original order and the result report
- Review the applicable payer policy for that diagnosis and procedure pair
- Determine whether the issue is coding, documentation, eligibility, or coverage
- Fix the underlying workflow rather than resubmitting an unsupported code change
That sequence matters more than the fix itself. Changing a code without identifying which part of the chain broke usually creates a second problem down the line.
How Accurate HIV-Test Coding Supports Infectious Disease Practice Economics
Charge capture and diagnosis linkage on HIV testing don't operate in isolation. Clean, accurate claims tend to move faster through adjudication, require less rework, and reduce the odds of an audit request landing on your desk later.
None of that guarantees a specific dollar outcome, but the operational pattern is consistent: fewer mismatches, fewer delays.
Practice leaders can monitor a handful of their own signals rather than relying on industry averages:
- Denied or rejected HIV-test claims, and why
- Recurring diagnosis-code mismatches by provider or front-desk staff
- Payer-specific edits that keep tripping up the same claim type
- Repeat testing patterns that might signal a documentation gap
- Turnaround time between a denial and a corrected resubmission
Billed charges, allowable reimbursement, and actual practice margin are three different numbers, and conflating them leads to bad decisions.
GrowInfectiousDisease's Practice Health Check and revenue-cycle reporting resources let practices run their own numbers through a model. Generalized industry rates vary by payer, locality, and contract, so they are a weak stand-in for practice-specific data.
When test menus, payer policies, or HIV testing protocols shift, loop in clinicians, laboratory staff, coders, and administrators together rather than letting one department update in isolation. A protocol change that doesn't reach billing staff is how clean claims turn into denials within a single quarter.
Frequently Asked Questions
What are the ICD-10 coding guidelines for sepsis?
That question concerns ICD-10-CM diagnosis coding for sepsis, which is a separate topic from CPT 87389 or HIV laboratory testing. Review the current ICD-10-CM Official Guidelines for Coding and Reporting, and confirm sepsis-specific code selection with a qualified coding professional.
What is the ICD-10 code for sepsis?
There's no single code that applies to every sepsis case. Selection depends on provider documentation, the identified organism, severity, organ dysfunction, and sequencing rules under the current ICD-10-CM guidelines. This article addresses CPT 87389 and HIV testing, not sepsis coding specifically.


