CPT Code 84403 is the laboratory procedure code for a total testosterone measurement, carrying the AMA descriptor Testosterone; total. It reports bound and free testosterone together, from a serum or plasma specimen. Medicare pays it under the Clinical Laboratory Fee Schedule at one national rate of roughly $20 to $30.
This reference covers the descriptor, the clinical indications payers accept, and the ICD-10 codes that establish medical necessity. It also covers the 2026 payment basis, LCD L36538, modifiers, the J-codes for testosterone injections, and the documentation each claim needs.
Key takeaways
CPT Code 84403 is the laboratory code for total testosterone, measured from serum or plasma under the Chemistry section of CPT.
Medicare pays 84403 under the Clinical Laboratory Fee Schedule at a single national rate of roughly $20 to $30.
For male patients, Medicare coverage follows LCD L36538, which sets both the qualifying diagnoses and the testing frequency it will pay for.
Missing or non-covered ICD-10 codes, frequency overruns, and orders with no clinical note behind them cause most 84403 denials.
Pabau links the ICD-10 diagnosis to the CPT order at the point of care and validates claims through the Claim.MD clearinghouse.
What CPT Code 84403 covers
The code sits in the Chemistry subsection of the CPT Pathology and Laboratory chapter, which covers quantitative analyses of substances in body fluids. The AMA’s CPT code set overview is the authority for the descriptor itself.
It differs from CPT 84402, which measures free testosterone only, and CPT 84410, which measures the bioavailable fraction. Billing the wrong one of the three is a common rejection, so match the code to what the lab actually ran.
When to order a total testosterone test
Payers pay for 84403 when the order has a clinically supported reason behind it. For male patients, Medicare judges that reason against the medical necessity standard in LCD L36538. The indications below are the ones most commonly billed.
- Male hypogonadism evaluation: initial workup for signs and symptoms of low testosterone (fatigue, decreased libido, erectile dysfunction, loss of muscle mass). This is the most frequent covered indication under Medicare LCD L36538.
- Testosterone replacement therapy (TRT) monitoring: confirming therapeutic levels after initiating or adjusting TRT. Frequency limits apply, as set out in the LCD section below.
- Female androgen excess / PCOS evaluation: elevated testosterone may confirm hyperandrogenism in polycystic ovary syndrome workups.
- Infertility evaluation: testosterone level assessment as part of a male or female fertility panel ordered by a reproductive endocrinologist.
- Delayed or precocious puberty: pediatric indications where testosterone levels support or exclude a diagnosis of abnormal pubertal timing.
- Adrenal or pituitary disorder workup: when clinicians suspect secondary hypogonadism caused by hypothalamic-pituitary dysfunction.
Each indication should be directly documented in the clinical note, tying the laboratory order to the patient’s presenting complaint. Vague orders with no supporting note are a leading denial trigger across all payer types.
ICD-10 codes that establish medical necessity
The diagnosis code is what establishes medical necessity on an 84403 claim. The table below lists commonly billed indications, drawn from published payer guidance. Of those, the male-hypogonadism codes E29.1 and E23.0 are the ones LCD L36538 covers directly.
Pair the most specific code that matches the documented clinical picture, since unspecified codes raise denial risk. Our ICD-10-CM code index carries the full descriptor behind each one.
Not every payer accepts Z00.00 as a covered diagnosis for testosterone testing. Confirm the payer’s own coverage policy before you submit a screening claim. Pairing the diagnosis correctly is the single highest-leverage step in preventing lab denials.
How Medicare pays for 84403 in 2026
Medicare pays CPT Code 84403 under the Clinical Laboratory Fee Schedule, not the Physician Fee Schedule. That means one national rate for the test, currently around $20 to $30. There is no locality adjustment and no facility or non-facility split.
Assignment is mandatory on clinical lab tests, so the limiting charge that applies to physician services has no equivalent here. Confirm the current amount in the CLFS files CMS publishes before you quote a figure.
Treat the range above as an estimate and pull the exact figure from the current CLFS file. Because the rate is national, a practice in Manhattan and a practice in rural Kansas are paid the same for 84403. Commercial payer rates are negotiated separately and often sit above the Medicare amount.
Pro Tip
Check the CLFS file each January, when the new rates take effect. The rate is national, so there is no locality lookup to run. The amount itself still moves year to year, and a billing team posting last year’s figure will show the wrong expected payment.
Medicare coverage criteria and LCD L36538
Local Coverage Determination L36538, which covers treatment of males with low testosterone, sets when Medicare pays for testosterone testing in male patients. Claims that fall outside its diagnosis and frequency parameters are denied. The LCD does not govern the PCOS, infertility, puberty, or screening indications listed above.
Who qualifies under LCD L36538
Coverage applies to adult males with documented signs and symptoms of hypogonadism. The diagnosis must be confirmed by clinical findings in the medical record, not assumed from a single symptom. Qualifying presentations typically include two or more of the following: decreased libido, erectile dysfunction, fatigue, loss of muscle mass, depressed mood, or reduced bone density.
Frequency limits
LCD L36538 limits reimbursable testing frequency. For initial diagnosis, one or two tests separated by at least seven days are generally accepted to confirm low levels. During active TRT, monitoring frequency is typically limited to twice per year once levels are stable. Billing beyond these frequencies without documented clinical justification is a common trigger for claim denial and audit.
Required documentation
- Clinical note documenting presenting symptoms and their duration
- ICD-10 code linked directly to the lab order in the patient record
- Ordering provider’s name and NPI on the requisition
- Evidence of medical necessity in the note (not just a checkbox order)
- For repeat testing: documentation of treatment response or dose adjustment rationale
Practice management software like Pabau prompts for the diagnosis when a provider orders the test. The ICD-10 code is then attached to 84403 at the point of care. Pabau’s software for billing teams sends the claim to the Claim.MD clearinghouse, which validates the CPT-to-ICD pairing before submission.

Billing modifiers that apply to 84403
Modifiers communicate additional context about how a service was performed or billed. Applying the wrong modifier to CPT Code 84403 can trigger a duplicate claim review or denial. The table below covers the modifiers most relevant to testosterone lab testing.
Modifier 59 in particular carries compliance risk if applied broadly. The Centers for Medicare and Medicaid Services (CMS) uses NCCI edits to identify unbundling. Append Modifier 59 only when the record documents that the service qualifies as a distinct encounter. Our guide to clean claim submission covers the checks that keep the rest of the claim line clean.
Related CPT codes: 84402, 84410, and hormone panel companions
CPT Code 84403 is rarely ordered in isolation. Clinicians typically order it as part of a broader hormone evaluation, which means billers need to understand the adjacent codes and when each applies. Billing the wrong testosterone code, or failing to bill a companion code that was ordered, affects both reimbursement and audit defensibility.
When billing a full hormone panel, each code must be supported by its own ICD-10 linkage and documented order. Panels submitted without separate clinical justification for each component are bundling targets. The AAPC’s CPT code lookup can confirm current descriptors and parent-child relationships for any of these codes before submission.
Billing testosterone injections: J-codes and administration
The lab test and the drug administration are billed separately, from different code sets. CPT Code 84403 covers the measurement. HCPCS J-codes cover the drug given in the office, and merging the two onto one line is a frequent rejection in TRT practices.
J-codes for testosterone drug administration
J-codes are billed per unit administered. A 200 mg dose of testosterone cypionate bills as J1071 with 200 units. Units that do not match the administration record are an audit risk.
The injection itself may need its own procedure code, such as 96372 for a therapeutic intramuscular or subcutaneous injection. That code is billed separately from the drug J-code. The chart below maps each order to the code it calls for.

Documentation requirements and common billing errors
Denials on 84403 are almost always preventable. Most trace back to the diagnosis code, the testing frequency, or a missing clinical note. The two lists below cover what a compliant order carries and where claims most often break.
Documentation checklist
- Ordering provider name, credentials, and NPI documented on the requisition
- Signed order tied to a specific date of service
- ICD-10 code linked to the lab order in the patient record (not just on the claim form)
- Clinical note from the same date documenting symptoms, duration, and clinical reasoning for ordering the test
- For repeat testing: note documenting TRT dose, patient response, and reason for re-testing at this frequency
- Patient demographics and insurance information verified before submission
Common denial triggers
- Missing ICD-10 code on the claim: the most common reason for CPT 84403 rejections across all payer types.
- Non-covered ICD-10 code: using a diagnosis that does not appear on the payer’s LCD-covered list for testosterone testing.
- Frequency limit exceeded: billing more tests per year than LCD L36538 permits without documented clinical justification.
- No supporting clinical note: a bare lab order without a contemporaneous note fails medical necessity review.
- Incorrect modifier: applying QW without confirming the test method is on the current CLIA waiver list, or misusing Modifier 59.
- Billing unit errors on J-codes: submitting J1071 or J3121 with incorrect units relative to the documented dose.
Routing claims through a clearinghouse before submission catches a share of these errors automatically. Pabau integrates with Claim.MD for 837P claim submission, which validates CPT-to-ICD-10 pairings and flags missing fields before the payer sees the claim.
Remittance advice returned as an 835 file then feeds denial reasons back into the system. Coders work from the payer’s own reason code instead of a generic rejection notice.
How Pabau keeps 84403 claims clean
High-volume testosterone panels repeat the same billing work visit after visit. The same diagnosis codes, the same frequency questions, and the same J-code unit arithmetic come round again. Done by hand each time, that repetition is where transcription errors enter the claim.
Pabau moves those decision points into the record itself, so the claim is built from what the clinician already documented.
- ICD-10 linkage at order entry: the system prompts for a diagnosis code when a provider orders CPT 84403, preventing claims from leaving without one.
- Frequency visible in the record: the patient’s prior 84403 orders and result dates sit in the same chart as the new order. The billing team can see how recently the test was run before the claim goes out.
- J-code units from the note: the dose entered in the clinical note populates the J-code units on the claim. That removes the hand transcription between the administration record and the billing form.
- Pre-submission clearinghouse validation: claims route through the Claim.MD integration, which checks NCCI edits, required fields, and ICD-10 validity before the payer sees them.
- ERA-driven denial workflows: a returned denial code creates a worklist item with the CARC reason attached. Coders then address the specific issue rather than a generic rejection.
For a practice running TRT, HRT, or broader men’s health panels, that removes manual re-work and leaves a documented trail behind each claim. Eligibility checks run before the appointment show whether the patient’s plan covers 84403. The front desk then has time to explain any cost before the test is ordered.
Reduce CPT 84403 billing errors with Pabau
Pabau links ICD-10 codes to CPT orders at the point of care and routes claims through Claim.MD for pre-submission validation. See how it works for practices running high-volume lab panels.
Conclusion
CPT Code 84403 carries a low payment and a high denial rate, which is what makes it worth systematizing. Get the diagnosis pairing and the frequency right, keep the clinical reasoning in the note, and the claim usually pays first time.
The trade-off worth remembering is volume. One denied testosterone panel is a rounding error. A TRT program running hundreds of panels a month cannot absorb a steady rejection rate on any of them.
Pabau attaches the diagnosis at the order and validates the claim before the payer sees it, so the same mistake does not repeat. Book a demo to see how it handles a high-volume lab billing workflow end to end.
Continue your research
Need the full claims lifecycle, not just this code? Revenue cycle management walks through pre-authorization, submission, and payment posting.
Comparing clearinghouses for CPT and ICD-10 validation? Medical claims clearinghouse explains how they work and what to check before you sign.
Need to read a denial back to its cause? Denial codes in medical billing breaks CARC and RARC codes down by category.
New to billing lab work to insurers? What is medical billing covers the workflow from encounter to paid claim.
Working denials from the payer’s own file? Electronic remittance advice explains what an 835 tells you and how to action it.
Frequently asked questions
What does CPT Code 84403 cover?
CPT Code 84403 is the laboratory procedure code for measuring total testosterone (Testosterone; total) from a blood serum or plasma specimen. It falls within the Chemistry section of the CPT code set (80000-89999). The result reports total circulating testosterone, including both bound and free fractions.
What is the Medicare reimbursement rate for CPT 84403?
Medicare pays CPT 84403 under the Clinical Laboratory Fee Schedule, at a single national rate of roughly $20 to $30. There is no facility or non-facility split and no locality adjustment. Assignment is mandatory on clinical lab tests, so no limiting charge applies. CMS republishes the fee schedule each year.
What ICD-10 codes are used with CPT 84403?
The most commonly paired ICD-10 codes include E29.1 (testicular hypofunction), E28.2 (polycystic ovarian syndrome), N46.9 (male infertility), E30.0 (delayed puberty), and E23.0 (hypopituitarism). The code must match the documented clinical indication. Avoid unspecified codes where a more specific one applies.
What documentation is required to bill CPT 84403?
Required documentation includes a signed lab order with the ordering provider’s NPI and an ICD-10 code linked to that order. You also need a clinical note from the same date, setting out the symptoms and the reasoning behind the test. For repeat testing, the note must explain why re-testing is clinically necessary at that frequency given LCD L36538 limits.