This website uses cookies

Read our Privacy policy and Terms of use for more information.

S

Hey friends, A small horror story to start your week. Biscuit's gene panel got approved. The prior auth came back yes, Dr. Singh's notes held up, Sage drew the blood and shipped it, the lab ran the test. Everybody did their job, and the claim still came back denied. The reason wasn't the test. It was two little strings of characters on the claim that didn't agree with each other. That's the subject this week. Last time we followed a claim from the blood draw to the check. Now we open one up and read what's actually written inside it, because a claim doesn't speak English. It speaks in codes, and almost nobody outside a billing office ever learns to read them. - Tania

Hey there, We’re Shivang & Tania. Each week, we write in plain English (and some sass) about how health insurance works, why claims get denied, and how patients and healthcare teams can get paid or reimbursed. If you’re new here, we recommend you start with RCM 101: How Healthcare Gets Paid, Eventually, Maybe

TL;DR; By the end of this you'll be able to read the two codes on any claim: the one that says what was done, and the one that says why. You'll know why the "why" code is where medical necessity actually lives, why two characters of fine print can flip a paid claim to denied, and why one code that's individually perfect can still sink the claim if it doesn't match everything around it. And you'll know why genetic and specialty lab claims are the most fragile of all.

In this issue, we cover:

  • The two codes on every claim, and the two different questions they answer

  • Where medical necessity really lives (spoiler: not in either code)

  • Modifiers, the two-character add-ons that quietly change what a code means

  • What a "clean claim" actually is, and why a correct test isn't one

  • Why diagnostics breaks worse than everything else, and the two codes both nicknamed "Z"

So where were we?

Biscuit the corgi, our patient, who's anchored this whole series. A few issues back he had a family scare. His maternal aunt had ovarian cancer at 46, and yes, that matters for Biscuit even though he's male. The genes on a hereditary breast and ovarian cancer panel, BRCA1 and BRCA2 among them, aren't only a women's concern. In a man, the same mutations raise the risk of prostate and pancreatic cancer, and male breast cancer happens too. He can also pass the mutation on to his kids. So Dr. Singh, the poodle in the white coat, ordered him the panel. In Prior Auth Submission Secrets (Part 2) we watched Sage, the border collie who runs the clinic's front office, fight to get that panel approved before it ran. In Medical necessity 101 we talked about how an insurer decides a test was actually warranted.

Both of those issues quietly assumed something we never explained: that the test and the reason for it were written down in a language the insurer could read. That language is code. Approval got the panel a green light. Now the claim has to describe what happened in a way BHC accepts. BHC is the insurer on Biscuit's card, the fictional payer we use throughout this series, and its computer reads nothing but codes.

So the blood's drawn and the result is back, and Sage sits down to build the claim. Let's read over her shoulder.

Every claim answers two questions

A claim, underneath all the formatting, is answering two questions at once. What did you do, and why did you do it.

Neither answer is a sentence. Each is a code, and they come from two different systems that a lot of people run together.

The "what" is a CPT code. CPT stands for Current Procedural Terminology, the code set run by the American Medical Association (the AMA, the main professional body for U.S. physicians), and it tells the insurer exactly what procedure or test happened. Five digits. Biscuit's gene panel is CPT 81432, the code for a hereditary breast cancer-related genomic sequence panel, the kind that has to sequence at least ten genes and always includes BRCA1 and BRCA2 (the two best-known hereditary cancer genes). A routine blood count would have been CPT 85025 instead. The CPT is the claim naming the exact service that happened.

The "why" is an ICD-10-CM code. That stands for the International Classification of Diseases, 10th revision, Clinical Modification, which is the standard diagnosis code set in the U.S. It's maintained by two federal agencies: CMS, the Centers for Medicare and Medicaid Services (the agency that runs Medicare and Medicaid), and the CDC, the Centers for Disease Control and Prevention. The ICD-10 code is the reason the test was ordered, written as a code. A family history of cancer has one code. Actually having that cancer has a completely different one. The ICD-10 is the claim saying "here is why this was medically reasonable."

The two codes get assigned by different people using different logic. The CPT describes the procedure, the ICD-10 describes the patient, and they only work when they're filled in with each other in mind. An insurer never pays for a test in the abstract. It pays for a test that fits a reason.

Which is where almost every coding denial is actually born.

Where medical necessity actually lives

You'd think medical necessity lives in the diagnosis code. It doesn't. It lives in the match between the two codes, and Biscuit's story is the cleanest way to see it.

Take the exact same test, CPT 81432, and change only the "why."

Say she codes the reason as Z80.3, family history of malignant neoplasm of breast. That's Biscuit's real situation, his aunt, age 46. To BHC's system, that pairing reads as a sensible story: here is a patient with a family history of breast cancer, getting a hereditary breast cancer panel. The test fits the reason. Otis, the payer's reviewer, nods it through.

Now say she'd instead coded it as Z15.01, genetic susceptibility to malignant neoplasm of breast. Also a real code, also plausible, but it usually means there's already a known mutation in the family, documented. If the chart doesn't actually show that, the code is telling a story, the notes don't back up, and now the same panel looks unsupported.

And imagine she'd fat-fingered the reason to R53.83, other fatigue. Biscuit was tired the day of his visit, it's in the notes, it's a perfectly valid code. But a hereditary cancer gene panel ordered because a patient felt tired is not a story any payer will buy. The frustrating part is that the denial won't say "wrong diagnosis code." It'll say the test wasn't medically necessary, which sends everyone hunting in the wrong place for a week.

Same panel, same patient. Change one code and BHC reads a completely different story.

That's the handshake, and it's the thing to remember from this whole issue. When an insurer says a test wasn't medically necessary, most of the time it isn't making a medical judgment at all. It's saying the two codes didn't add up to a story that fit its coverage rule. This is the part Medical necessity 101 was quietly standing on the whole time. Necessity gets proven in the link between the codes, not in either one alone.

Modifiers: the fine print bolted onto the code

Say your two codes agree. You're still not done, because a CPT code can carry a small add-on called a modifier.

A modifier is two extra characters clipped onto the CPT code. It leaves the test itself alone and just adds a detail the payer needs, like a sticky note on the code that says "read this before you pay." The trouble is how much weight those two characters carry. A wrong one, or a missing one, can turn a paid claim into a denied one.

Three modifiers come up constantly in lab work, and each is telling the payer one specific thing.

Start with the one Biscuit's claim actually needs: modifier 90, "reference (outside) laboratory." His clinic ordered the panel but didn't run it. An outside lab did. Modifier 90 is the claim saying "we ordered this and we're reporting it, but the testing happened somewhere else." Without it, the payer can't tell who really did the work, and the claim stalls.

Modifier 91, "repeat clinical diagnostic laboratory test," covers a different situation. Sometimes a lab genuinely has to run the same test twice on the same patient on the same day to get a second reading. Modifier 91 tells the payer that repeat was on purpose. Leave it off and the payer's computer sees two identical tests on one day, decides someone billed the same thing twice, pays one, and denies the other.

Modifiers 26 and TC come up when one place runs a test and a different professional reads it. The easiest way to picture it is an X-ray. One office owns the machine that takes the image (the technical part, billed with TC), and a radiologist somewhere else interprets it and writes the report (the professional part, billed with 26). The work becomes two separate bills. Put the wrong half on your claim and you've billed for work you didn't actually do.

The modifier only changes what the claim says about the test, and payers read that part closely.

A clean claim isn't a correct test

Every billing office throws around the phrase clean claim. It sounds like it means a claim with no mistakes. It means something narrower and a little crueler than that.

A clean claim is one where every piece of information agrees with every other piece, and with the authorization on file. A field can be perfectly correct on its own and still sink the claim, because "clean" asks the pieces to agree with each other, which is a higher bar than each piece being accurate.

Look at everything that has to line up on Biscuit's claim. The CPT (81432) has to match what was actually authorized. The ICD-10 has to support that CPT. The ordering provider on the claim, identified by NPI (National Provider Identifier, the unique ten-digit number every provider carries), has to be the one who actually ordered it, and match the auth. The dates have to line up. The lab that ran the test has to be the one billing for it. The prior authorization number has to be sitting right there on the claim, pointing at the exact service it approved.

Any one of those can be right while the claim still dies, because two of them don't line up.

This is the trap Prior Auth Submission Secrets (Part 2) set up, and we can finally spring it. BHC approved 81432. But say that during the run, the lab reflexes into an add-on test, a second analysis that fires automatically off the first result. That reflex test carries its own CPT code, and nobody authorized that one. The claim goes out with a service the auth on file never mentioned, and BHC's computer does the only thing it knows how to do. It looks for an authorization matching the code in front of it, finds none, and stamps the claim: no authorization on file. The test was appropriate and the auth was real. However, they just pointed at different codes.

So a lab can do everything right at the bench and still lose the money at the keyboard. The test being fine and the claim getting paid are separate outcomes, but only one of them happens in the billing office.

Short version: a clean claim is agreement between codes. Every code has to match every other code and the authorization. One code that disagrees sinks the ones that are right.

What the numbers say

One number worth sitting with before the hard part. Experian Health's 2025 State of Claims report, which surveyed 250 revenue cycle leaders, found that the top reasons claims get denied are missing or inaccurate data, authorization problems, and incomplete patient information. Almost all of that is coding-adjacent. An insurer denying because it disagrees with the medicine turns out to be the rare case. Far more often, something in the data was just wrong.

The good news is buried there. You usually can't change an insurer's coverage policy, but you have complete control over whether your codes agree before the claim goes out. The most common denial is also the most preventable one.

Why diagnostics breaks worse than everything else

Everything so far applies to any claim. If you work in genetic or specialty lab billing, your world is harder, for two reasons.

The first is the codes themselves. Most CPT codes are generic. Code 85025 is a blood count no matter which lab runs it. But a lot of advanced molecular tests are too specific for a generic code, so the AMA gave them their own set, called PLA codes (Proprietary Laboratory Analyses). You can spot one on sight, because it ends in the letter U, like 0129U.

PLA codes are fragile for a simple reason. One PLA code usually points to one exact test from one exact lab, more like a product barcode than a category. That leaves more ways to get it wrong. Use a generic code when a PLA was required, or bill a PLA code the patient's plan doesn't recognize, and the claim breaks in ways a simple blood count never would.

The second reason is the names. Two completely different things in this world are both called a "Z-code," and confusing them is a classic way to lose a claim.

Z-code number one is the ICD-10 Z-code, the diagnosis code we already met (Z80.41, Z15.02). It's the "why": family history, or genetic risk.

Z-code number two is the MolDX DEX Z-Code, and it has nothing to do with a diagnosis. MolDX (short for Molecular Diagnostics) is a Medicare program that makes labs register their molecular tests. When a lab registers a test, it gets a unique five-character ID through a registry called DEX (the Diagnostics Exchange). That ID is also nicknamed a "Z-code," and it tells the payer exactly which lab's test this is. If a MolDX plan wants that ID and it isn't on the claim, the claim doesn't pay, even when your diagnosis Z-code was perfect.

So one molecular claim can carry two "Z-codes" doing two unrelated jobs, one a diagnosis and one a test ID, and the shared nickname helps no one. Insurance named two different things the same thing, again.

If your head hurts a little, good. That confusion is exactly why diagnostic labs leak more money to coding denials than almost anyone else. And it's exactly the kind of thing BHC and Meridian aren't villains about. They're running a system that happens to reward whoever keeps the codes straight, and punishes whoever doesn't.

The Monday morning move (for doctors, billers, and revenue cycle teams)

  1. Before a claim goes out, say the reason out loud in one sentence: "We ran this test because the patient has this." For Biscuit: "We ran a hereditary cancer panel because he has a family history of ovarian cancer." If that sentence holds up, the diagnosis code and the test code agree. If it doesn't, fix it now, because the payer is going to ask the same question.

  2. Treat every reflex or add-on test as an authorization risk. When a test fires automatically during a run, its code was never on the original auth. Catch it before the claim leaves, and either get it added to the auth or expect that line to deny.

  3. Match the claim to the exact authorized code. The auth approved one specific CPT. If the claim goes out under a different one, even a close cousin, the payer's system reads it as no authorization on file.

  4. For molecular tests, keep a one-page cheat sheet per payer: which PLA code they want, whether they require a MolDX DEX Z-code, and which diagnosis codes support coverage. Build it once so nobody re-learns it claim by claim.

What to do this week (for patients)

  1. If a claim gets denied, ask the billing office one question first: was this a coding denial? Those are often the easiest to fix and the most likely to reverse without a real fight.

  2. Then ask two more: which codes did you bill, and did they match what the insurer authorized? If the answer is no, that's the provider's mistake to fix, and it should not land on your bill.

What this issue doesn't cover

We stayed on the surface of the molecular world on purpose. The deeper coding layers, like Tier 1 and Tier 2 molecular codes, genomic sequencing panels, and the full MolDX registration process, are their own issue.

We also skipped the codes that come back on a denial, the reason codes an insurer uses to explain a no. The common ones are called CARCs and RARCs (Claim Adjustment Reason Codes and Remittance Advice Remark Codes), like CO-197, which just means the authorization was missing. How to read a denial and its remittance is a whole issue by itself. Reply and tell me which one you want next.

If you want more background

Two that pair with this one: Medical necessity 101 , for why the code match is the whole ballgame, and Prior Auth Submission Secrets (Part 2), for how the reflex-test mismatch happens in the first place.

At Converus, this is the exact problem we work on. The coding rules, the auth-to-code matching, the PLA and MolDX requirements that differ by payer and delegate, all of it lives scattered across dozens of policies that keep changing. We centralize those reimbursement rules in one place, current and readable, so the codes are right before the claim ever goes out. If your team is losing money to denials that trace back to a code, that's what we're built to fix.

That's it for this issue. Hit reply. I read everything.

Sources
  • CPT 81432 descriptor (hereditary breast cancer panel, at least 10 genes including BRCA1 and BRCA2), and CPT 85025 (complete blood count with automated differential): AMA CPT, via AAPC Codify, CPT 81432 and AAPC Codify, CPT 85025. Supports the "what" code and the specific test numbers.

  • ICD-10-CM Z80.3, "Family history of malignant neoplasm of breast," and Z15.01, "Genetic susceptibility to malignant neoplasm of breast": ICD10Data, Z80.3 and ICD10Data, Z15.01. Supports the family-history versus genetic-susceptibility distinction.

  • ICD-10-CM R53.83, "Other fatigue," and C50, "Malignant neoplasm of breast": ICD10Data, R53.83 and ICD10Data, C50. Supports the mismatch example and the personal-cancer contrast.

  • Modifier 90 (reference/outside laboratory) and modifier 91 (repeat clinical diagnostic laboratory test): AAPC, "Don't Look Past Modifiers 90-99". Supports the modifier definitions.

  • Modifier 26 (professional component) and modifier TC (technical component): AAPC, "When to Apply Modifiers 26 and TC". Supports the professional-versus-technical split.

  • Proprietary Laboratory Analyses (PLA) codes, an alphanumeric subset of CPT (four digits plus the letter U): AMA, CPT PLA Codes and, for an example code, AAPC Codify, 0129U. Supports the PLA "U" convention.

  • MolDX DEX Z-Code, a unique molecular-test identifier required by Medicare's MolDX program (administered by Palmetto GBA through the DEX Diagnostics Exchange): Palmetto GBA, MolDX / DEX. Supports the second "Z-code" and the naming collision.

  • How code combinations are adjudicated (the "clean claim" mechanics): CMS, National Correct Coding Initiative (NCCI) edits. Supports the codes-must-agree section.

  • Top reasons claims get denied (missing or inaccurate data, authorizations, incomplete patient information): Experian Health, 2025 State of Claims Report. Supports the stat poster.

Disclaimer: The content published by preimbursed (the "Newsletter") is provided for general informational and educational purposes only and reflects the opinions and commentary of the author. It does not constitute, and should not be relied upon as, medical, legal, financial, tax, insurance, or other professional advice. No physician-patient, attorney-client, fiduciary, or other professional relationship is created by reading the Newsletter or by corresponding with the author. The Newsletter is not a substitute for individualized advice from a qualified professional. Before making any healthcare, coverage, insurance, financial, or legal decision, you should consult your own physician, attorney, benefits administrator, or other licensed advisor and review your specific plan documents, policies, and applicable law. The author is not responsible for any action taken or not taken in reliance on the content herein, and you assume full responsibility for your use of the information provided. Information in the Newsletter is believed to be accurate as of the date of publication and is drawn from the sources cited. Laws, regulations, coverage rules, corporate ownership, market data, and other facts change frequently and may have changed since publication. Certain statements describe pending, recently enacted, or phased-in legal and regulatory changes whose scope, interpretation, and effective dates may shift. The author makes no representation or warranty, express or implied, regarding the accuracy, completeness, timeliness, or reliability of any content, and disclaims all liability for any errors or omissions to the fullest extent permitted by law. References to any company, organization, product, government program, or individual are made solely for purposes of news reporting, commentary, analysis, and criticism, and do not imply any endorsement, sponsorship, affiliation, or partnership. All trademarks, service marks, and trade names are the property of their respective owners and are used only for identification and descriptive purposes. Where a named party disputes a characterization or finding, the Newsletter notes that dispute. Statements concerning identified companies reflect cited reporting and the author's opinion and analysis of matters of public concern. Certain characters, organizations, and scenarios in the Newsletter, including but not limited to Biscuit, Dr. Singh, and composite payer and provider names, are fictional and used for illustration. Any resemblance to actual persons or entities is coincidental.

Disclosure: The authors are the co-founders of Converus.ai, a company that organizes payer policy information for healthcare providers, and therefore has a commercial interest in the subject matter discussed. References to Converus.ai are made only where relevant and are not paid placements. To the fullest extent permitted by applicable law, the author and preimbursed disclaim all warranties and shall not be liable for any direct, indirect, incidental, consequential, or other damages arising out of or in connection with your use of, or reliance on, the Newsletter.

Keep Reading