Billing a next-generation sequencing panel isn't like billing a CBC. The code selection for molecular diagnostics involves CPT tiers, MAAA codes, unlisted codes, and a MolDX Z-code layer that doesn't exist anywhere else in healthcare billing. Get it wrong and you'll have a clean claim that pays zero.
Disclaimer: This is educational, not billing, legal, or medical advice. Payer policies change frequently and your situation may differ from the examples here. Always verify current requirements with your payer's most recent published policy and consult qualified billing or compliance professionals. Use this information at your own risk.
CPT Tier 1 vs. Tier 2 vs. Unlisted — Know the Difference
The AMA CPT code set divides molecular pathology codes into two tiers.
Tier 1 codes (81200–81383) are gene-specific. Each code maps to a single gene or a defined gene variant. 81162 is BRCA1 and BRCA2 combined analysis. 81213 is BRCA1/2 uncommon variant. 81479 is an unlisted molecular pathology procedure — which matters because when no Tier 1 code exactly describes what you're doing, 81479 is your code.
Tier 2 codes (81400–81408) are organized by the level of analytical complexity, not by gene. They're categorized into stacked levels (Level 1 through Level 9) based on the technical difficulty of the analysis. These are less commonly used for commercial labs now that Tier 1 codes have expanded, but they still apply to some analyses.
81479 (Unlisted molecular pathology procedure) is the fallback. Many laboratory-developed tests, novel NGS panels, and multi-gene assays that don't match an existing Tier 1 code bill under 81479. Payers require detailed documentation with 81479 claims — you can't just drop it on a claim without a description. Most payers want a written description of the test methodology and the clinical indication.
The key point: if a Tier 1 code exists and specifically describes your test, use it. Using 81479 when a more specific code applies is a billing error that triggers review. The CPT code needs to be accurate and specific.
MAAA Codes and What They Cover
Multianalyte Assays with Algorithmic Analysis (MAAA) codes sit in their own section of CPT (81500–81599 and proprietary codes above 81599). These cover tests that combine results from multiple analytes — often multiple genes or biomarkers — into a single algorithmic score or risk stratification.
Examples: Oncotype DX Breast Recurrence Score (81519), the Decipher Prostate test (81541), Prosigna Breast Cancer Prognostic Gene Signature (81520). These are distinct CPT codes tied to specific commercially available tests, often with FDA clearance or clinical validation behind them.
Some MAAA tests also have PLA (Proprietary Laboratory Analyses) codes — specific codes assigned by the AMA to single-manufacturer tests. A PLA code identifies a unique test offered by a single lab. If the test you're billing has a PLA code, use it. Payers increasingly look for PLA codes for specific tests rather than accepting generic MAAA codes.
Coverage for MAAA codes varies significantly by payer. Medicare's coverage for some MAAA codes runs through Palmetto GBA under MolDX; you need a positive coverage determination and Z-code. Commercial payers have their own coverage policies. Don't assume that because a MAAA code exists it's covered — check the payer's specific policy.
DEX Z-Codes: What They Are and When You Need Them
The DEX Z-code system is Palmetto GBA's mechanism for identifying specific molecular tests under the MolDX program. It's not part of CPT or HCPCS. It's a supplemental billing requirement specific to Medicare claims processed by Palmetto GBA and its affiliates.
Here's how it works: before a lab can bill Medicare for a molecular test managed under MolDX, the lab must submit the test for technical assessment through the MolDX portal. If the assessment is positive, MolDX assigns the test a DEX Z-code — a unique identifier that looks like "ZZ000-0" and is appended to the claim in a specific field. Without the Z-code, the claim edits out.
Not every test requires a Z-code. Single-gene Tier 1 tests with established Medicare coverage may not require one. Multi-gene panels and novel molecular tests almost always do. Check the MolDX covered test list (available on the Palmetto GBA website) to determine your test's Z-code status.
For commercial payers, Z-codes aren't required. But having a positive MolDX technical assessment can be valuable in commercial PA and appeals situations — it's a coverage determination from a CMS contractor that demonstrates the test has been evaluated and approved for clinical use.
Companion Diagnostics and Biomarker Testing Codes
Companion diagnostic tests — those tied to FDA-approved therapies — have their own coding considerations. Tests like PD-L1 expression (often billed under 88360 for IHC), HER2 IHC (88360) or FISH (88377), and MSI/MMR testing (IHC under 88342 or 88344; PCR under 81301) have established CPT codes and generally clearer coverage than novel LDTs.
The billing challenge comes when a test is ordered as part of a comprehensive genomic profile but the companion diagnostic is also separately ordered. Don't double-bill. If the CGP result includes the biomarker status, billing the standalone companion diagnostic separately on the same encounter will get flagged under NCCI edits.
J-codes (HCPCS Level II J-codes) apply to oncology drug infusions, not to testing. J9355 is pertuzumab; J9354 is ado-trastuzumab emtansine. These are claim-level codes for drug administration, but they tie to the companion diagnostic in terms of coverage — payer policies covering J9355 often reference HER2 testing requirements, so your biomarker test documentation supports both the test claim and the downstream drug claim.
Getting ICD-10 Codes Right
Molecular test claims are sensitive to ICD-10 code specificity. Generic codes fail.
For somatic testing: specify the cancer type and laterality. C50.911 (malignant neoplasm of right breast, unspecified) is better than C50.9 (malignant neoplasm of breast, unspecified). For lymphoma, distinguish between Hodgkin and specific subtypes. Payers' LCD and NCD coverage criteria often list specific ICD-10 codes — if your code isn't on the covered list, the claim edits out automatically.
For hereditary testing: the ICD-10 codes are often Z-codes (family history codes) or personal history codes, not active malignancy codes. Z84.81 is family history of cancer (among others). These need to pair correctly with the test and the policy criteria.
Sources
- AMA CPT Code Set — current edition (Tier 1, Tier 2, MAAA, PLA codes)
- HCPCS Level II Code Set — CMS.gov (J-codes for oncology drugs)
- Palmetto GBA / MolDX Program — DEX Z-code technical assessment requirements
- CMS NCD 90.2 (next-generation sequencing in cancer — coverage criteria and applicable codes)
- 42 CFR §410.32 (Medicare ordering and documentation requirements)
- ASCO/CAP HER2 Testing Guidelines — coding and testing methodology reference