FET Billing

FET Billing — Getting
58976 Right (Not 58974)

Short answer: a standalone frozen embryo transfer bills as CPT 89352 (embryo thaw) plus CPT 58976 (transfer of frozen-thawed embryo), on separate lines, keyed to the thaw and transfer dates. The single most common FET billing error is submitting 58974 — which is fresh transfer in the same cycle as the retrieval — for a standalone FET. That mismatch draws an immediate denial because the payer expects a retrieval on the same claim. Endometrial preparation monitoring (76830, 82670, 84144) bills separately on each date of service, and the FET requires its own prior authorization even when the freeze cycle was already authorized.

The rest of this page walks through the FET code set by component, the diagnosis sequences that match each clinical scenario (freeze-all, PGT, donor egg, elective banking), the four coverage tracks that decide whether a given FET is bundled into a cycle rate or billed as a separate episode, and the workflow EasyRCM uses to keep the thaw, transfer, and authorization aligned against the upstream IVF cycle and prior authorization.

FET Billing Components

Representative examples only. Code selection depends on documentation and payer-specific rules.

Embryo Thaw

89352

Thawing of cryopreserved embryos on the day of (or day before) transfer. Bill once per thaw session regardless of the number of embryos thawed, on a separate line from the transfer code.

Embryo Transfer (FET)

58976

Frozen-thawed embryo transfer performed as a standalone cycle after prior cryopreservation. 58976 — not 58974 — is the correct code for every FET where embryos were frozen in a prior cycle. 58974 applies only to a fresh transfer in the same cycle as the retrieval.

Endometrial Preparation Monitoring

76830, 82670, 84144

Transvaginal ultrasound, estradiol, and progesterone assays billed on each date of service during endometrial preparation. Coverage varies by payer and by whether the FET is medicated or natural cycle.

Assisted Hatching

89253

When performed on the thawed embryo before transfer, this is a distinct billable service — not bundled into the transfer code. Requires documentation of clinical indication (thickened zona, recurrent implantation failure, poor prognosis).

Embryo Cryopreservation (upstream)

89258

The freeze session itself. Billed at the retrieval-and-freeze cycle, not on the FET claim. Bill once per freeze session regardless of embryo count. Included here because the FET line audit trail starts with the 89258 date.

Annual Embryo Storage

89342

Annual cryostorage fee — nearly always patient-pay in commercial plans. 89342 is embryo storage; 89344 is oocyte storage; 89346 is sperm storage. Document the embryo count and storage start date.

Fertility Mandate Payer Reporting

S4016, S4017, S4018, S4037, S4040

Bundled S codes used by mandate payers such as Aetna — frozen cycle case rate, cancelled transfers, cryopreserved embryo transfer, and ongoing embryo storage monitoring.

Diagnosis Code Scenarios

ICD-10 codes are illustrative. Final code selection requires clinical documentation review.

Freeze-all IVF cycle → FET

N97.0 – N97.9 (female infertility etiology) + Z31.83 (encounter for ART)

PGT-A/PGT-M cycle → FET after results

N96 or N97.x (underlying infertility) + Z31.83 — the FET diagnosis references the infertility etiology, not the PGT result

Donor egg cycle → FET

Z31.7 (encounter for procreative management, using donor oocyte) as required donor-cycle secondary code, paired with N97.x primary

Elective embryo banking → later FET

Z31.83 (encounter for ART) as principal, with the retained infertility etiology from the freeze cycle

How payers cover FET cycles

Short answer: a frozen embryo transfer is almost always adjudicated as a distinct episode from the retrieval-and-freeze cycle it came out of, with its own authorization, its own claim, and its own coverage track. Four tracks decide how the FET is priced and what has to be on the pre-service request; getting the track right before the thaw date is what keeps the FET line from denying against a mismatched cycle authorization.

Freeze-all after fresh IVF. The most common FET coverage path. The prior retrieval cycle authorization does not automatically extend to the FET — the FET is a separate covered service under nearly every commercial policy and every state mandate, requiring its own pre-service authorization request that names 58976 (transfer), 89352 (thaw), and the endometrial monitoring codes (76830, 82670, 84144) with the retained infertility etiology (N97.x) and the ART encounter code (Z31.83). Freeze-all is a clinical decision — OHSS risk, PGT plan, uterine factor, or elective — that does not itself drive the FET diagnosis; the FET claim references the underlying infertility etiology documented at the retrieval cycle, carried forward. When cycle-count limits apply under the plan, the freeze-all cycle and the subsequent FET are typically counted as one attempt (not two), but plan language varies and should be confirmed before the FET authorization request goes out.

Post-PGT FET. Every PGT-A, PGT-M, and PGT-SR cycle is a freeze-all — the biopsy specimen goes to the reference lab while the embryos are vitrified, and the FET follows once results return. The FET is billed identically to any non-PGT FET (89352 thaw + 58976 transfer + monitoring), and the diagnosis on the FET claim references the underlying infertility etiology rather than the PGT result. The PGT result — euploid, aneuploid, mosaic, unaffected, affected — is a laboratory classification that belongs in the procedure note as narrative context, not as an ICD-10 diagnosis on the FET claim. Authorization for the FET is separate from the biopsy and reference-lab authorizations obtained during the PGT cycle; a PGT cycle authorized end-to-end at the biopsy stage still requires a fresh pre-service request for the FET.

Fertility benefit managers. Progyny, Carrot, Kindbody, and Maven route FET through a dedicated Smart Cycle (or the FBM's equivalent) that reprices the transfer episode at a bundled per-cycle allowable separate from the retrieval or freeze-all bundle. FET as its own Smart Cycle line consumes a distinct unit of the patient's authorized benefit — the freeze cycle's unit consumption does not carry the FET, and the FET's unit consumption does not extend back to a subsequent retrieval. Confirm before the thaw date whether the current FET is authorized as a standalone Smart Cycle line or is being adjudicated under a still-open freeze-cycle authorization; a mismatch here is the largest FBM take-back category on FET claims. See fertility benefit managers for how the four largest FBMs sequence FET as its own Smart Cycle bundle.

Donor-embryo and donor-egg-derived FET. A donor-cycle FET follows the same 89352 + 58976 code set as any other FET, with 58976 correct in virtually every scenario — the freeze-all model dominates donor programs for quality-control and scheduling reasons. Fresh donor transfers using 58974 are increasingly rare and require a synchronized same-cycle donor-recipient transfer with never-frozen embryos. The FET claim includes Z31.7 (encounter for procreative management, using donor oocyte) as the donor-cycle secondary code alongside the primary infertility etiology; a donor FET billed without Z31.7 draws routine adjudication delays even when the CPT selection is otherwise correct. See donor egg billing for the recipient-side coding sequence.

How EasyRCM bills a FET cycle

EasyRCM runs FET as a distinct billing episode from the retrieval-and-freeze cycle it grew out of, coordinated through a four-stage workflow — Classify → Re-authorize → Bill-and-monitor → Reconcile — that sets the FET coverage track before the thaw date, keeps the FET authorization aligned with the coverage track rather than with the freeze-cycle authorization, and closes the loop against the embryology thaw report and the monitoring dates before the claim goes out.

  1. Classify — tag the FET coverage track at scheduling. Every FET on the schedule is tagged as one of four coverage tracks (freeze-all after fresh IVF, post-PGT, FBM, or donor-derived) at the point the transfer is calendared, not at the claim stage. The tag drives the pre-auth destination, the estimate template, and the diagnosis-sequence template. A case that moves between tracks — for example, a freeze-all originally scheduled as a routine post-IVF FET that later adds PGT results as the reason for delay — is re-tagged before the pre-auth submission so the estimate, the authorization request, and the eventual claim all reference the same coverage path.
  2. Re-authorize — request a distinct FET authorization even when the freeze cycle was covered. The pre-service request for the FET names 58976, 89352, the endometrial monitoring code set (76830, 82670, 84144), and 89253 where assisted hatching is planned, with the retained infertility etiology (N97.x) and the ART encounter code (Z31.83). For donor-cycle FETs the Z31.7 donor-oocyte secondary is included in the request. For FBM cases the request goes to the FBM template rather than the underlying carrier's medical policy, and the FBM authorization letter (not the medical policy) governs claim adjudication. Filing an FET on the freeze-cycle authorization is the highest-volume avoidable denial on this line and is what this stage exists to prevent.
  3. Bill-and-monitor — file thaw, transfer, and monitoring on the correct dates of service. 89352 is filed on the thaw date, on its own line separate from the transfer. 58976 is filed on the transfer date. Monitoring codes (76830, 82670, 84144) are filed on each date of service during endometrial preparation, not bundled onto the transfer claim. When the case is FBM-bundled, all four component groups are included on the claim under the FBM's template even though they reprice against the Smart Cycle allowable — omitting a component line risks the FBM re-adjudicating the FET as under-scoped. Annual embryo storage (89342) is a distinct patient-pay episode and is not filed on the FET claim.
  4. Reconcile — audit paid FET lines weekly at the component level. Each week, paid and denied FET-related lines are reconciled against the underlying embryology thaw report and the pre-service authorization: was 58976 paid or repriced; did 89352 file on the correct thaw date; did the monitoring dates match the preparation calendar; did the donor-cycle Z31.7 secondary appear where required. Denied lines are classified by root cause (58974/58976 miscode, mismatched authorization, missing donor secondary, monitoring date bundled to the transfer, or FBM template mismatch) and routed either to appeal with the thaw report attached, to a corrected claim, or — for miscodes — to a corrected primary. Root-cause counts by payer feed back into the classification stage for the next month's cases so the pre-auth request and the estimate template are tuned to what the payer has actually been paying, not to what the medical policy claims to cover.

Because a FET sits at the intersection of the freeze-cycle claim, the monitoring calendar, and (for PGT and donor cases) a separate upstream authorization chain, practices that reconcile only at the cycle level miss FET-specific failure modes — a transfer that adjudicated cleanly overall but zeroed the thaw line, an FBM claim that repriced the monitoring codes as bundled into the Smart Cycle, or a donor FET that stalled adjudication for a missing Z31.7 secondary. EasyRCM reconciles each FET component line against the source document (thaw report, monitoring log, authorization letter) so a repriced or zeroed line is caught and appealed before the timely-filing window closes rather than surfacing as an unexplained cycle-level variance months later. For the underlying benefits-verification and eligibility check that has to precede the pre-auth request, see eligibility and benefits verification.

Are your FET cycles fully captured?

Our free audit reviews your FET claims for 58974-vs-58976 selection, missing thaw fees, monitoring dates bundled to the transfer, and donor-cycle secondary codes.

Book Your Free Audit →