CPT code 89346 – Annual oocyte storage billing guide
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
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
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.
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.
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.
Related reproductive storage codes: 89346 vs 89342, 89343 and 89344
The four annual storage codes share one descriptor stem, Storage (per year), and split by the material in the tank.
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.

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.
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.
Documentation for CPT 89346: storage records, storage year and consent
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.
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.
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.

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.

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



