Coding

Semen Analysis Billing: Diagnostic vs. Therapeutic Code Selection

A complete guide to CPT codes 89300–89331, sperm isolation codes 89260 and 89261, ICD-10 pairing for male factor infertility, and the bundling rules that determine when semen analysis codes pay separately.

Jennifer Mitchell, CPC··Updated ·11 min read

Semen analysis billing looks deceptively simple from the outside — a few CPT codes in the 89300 range, a handful of ICD-10 codes from N46, and a laboratory report to back it up. In practice, it is one of the most consistently miscoded service categories in fertility billing, generating avoidable denials on claims that should pay cleanly and missed revenue on services that payers cover but billing staff fail to claim correctly. The mistakes cluster around two distinctions: the difference between diagnostic and therapeutic code selection, and the difference between a semen analysis performed as a standalone diagnostic test and one that is part of a sperm processing workflow for insemination. Getting these distinctions right requires understanding how the code family is structured, what documentation each code implies, and what payers expect to see paired with each code. This guide covers every code in the semen analysis CPT family, when each applies, ICD-10 pairing for male factor infertility, and the bundling and modifier rules that determine whether sperm processing codes pay separately or get absorbed into a global charge.

The Diagnostic vs. Therapeutic Distinction

Semen analysis codes divide into two functional categories that should drive code selection before opening the CPT manual. Diagnostic semen analysis is performed to evaluate male reproductive function — to determine whether a problem exists, to characterize it, or to monitor a known condition over time. Therapeutic or procedural codes, by contrast, are applied when the laboratory performs active manipulation of the semen specimen to prepare it for clinical use in an assisted reproduction procedure such as intrauterine insemination (IUI) or in vitro fertilization (IVF). The diagnostic codes run from 89300 to 89331 and describe analysis of the specimen. The therapeutic preparation codes — principally 89260 and 89261 — describe what is done to the specimen after analysis. These two categories can appear on the same claim when both services occur on different dates, and many payers cover them separately, but billing staff who code semen analysis without distinguishing which category applies will either overcode, undercode, or mismatch codes to documentation — creating audit exposure even when payment is identical.

CPT Codes for Semen Analysis: A Complete Reference

CPT CodeDescriptionClinical ContextKey Billing Notes
89300Semen analysis; presence and/or motility of sperm including Huhner test (post coital)Post-coital test; sperm presence screeningHuhner component requires documentation of cervical mucus collection; not interchangeable with 89320
89310Semen analysis; motility and count (not including Huhner test)Motility and count onlyDescriptor covers motility and count only; no volume or morphology differential
89320Semen analysis; volume, count, motility, and differential (CMS short descriptor: "Semen anal vol/count/mot")Full analysis with a standard morphology differentialIf the lab assessed morphology by strict criteria (e.g., Kruger), the code is 89322, not 89320
89321Semen analysis; sperm presence and motility of sperm, if performed (CMS short descriptor: "Semen anal sperm detection")Sperm presence checkNot a count or morphology code; use 89320 or 89322 when a full analysis was performed
89322Semen analysis; volume, count, motility, and differential using strict morphologic criteria (e.g., Kruger) (CMS short descriptor: "Semen anal strict criteria")Full analysis with Kruger strict morphologyThe lab report must show the strict-criteria morphology method and result; without it, the service is 89320
89325Sperm antibodiesImmunological male factor workup; post-vasectomy reversal evaluationSeparately billable; requires distinct physician order and immunology-specific diagnosis documentation
89329Sperm evaluation; hamster penetration test (CMS short descriptor: "Sperm evaluation test")Hamster oocyte penetration assayNot a cervical mucus test (that is 89330); verify payer coverage before performing
89330Sperm evaluation; cervical mucus penetration test, with or without spinnbarkeit test (CMS short descriptor: "Evaluation cervical mucus")Sperm–cervical mucus interactionNot a surgical sperm-retrieval code. Sperm identification from an aspirate is 89257; from testis tissue, 89264
89331Sperm evaluation, for retrograde ejaculation, urine (sperm concentration, motility, and morphology, as indicated) (CMS short descriptor: "Retrograde ejaculation anal")Suspected retrograde ejaculationNot a TESE code. TESE tissue sperm identification is 89264, paired with testis biopsy 54500 or 54505; see the separate TESE/MESA billing guide

Choosing the Right Code: 89300 vs. 89320 vs. 89322

These codes are not interchangeable, and the distinctions are defined by the specific analytes and method reported. CPT 89300 describes a semen analysis that includes the Huhner test — the post-coital test evaluating sperm motility in cervical mucus — and the code descriptor specifically incorporates evaluation of sperm presence and motility in that context. A full semen analysis reporting volume, count, motility, and a morphology differential is 89320 (CMS short descriptor "Semen anal vol/count/mot"). When the differential is performed using strict morphologic criteria such as Kruger, the code is 89322 (CMS short descriptor "Semen anal strict criteria"). The two descriptors are identical except for that strict-criteria clause, so the laboratory report's morphology method is what decides between them: a report showing Kruger strict morphology supports 89322, and billing 89320 for it undercodes the service; billing 89322 when the lab used a non-strict classification overcodes it. When only motility and count are reported, 89310 is the matching descriptor. Billing 89300 for a full analysis is a documentation mismatch: the code describes a Huhner test scenario, and an auditor comparing a laboratory report with Kruger morphology results against a claim for 89300 will identify it as inappropriate code selection. All of these codes carry status X (statutory exclusion) in the CMS Medicare Physician Fee Schedule RVU file, so Medicare publishes no payment amount; any payment difference comes from your commercial contracts, and pattern miscoding of a high-frequency service creates audit exposure regardless of the dollar gap.

ICD-10 Code Selection for Male Factor Infertility

Accurate ICD-10 coding is as important as correct CPT selection for semen analysis claims. The N46 category provides a detailed specificity structure for male infertility diagnoses that most billing staff underutilize — defaulting to N46.9 (male infertility, unspecified) when more specific codes are clearly supported by the clinical documentation and laboratory results.

ICD-10 CodeDescriptionWhen to Use
N46.01Organic azoospermiaConfirmed complete absence of sperm with structural or endocrine cause; supported by semen analysis and hormone panel results in the chart
N46.021Azoospermia due to drug therapySperm absence in a patient on medications known to suppress spermatogenesis — anabolic steroids, chemotherapy agents, exogenous testosterone replacement
N46.022Azoospermia due to infectionHistory of orchitis, epididymitis, or STI-associated obstruction confirmed in clinical documentation
N46.023Azoospermia due to obstruction of efferent ductsConfirmed obstructive azoospermia (normal FSH, normal testicular volume, no sperm on analysis); not for vasectomy status, which N46 excludes (Z98.52)
N46.11Organic oligospermiaSperm count below 16 million per mL (2021 WHO threshold) with structural or physiological basis identified
N46.121Oligospermia due to drug therapyLow count associated with identified medication use; the causative medication must be documented in the chart
N46.8Other male infertilityIsolated teratozoospermia (morphology-only abnormality); isolated asthenozoospermia without count deficiency; use when the abnormality does not fit N46.0x or N46.1x categories
N46.9Male infertility, unspecifiedUse only when clinical documentation genuinely cannot support a more specific code; not a default fallback for incomplete workup documentation
Z31.41Encounter for fertility testingInitial semen analysis ordered as part of infertility evaluation before a diagnosis has been established; appropriate for first-visit workup claims
Z31.49Encounter for other procreative investigation and testingAdditional diagnostic testing ordered during an ongoing infertility workup when Z31.41 does not precisely fit the encounter context

A critical coding rule: when semen analysis is performed on the male partner, the ICD-10 code on that claim should reflect male factor pathology or male factor evaluation. Billing a semen analysis claim with a female infertility diagnosis code — N97.0, N97.1, or N97.9 — is a gender-diagnosis mismatch error. Payers reviewing a semen analysis claim carrying a female infertility diagnosis will generate a claim edit or denial because the diagnosis does not correspond to the sex of the patient providing the specimen. The male partner semen analysis claim must carry a diagnosis from N46.x or Z31.41, regardless of what diagnosis codes appear on the female partner claims for the same evaluation period.

Sperm Processing Codes for IUI and IVF: 89260 and 89261

When semen is processed for intrauterine insemination or in vitro fertilization, two additional CPT codes apply that are functionally distinct from the analytical codes above. CMS lists them as 89260 "Sperm isolation simple" and 89261 "Sperm isolation complex". The CMS file carries only that simple/complex split; which laboratory techniques count as simple or complex comes from the AMA CPT descriptor, so confirm your lab's methods against the current CPT codebook. A wash-and-swim-up preparation is the technique labs commonly treat as simple: in which semen is diluted with culture medium, centrifuged to form a pellet, and motile sperm are allowed to swim upward into the supernatant layer, which is then collected for insemination or IVF use. Density gradient centrifugation is the technique commonly treated as complex: using discontinuous gradient media such as Percoll, SilSelect, SpermGrad, or albumin gradients — which separates sperm by density, isolating the highest-motility fraction from debris, dead sperm, leukocytes, and reactive oxygen species. CPT 89264 is not a preparation code; CMS lists it as "Identify sperm tissue" (sperm identification from testis tissue), which belongs on surgical retrieval claims. Before billing a semen analysis code on the same date as 89260 or 89261 for the same specimen, check the current NCCI procedure-to-procedure edits and the payer's own bundling policy for that code pair.

Check Bundling Edits Before Billing a Semen Analysis on IUI Preparation Dates

Before billing 89320 or 89322 on the same date as 89260 (simple sperm isolation) or 89261 (complex sperm isolation) for the same specimen, look up the code pair in the current NCCI procedure-to-procedure table and the payer policy. Where the pair is edited, the analysis code will deny as unbundled and adds audit exposure without adding reimbursement. The only scenario where a separate semen analysis code might be justified on the same date is when a diagnostic analysis is performed on a distinct specimen collected for a separate clinical purpose — a scenario that requires explicit documentation of two specimens with independent collection and analysis records.

89260 vs. 89261: Code Selection Is Driven by Processing Method

Code selection between 89260 (simple) and 89261 (complex) must be driven by the processing method actually performed, not by which code reimburses at a higher rate. Map each technique your lab uses to simple or complex against the current CPT codebook, and write that mapping into the andrology procedure manual. Practices that default to billing 89261 for all IUI preparations regardless of the actual method expose themselves to recoupment risk: if an audit compares billing claims to laboratory worksheets and finds all claims coded to 89261 while lab notes consistently describe a simple preparation, the payer has documented grounds for overpayment recovery on every miscoded claim. Both codes carry status X (statutory exclusion) in the CMS Medicare Physician Fee Schedule RVU file, so Medicare publishes no payment amount for either, so the differential is set by each commercial contract; check it against your fee schedules, and weigh it against audit exposure that compounds across a high-volume IUI practice. Document the processing method, including the gradient media name and centrifuge parameters, in every IUI procedure note or andrology laboratory worksheet, and let the documented method determine the code.

Payer-Specific Coverage Rules for Semen Analysis

Coverage for semen analysis varies by payer type, plan structure, and clinical context. Understanding these rules before claim submission significantly reduces first-pass denials.

  • Fully insured commercial plans in mandate states (New York, Illinois, New Jersey, California under SB-729): diagnostic semen analysis is covered under the infertility workup benefit without prior authorization when billed with an N46.x or Z31.41 diagnosis code. Semen analysis billed with Z31.41 alone — without an established infertility diagnosis — may process under the general laboratory benefit rather than the infertility benefit, creating a different cost-sharing structure for the patient.
  • Cigna: covers diagnostic semen analysis under major medical laboratory benefits. For Cigna fertility benefit programs, semen analysis is typically bundled into the clinical cycle authorization. Do not submit separate analytical codes when the analysis was performed as part of an authorized treatment cycle — the analysis is covered within the cycle allowance.
  • United Healthcare: covers 89320 and 89322 under standard laboratory benefits for infertility workup. UHC has active CCI edits that bundle semen analysis codes (89300 through 89322) with sperm isolation codes (89260 and 89261) — submitting both on the same date for the same specimen generates a denial with edit N519.
  • Progyny and fertility benefit managers: semen analysis performed as part of a Progyny-authorized smart cycle is covered under the cycle allocation. Bill using the practice standard semen analysis CPT codes with the rendering laboratory NPI; do not consolidate into a composite panel code or bundle with the clinical procedure claim.
  • Medicare: The Medicare Benefit Policy Manual (Pub. 100-02, Ch. 15, §20.1.B) states that "reasonable and necessary services associated with treatment for infertility are covered under Medicare"; it does not name semen analysis or any other specific test. Confirm coverage with the Medicare Administrative Contractor (MAC) before the service. If you expect Medicare to deny payment, have the patient sign an Advance Beneficiary Notice (ABN) before service delivery. If the patient carries secondary commercial coverage with a fertility benefit and Medicare denies the claim, submit to the secondary payer with the Medicare denial.
  • Self-funded ERISA plans: coverage for semen analysis varies entirely by the individual plan document. A self-funded employer plan in a mandate state may legally exclude all fertility-related services — including diagnostic semen analysis — because ERISA preempts state insurance mandates for self-funded plans. Verify coverage separately for each self-funded patient and document the verification outcome in the patient account before submitting.

Post-Vasectomy Semen Analysis: Coding in a Different Clinical Context

Post-vasectomy semen analysis occupies a different clinical and billing context from infertility workup and requires different ICD-10 coding. A semen analysis performed 8 to 12 weeks after vasectomy to confirm azoospermia is a sperm presence check, which is what the 89321 descriptor ("sperm presence and motility of sperm, if performed") describes; 89322 is a strict-morphology analysis and does not fit a clearance check. The diagnosis is ICD-10-CM Z30.8 (encounter for other contraceptive management), whose tabular inclusion terms list "Encounter for postvasectomy sperm count" — not Z30.2 (encounter for sterilization) and not any N46.x infertility code. Z31.41 excludes postvasectomy sperm counts, and a sperm count after a sterilization reversal is Z31.42. Billing with an infertility diagnosis code for a post-vasectomy confirmation analysis is a coding error: the clinical context is contraception follow-up, not infertility evaluation. It also inadvertently creates an insurance record identifying the patient as having a male factor infertility diagnosis — which can affect future coverage determinations — without clinical basis. When the same patient later presents for infertility evaluation after a failed vasectomy reversal, the semen analysis at that encounter should carry the appropriate N46.x code based on the new clinical findings, and the two encounters must be clearly distinct in the medical record with independent clinical indications documented.

Common Semen Analysis Billing Mistakes

  • Mixing up 89320 and 89322: both descriptors cover volume, count, motility, and a morphology differential, and 89322 adds "using strict morphologic criteria (e.g., Kruger)". Billing 89322 when the lab report shows no strict-criteria morphology, or billing 89320 or 89322 when only count and motility were reported (89310), creates a documentation mismatch detectable in any post-payment audit.
  • Billing 89260 or 89261 alongside 89320 or 89322 on the same date of service for the same specimen without checking bundling edits: where the NCCI table or the payer edits the pair, the preparation code pays and the separately submitted analysis code denies.
  • Defaulting to N46.9 (male infertility, unspecified) for all semen analysis claims: ICD-10-CM coding guidelines require the most specific code supportable by the clinical documentation. When laboratory results confirm oligospermia, the claim must reflect N46.11 or the appropriate N46.12x code — not N46.9. Consistent use of N46.9 when more specific codes are clinically supportable is a compliance risk under ICD-10-CM Official Guidelines.
  • Billing semen analysis claims with female infertility ICD-10 codes: semen analysis is performed on the male partner specimen; the claim must carry a male factor diagnosis (N46.x) or a fertility evaluation code (Z31.41). Pairing semen analysis CPT codes with N97.x female infertility codes creates a gender-diagnosis mismatch that many payer adjudication systems flag automatically.
  • Not billing sperm antibody testing (89325) when performed: 89325 is separately billable when antisperm antibody testing is performed. Because the tests are analytically distinct — one is morphological, the other immunological — they are not bundled under CCI edits when performed on the same date. Failing to bill 89325 when performed is a consistent undercharge in immunological infertility workups.
  • Failing to update the diagnosis code when subsequent analysis returns abnormal results: if the first semen analysis was billed with Z31.41 (fertility testing encounter) and results confirm oligospermia, all subsequent semen analysis claims for that patient should carry the confirmed N46.1x diagnosis. Payers conducting post-payment reviews will question multiple Z31.41 claims across several dates when a confirmed diagnosis is documented in the medical record from the initial analysis.

Documentation Requirements for Semen Analysis Claims

  • Complete andrology laboratory worksheet: every semen analysis claim must be supported by a laboratory report documenting specimen ID, collection date and time, liquefaction time, volume in mL, pH, total sperm count, concentration in million per mL, progressive motility percentage, total motility percentage, morphology classification method and percentage normal forms (the method is what separates 89322, strict criteria, from 89320), and the credentials of the analyzing technician. Without this documentation, payer post-payment audits cannot verify the billed service.
  • Physician order linking the test to a clinical indication: the medical record must contain a written order connecting the semen analysis to the stated ICD-10 diagnosis. A verbal-only order with no chart documentation creates audit risk on both the claim and the medical record under clinical laboratory billing standards.
  • Diagnosis linkage between claim and chart: the ICD-10 code submitted on the claim must match the clinical context documented in the chart note. If the ordering note documents initial evaluation with no prior history, Z31.41 is appropriate; if results document oligospermia, subsequent claims must carry N46.11 or the applicable N46.12x specificity code with the supporting laboratory result in the record.
  • Processing method documentation for 89260 and 89261: the IUI procedure note or andrology worksheet must explicitly state the preparation method — for example swim-up versus density gradient — including the gradient medium name, centrifuge speed and duration, and post-preparation motility count. This documentation is the audit evidence that the preparation code billed corresponds to the preparation method actually performed.
  • ABN documentation for Medicare patients: CMS says providers issue the ABN "in situations where Medicare payment is expected to be denied," to transfer potential financial liability to the beneficiary. If you expect Medicare to deny a semen analysis ordered for a fertility indication, have the patient sign the Advance Beneficiary Notice before service delivery, not after the denial arrives.

Semen Analysis in IVF: Global Period and Claim Splitting Considerations

When semen analysis is performed on the day of egg retrieval or embryo transfer as part of an IVF cycle, payers with a global IVF reimbursement structure may consider the day-of-retrieval semen analysis bundled into the procedure payment. Practices that bill IVF laboratory services under separate lab CPT codes — 89250 for oocyte identification, 89258 for cryopreservation, and related codes — need to confirm with each payer whether the semen analysis on retrieval day is separately payable or bundled into the global cycle allowance. The most reliable approach is to review remittance advices for the first few cycles billed under each payer contract, identify which laboratory codes are paying separately versus being denied as bundled, and build a payer-specific billing protocol reflecting actual adjudication behavior rather than assumptions about what should be covered. Fertility benefit managers such as Progyny publish explicit guidance on which laboratory codes are separately payable outside the global cycle allowance, and this guidance should be reviewed at every annual contract renewal to capture any changes to payable code lists.

Semen analysis billing is a high-frequency, low-margin service category where the financial stakes per claim are modest but the cumulative impact of systematic miscoding is significant. A practice performing 300 IUI cycles per year and miscoding 89261 versus 89260 on 40 percent of those claims carries audit exposure on 120 claims annually. Standardizing code selection through laboratory workflow documentation, training andrology staff to document processing method at the point of service, auditing semen analysis claims quarterly against laboratory worksheets, and ensuring ICD-10 pairing is accurate for the clinical context are a low-effort, high-value quality assurance process. In a billing category where payers pay reliably when claims are submitted correctly, getting the fundamentals right eliminates most denials before they occur.

Have a billing question?

Our team can answer questions specific to your practice's payer mix and procedures.

Book a Free Audit →