Pharmacogenomics looks at how a patient’s genes shape their response to a drug. A test can tell a provider whether a standard dose of a blood thinner will work as expected, run too weak, or build up to dangerous levels in someone’s system. That’s a real clinical win, but the billing side of PGx testing hasn’t kept pace with the science, and labs and practices are often left piecing together four different coding systems just to get one claim paid correctly.
This piece walks through those coding systems one at a time, what each code actually does on a claim, and where PGx billing tends to break down.
None of this is a minor administrative detail. A denied or delayed PGx claim can mean a patient waits weeks longer for a result that was supposed to speed up their care in the first place, and it means a lab absorbs the cost of a test it already ran. Getting the coding right on the front end is the difference between a clean payment cycle and months of appeals.
Key Takeaways
- PGx testing draws on four separate coding systems: CPT, HCPCS, ICD-10-CM, and PLA codes, and each one does a different job on the claim.
- Multi-gene panels often lack a dedicated CPT code, which forces labs to bill under the unlisted code 81479 along with extra documentation.
- ICD-10-CM codes like Z13.79 and Z51.81 establish medical necessity, and that alone can decide whether a payer approves or denies the claim.
- PLA codes, such as 0070U, give a proprietary single-lab test its own number, which usually moves faster through review than an unlisted code does.
- Payer policy on PGx coverage varies enough that the same test can get approved by one insurer and denied outright by another.
What is Pharmacogenomic Testing, and Why Does It Complicate Billing?
A pharmacogenomic test analyzes specific genes known to affect how a person metabolizes certain drugs. The result tells a clinician whether a patient is likely to break down a medication too fast, too slow, or right on target, which shapes dosing decisions for everything from antidepressants to blood thinners to certain cancer treatments.
The billing problem isn’t the science. It’s that PGx testing sits at the intersection of genetics, pharmacology, and lab medicine, and none of the major coding systems were built with that combination fully in mind. New tests come out faster than new codes do, so labs and billers end up filling gaps with unlisted codes, extra documentation, and a fair amount of guesswork about what a given payer will actually cover.
What Types of PGx Tests Affect How a Claim Gets Coded?
Two broad categories drive most of the coding decisions on a PGx claim.
- Single-gene tests look at one specific gene known to affect the metabolism or effectiveness of a particular drug class.
- Multi-gene panels test several genes at once, giving a wider picture of how a patient is likely to respond across multiple medications.
Single-gene tests tend to have matching PGx CPT codes already on the books. Multi-gene panels are where things get messy, since a panel testing eight or ten genes together often doesn’t map to any single existing code.
Panel testing has also grown faster than single-gene testing in recent years, largely because it gives a clinician more usable information from one blood draw instead of ordering separate tests one at a time as questions come up. That shift toward panels is good for patient care and bad for billing simplicity, since panels are exactly the tests most likely to lack a dedicated code.
Which CPT Codes Come Up Most in PGx Billing?
CPT codes, maintained by the American Medical Association, describe the specific procedure a lab performed.
A handful of them show up constantly in PGx billing:
- 81225: CYP2C19 gene analysis
- 81226: CYP2D6 gene analysis
- 81227: CYP2C9 gene analysis
- 81291: MTHFR gene analysis
- 81355: VKORC1 gene analysis
- 81479: Unlisted molecular pathology procedure
That last one, 81479, does a lot of heavy lifting. Multi-gene panels frequently don’t have a code of their own, so labs bill them under 81479 and attach documentation explaining exactly what was tested and why. It works, but it slows everything down. Unlisted codes get manually reviewed rather than processed automatically, and manual review means more time before payment and more chances for a reviewer to ask for additional records.
Picture a ten-gene panel run for a patient starting a new psychiatric medication. None of those ten genes has a combined CPT code, so the lab bills 81479 once and attaches a report listing each gene, the method used, and a note tying the panel to the specific medication decision it’s meant to inform. A reviewer on the payer side reads through that packet before approving payment, which can take anywhere from a few days to several weeks depending on the insurer’s current backlog.
What About HCPCS and PLA Codes?
HCPCS codes split into two levels. Level I is just CPT codes under a different name. Level II covers products, supplies, and services that CPT doesn’t touch, and in PGx testing that mostly means specific test kits.
G9143 is the main Level II code relevant here, used for warfarin responsiveness testing by genetic technique. It’s narrow, but when it applies, it applies cleanly, which is more than can be said for most PGx billing scenarios.
PLA codes are a newer addition, created specifically so proprietary tests from a single lab or manufacturer could get their own dedicated number instead of falling into the unlisted-code bucket.
Two examples worth knowing:
- 0070U: CYP2D6 gene analysis, common and select rare variants
- 0075U: Pharmacogenomics panel for antidepressants and antipsychotics
A PLA code gives a payer something specific to look up rather than a generic unlisted code with a stack of attachments behind it. That specificity tends to translate into faster, more predictable reimbursement.
Which ICD-10-CM Codes Justify Medical Necessity?
CPT and HCPCS codes tell the payer what was done. ICD-10-CM codes tell the payer why it was done, and that distinction matters more than it sounds like it should. A payer can deny an otherwise perfectly coded claim if the diagnosis code doesn’t clearly support the medical need for testing.
A few ICD-10-CM codes come up often in PGx claims:
- Z13.79: Encounter for other screening for genetic and chromosomal anomalies
- Z51.81: Encounter for therapeutic drug level monitoring
- R68.89: Other general symptoms and signs, often used for documented adverse drug reactions
The more specific the code, the stronger the claim. A vague or generic diagnosis code is one of the most common reasons a technically correct PGx claim still gets kicked back.
Why Do So Many PGx Claims Get Denied or Delayed?
Four problems account for most of the friction in PGx billing.
The first is missing codes. Multi-gene panels without a specific CPT or PLA code fall back to 81479, which triggers manual review nearly every time.
The second is payer inconsistency. One insurer’s medical policy might cover a given panel outright, while another treats the exact same test as investigational and denies it by default. There’s no single national standard that forces alignment here, so billers end up tracking payer-specific rules one plan at a time. A panel that sails through with one commercial payer can get an automatic denial from a Medicare Advantage plan the following week, for no reason other than which insurer’s policy the biller happened to be reading.
The third is documentation. Payers want proof that the test will actually change how the patient is treated, not just genetic curiosity. A request without a clear clinical rationale attached is an easy denial.
The fourth is speed. New PGx tests reach the market faster than new billing codes do, which means labs are constantly working with a coding system that’s a step or two behind the science it’s supposed to describe.
What Can a Practice or Lab Do to Get Paid Correctly?
A few habits consistently separate practices that get paid on time from ones stuck in appeals.
- Check payer policy on the specific test before ordering it, not after the claim gets denied.
- Use the most specific CPT or PLA code available, and only fall back to 81479 when nothing else fits.
- Attach clear clinical documentation up front, including why the result will change treatment.
- Pick the most specific ICD-10-CM code that fits the actual reason for testing, not the closest generic one.
- Train billing staff specifically on PGx codes rather than treating it as a subset of general molecular pathology billing.
- Track denial patterns by payer so the same avoidable rejection doesn’t happen twice with the same insurer.
None of these are complicated on their own. The trouble is that PGx billing asks a biller to hold all six at once, on a coding system that keeps shifting under them.
PGx Billing FAQ
What CPT code is used for CYP2D6 testing?
CYP2D6 gene analysis is billed under CPT code 81226. A PLA code, 0070U, also exists for CYP2D6 testing covering common and select rare variants, and some labs use that instead depending on which variants the test panel covers.
Why do labs use the unlisted code 81479 so often?
Most multi-gene PGx panels test combinations of genes that don’t match any single existing CPT or PLA code. Rather than leave the service unbilled, labs use 81479, the unlisted molecular pathology code, and attach documentation describing exactly what was tested.
What’s the difference between HCPCS and CPT codes in PGx billing?
CPT codes are actually HCPCS Level I codes. HCPCS Level II codes cover products, supplies, and services outside the standard CPT set, and in PGx testing that mainly applies to specific test kits like warfarin responsiveness testing under G9143.
Which ICD-10-CM code shows medical necessity for PGx testing?
It depends on the reason for the test. Z13.79 covers screening for genetic and chromosomal anomalies, Z51.81 applies to therapeutic drug level monitoring, and R68.89 is often used when the test follows a documented adverse drug reaction.
Do PLA codes get reimbursed faster than unlisted codes?
Usually, yes. A PLA code gives the payer a specific, recognizable code to process rather than an unlisted code that requires manual review and supporting documentation, which shortens the path to payment in most cases.
Where Is PGx Billing Headed Next?
Expect more PLA codes over time, since the AMA has been steadily adding them as specific proprietary tests gain traction. That should shrink how often labs need to fall back on the unlisted code.
Payer policy is likely to tighten around documentation requirements rather than loosen, as more evidence accumulates on which PGx tests actually change outcomes and which don’t. That’s a reasonable direction for payers to move in, but it means the documentation habits described above will matter more, not less, going forward.
Electronic health record integration is worth watching too. Right now, a lot of PGx results live in a separate lab portal disconnected from the billing system, which means someone has to manually connect a test result back to the diagnosis code and clinical note that justified ordering it in the first place. Tighter integration between EHR platforms and lab systems would cut down on that manual step, and a few larger health systems are already piloting it.
Getting PGx claims paid correctly takes more than picking the right CPT code. It means matching the test to the right code across four different systems, backing it with a diagnosis code that actually supports medical necessity, and knowing which payers still treat certain panels as investigational. Medwave handles that kind of specialty coding work as part of its medical billing services, alongside credentialing for labs and providers offering genetic testing, and payer contracting to help lock in coverage terms before a dispute over a denied panel ever comes up.
Co-Founder and COO of Medwave, bringing more than 30 years of hands-on experience in healthcare revenue cycle management, payer contracting, and medical credentialing.

