CPT code 86304 – CA 125 tumor marker billing guide
86304 is the CPT code for immunoassay for tumor antigen, quantitative; CA 125. It covers one numeric serum measurement of cancer antigen 125, billed by the laboratory that runs the test.
Medicare covers 86304 under NCD 190.28 to monitor ovarian, fallopian tube, and primary peritoneal cancer. Screening and the workup of a pelvic mass fall outside that policy, and most denials start there. Neighboring codes measure other antigens: 86301 is CA 19-9, 86300 is CA 15-3 or CA 27.29, and 82378 is CEA.
- Section
- 80047-89398 Pathology and laboratory
- Subsection
- 86000-86849 Immunology
- Code range
- Immunoassay for tumor antigen, quantitative: 86300, 86301, 86304, 86316
- Billable
- No
- Code also known as
- Cancer antigen 125, CA-125 blood test, MUC16
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 86304 bills one quantitative serum CA 125 immunoassay, and Medicare sets its coverage nationally in NCD 190.28.
Covered diagnoses center on ovarian, fallopian tube, primary peritoneal, endometrial and endocervical cancer, plus history codes such as Z85.43.
NCD 190.28 excludes screening and the differential diagnosis of a pelvic mass, so Z12.73 or Z80.41 alone will not support the claim.
CA 19-9 bills as 86301, CA 15-3 or CA 27.29 as 86300, and CEA as 82378. Match the code to the marker on the lab report.
Bill one unit per level, add modifier 91 to a same-day repeat, and collect an ABN before any draw Medicare is likely to deny.
What CPT code 86304 measures
CPT code 86304 is the laboratory code for a quantitative immunoassay of cancer antigen 125 (CA 125) in serum. The official descriptor reads “Immunoassay for tumor antigen, quantitative; CA 125.” The American Medical Association maintains the code in the Immunology subsection of Pathology and Laboratory.
CA 125 is a large glycoprotein that many epithelial ovarian cancers release into the blood. Medicare’s NCD 190.28 notes it is elevated in 80% of patients who present with epithelial ovarian carcinoma. Levels can also rise with fallopian tube, endometrial and endocervical cancers, peritoneal mesothelioma, and primary peritoneal carcinoma.
For billing, 86304 is a monitoring test. Medicare pays for it to set a pre-operative baseline, track treatment response, and watch for recurrence in a patient with one of those cancers. Screening and deciding whether a pelvic mass is malignant fall outside that coverage.
“Quantitative” means the lab reports a numeric concentration, in units/mL. A positive or negative result on its own does not support the code.
When Medicare pays for a CA 125 test
NCD 190.28 is a national coverage determination, so the same rules apply in every Medicare Administrative Contractor (MAC) jurisdiction. Your MAC may publish billing articles or an LCD on lab testing. Read those alongside the NCD, which remains the coverage authority for 86304.
The NCD names these covered uses of CA 125:
- Pre-operative baseline: one level for a woman with a suspicious pelvic mass, used later for post-operative monitoring
- Half-life after initial treatment: three serum levels during the first month after surgery or chemotherapy for ovarian carcinoma
- Residual disease: a level at the completion of chemotherapy
- Surveillance: follow-up levels to detect recurrence after treatment
- Response to therapy: a level before each treatment cycle in advanced or recurrent disease
The limitations are just as specific. CA 125 is not covered to evaluate a patient with signs or symptoms that suggest malignancy. It is also not covered to help with the differential diagnosis of a pelvic mass, because its sensitivity and specificity are not sufficient.
The NCD adds that a single tumor marker will generally suffice to follow a patient with one of these cancers. If the order pairs CA 125 with a second marker for the same malignancy, the chart should say why both are needed.
The ICD-10 codes that support 86304
CMS publishes the full list of covered diagnosis codes in its lab NCD code lists, updated each quarter. The codes below appear on the current NCD 190.28 list. Treat the table as a starting point and confirm each code against the current release before you submit.
The pelvic mass codes need care. They are on the list because of the pre-operative baseline indication, not because CA 125 can tell a benign mass from a malignant one. Document that surgery is planned and that the level is a baseline for post-operative monitoring.
Screening and risk codes do not support 86304 on their own. Z12.73 is the encounter code for ovarian cancer screening. Z80.41 records a family history of ovarian cancer. Neither appears on the NCD 190.28 list. Collect a signed Advance Beneficiary Notice (ABN) before the draw if Medicare is likely to deny the test.
How often you can bill 86304
NCD 190.28 does not set a single hard frequency cap. It says the test may be ordered when needed to assess recurrence or response to treatment with later treatment cycles. Its indications section then describes the schedule Medicare treats as typical.
- First month after initial treatment: three levels, to measure the CA 125 half-life
- End of chemotherapy: one level, as an index of residual disease
- Years 1 and 2 of surveillance: generally every 3 months
- Years 3 to 5: generally every 6 months
- After year 5: generally once a year
- Advanced or recurrent disease: before each treatment cycle
Laid out by phase, the pattern is easy to check against a patient’s claim history.

A claim that falls outside this pattern is not automatically denied, but it invites review. When the oncologist orders an extra level, the note should name the reason, such as new symptoms during surveillance or a change in therapy.
Where the 86304 payment rate comes from
Medicare pays CPT 86304 under the Clinical Laboratory Fee Schedule (CLFS), not the Physician Fee Schedule. CMS sets CLFS rates nationally from private payer data reported by laboratories. The schedule is updated each year, with quarterly files in between.
For the current payment amount, download the latest file from the CMS Clinical Laboratory Fee Schedule page and look up 86304. Never quote a rate copied from a third-party site, which may reflect an older year. Commercial payers set their own rates by contract, so check each payer agreement.
Pro Tip
Before you bill 86304 to a commercial payer for the first time, confirm the contracted rate in writing. Some contracts pay lab codes as a percentage of the CLFS, while others use a flat fee schedule.
How to bill CPT 86304, step by step
Work through these six decisions on every 86304 claim line. Each one maps to a field the payer checks.
- Bill one unit per test. 86304 describes one CA 125 measurement, so a single draw is one unit.
- Name the ordering provider. The ordering practitioner’s NPI must appear on the claim, not only the billing entity’s NPI.
- Use the right place of service. Independent laboratory is POS 81, a physician office lab is POS 11, and hospital outpatient is POS 22.
- Apply modifier 91 for a same-day repeat. If CA 125 is run twice on the same day to obtain a new result, append 91 to the second line. Do not use 59 for a repeat lab test.
- Add GA when an ABN is on file. If the diagnosis is not covered and the patient signed an ABN, modifier GA tells Medicare the notice was given.
- Put the covered diagnosis first. List the NCD 190.28 code that justifies the test as the diagnosis pointer for the 86304 line.
Worked example: a surveillance level after ovarian cancer
Picture a patient who finished surgery and chemotherapy for left ovarian cancer 14 months ago. She is in her second year of surveillance, so her oncologist orders a CA 125 level every 3 months.
An independent lab draws the sample, runs the immunoassay, and reports a numeric result in units/mL. The oncologist’s note names surveillance as the purpose, which matches an NCD 190.28 indication.
The claim line reads 86304, one unit, POS 81, with the oncologist’s NPI as the ordering provider. While she is still on treatment, the diagnosis pointer is C56.2. Once treatment has ended and no disease remains, Z85.43 takes its place.
Check these seven points before you submit
Run this check on every 86304 claim before it leaves the practice. Each point heads off one of the denials covered further down.
- A signed order from a physician or qualified practitioner is on file.
- The note ties the test to a covered purpose, such as baseline, residual disease, surveillance, or response to therapy.
- The lab report shows a numeric CA 125 result, not a positive or negative flag.
- The first diagnosis pointer is on the current NCD 190.28 list, not a screening or family-history code.
- The marker on the report is CA 125, not CA 19-9, CA 15-3, CA 27.29 or CEA.
- Any level outside the typical schedule has a reason written in the note.
- A signed ABN is on file, with modifier GA on the line, wherever coverage is in doubt.
Pair this workflow with a medical billing compliance review each quarter. A review catches diagnosis and frequency patterns before they attract an audit.
Don’t confuse 86304 with these tumor marker codes
Each quantitative tumor antigen has its own code and its own national coverage policy. A pancreatic cancer patient’s CA 19-9 bills as 86301, while a colorectal patient’s CEA bills as 82378. Billing the wrong marker’s code is a coding error, even when the diagnosis is covered.
HE4 (human epididymis protein 4) is often ordered with CA 125 for ovarian workups. It has its own code, 86305, so never fold it into the 86304 line.
Why 86304 claims get denied, and how to fix each one
Effective denial management for 86304 starts with the NCD. Most rejections trace to a diagnosis outside the covered list or a purpose the policy excludes. First decode the denial codes on the remittance, then find the matching fix below.
Medicare generally does not require prior authorization for 86304. Some commercial payers do for repeat testing, so check payer policy for patients on long-term maintenance therapy. A clean claim for 86304 carries a covered diagnosis, the ordering NPI, the right POS, and the correct modifiers.
Pro Tip
Review your 86304 denials each quarter and group them by reason code. If most cite medical necessity, check the order template first. A template that defaults to a screening code will keep producing the same denial.
How Pabau keeps CA 125 claims clean
Without claims software, staff copy the diagnosis from the chart and key in the CPT code by hand. A coverage or eligibility problem only surfaces when the remittance arrives, weeks after the draw.
Pabau, the practice management and billing platform we build, pre-fills the claim from the patient record. CPT and ICD-10 lookup libraries sit inside the claim form. In the US, claims go out through the Claim.MD clearinghouse after a real-time eligibility check. The Send button stays locked until every required claim field is complete.

After submission, Pabau tracks claim status and posts electronic remittances back to the patient account. Your team sees a denied 86304 line quickly and can correct it while the order is fresh. Pabau’s denial-tracking claims software covers that whole cycle, from pre-fill to remittance.
Send cleaner CA 125 claims
Pabau pre-fills 86304 claims from the patient record and sends them through the Claim.MD clearinghouse, with an eligibility check before every submission.

Conclusion
CPT code 86304 pays reliably when the claim tells the story NCD 190.28 expects. That means a confirmed gynecologic or peritoneal cancer, or a history of one, and a purpose of baseline, response, or surveillance. Screening and diagnostic workups of a mass fall outside the policy, whatever code sits on the claim.
So start with the order template. Build it around the covered indications, keep the surveillance schedule in front of the team, and reserve an ABN for the uses Medicare excludes. That one change prevents more 86304 denials than any appeal.
Book a demo to see how Pabau gets your CA 125 claims out complete, checked and on time.
Continue your research
Billing CA 19-9 instead of CA 125? Our CPT code 86301 guide covers NCD 190.30 and the pancreatic and biliary diagnoses it accepts.
Need to understand how clearinghouse submission reduces denials? Our Claim.MD clearinghouse guide explains how electronic submission and eligibility checks work.
Want to see how lab claims map to the 837 format? Our 837 file guide covers the transaction set structure and where CPT codes like 86304 sit.
Looking for what a superbill should include for lab testing? Our superbill guide covers the required fields and how diagnosis codes link to each service.
Frequently asked questions
What is a normal CA 125 level?
Many labs use 35 U/mL as the upper reference limit. Ranges vary by assay, so read the range printed on the report. The result does not change how 86304 is billed.
Do Medicare patients pay a copay for a CA 125 test?
Usually not. Medicare Part B covers clinical diagnostic lab tests with no deductible or coinsurance. A test billed under a signed ABN is the exception, because the patient may owe the full charge.
Can you bill the blood draw separately from 86304?
Yes, if your practice draws the sample. Venipuncture bills as 36415, on its own line, separate from the 86304 test. A lab that only receives the specimen does not bill 36415.
Can a physician office lab bill CPT 86304?
Yes, if the lab holds a CLIA certificate that covers the test system’s complexity. A certificate of waiver covers waived tests only. Report an in-office test with POS 11.



