Pabau Engage inbox

Pabau Engage is here: every patient conversation in one inbox.

Learn more
HCPCS Code

HCPCS code P9100 – Platelet pathogen test


Code Definition

P9100 is the HCPCS Level II code for pathogen(s) test for platelets. It reports a test that checks a platelet unit for bacterial contamination, such as rapid bacterial testing or large volume delayed sampling (LVDS) culture.

P9100 reports the test alone, so hospitals bill it in addition to the platelet product code, such as P9035 or P9031. Medicare pays it separately under the hospital outpatient payment system.

Section
P0000-P9999 Pathology and laboratory services
Category
P9010-P9100 Blood and blood products, with associated procedures
Status
Active (2026 HCPCS Level II code set)
Billable
No
Code also known as
Pathogen test for platelets (CMS short descriptor)
Save time. Improve accuracy. Get paid faster.
Automate coding with Pabau

Let Pabau's smart automation suggest the right codes, reduce claim denials, and keep your practice compliant—effortlessly.

  • AI-powered code suggestions
  • Real-time compliance checks
  • Faster claims, fewer denials
Why practices choose Pabau
Save hours every week

Automate repetitive tasks and focus on what matters most—your patients.

Improve accuracy

Reduce coding errors and ensure compliance with the latest regulations.

Get paid faster

Clean claims, fewer denials, and faster reimbursements.

Grow with confidence

Powerful insights and reporting to help your practice thrive.

HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide

Key takeaways

Key takeaways

HCPCS code P9100 reports a pathogen test performed on a platelet unit, not the platelets themselves and not whole blood.

Bill P9100 in addition to the platelet product code, such as P9035 for leukocyte-reduced apheresis platelets or P9031 for whole blood-derived platelets.

It covers rapid bacterial testing and large volume delayed sampling (LVDS) culture, but never pathogen reduction, which P9073 already includes.

Medicare pays P9100 separately under OPPS with status indicator S in APC 5733, at a national rate of $60.27 in the October 2026 Addendum B.

The outpatient hospital MUE allows up to 12 units of P9100 per date of service, so the test count should match the platelet units tested.

HCPCS code P9100: Definition and code history

HCPCS code P9100 carries the official CMS descriptor “Pathogen(s) test for platelets.” It reports a test that checks a platelet unit for bacterial or other pathogen contamination before transfusion. The code describes the test only, so the platelet product always goes on the claim under its own P-code.

P9100 sits at the end of the P9010-P9100 range of HCPCS Level II blood and blood product codes. CMS created it as temporary code Q9987 on July 1, 2017, then replaced it with P9100 on January 1, 2018. The quarterly CMS HCPCS files still list January 1, 2018 as its effective date.

AttributeValue
CodeP9100
Long descriptorPathogen(s) test for platelets
Short descriptorPathogen test for platelets
Code typeLaboratory test on a blood product (not a product code)
Code rangeHCPCS Level II, P9010-P9100 (blood and blood products)
Effective dateJanuary 1, 2018 (replaced Q9987)
CMS type of service5, diagnostic laboratory
Medicare coverage codeD, special coverage instructions apply
OPPS status indicatorS, paid separately under OPPS
Claim formUB-04 (837I) for hospital outpatient claims

Each row above comes from the October 2026 CMS HCPCS file or the matching OPPS Addendum. Recheck both sources every quarter.

What P9100 covers: Rapid bacterial tests and LVDS culture

P9100 covers any test used to detect pathogen contamination in platelets. Platelets are stored at room temperature, so bacteria can grow in them in a way they cannot in refrigerated red cells or frozen plasma.

Two test types are reported with P9100 today. Both come from the strategies in the FDA guidance on bacterial risk control for platelets, published in September 2019 and revised in December 2020.

  • Rapid bacterial testing: a secondary test, often run by the hospital transfusion service before a unit is issued. It was the only P9100 test until 2021.
  • Large volume delayed sampling (LVDS): a culture-based test the blood center performs before it ships the unit. The hospital pays the supplier for it and reports that cost with P9100.
  • Other pathogen tests on platelets: CMS guidance says P9100 also describes any other test used to detect pathogen contamination of platelets.

CMS confirmed the LVDS use in its 2021 HCPCS coding decisions. It ruled that LVDS-tested leukocyte-reduced platelets are coded as the platelet code plus P9100, rather than with a new product code.

Not covered by P9100: pathogen reduction. A pathogen-reduced apheresis unit is reported with P9073, and the reduction step is built into that code. Billing P9100 on top of P9073 for the reduction process reports the same service twice.

P9100 vs. P9073 vs. P9010: Choosing the right code

Coders who expect a blood product code under P9100 tend to confuse it with its neighbors. The table below shows how P9100 differs from the product codes it travels with.

CodeOfficial descriptorWhat it reportsBilled with P9100?
P9100Pathogen(s) test for plateletsThe pathogen test on a platelet unitNot applicable
P9035Platelets, pheresis, leukocytes reduced, each unitThe apheresis platelet productYes, when the unit was LVDS-tested or rapid-tested
P9031Platelets, leukocytes reduced, each unitThe whole blood-derived platelet productYes, when the unit was LVDS-tested or rapid-tested
P9037Platelets, pheresis, leukocytes reduced, irradiated, each unitThe irradiated apheresis platelet productYes, when the unit carries a pathogen test
P9073Platelets, pheresis, pathogen-reduced, each unitA pathogen-reduced apheresis unitNo, pathogen reduction is included in P9073
P9010Blood (whole), for transfusion, per unitA unit of whole bloodNo, P9100 applies to platelets only

The platelet code describes the product and P9100 describes the test. Without P9100, the test goes unpaid, and without the product line, the test has no unit to attach to. That is why a P9100 line normally sits next to a platelet code such as P9035 or P9031.

Billing rules for P9100: Units, revenue codes and who bills

P9100 is billed by the hospital outpatient department that transfuses the platelets. The steps below follow the order a clean claim needs.

  1. Confirm the test type on the blood center invoice or the transfusion service log. LVDS testing and rapid bacterial testing both qualify. Pathogen reduction does not.
  2. Code the platelet product first. Report the platelet P-code that matches the unit, such as P9035 or P9031, with its own units.
  3. Add one unit of P9100 per platelet unit tested. The P9100 units normally match the tested platelet units on the claim.
  4. Choose the revenue code. AABB recommends revenue code series 030X or 031X for P9100, as with other laboratory tests on blood units. Confirm your chargemaster mapping.
  5. Report the transfusion itself. CPT 36430 (Transfusion, blood or blood components) is billed once per date of service, whatever the number of units.
  6. Attach the diagnosis that supports the platelet transfusion. P9100 has no diagnosis of its own, so it relies on the reason the patient needed platelets.

Medically unlikely edits for P9100

The CMS outpatient hospital MUE table effective October 1, 2026 sets P9100 at 12 units per date of service. The edit is a date-of-service edit based on clinical grounds, so units above 12 on one day are denied. CPT 36430 carries an MUE of 1, so the administration is reported once per day however many units go in.

Inpatient and non-OPPS claims

P9100 is an outpatient code. On an inpatient stay, the platelets and their testing are paid within the MS-DRG rather than line by line. Outside OPPS, the HCPCS file lists P9100 as carrier priced, so the Medicare contractor sets the amount.

Medicare OPPS payment for P9100

Medicare pays P9100 separately under the Outpatient Prospective Payment System (OPPS). The October 2026 OPPS Addendum B lists the following values.

FieldOctober 2026 value
Status indicatorS (paid under OPPS, separate APC payment)
APC5733 (Level 3 Minor Procedures)
Relative weight0.6593
National payment rate$60.27
Minimum unadjusted copayment$12.06

The rate has climbed as LVDS spread. P9100 sat in New Technology APCs paying $25.50 to $35.50 from 2017 through 2020, then moved to APC 5732 at about $33 in 2021. In the CY 2022 OPPS final rule, CMS moved it to APC 5733 to reflect the higher cost of LVDS culture.

Commenters on that rule put the cost of an LVDS test at $75 or $83, depending on the manufacturer. A rapid bacterial test costs around $30. The APC 5733 rate blends the two. A hospital that buys mostly LVDS-tested units may recover less than its invoice cost per test, as the chart below shows.

Bar chart comparing P9100 test costs with Medicare payment
The $60.27 APC 5733 rate covers a rapid bacterial test with room to spare but falls short of either reported LVDS cost. Figures come from the CMS October 2026 OPPS Addendum B and commenters on the CY 2022 OPPS final rule.

Modifiers and P9100

Medicare requires no modifier on P9100 for outpatient claims. The modifiers that cause trouble are the ones coders borrow from drug billing, and commercial payers may publish their own rules.

ModifierNameUse with P9100
JWDrug amount discarded/not administered to any patientDo not use. JW applies to separately payable drugs and biologicals from single-dose containers, not to laboratory tests.
JZZero drug amount discarded/not administered to any patientDo not use, for the same reason as JW.

Appending JW or JZ to P9100 is the most common modifier error on this code. It usually comes from a template built for albumin or other P-codes that Medicare pays as biologicals.

Documentation requirements for P9100 claims

The record has to show that a pathogen test was performed on each unit billed and that the unit went to this patient. Keep these items with the transfusion record:

  • Platelet order: a signed order naming the platelet product, the number of units and the clinical indication.
  • Test evidence for each unit: the blood center label or invoice that shows LVDS testing. For a rapid bacterial test, keep the transfusion service log and its result.
  • Unit identifiers: the donation or unit number for each platelet unit, so test units can be matched to product units.
  • Administration notes: start and stop times, volume, patient response and any transfusion reaction.
  • Diagnosis documentation: the platelet count or bleeding history that made the transfusion necessary.

Auditors match P9100 units against the unit identifiers in the record. A test billed for a unit with no matching platelet unit, or a reduction step billed as a test, is the pattern they look for.

Top denial reasons for P9100 claims and how to fix them

Most P9100 denials trace back to a coding choice made before the claim left the hospital. The table pairs each pattern with its fix, and denial management in healthcare covers the appeal process.

Denial reasonWhat happenedFix
Units over the MUEMore than 12 units of P9100 on one date of serviceCheck the unit count against the tested platelet units. Correct and resubmit.
P9100 billed for pathogen reductionThe unit was pathogen-reduced and coded P9073 + P9100Remove P9100. P9073 already includes the reduction step.
P9100 on a non-platelet productThe test was billed with whole blood (P9010), red cells or plasmaRemove P9100. The code describes tests on platelets only.
JW or JZ appendedA drug-wastage modifier was added to a laboratory testRemove the modifier and resubmit.
No supporting diagnosisThe claim carries no diagnosis that explains the platelet transfusionAdd the documented diagnosis, such as D69.59 or D61.810.
Billed on an inpatient claimP9100 was reported line by line during an inpatient stayRemove it. The test is paid within the MS-DRG.

Most of these corrections are line edits rather than appeals. A charge that adds P9100 automatically for every platelet unit causes the reduction and whole-blood errors, so the chargemaster mapping deserves a check.

ICD-10 diagnosis codes that support P9100 claims

P9100 inherits medical necessity from the platelet transfusion it accompanies. The diagnosis on the claim has to explain why the patient needed platelets. Common choices from the ICD-10-CM code set include the following.

ICD-10-CM codeDescriptionTypical context
D61.810Antineoplastic chemotherapy induced pancytopeniaPlatelet support after chemotherapy
D69.59Other secondary thrombocytopeniaLow platelets from a documented secondary cause
D69.6Thrombocytopenia, unspecifiedUse only when the record names no cause
C92.00Acute myeloblastic leukemia, not having achieved remissionPlatelet support during leukemia treatment
D61.818Other pancytopeniaPancytopenia not caused by chemotherapy or another listed drug

Choose the most specific code the record supports. D69.6 invites review when the notes already name a cause, such as chemotherapy or marrow failure.

Pro Tip

Map P9100 in your chargemaster only to the platelet products your blood supplier ships LVDS-tested. Leave pathogen-reduced units (P9073) out of that mapping, because the reduction step is already priced into the product code.

How Pabau helps keep platelet test claims complete

Platelet test billing breaks down when the order, the unit numbers and the test evidence live in separate places. Pabau, the practice management and billing platform we build, keeps the order, the treatment notes and the attached documents on one patient record. Billers then check P9100 units against the record before submission.

Through Pabau’s claims management software, data already on that record flows into a pre-filled claim. US claims are submitted and tracked through Claim.MD, so a rejected line comes back to the same record for correction. Pabau does not choose codes for you, so the coding decisions in this guide still sit with your team.

Keep test and product lines on one record

Pabau keeps orders, notes and documents on one patient record and pre-fills claims from that data. P9100 lines are easier to check before they go out.

Pabau practice management dashboard

Conclusion

P9100 pays for a test, and treating it as a product is where most errors start. Pair it with the platelet code, count one test per tested unit, and keep it away from pathogen-reduced and non-platelet products.

The payment trade-off is worth watching. APC 5733 pays $60.27, while LVDS testing can cost more than that per unit, so track supplier invoices against Medicare payment each year.

Book a demo to see how Pabau keeps platelet orders, test records and claim data together for your billing team.

Continue your research

Continue your research

Need to understand how denials are managed systematically? Denial management in healthcare covers the end-to-end workflow for identifying, appealing, and preventing recurring claim denials.

Want a clear overview of how medical billing works? What is medical billing explains the full revenue cycle from charge capture through payment posting.

Looking to improve first-pass claim acceptance rates? Clean claim submission details the elements a claim must carry to pass payer edits on the first submission.

Frequently asked questions

What does HCPCS code P9100 cover?

HCPCS code P9100 covers a pathogen test performed on a platelet unit, such as rapid bacterial testing or LVDS culture. It reports the test only, so the platelet product is billed separately under its own P-code.

Is P9100 a whole blood code?

No. P9100 is the pathogen test for platelets. Whole blood is reported with P9010, Blood (whole), for transfusion, per unit, and P9100 is never billed with it.

Which codes are billed with P9100?

P9100 is billed with the platelet product code, such as P9035 for leukocyte-reduced apheresis platelets or P9031 for leukocyte-reduced whole blood-derived platelets. The transfusion itself is reported with CPT 36430.

Can P9100 be billed with P9073?

Not for the pathogen reduction step. P9073 describes pathogen-reduced apheresis platelets, and the reduction is included in that code. P9100 is reserved for tests that detect contamination.

How much does Medicare pay for P9100?

Under the October 2026 OPPS Addendum B, P9100 has status indicator S in APC 5733, with a national payment rate of $60.27. The rate is adjusted for wage index and updated each quarter.

How many units of P9100 can be billed per day?

The CMS outpatient hospital MUE allows up to 12 units of P9100 per date of service. Bill one unit for each platelet unit that was tested.

Avatar photo
Despina Petrushevska
Content Writer

Despina Petrushevska is a content writer covering aesthetics, dermatology, and clinic operations, known for making detailed clinical concepts clear and engaging. Outside of work, she enjoys photography, weekend getaways, and finding inspiration in everyday experiences.
×