The most commonly used PGx CPT codes in pharmacogenetic billing are 81225 (CYP2C19), 81226 (CYP2D6), 81227 (CYP2C9), 81355 (VKORC1), 81120 (RYR1), 81121 (RYR1 sequencing), 81161 (DMD deletion/duplication), 81162 (BRCA1/BRCA2), 81415 (exome sequencing), 81416 (exome re-sequencing), and 81418 (drug metabolism multi-gene panel). For most routine pharmacogenomics billing, the rule is straightforward: when a single gene is ordered and the CPT descriptor matches the assay, report the gene-specific code; when six or more genes meeting the 81418 descriptor are tested for drug metabolism purposes, report the panel code. Before submitting any PGx claim, verify these items:
- The CPT code selected matches the gene(s) actually tested and the assay complexity performed
- The claim narrative lists the specific gene names when billing CPT 81418
- An ICD-10 code tied to a medication-management indication is present on the claim
- The ordering clinician's documentation supports medical necessity for the test
- The MAC's Local Coverage Determination (LCD) for the jurisdiction has been reviewed
Key Takeaways
Accurate PGx billing requires matching the CPT code to the assay performed, documenting medication intent, listing gene names for 81418, and verifying the applicable MAC LCD before every submission.
| Point | Details |
|---|---|
| Match CPT to assay complexity | Use the most specific gene-level code available; bill 81418 only when the assay meets the six-gene descriptor. |
| List genes for 81418 claims | CMS requires the specific gene names in the claim narrative (Loop 2400 SV101-7 or Box 19) — missing this is a leading denial cause. |
| Document medication intent | Every PGx claim needs an ICD-10 code tied to a medication-management indication and an ordering note that explains the prescribing question. |
| Check the MAC's LCD first | Coverage rules vary by jurisdiction; verify the applicable LCD before submitting any PGx claim, and re-check quarterly for updates. |
| SignalPGx reporting | SignalPGx auto-generates structured gene lists and medication-context reports that give billing teams the claim-ready documentation 81418 and single-gene claims require. |
Table of Contents
- Core PGx CPT codes: which genes and tests each code documents
- Panel and sequencing codes: when to use 81418 vs multiple single-gene codes
- Operational coding rules: serial vs parallel testing, same-date codes, and unlisted code 81479
- Payer coverage, Medicare/CMS guidance, and LCDs affecting PGx coding
- Documentation checklist and how to choose ICD-10 codes for PGx claims
- Sample claim-line templates and real-world billing scenarios
- How PGx reporting platforms reduce coding friction and support defensible billing
- A lab coder's perspective on PGx billing realities
- Labs evaluating PGx reporting infrastructure: what SignalPGx offers
- Sources
- FAQ
Core PGx CPT codes: which genes and tests each code documents
The 2012 AMA CPT restructuring replaced a handful of broad molecular pathology codes with gene-specific analyte codes, giving billing teams a more precise vocabulary for pharmacogenetic testing. That shift created the tier 1 codes that dominate PGx billing today. Understanding what each code's descriptor actually requires is the first line of defense against denials.
| CPT Code | Gene / Test | Short Descriptor | Code Type |
|---|---|---|---|
| 81225 | CYP2C19 | Common variants (e.g., *2, *3) | Single-gene, tier 1 |
| 81226 | CYP2D6 | Common variants and duplications | Single-gene, tier 1 |
| 81227 | CYP2C9 | Common variants (e.g., *2, *3) | Single-gene, tier 1 |
| 81355 | VKORC1 | Common variants (e.g., specific promoter variant) | Single-gene, tier 1 |
| 81120 | RYR1 | Known familial variant | Single-gene, tier 1 |
| 81121 | RYR1 | Full gene sequencing | Single-gene, sequencing |
| 81161 | DMD | Deletion/duplication analysis | Single-gene, tier 1 |
| 81162 | BRCA1/BRCA2 | Full sequencing and del/dup | Single-gene, sequencing |
| 81415 | Exome | Sequencing and interpretation | Exome sequencing |
| 81416 | Exome | Re-sequencing (known variant) | Exome re-sequencing |
| 81418 | Multi-gene drug metabolism panel | ≥6 genes including CYP2C19, CYP2D6 | Panel, tier 2 |

Real-world utilization data from a tertiary academic medical center confirms that 81225, 81226, and 81227 are among the most frequently billed codes for in-house PGx testing, and that reimbursement inconsistencies often trace back to descriptor mismatches rather than coverage gaps. The CodingAhead genetic testing CPT guide groups these tier 1 analyte-specific codes (811xx–813xx range) separately from the panel and sequencing codes (81410–81479 range), a distinction that directly affects which billing pathway applies.
Pro Tip: Always verify the current CPT descriptor from the AMA CPT resources page before coding a new assay. Descriptors specify variant counts, gene regions, and complexity levels that determine whether your assay qualifies for a given code — and those details change with annual CPT updates.
Panel and sequencing codes: when to use 81418 vs multiple single-gene codes
CPT 81418 is the workhorse code for multi-gene drug metabolism panels, but it carries specific descriptor requirements that coders must satisfy before using it. Per CMS guidance (A58801), the 81418 descriptor requires testing of at least six genes, and CYP2C19 and CYP2D6 must be among them. When your lab's assay meets that threshold, panel coding is the expected approach — billing individual single-gene codes for each gene on a qualifying panel is not appropriate and will draw scrutiny.
The broader 81410–81479 range covers everything from targeted gene panels to large-scale sequencing. Within PGx specifically, the practical decision tree looks like this:
- 81418 applies when the assay tests six or more drug-metabolism genes meeting the descriptor, and the clinical intent is medication management.
- Multiple single-gene codes apply when the order specifies individual genes, the assay does not meet the 81418 descriptor, or payer policy requires component-level billing.
- Exome codes (81415/81416) apply when the assay is a whole-exome or clinical exome, not a targeted PGx panel.
- 81479 (unlisted molecular pathology) applies when no existing code accurately describes the assay performed.
Labs running large NGS panels that include PGx genes alongside oncology or hereditary disease markers face a more complex decision: the panel code that best describes the primary clinical purpose of the test generally governs, and billing 81418 alongside a separate oncology panel code for the same run requires clear documentation of distinct clinical indications.
Red flags that lead payers to reject panel coding in favor of single-gene codes:
- No documented prescribing decision tied to the panel result
- Panel ordered without a specific medication context in the clinical record
- Assay does not meet the minimum gene count or gene-name requirements in the CPT descriptor
- Prior authorization was not obtained when the payer requires it for panels
- The ordering provider's note does not reference the genes or drugs being evaluated
Operational coding rules: serial vs parallel testing, same-date codes, and unlisted code 81479
Serial and parallel testing are not just academic distinctions — they determine whether multiple CPT codes on the same date of service will adjudicate correctly or trigger an edit. Serial testing means one test result drives the decision to order the next; parallel testing means multiple tests are ordered simultaneously. CMS guidance (A58801) addresses this directly: when tests are performed in parallel on the same date, each code may be reported, but the documentation must support the simultaneous medical necessity of all ordered tests.
When a single-gene order is performed on a multi-gene platform, CMS guidance (A59914) allows billing for the reasonable and necessary component, provided documentation confirms that only the ordered component was intended to drive clinical care. This is a critical operational point for labs running large NGS panels: the billed code should reflect what was clinically indicated, not the full technical scope of the platform.
When to use 81479: Report the unlisted molecular pathology code when no existing CPT code accurately describes the assay. When billing 81479, include in the claim narrative:
- The gene(s) tested and the type of analysis performed
- The clinical indication and how the result will affect patient management
- A statement that no existing CPT code describes the service
- Supporting documentation from the ordering provider
Pre-submission checklist for reflex or staged testing:
- Confirm whether the initial test result triggered the reflex order (serial) or both were ordered at the same time (parallel).
- Verify that each billed code has a corresponding order and result in the medical record.
- Check that the claim narrative identifies the genes tested when billing 81418 or 81479.
- Confirm the date of service on each code matches the date the test was performed, not the date reported.
- Review the MAC's LCD for any frequency or sequencing restrictions that apply to the specific codes billed.
Pro Tip: Build an internal assay map that links each test your lab runs to its CPT code, the genes it covers, and the payer-specific billing rules that apply. Labs that maintain this map and run a pre-bill audit against it catch descriptor mismatches before the claim goes out — and that single step reduces denials more reliably than any appeal process.
Payer coverage, Medicare/CMS guidance, and LCDs affecting PGx coding
Medicare coverage for PGx testing is not governed by a single national policy. Instead, it flows through a combination of CMS guidance articles, Local Coverage Determinations issued by Medicare Administrative Contractors (MACs), and in some cases National Coverage Determinations (NCDs). The geographic variability is real: a test covered under one MAC's LCD may be non-covered under another's, even when the CPT code is identical.
For CPT 81418 specifically, CMS guidance (A59914) reiterates that the names of the individual genes tested must appear in the claim narrative. Missing that narrative detail is one of the most common and preventable causes of 81418 denials. On 837P electronic claims, the gene list belongs in Loop 2400 SV101-7; on paper CMS-1500 claims, it goes in Box 19.
Payer-specific items to verify on every PGx claim:
- Medical necessity: The ordering provider's documentation must link the test to a specific medication decision or prescribing question. Broad, non-targeted panels without documented prescribing intent are frequently denied.
- Prior authorization: Many commercial payers and some MACs require prior authorization for panel codes. Confirm requirements before the test is performed, not after.
- LCD applicability: Identify the patient's MAC and pull the current LCD for the relevant CPT codes. LCDs specify covered indications, non-covered indications, and documentation requirements.
- Lifetime frequency rules: Medicare treats germline PGx testing as a once-in-a-lifetime service for most genes. Re-testing the same gene on the same patient requires documentation of a clinical reason that justifies an exception.
- Diagnosis code alignment: The ICD-10 code on the claim must match a covered indication listed in the applicable LCD.
Pro Tip: The CMS Medicare Coverage Database (MCD) at cms.gov/medicare-coverage-database is the authoritative source for LCDs and NCDs. Search by CPT code and your MAC's contractor ID to pull the exact policy that applies to your claims. Review it each time a new CPT code is added to your lab's menu, and set a calendar reminder to re-check quarterly — LCDs are updated without advance notice.
Understanding coding workflow types between the lab and the billing team is also worth formalizing, because PGx claims often require clinical context that only the ordering provider can supply — and delays in obtaining that context after the claim is submitted are expensive.
Documentation checklist and how to choose ICD-10 codes for PGx claims
The medical record and the claim must tell the same story. For PGx testing, that story is always about a medication decision: which drug is being considered, why the patient's genotype matters, and how the result will affect prescribing. Cleveland Clinic's pharmacogenomics overview illustrates how genotype results directly inform drug selection and dosing — and that clinical logic is exactly what payers expect to see documented.
Documentation checklist for every PGx claim:
- Ordering provider's note specifying the drug(s) under consideration and the clinical question the test will answer
- Patient's current medication list or relevant medication history
- The specific gene(s) ordered and the rationale for testing each
- Prior testing history (to support medical necessity and avoid duplicate-testing denials)
- Signed test report with gene names, variants detected, and phenotype interpretation
- For 81418: a narrative gene list on the claim itself (Loop 2400 SV101-7 or Box 19)
- For 81479: a description of the assay and a statement that no existing CPT code applies
Selecting ICD-10 codes tied to medication management:
The ICD-10 code on a PGx claim should reflect the clinical reason the test was ordered, not the gene being tested. Common approaches:
- Use the diagnosis code for the condition being treated (e.g., F32.1 for major depressive disorder when testing CYP2D6 before prescribing an antidepressant).
- Use a medication-management code when the test is ordered to guide dosing or drug selection for an established condition.
- The FDA's table of pharmacogenetic associations lists drug-gene pairs with therapeutic recommendations and safety considerations — it is a practical starting point for identifying which diagnosis codes align with a given gene-drug pair.
For CYP2C19 and clopidogrel, for example, the clinical and billing implications are well-established: the ICD-10 code should reflect the cardiovascular indication driving the prescribing decision, not a generic "genetic testing" code.
Medicare germline testing and re-testing: Medicare generally treats germline PGx results as permanent — the genotype does not change. Re-testing the same gene for the same patient requires documentation that the prior result is unavailable, the prior test was performed at insufficient resolution, or a new clinical question justifies the repeat. Without that documentation, a re-testing claim will be denied.
For 837P electronic claims, the claim narrative for 81418 and 81479 belongs in the SV101-7 field. For paper CMS-1500 claims, use Box 19. A missing or vague narrative in either location is a leading cause of preventable denials.
Sample claim-line templates and real-world billing scenarios
Concrete examples clarify where coding decisions get complicated. The scenarios below reflect common situations labs encounter, along with the recommended coding approach for each.
| Scenario | CPT Code(s) | ICD-10 Example | Claim Narrative Note |
|---|---|---|---|
| CYP2C19 ordered before clopidogrel initiation | 81225 | I25.1 (coronary artery disease) | "CYP2C19 variant analysis for clopidogrel metabolism" |
| Six-gene drug metabolism panel (meets 81418 descriptor) | 81418 | F32.1 (major depressive disorder) | List all six gene names: CYP2C19, CYP2D6, CYP2C9, VKORC1, SLCO1B1, CYP3A5 |
| Novel assay, no matching CPT descriptor | 81479 | Z79.89 (long-term medication use) | "Unlisted molecular pathology: [gene name], [variant type], no existing CPT code applies" |
| CYP2D6 ordered; lab platform also runs CYP2C19 | 81226 only | F32.1 | Bill only the ordered component; document that CYP2C19 was not clinically indicated |
Scenario 1: Single gene ordered, multi-gene platform used. The lab's NGS panel technically generates CYP2C19 and CYP2D6 data, but the order specifies only CYP2D6 for antidepressant selection. Per CMS guidance, bill 81226 for the ordered component only. The CYP2C19 result should not be billed unless the ordering provider documented a separate clinical question for that gene.
Scenario 2: Panel ordered for medication selection. The provider orders a six-gene drug metabolism panel before initiating a psychiatric medication regimen. The assay meets the 81418 descriptor. Bill 81418, list all six gene names in the claim narrative, and attach the ordering provider's note linking the panel to the prescribing decision.
Scenario 3: Reflex testing chain. CYP2D6 is ordered first; the result shows an indeterminate copy number, prompting a reflex order for CYP2D6 copy number variation analysis. The initial test and the reflex test are billed on their respective dates of service with documentation in the record confirming that the reflex was triggered by the initial result (serial testing).
When a PGx claim is denied: Request the remittance advice remark code (RARC) and the claim adjustment reason code (CARC) to identify the specific denial reason. Common PGx denial reasons include missing narrative, non-covered indication, and lack of prior authorization. Appeals should include the ordering provider's clinical note, the signed test report, the LCD or coverage policy cited in the denial, and a written argument addressing the specific denial reason.
Pro Tip: Run a pre-bill audit on every PGx claim before submission: confirm the CPT code matches the assay performed, the ICD-10 code matches a covered indication in the applicable LCD, the narrative is present and complete, and prior authorization is on file if required. Labs that build this four-point check into their billing workflow — rather than treating it as an exception step — see materially fewer denials. For additional guidance on modifier usage in physician billing, the same pre-bill discipline applies when modifiers are needed to explain unusual circumstances on a PGx claim.
How PGx reporting platforms reduce coding friction and support defensible billing
The documentation burden for PGx claims is higher than for most molecular pathology tests. A single 81418 claim requires a gene list in the narrative, an ICD-10 code tied to a specific medication context, a signed report with phenotype interpretations, and an ordering note that connects all of it. Labs managing that documentation manually — across multiple ordering providers, multiple assays, and multiple payers — face a compounding risk of gaps.
PGx reporting software addresses that risk at the source. Platforms that auto-generate structured reports from genotype data can produce the claim-ready documentation coders need without requiring a separate manual step. Specific use cases where software reduces denial risk:
- Automated gene lists: A reporting platform that outputs a structured gene list with each report gives the billing team exactly what belongs in the 81418 claim narrative, formatted consistently across every order.
- Medication context linkage: Reports that tie each gene result to the drugs it affects — using CPIC guidelines, FDA biomarker labeling, and DPWG recommendations — give the ordering provider the clinical language needed to write a defensible ordering note. That note is what survives a payer audit.
- Living reanalysis: When guidelines change, a platform with living reanalysis capability can update prior reports without requiring a new test order, which directly supports the argument against re-testing denials.
- Audit trails: A platform with a medical director review and audit trail produces the kind of documented oversight that payers and auditors expect from a CLIA-compliant lab.
- HL7/FHIR integration: Direct integration with the EHR means the ordering provider's note and the lab report are linked in the same record, reducing the documentation gaps that cause denials.
An example of what a reporting platform can auto-generate to support an 81418 claim: a structured report header listing the six genes tested (CYP2C19, CYP2D6, CYP2C9, VKORC1, SLCO1B1, CYP3A5), each gene's detected variant and phenotype, the drugs affected by each phenotype, and the guideline source for each recommendation. That output, attached to the claim or referenced in the ordering note, satisfies the narrative requirement and gives the payer a complete clinical picture in a single document. For labs building this capability, understanding the PGx pipeline from genotype to guidance clarifies where reporting software fits in the workflow.
A lab coder's perspective on PGx billing realities
The gap between how PGx billing is described in coding guidelines and how it actually operates in a lab is wider than most training materials acknowledge. In practice, the hardest part of coding a PGx claim is not selecting the CPT code — it is obtaining the documentation from the ordering provider in time to submit the claim cleanly. Providers order PGx tests for legitimate clinical reasons, but their notes often describe the clinical question in general terms that do not map directly to a covered LCD indication. That gap lands in the lap of the billing team.

Two steps labs can implement immediately to close that gap: first, build a standardized order form that prompts the ordering provider to specify the drug under consideration and the clinical question the test will answer — this takes the documentation burden off the coder and puts it where it belongs, at the point of order. Second, establish a pre-bill review step that flags any PGx claim where the ICD-10 code does not appear in the applicable LCD's covered indications list before the claim is submitted. Both steps are operational, not technical, and neither requires a software investment to implement. The clinically defensible PGx report framework is a useful reference for structuring the documentation that supports both the clinical record and the billing claim.
Labs evaluating PGx reporting infrastructure: what SignalPGx offers
Coding friction in PGx billing often starts with a documentation gap, not a coding error. SignalPGx addresses that gap at the source: the platform auto-generates physician-reviewed, evidence-graded reports that include structured gene lists, medication context, and phenotype interpretations — exactly the content your billing team needs to populate a defensible 81418 or single-gene claim narrative. Labs that deploy SignalPGx's white-label PGx reporting infrastructure typically go live within 5–7 days, with HL7/FHIR integration for EHR connectivity and a full audit trail for CLIA and payer compliance.

The platform is built for clinical laboratories, not individual clinicians, and is not a substitute for clinical coding judgment or payer-specific LCD review. To see how the reporting workflow maps to your lab's billing process, book a demo with the SignalPGx team.
Sources
Staying current on PGx coding requires checking multiple authoritative sources on a regular cadence. The following resources are the primary references for U.S.-based billing teams:
- Billing and Coding: Pharmacogenomics Testing (A58801)
- Documenting Pharmacogenomic Testing with Current Procedure Terminology (CPT) Codes, A Review of Past and Present Practices
- Table of Pharmacogenetic Associations (FDA)
FAQ
What CPT code is used for a pharmacogenomics drug metabolism panel?
CPT 81418 is the standard code for a multi-gene drug metabolism panel when the assay tests at least six genes, including CYP2C19 and CYP2D6. The specific gene names must be listed in the claim narrative per CMS requirements.
Is PGx testing covered by Medicare and commercial insurance?
Coverage varies by payer and jurisdiction. Medicare coverage is governed by MAC-issued Local Coverage Determinations, which differ by region and require documented medical necessity tied to a specific medication decision. Commercial payer coverage is similarly variable and often requires prior authorization for panel codes.
What ICD-10 code should be used for pharmacogenetic testing?
The ICD-10 code should reflect the clinical condition or medication-management reason driving the test order, not the gene being tested. For example, a CYP2D6 test ordered before antidepressant initiation would use the diagnosis code for the psychiatric condition being treated.
When should CPT 81479 (unlisted molecular pathology) be used for PGx billing?
Use 81479 when no existing CPT code accurately describes the assay performed. The claim must include a narrative describing the gene(s) tested, the type of analysis, the clinical indication, and a statement that no existing code applies.
Is CPT 81406 used in pharmacogenetic testing?
This article provides general coding and billing information for educational purposes and does not constitute clinical, legal, or reimbursement advice. Coders should verify specific gene and analysis types against current AMA CPT descriptors before use, as coding requirements vary.
