CPT code 86140 is the billing code for a C-reactive protein (CRP) test, the blood test clinicians order to detect and monitor inflammation. The current AMA descriptor is simply C-reactive protein, with no methodology qualifier attached to it. Medicare prices the code at one national rate of $5.18 on the 2026 Clinical Laboratory Fee Schedule.
Its companion code 86141 covers high-sensitivity CRP, carrying the descriptor C-reactive protein; high sensitivity (hsCRP). Billing staff mix the two up constantly, and that mix-up drives a large share of CRP denials. The sections below cover the rate, the ICD-10 pairings, the coverage criteria, and the documentation a payer will ask for.
Key takeaways
CPT code 86140 is the AMA descriptor for C-reactive protein, with no methodology qualifier attached to the code itself.
High-sensitivity CRP for cardiac risk belongs to 86141, and confusing the two is the most common billing error on this code.
Medicare prices 86140 under the Clinical Laboratory Fee Schedule at one national rate of $5.18 for 2026, with no locality or facility adjustment.
Every claim needs a linked ICD-10-CM diagnosis code documenting the clinical indication, and a missing or non-covered diagnosis is the top denial reason.
Pabau’s claims management software links lab order entry, diagnosis coding, and claim submission in one workflow, which cuts manual re-entry errors.
CPT code 86140: Definition and clinical overview
CPT code 86140 is a laboratory immunoassay billing code for the C-reactive protein (CRP) test. The American Medical Association (AMA) publishes and maintains the CPT code set, and its descriptor for 86140 reads simply C-reactive protein. No methodology qualifier appears in the descriptor itself.
One detail in the manual trips coders up. The section heading above this range, Qualitative or Semiquantitative Immunoassays, applies to codes 86000 through 86804 as a group. It labels the family, not 86140 on its own, so it is not part of this code’s descriptor.
The code sits in the immunology section of the CPT manual, inside the pathology and laboratory chapter. The test measures CRP concentration in blood or serum. CRP is an acute-phase reactant, a protein the liver produces in response to inflammation, tissue injury, or infection.
CRP rises sharply within hours of an acute inflammatory event and falls back to baseline once the trigger resolves. That makes it a useful monitoring tool for bacterial infections, post-surgical recovery, autoimmune flares, and inflammatory bowel conditions. A conventional CRP assay reads the concentrations that active inflammation produces. The high-sensitivity assay billed under 86141 reads far lower concentrations, which is what cardiovascular risk scoring needs.
The split between 86140 and 86141 matters before you bill anything. The two codes are not interchangeable. Ordering the wrong one, or billing both on the same date without clinical justification, is a leading cause of claim rejection. The next section covers that split in detail, along with each code’s clinical use.
86140 vs 86141: Key differences
The difference between these two codes comes down to analytical sensitivity and clinical intent. CPT code 86140 covers the conventional CRP assay, which reads the raised concentrations that active inflammation produces. CPT 86141 covers a high-sensitivity assay that detects far lower CRP concentrations. That makes 86141 the code for cardiovascular risk stratification in patients who otherwise appear healthy.
Most commercial payers and Medicare follow the same logic. If the ordering physician documents a cardiac risk indication and the laboratory ran a high-sensitivity assay, 86141 is correct. If the test monitors a known inflammatory condition or an infection, 86140 applies. Billing 86141 when the laboratory ran a conventional CRP, or the reverse, creates a code-methodology mismatch that payers flag on audit.
The decision tree below sets the two branches side by side, with the diagnosis each code needs and the rate each one pays.

Medicare reimbursement under the 2026 Clinical Laboratory Fee Schedule
CPT code 86140 is a clinical diagnostic laboratory test. Medicare therefore prices it under the Clinical Laboratory Fee Schedule (CLFS), not the Physician Fee Schedule. That one distinction changes how you should read every rate figure you find for this code. The CLFS pays a single national amount per HCPCS or CPT code, with no RVUs, no locality adjustment, and no facility split.
On the 2026 CLFS, 86140 pays $5.18, effective January 1, 2026 and unchanged from the 2025 rate. CMS republishes the schedule quarterly, so confirm the current amount in the CLFS quarterly files before you bill.
There is no rate to optimize on this code. Payment is fixed nationally, so coverage and documentation are the only variables your practice controls. A denied 86140 claim costs far more staff time than the $5.18 it pays. Front-end accuracy therefore matters more here than any rate lookup.
Why there is no facility vs non-facility rate
The facility and non-facility rate pair exists only on the Physician Fee Schedule. It comes from practice expense RVUs, which shift depending on who carries the overhead for the service. Clinical diagnostic laboratory tests have no RVUs at all. CMS assigns them PFS status indicator X, which excludes the code from the Physician Fee Schedule. Medicare therefore pays the same $5.18 for 86140 wherever the specimen is run.
Place of service still belongs on the claim, but it decides who bills the test rather than how much Medicare pays for it:
- POS 11 (Physician office): Your practice bills 86140 when its own CLIA-certified lab runs the test, at the national CLFS amount
- POS 81 (Independent laboratory): The reference lab usually bills Medicare directly, and your practice submits nothing for the test itself
- POS 22 or 23 (Hospital outpatient or emergency department): The hospital bills the test. Routine lab work is normally packaged into the OPPS payment for the encounter
- Modifier 90 (Reference outside laboratory): Append it when you bill for a test another lab performed under arrangement; the rate does not change
Picking the wrong POS code on an 86140 claim will not move the payment amount. It can still trigger a rejection, a duplicate-claim edit, or a medical review flag when two entities bill the same test on the same date. Agree with your reference laboratory on who submits the claim before the specimen leaves the office.
Pro Tip
A CRP test may be ordered in your office but performed by a reference laboratory such as Labcorp or Quest. Agree in advance who bills Medicare. If the lab bills directly, your practice submits nothing for 86140. If you bill under arrangement, append modifier 90. Payment is the same national CLFS amount either way, so duplicate billing is the risk to manage rather than underpayment.
ICD-10 codes commonly billed with CPT code 86140
Every CPT code 86140 claim must carry at least one ICD-10-CM diagnosis code documenting medical necessity. Use the CDC/NCHS ICD-10-CM web tool to check code validity before each billing cycle. The codes below are the diagnoses most often paired with this test across payer policies and clinical scenarios.
The table is not exhaustive, so confirm which diagnoses your own payers accept for this test. Our ICD-10-CM code reference covers the diagnosis families that turn up most often on lab claims.
Symptom codes like R50.9 are acceptable in an acute workup, though payers may deny a diagnosis that vague without supporting clinical documentation. Where a confirmed diagnosis exists, bill the specific condition code rather than a symptom code. That habit lowers denial rates and eases any retrospective audit.
Medical necessity and coverage criteria
Medical necessity for CPT code 86140 is established when the ordering physician documents a clinical indication for detecting or monitoring inflammation or infection. Medicare coverage comes from Local Coverage Determinations (LCDs) issued by individual Medicare Administrative Contractors (MACs), so covered indications vary by region. Commercial policies generally mirror that framework, and some are stricter. Check each payer’s LCD or coverage policy before you bill.
Covered indications (commonly accepted):
- Monitoring of known inflammatory conditions (rheumatoid arthritis, lupus, ankylosing spondylitis, IBD)
- Evaluating suspected bacterial infection or sepsis
- Post-surgical monitoring for infection or wound healing complications
- Monitoring response to anti-inflammatory or antibiotic therapy
- Workup for fever of unknown origin
- Monitoring of chronic inflammatory disease activity
Non-covered scenarios (commonly denied):
- Routine or screening CRP testing without a documented clinical indication
- Cardiac risk stratification in patients without a documented intermediate-risk cardiovascular workup (this indication belongs to 86141)
- Duplicate billing of 86140 and 86141 on the same date without distinct documented indications
- Testing ordered as part of a wellness panel without supporting diagnosis
Pro Tip
Check your MAC’s LCD for CPT 86140 before billing. Some MACs issue one LCD covering both 86140 and 86141, while others publish separate policies. Commercial policies can be stricter than Medicare. Highmark BCBS West Virginia policy L-69-003, for example, denies 86141 outright as investigational, and no amount of cardiac-risk documentation makes it payable there.
Documentation requirements
A successful CPT code 86140 claim starts with clinical documentation that supports the test order directly. Payers review documentation to confirm the test was medically necessary, correctly coded, and performed by a CLIA-certified laboratory. The checklist below is what a typical payer or Medicare audit looks for.
- Ordering indication: The clinical note must document the reason for ordering CRP, whether monitoring a known condition, evaluating new symptoms, or assessing treatment response
- Diagnosis linkage: The ICD-10-CM code on the claim must correspond directly to the documented clinical indication. A vague symptom code will not do when a specific diagnosis is known
- Ordering provider credentials: The lab order must identify the ordering provider and their NPI; unenrolled ordering providers can trigger claim rejection
- Laboratory CLIA certification: The performing laboratory must hold the appropriate CLIA certificate. This is typically verified through the lab’s own documentation rather than at point of billing
- Date and place of service: The date the specimen was collected and the POS code must match the actual location of service
- Specimen notation: Documentation should note specimen type (serum or plasma) and collection date
Structured billing workflows connect the clinical note to the claim at the point of order entry. A missing diagnosis link or an unenrolled ordering provider gets caught before submission, not after a denial arrives. Practices running disconnected systems often find the problem only when a payer requests records during a post-payment audit. By then, recoupment is already on the table.
How to bill 86140 accurately: Step-by-step
The sequence below is the one billing departments follow in outpatient and physician office settings. It works through the claim requirements set out above, in the order the work actually happens.
- Confirm the assay with the laboratory: Check whether the performing laboratory ran a conventional CRP assay (86140) or a high-sensitivity assay (86141). This is the single most important step. Billing a code against an assumed methodology is a direct audit liability.
- Select the correct ICD-10-CM diagnosis code: Match the code to the documented clinical indication in the encounter note. Use the most specific code available. For a patient with confirmed rheumatoid arthritis under monitoring, use M06.9 or a more specific RA code rather than R50.9.
- Verify patient eligibility and payer coverage: Confirm the patient’s active insurance and any prior authorization requirements. Check whether the chosen ICD-10 code sits on the payer’s covered indications list for this CPT code.
- Confirm who bills and the place of service: Was the test ordered in your office but sent to a reference lab? If so, settle the billing arrangement first. Use POS 81 for independent laboratory claims. Append modifier 90 if your practice bills for a test the reference lab performed. The CLFS rate is the same either way.
- Build and submit the claim: Include CPT 86140 and the linked ICD-10 code or codes. Add the correct POS, the ordering provider NPI, and the performing laboratory NPI. Submit it electronically as an 837P professional claim through your clearinghouse.
- Monitor the remittance: Review the electronic remittance advice (ERA) for adjustment reason codes once the payer responds. CARC 50 (non-covered service) and CARC 96 (non-covered charge) are the most common on 86140 denials. Resolve them before the filing deadline.
Common billing errors and denial reasons
Denial patterns for CPT code 86140 repeat across payers, and most practices meet the same four or five root causes. Knowing them in advance beats troubleshooting claim by claim.
Denial management for lab codes like 86140 depends on catching errors when the claim is created, not after the rejection arrives. Practice management software like Pabau flags missing ICD-10 linkage and POS mismatches before the claim leaves the system. Our software for billing teams surfaces those issues at the point of claim generation, which cuts the rework a post-denial correction creates.

Related CPT codes: ESR, ANA, and other inflammatory markers
CPT code 86140 rarely stands alone in a clinical workup. Clinicians ordering CRP frequently order one or more companion tests to build a fuller picture of inflammatory burden. Billing those codes correctly alongside 86140 means knowing what each one covers and when bundling rules apply.
ESR (85652) and CRP (86140) are frequently ordered together because they reflect different aspects of inflammation. ESR is slower to rise and fall, which suits chronic monitoring. CRP responds faster to acute change. When a rheumatologist orders both to monitor RA disease activity, billing both on the same date is generally acceptable. Each test still needs its own documented clinical rationale in the encounter note.
Can 86140 and 86141 be billed together?
Billing 86140 and 86141 together on one date of service is possible with documentation, but it is not routine and it carries audit risk. Review the National Correct Coding Initiative (NCCI) edits published by CMS before you try it. Billing staff run into this whenever a patient has a plausible indication for both tests at the same visit.
One scenario justifies both codes on the same date. Picture a patient with known rheumatoid arthritis who needs routine CRP monitoring under 86140. That same patient is intermediate-risk for cardiovascular disease, and a separate cardiac workup calls for hsCRP (86141). Two clinical indications exist, and the two tests serve distinct purposes. The documentation must set out each indication separately.
Before billing both codes together, check the current NCCI edit table directly from CMS. NCCI edits are updated quarterly, and the edit status for this pair can change. If a bundling edit applies without a modifier override, the second code denies automatically. Strong clean claim practices include checking NCCI edits for companion tests before any multi-code lab claim goes out.
How claims management software keeps 86140 claims clean
In most practices the lab order lives in one system and the claim is built in another. A staff member reads the encounter note, picks an ICD-10 code by hand, keys 86140 into the billing screen, and hopes the two agree. At $5.18 a test, one denial costs more in staff time than the claim is worth.
Pabau links lab order entry, diagnosis coding, and claim submission in one patient record. The diagnosis attached to the order travels with the claim, so nobody retypes it. Eligibility checks and claim status run from the same screen, and a missing diagnosis link is flagged before the claim is submitted.
The outcome is fewer denials on small-dollar lab codes, and far less time spent reworking claims that should have gone out clean. Every subscription includes every feature, so the billing tools are not a tier you have to buy up into.
Streamline your lab billing workflow
Pabau connects clinical documentation, diagnosis coding, and claim submission in a single platform. See how practices reduce CRP billing errors and denial rates with integrated lab order entry and eligibility verification.
Conclusion
Bill 86140 on what the laboratory actually ran, and link it to the most specific diagnosis the note supports. Those two habits settle most of the disputes this code generates. The rate is fixed nationally, so front-end accuracy is the only lever your practice controls.
The trade-off worth remembering is effort against value. A $5.18 test does not justify a manual review of every claim before submission. That is why the checking belongs in the system rather than in someone’s queue. Book a demo to see how Pabau keeps lab claims like this one clean before they reach the payer.
Continue your research
Want the full picture of the billing process? What is medical billing walks the revenue cycle from patient encounter to payment posting.
Seeing the same rejections repeat? Denial management in healthcare breaks down the common CARC codes and how to bring denial rates down.
Need cleaner billing documents? Superbill generation explains how structured billing documents cut CPT and ICD-10 errors at the source.
Wondering where lab claims sit in the wider cycle? Revenue cycle management maps the stages from scheduling through to collections.
Working through a payer’s response? Electronic remittance advice explains how to read an ERA and act on its adjustment codes.
Frequently asked questions
What does CPT code 86140 cover?
CPT code 86140 covers a C-reactive protein (CRP) test. The current AMA descriptor is simply C-reactive protein, with no methodology qualifier attached. The test detects and monitors inflammation, infection, and acute-phase responses. High-sensitivity CRP for cardiac risk assessment falls under CPT 86141 instead.
What is the difference between CPT 86140 and 86141?
CPT 86140 covers the conventional CRP assay used for inflammation and infection monitoring, and its descriptor names no methodology. CPT 86141 is high-sensitivity CRP, with the descriptor C-reactive protein; high sensitivity (hsCRP), used for cardiovascular risk stratification. The two codes reflect different assay sensitivities and different clinical indications, so they are not interchangeable.
What ICD-10 codes are used with CPT 86140?
Commonly paired ICD-10-CM codes include M06.9 (rheumatoid arthritis), M32.9 (systemic lupus erythematosus), K50.90 (Crohn’s disease), A49.9 (bacterial infection), and T81.4XXA (post-surgical infection). Always use the most specific diagnosis code available and verify covered indications with your payer’s LCD before billing.
Is there a facility vs non-facility rate for CPT code 86140?
No. CPT 86140 is a clinical diagnostic laboratory test, so Medicare prices it under the Clinical Laboratory Fee Schedule rather than the Physician Fee Schedule. The CLFS pays a single national rate per code, which is $5.18 for 86140 in 2026. There is no facility or non-facility split, no RVUs, and no locality adjustment. Confirm the current amount in the CMS Clinical Laboratory Fee Schedule files, not the MPFS lookup tool.
Can CPT 86140 and 86141 be billed on the same date?
Simultaneous billing of both codes on the same date requires distinct documented clinical indications for each test. It also requires a review of current NCCI edits from CMS. Without separate documented indications, payers will typically deny one code as a duplicate or bundled service. Verify the current edit status before submitting a multi-code lab claim containing both.
What documentation is required for CPT 86140 medical necessity?
Required documentation starts with the clinical indication for the test, whether that is monitoring a known inflammatory condition, evaluating suspected infection, or assessing treatment response. The claim also needs a specific linked ICD-10-CM diagnosis code, the ordering provider NPI, the place of service, and the specimen collection date. The performing laboratory must also hold CLIA certification appropriate for the test complexity.
What is the CPT code for ESR (sed rate)?
The CPT code for an automated erythrocyte sedimentation rate (ESR) is 85652. ESR is a related inflammatory marker frequently ordered alongside CRP (86140) in rheumatology and infection monitoring workups. The two codes can generally be billed together with separate documented clinical rationales for each test.