HCPCS code P9100 – Platelet pathogen test
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)
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
Automate repetitive tasks and focus on what matters most—your patients.
Reduce coding errors and ensure compliance with the latest regulations.
Clean claims, fewer denials, and faster reimbursements.
Powerful insights and reporting to help your practice thrive.
HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide
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.
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.
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.
- 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.
- Code the platelet product first. Report the platelet P-code that matches the unit, such as P9035 or P9031, with its own units.
- Add one unit of P9100 per platelet unit tested. The P9100 units normally match the tested platelet units on the claim.
- 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.
- Report the transfusion itself. CPT 36430 (Transfusion, blood or blood components) is billed once per date of service, whatever the number of units.
- 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.
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.

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.
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.
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.
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.

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
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.



