Pabau Engage inbox

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

Learn more
CPT Code

CPT code 89346 – Annual oocyte storage billing guide


Code Definition

89346 is the CPT code for storage of oocyte(s), reported once per year of storage. It covers keeping frozen eggs in the lab's storage tanks, not the freeze (89337) or the thaw (89356).

The code is one of four annual storage codes split by what is stored. CMS lists 89346 with status X and no Medicare physician fee schedule payment, so commercial plans, state mandates and self-pay decide reimbursement.

Section
80047-89398 Pathology and laboratory
Subsection
89250-89398 Reproductive Medicine Procedures
Code range
89342-89346 Storage (per year)
Billable
No
Code also known as
annual oocyte storage, egg storage, egg banking
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

CPT code 89346 reports storage of oocyte(s), one unit per year, however many eggs the patient has banked.

The freeze is reported with 89337 and the thaw with 89356, so 89346 covers the storage alone.

CMS lists 89346 with status X in its CY2026 relative value file, so the Medicare physician fee schedule pays nothing for it.

When stored eggs are thawed, fertilized and the embryos frozen, storage of those embryos moves to 89342.

Coverage usually turns on why the eggs were frozen, and fertility preservation before cancer treatment is the case state laws are written for.

What is CPT code 89346?

CPT code 89346 describes storage of oocyte(s), per year, in the American Medical Association’s CPT code set. The lab reports one unit for each year that frozen eggs stay in storage.

The code sits in the Reproductive Medicine Procedures range (89250-89398) of the Pathology and Laboratory section. It covers storage only. Freezing mature eggs is reported with 89337, and the thaw with 89356.

FieldDetail
CPT code89346
Official descriptorStorage (per year); oocyte(s)
CMS short descriptorStorage/year oocyte(s)
RangeReproductive Medicine Procedures, 89250-89398 (Pathology and Laboratory section)
Unit of serviceOne unit per year of storage, not one per oocyte
Medicare fee schedule status (CY2026)X, statutory exclusion, with zero RVUs
Typical providerThe ART laboratory or fertility practice that holds the eggs

The full CPT descriptor is licensed AMA text. The CMS relative value file carries the abbreviated form, and it matches: storage per year, oocytes.

What CPT 89346 covers and what it excludes

89346 describes holding frozen eggs for a year. It does not describe any procedure performed on them, and each of those procedures has its own code.

ServiceCovered by 89346?Correct code
Oocyte storage, per yearYes89346
Cryopreservation of mature oocyte(s)No89337
Thawing of cryopreserved oocytesNo89356
Embryo storage, per yearNo89342
Sperm or semen storage, per yearNo89343
Reproductive tissue storage, per yearNo89344
Extended culture of oocyte(s)/embryo(s), 4-7 daysNo89272

Extended culture is on the list because some references attach blastocyst culture wording to 89346. That service is 89272, a separate code for culture of 4 to 7 days. Culture and storage never share a code.

The four annual storage codes share one descriptor stem, Storage (per year), and split by the material in the tank.

CPT codeDescriptorMaterialWhen to use
89342Storage (per year); embryo(s)EmbryosEach year fertilized embryos stay in storage
89343Storage (per year); sperm/semenSperm or semenEach year a sperm or semen sample stays in storage
89344Storage (per year); reproductive tissue, testicular/ovarianTesticular or ovarian tissueEach year banked reproductive tissue stays in storage
89346Storage (per year); oocyte(s)Unfertilized eggsEach year frozen eggs stay in storage

When stored eggs become embryos

The code follows the material, so it can change partway through a patient’s storage. Say a patient thaws some banked eggs, fertilizes them and freezes the embryos that result.

  • Eggs still in the tank: they stay on 89346 for every later storage year.
  • The new embryos: they go on 89342 from the year they enter storage.
  • No eggs left: 89346 stops, and only 89342 continues.

A patient with both eggs and embryos banked can carry both codes on one annual claim. The path below shows which code applies at each stage, from the freeze to embryo storage.

Four-step flow of CPT codes for frozen eggs
Only steps 2 and 4 repeat each year, and the material in the tank decides which one applies. Descriptors from the AMA CPT code set and status from the CMS CY2026 relative value file.

Read the embryology inventory before each renewal instead of copying last year’s claim.

ICD-10 codes paired with CPT 89346

The diagnosis code tells the payer why the eggs are in storage. On oocyte storage, that reason decides more claims than any other field.

ICD-10-CM codeDescriptionUse when
Z31.84Encounter for fertility preservation procedureEggs were frozen to preserve fertility, such as before cancer treatment. Add the cancer code and follow the payer’s sequencing.
Z31.83Encounter for assisted reproductive fertility procedure cycleEggs were banked as part of an IVF cycle
N97.0Female infertility associated with anovulationAnovulatory infertility is the documented indication
N97.1Female infertility of tubal originTubal factor infertility is documented
N97.9Female infertility, unspecifiedInfertility is confirmed but the record does not name the cause

Report the most specific code the record supports, and confirm it against the ICD-10-CM code library. Then check each plan’s accepted code list, because payers differ on which code they expect in the first position.

Medicare and payer coverage for CPT code 89346

Medicare’s physician fee schedule makes no payment for CPT code 89346. The CY2026 CMS relative value file lists it with status X, zero RVUs and no payment amount.

CMS defines status X as a statutory exclusion. The service falls outside the statutory definition of physician services for fee schedule purposes, so no fee schedule payment can be made.

That moves almost every oocyte storage claim to another payer or to the patient:

  • Commercial plans under state mandates: some states require certain fully insured plans to cover fertility preservation when treatment may cause infertility. Scope varies by state, and storage is not always included.
  • Self-funded employer plans: plans governed by ERISA are usually exempt from state mandates. Read the plan document before assuming storage is covered.
  • Fertility benefit programs: some employers run fertility care through a separate benefit vendor. Storage may sit under that benefit rather than the medical plan.
  • Self-pay: elective egg freezing is often paid by the patient. Put the annual storage fee in the signed storage agreement.

When a plan denies storage under an infertility exclusion, go back to why the eggs were frozen. A fertility preservation benefit may apply where the infertility benefit does not. Run insurance eligibility verification before the freeze and again before each renewal.

Each storage year needs its own record behind the claim. Records written after the claim goes out rarely satisfy a payer audit.

  • Storage record: the lab inventory names the patient, the number of oocytes, the storage devices holding them, the tank location and the freeze date.
  • Cycle of origin: link the stored eggs to the retrieval cycle and its date. Eggs from separate cycles then stay traceable.
  • Storage year billed: record the start and end date each claim covers. That stops one year from being billed twice.
  • Clinical reason: the physician note states why the eggs were frozen, such as planned cancer treatment or an IVF cycle.
  • Consent and storage agreement: a signed consent for oocyte cryopreservation and a storage agreement covering fees, renewal and disposition belong in the chart.
  • Disposition events: record each thaw, transfer to another facility or discard, with its date. Storage billing stops for eggs that leave the tank.

Pro Tip

Pick one renewal rule for every patient, either the freeze anniversary or the calendar year. Mixing the two is how a storage year gets billed twice or skipped.

How to bill CPT 89346: units, modifiers and place of service

  • Units: bill one unit per year of storage. The descriptor reads oocyte(s), so ten frozen eggs still bill as one unit.
  • Eggs from several cycles: payers differ on whether eggs from separate retrievals count as one storage unit. Get the payer’s rule in writing before the first renewal.
  • Partial years: the descriptor sets a yearly unit and states no partial-year rule. Ask the payer how it handles a year cut short by a thaw or transfer.
  • Modifiers: no modifier is routinely required on 89346. Add one only when a payer’s published policy asks for it.
  • Place of service: the POS code follows where the lab sits. Office labs often use POS 11, hospital programs POS 22 and independent labs POS 81.
  • Claim submission: route the claim through your clearinghouse, so payer edits surface before transmission.

The first storage year often starts on the freeze date. 89337 and 89346 can then appear on the same claim, so check the payer’s bundling edits before reporting both. The IVF CPT code reference maps where each code falls in the cycle.

CMS payment data for CPT code 89346 in 2026

The October 2026 release of the CMS physician fee schedule relative value file (RVU26D) lists 89346 with status X. Every RVU component is zero.

ElementCY2026 value
Short descriptorStorage/year oocyte(s)
Status indicatorX, statutory exclusion
Work RVU0.00
Practice expense RVUs (non-facility and facility)0.00
Malpractice RVU0.00
Global periodXXX
Medicare fee schedule paymentNone

Medicare therefore offers no national rate to use as a benchmark. Commercial rates are set by contract and vary by payer and region. We found no authoritative public benchmark for 89346, so this guide quotes no dollar figure.

Common denial reasons for CPT 89346 and how to avoid them

Coverage decides most 89346 denials. The rest trace to the wrong material code or a storage year billed twice. A denial management workflow shows which pattern your practice is building.

Denial reasonWhy it happensPrevention
Plan excludes fertility servicesThe plan is self-funded under ERISA, or the employer bought no fertility benefitVerify benefits before the freeze and before every renewal
Elective freeze billed to the medical planNo diagnosis supports a fertility preservation benefitConfirm the clinical reason, or bill the storage fee to the patient under the agreement
Wrong storage code89342 billed for eggs, or 89346 kept after the eggs became embryosMatch the code to the inventory for that storage year
Duplicate storage yearA renewal went out early or twiceTrack each storage period and bill each year once
Units billed per oocyteThe unit count was set to the number of eggsBill one unit per year of storage
Missing documentationThe storage record, consent or storage agreement is absent at auditUse a pre-billing checklist and review storage records quarterly

Remittance codes point to the fix. CO-96 (non-covered charge) sends you back to benefit verification, while CO-18 (exact duplicate claim or service) sends you to the storage calendar.

How Pabau supports accurate CPT 89346 billing

Oocyte storage runs on a yearly clock that can run for many years. A missed renewal leaves a storage year unbilled, and a stale code sends the claim back.

Pabau, the practice management platform we build, keeps consent forms, storage agreements, treatment notes and invoices on each patient’s record. Your coders pick the storage code and period, and the claim carries the records behind it.

In the US, Pabau’s claims management sends claims through Claim.MD and tracks their status. Billing staff see rejections next to the patient record. Pabau does not assign codes, so your team stays in control of 89346 and 89342.

Pabau checkout screen showing a completed payment and its invoice
Pabau’s checkout logs the invoice and payment against the patient, so a self-pay storage year is collected and recorded in one step.

Bill every storage year once, with records

Pabau keeps consent forms, storage agreements and invoices on the patient record, and sends US claims through Claim.MD. Your team bills each storage year once, with the documentation behind it.

Pabau claims management dashboard for fertility practices

Conclusion

CPT 89346 is easy to code and easy to lose money on. The code asks what is in the tank and for which year. Payment depends on why it went in.

Check the reason for the freeze and the plan type before the first storage year starts. Then re-read the inventory at every renewal, because eggs that become embryos change the code.

Book a demo to see how Pabau keeps storage records, consent and claims together for fertility practices.

Continue your research

Continue your research

Storing embryos as well as eggs? CPT code 89342 covers annual embryo storage and the switch from 89346.

Freezing embryos this cycle? CPT code 89258 explains the cryopreservation code that comes before storage.

Need the full IVF code sequence? IVF CPT codes maps every code from retrieval to transfer.

Got a CO-96 or CO-18 back on a storage claim? Denial codes in medical billing maps common CARC and RARC codes to the right correction.

Frequently asked questions

What is CPT code 89346?

CPT code 89346 is the code for storage of oocyte(s), per year. The lab reports one unit for each year frozen eggs stay in storage. It does not cover freezing (89337) or thawing (89356).

Is CPT 89346 the code for extended embryo culture?

No. 89346 is oocyte storage. Extended culture of oocytes or embryos for 4 to 7 days has its own code, 89272. Some references mix the two up, so check the descriptor before billing.

What is the difference between CPT 89346 and 89342?

Both report one year of storage. 89346 is for unfertilized eggs, and 89342 is for embryos. When stored eggs are fertilized and the embryos frozen, storage of those embryos moves to 89342.

Does Medicare pay for CPT 89346?

Medicare’s physician fee schedule makes no payment for 89346. The CY2026 CMS relative value file lists it with status X, a statutory exclusion, with zero RVUs. Most claims go to commercial plans or the patient.

How many units of CPT 89346 should I bill?

Bill one unit per year of storage. The descriptor reads oocyte(s), so the number of eggs does not change the unit count. Confirm how each payer treats eggs from separate retrieval cycles.

Which ICD-10 codes support CPT 89346?

Z31.84 (encounter for fertility preservation procedure) fits eggs frozen to preserve fertility, with the cancer code where treatment is the reason. Z31.83 fits eggs banked in an IVF cycle. Use the most specific N97 code when infertility is documented.

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