Neonatal · LIVE
Goldman 2017 oocyte live-birth counseling
Compute Goldman 2017 counseling probabilities of at least one, two, or three live births from a planned count of mature oocytes after elective cryopreservation, using that paper's autologous blastocyst and euploid rates or the donor-egg rates.
Markdown: /docs/oocyte-live-birth.md · Canonical: https://magentlab.com/docs/oocyte-live-birth
Not a medical device. Not a diagnosis, dose, or listing recommendation.
What it computes
Compute Goldman 2017 counseling probabilities of at least one, two, or three live births from a planned count of mature oocytes after elective cryopreservation, using that paper's autologous blastocyst and euploid rates or the donor-egg rates.
When to use
When an agent already has integer age 24–44 years, a mature-oocyte count, and whether the oocytes are from a donor, and needs the published Goldman 2017 at-least-1/2/3 live-birth percents. magent does not count oocytes, assign donor status, or predict a clinic thaw rate. Not a guarantee of live birth and not oncofertility counseling.
When not to use
- Not a medical device. Not a guarantee of live birth. magent does not count oocytes or assign donor status.
- Derivation used a surrogate ICSI male/tubal-factor population, not prospective thawed-oocyte outcomes.
- Center thaw and blastocyst rates vary; this tool uses the paper's printed survival and blastocyst equations, not a local laboratory rate.
- Not oncofertility. Not a substitute for clinic-specific counseling after a thaw.
Formula
p_oocyte = 0.6 * p_euploid * p_blast; autologous p_blast = survival * exp(2.8043 - 0.1112 * equation_age), survival = 0.95 if age_years < 36 else 0.85, equation_age = 35 if age_years <= 35 else age_years; autologous p_euploid from Goldman 2017 SI / main text by integer age (<=35 0.574, 36 0.564, 37 0.486, 38 0.466, 39 0.440, 40 0.359, 41 0.327, 42 0.285, 43 0.206, 44 0.127); donor p_blast = 0.3583, p_euploid = 0.647; p_at_least_k = 1 - sum_{i=0}^{k-1} C(n,i) * p_oocyte^i * (1-p_oocyte)^{n-i} for k=1,2,3 with n = mature_oocytes; percents nearest integer 0-100 (Goldman 2017 Equations 1-2)
Citation
- Authors
- Goldman RH, Racowsky C, Farland LV, Munné S, Ribustello L, Fox JH
- Source
- Hum Reprod. 2017;32(4):853-859
Worked example
Age 37, 20 autologous mature oocytes
Given:
age_years=37egg_donor=falsemature_oocytes=20
- survival 0.85 (age >= 36); equation_age 37; p_euploid 0.486
- p_blast = 0.85 × exp(2.8043 − 0.1112 × 37)
- p_oocyte = 0.6 × 0.486 × p_blast; n=20 independent trials → 75%, 39%, 15%
Age 35, 20 autologous mature oocytes
Given:
age_years=35egg_donor=falsemature_oocytes=20
- survival 0.95 (age < 36); equation_age 35; p_euploid 0.574
- p_blast = 0.95 × exp(2.8043 − 0.1112 × 35)
- p_oocyte = 0.6 × 0.574 × p_blast; n=20 independent trials → 90%, 66%, 38%
Donor eggs, 20 mature oocytes
Given:
age_years=37egg_donor=truemature_oocytes=20
- Donor path: p_blast 0.3583, p_euploid 0.647 (age required, unused in rates)
- p_oocyte = 0.6 × 0.647 × 0.3583; n=20 → at-least-one percent from the printed coefficients
Also searched as
- Goldman 2017 oocyte live birth
- elective mature oocyte cryopreservation
- oocyte live-birth counseling
- egg freeze live birth chance
- planned oocyte cryopreservation
- fertility preservation live birth
- mature oocyte live birth probability
Try
Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.
/api/calc/oocyte_live_birth?age_years=37&mature_oocytes=20&egg_donor=false
Full URL: https://api.magentlab.com/api/calc/oocyte_live_birth?age_years=37&mature_oocytes=20&egg_donor=false
Call
Expect HTTP 402 until you retry with PAYMENT-SIGNATURE. Incomplete query params
return HTTP 400 before any quote or charge.
curl -i -H "Accept: application/json" "https://api.magentlab.com/api/calc/oocyte_live_birth?age_years=37&mature_oocytes=20&egg_donor=false"
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
age_years |
integer | required | Integer age in years (24-44) at the time of the oocyte retrieval as assigned by the caller. Autologous Equation 1 groups age ≤35 as equation_age 35. Donor rates do not change with age, but age is still required. magent does not read an identity document. |
mature_oocytes |
integer | required | Count of mature (MII) oocytes to bank, integer 1-80, as assigned by the caller. Each oocyte is an independent Bernoulli trial at p_oocyte. magent does not count oocytes. |
egg_donor |
boolean | required | true when the mature oocytes are from a donor as assigned by the caller; false for autologous oocytes. Donor path uses p_blast 0.3583 and p_euploid 0.647. true or false. |
Bulk (POST)
POST the same path with a JSON items array. The first item is the GET unit; each additional item is $0.002. Invalid items return HTTP 400 before settlement.
- 1 to 25 items. Each item uses the same keys as the GET query parameters.
- POST of 1 item costs the same as GET. Lists longer than 25: chunk into multiple POSTs. Extra items still execute; do not pad dummy rows.
- The first invalid item fails the whole request (index in the 400 JSON). You are not charged.
- HTTP 200 is {count, path, items}. Each items[i] is the GET 200 body for that row.
- Catalog misses (empty matches, found=false) stay paid 200s inside that slot.
- x402 resource URL is this path plus n and body_sha256. Browsers that prefer text/html get the same paywall as GET; Pay retries POST with the same items.
Example request (fixture)
{
"items": [
{
"age_years": "37",
"egg_donor": "false",
"mature_oocytes": "20"
},
{
"age_years": "37",
"egg_donor": "false",
"mature_oocytes": "20"
}
]
}
Opens a two-item fixture on the API host. Unpaid browsers get the same MetaMask paywall as GET; Pay retries POST with those items.
Example 200 (fixture)
{
"count": 2,
"path": "/api/calc/oocyte_live_birth",
"items": [
{
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Goldman RH, Racowsky C, Farland LV, Munné S, Ribustello L, Fox JH",
"doi": "10.1093/humrep/dex008",
"id": "goldman-2017",
"pmid": "28166330",
"source": "Hum Reprod. 2017;32(4):853-859",
"title": "Predicting the likelihood of live birth for elective oocyte cryopreservation: a counseling tool for physicians and patients"
},
"formula": "oocyte_live_birth",
"formula_expression": "p_oocyte = 0.6 * p_euploid * p_blast; autologous p_blast = survival * exp(2.8043 - 0.1112 * equation_age), survival = 0.95 if age_years < 36 else 0.85, equation_age = 35 if age_years <= 35 else age_years; autologous p_euploid from Goldman 2017 SI / main text by integer age (<=35 0.574, 36 0.564, 37 0.486, 38 0.466, 39 0.440, 40 0.359, 41 0.327, 42 0.285, 43 0.206, 44 0.127); donor p_blast = 0.3583, p_euploid = 0.647; p_at_least_k = 1 - sum_{i=0}^{k-1} C(n,i) * p_oocyte^i * (1-p_oocyte)^{n-i} for k=1,2,3 with n = mature_oocytes; percents nearest integer 0-100 (Goldman 2017 Equations 1-2)",
"age_years": 37,
"egg_donor": false,
"mature_oocytes": 20,
"p_at_least_1_percent": 75,
"p_at_least_2_percent": 39,
"p_at_least_3_percent": 15,
"p_blast": 0.2293,
"p_euploid": 0.486,
"p_oocyte": 0.0669
},
{
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Goldman RH, Racowsky C, Farland LV, Munné S, Ribustello L, Fox JH",
"doi": "10.1093/humrep/dex008",
"id": "goldman-2017",
"pmid": "28166330",
"source": "Hum Reprod. 2017;32(4):853-859",
"title": "Predicting the likelihood of live birth for elective oocyte cryopreservation: a counseling tool for physicians and patients"
},
"formula": "oocyte_live_birth",
"formula_expression": "p_oocyte = 0.6 * p_euploid * p_blast; autologous p_blast = survival * exp(2.8043 - 0.1112 * equation_age), survival = 0.95 if age_years < 36 else 0.85, equation_age = 35 if age_years <= 35 else age_years; autologous p_euploid from Goldman 2017 SI / main text by integer age (<=35 0.574, 36 0.564, 37 0.486, 38 0.466, 39 0.440, 40 0.359, 41 0.327, 42 0.285, 43 0.206, 44 0.127); donor p_blast = 0.3583, p_euploid = 0.647; p_at_least_k = 1 - sum_{i=0}^{k-1} C(n,i) * p_oocyte^i * (1-p_oocyte)^{n-i} for k=1,2,3 with n = mature_oocytes; percents nearest integer 0-100 (Goldman 2017 Equations 1-2)",
"age_years": 37,
"egg_donor": false,
"mature_oocytes": 20,
"p_at_least_1_percent": 75,
"p_at_least_2_percent": 39,
"p_at_least_3_percent": 15,
"p_blast": 0.2293,
"p_euploid": 0.486,
"p_oocyte": 0.0669
}
]
}
Response
| Field | Type | Description |
|---|---|---|
formula |
string | oocyte_live_birth |
formula_expression |
string | Goldman 2017 Equations 1-2 plus SI p(euploid) and donor rates |
age_years |
integer | Integer age 24-44 used |
mature_oocytes |
integer | Mature oocyte count n (1-80) |
egg_donor |
boolean | true uses donor p_blast and p_euploid; false is autologous Equation 1 |
p_blast |
number | Per-oocyte blastocyst probability, 4 decimals. Autologous: survival × exp(2.8043 − 0.1112 × equation_age). Donor: 0.3583. |
p_euploid |
number | Per-blastocyst euploid probability, 4 decimals. Autologous SI / main text by integer age. Donor: 0.647. |
p_oocyte |
number | 0.6 × p_euploid × p_blast, 4 decimals (60% live birth per transferred euploid blastocyst) |
p_at_least_1_percent |
integer | Nearest-integer percent (0-100) of at least one live birth from n oocytes |
p_at_least_2_percent |
integer | Nearest-integer percent (0-100) of at least two live births from n oocytes |
p_at_least_3_percent |
integer | Nearest-integer percent (0-100) of at least three live births from n oocytes |
citation |
object | Goldman 2017 Hum Reprod citation |
disclaimer |
string | Not-a-device notice |
Example JSON
Machine form of the same example. Frozen fixture. Not a live lookup.
{
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Goldman RH, Racowsky C, Farland LV, Munné S, Ribustello L, Fox JH",
"doi": "10.1093/humrep/dex008",
"id": "goldman-2017",
"pmid": "28166330",
"source": "Hum Reprod. 2017;32(4):853-859",
"title": "Predicting the likelihood of live birth for elective oocyte cryopreservation: a counseling tool for physicians and patients"
},
"formula": "oocyte_live_birth",
"formula_expression": "p_oocyte = 0.6 * p_euploid * p_blast; autologous p_blast = survival * exp(2.8043 - 0.1112 * equation_age), survival = 0.95 if age_years < 36 else 0.85, equation_age = 35 if age_years <= 35 else age_years; autologous p_euploid from Goldman 2017 SI / main text by integer age (<=35 0.574, 36 0.564, 37 0.486, 38 0.466, 39 0.440, 40 0.359, 41 0.327, 42 0.285, 43 0.206, 44 0.127); donor p_blast = 0.3583, p_euploid = 0.647; p_at_least_k = 1 - sum_{i=0}^{k-1} C(n,i) * p_oocyte^i * (1-p_oocyte)^{n-i} for k=1,2,3 with n = mature_oocytes; percents nearest integer 0-100 (Goldman 2017 Equations 1-2)",
"age_years": 37,
"egg_donor": false,
"mature_oocytes": 20,
"p_at_least_1_percent": 75,
"p_at_least_2_percent": 39,
"p_at_least_3_percent": 15,
"p_blast": 0.2293,
"p_euploid": 0.486,
"p_oocyte": 0.0669
}
Client errors (HTTP 400)
Invalid params return 400 without charge. Shared HTTP 402 and 503 meanings: Payments.
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_oocyte_live_birth |
Goldman 2017 oocyte counseling inputs must match age 24-44 years, mature oocyte count, and egg_donor flag from that paper. Returned before settlement; you are not charged. |
| 400 | invalid_items |
POST body must be a JSON object with only an items array Returned before settlement; you are not charged. |
| 400 | invalid_item_count |
items must be an array of 1 to 25 objects Returned before settlement; you are not charged. |
| 400 | invalid_item |
each items entry must be a JSON object Returned before settlement; you are not charged. |
Related tools
- Bishop score — Return the Bishop 1964 pelvic score as the sum of five caller-assigned integer components (dilation, effacement, station, consistency, position).
- Pregnancy due date from LMP — Return ACOG Committee Opinion 700 Naegele estimated due date in days from a certain last menstrual period, adjusting the 280-day interval when cycle length is not 28 days.
- simplified Bishop score — Return the Laughon 2011 simplified Bishop score as the sum of three caller-assigned Bishop 1964 integers (dilation, station, effacement; each 0-3; max 9) and whether the score is >5.
Payment
Unpaid requests return HTTP 402 even if query parameters or POST items are missing or invalid, so CDP and agents can index the path. After a PAYMENT-SIGNATURE, invalid params return HTTP 400 JSON before settlement. magent does not charge. Fix the params, then request a new 402 quote for that complete URL. Catalog misses (empty matches, found=false) are valid paid 200s. Unpaid valid requests return HTTP 402 with a base64
PAYMENT-REQUIRED
header. HTTP 503 is not a new quote: retry the same PAYMENT-SIGNATURE. Full handshake
and shared payment errors: Payments.
Stdio MCP: /docs/mcp.
Guarantees
- HTTP 402 is unpaid, including a missing query. After PAYMENT-SIGNATURE, invalid parameters return HTTP 400 before settlement. You are not charged. HTTP 402 never includes the tool JSON.
- exact: settlement finishes before the tool (paymentFlow upfront). batch-settlement: verify/deposit before the tool; chargedCumulativeAmount commits after HTTP 2xx. Uncertain or failed settlement fails closed (HTTP 503). Retry the same PAYMENT-SIGNATURE.
- HTTP 402 is unpaid only. Do not sign a second authorization because of a 503.
- Execution is timeout-bounded and concurrency-capped.
- Calculator inputs are stored encrypted for allowlisted operators (Magent Console). They are not in public logs, SSH lookups, catalog, or rollups. Request logs store path without query.