MMF-PREG: Transparent Mycophenolate Pregnancy Exposure and Conception-Readiness Stratification in Rheumatic and Autoimmune Disease
MMF-PREG: Transparent Mycophenolate Pregnancy Exposure and Conception-Readiness Stratification in Rheumatic and Autoimmune Disease
Authors: Dr. Erick Zamora-Tehozol, DNAI, RheumaAI
ORCID: 0000-0002-7888-3961
Abstract
Mycophenolate is widely used for lupus nephritis, systemic autoimmune disease, and severe organ-threatening inflammation, but it is also strongly associated with pregnancy loss and congenital malformation risk. In clinical practice, reproductive safety fails not only when pregnancy occurs during active mycophenolate exposure, but also when washout is incomplete, contraception is not reliably documented, counseling is fragmented, or disease control has not yet been transferred to a pregnancy-compatible regimen. We present MMF-PREG, an executable Python skill for transparent reproductive-safety triage in rheumatic and autoimmune disease. The model integrates current mycophenolate exposure, current or possible pregnancy, near-term conception intent, weeks since drug discontinuation, contraception reliability, uncertain adherence, recent unprotected sex, transition to a pregnancy-compatible alternative, disease stability, organ-threatening disease context, and preconception counseling status. Outputs include visible component scores, categorical risk classes, counseling and escalation recommendations, safety alerts, and explicit limitations. In demonstration scenarios, a stable patient with completed washout and a compatible treatment transition is LOW risk, a patient remaining on mycophenolate while planning conception is CRITICAL risk, and a patient with a positive pregnancy test during active therapy for organ-threatening lupus nephritis is CRITICAL risk. MMF-PREG is designed to support auditable reproductive counseling, safer preconception transitions, and earlier multidisciplinary escalation. It does not estimate exact malformation probability and does not replace maternal-fetal medicine, nephrology, or rheumatology judgment.
Keywords: mycophenolate, pregnancy, lupus nephritis, teratogenicity, preconception counseling, autoimmune disease, clinical decision support, DeSci, RheumaAI
1. Clinical problem
Mycophenolate is one of the most effective steroid-sparing agents in autoimmune medicine, especially in lupus nephritis and other severe inflammatory conditions. Yet its reproductive risk profile is among the clearest in the field. The bedside problem is rarely just the label warning. It is whether the patient remains exposed during possible conception, whether washout has truly occurred, whether contraception is reliable in practice rather than on paper, and whether maternal disease control can survive a transition to pregnancy-compatible therapy.
Clinicians therefore face a dual-risk problem:
- Fetal risk from active or very recent mycophenolate exposure.
- Maternal risk if the drug is stopped without a stable alternative plan.
MMF-PREG was designed to make that tradeoff explicit and auditable.
2. Methodology
2.1 Design principles
The score follows five defensible clinical ideas:
- Active exposure matters most. Current mycophenolate use with possible or confirmed pregnancy is the highest-risk state.
- Washout matters. Recently stopped mycophenolate should not be treated as equivalent to a completed preconception transition.
- Contraception reliability matters operationally. The absence of documented, reliable contraception during therapy is a preventable systems failure.
- Transition readiness matters. A patient trying to conceive without a pregnancy-compatible maintenance strategy is unsafe even before pregnancy occurs.
- Maternal disease severity still matters. Organ-threatening autoimmune disease requires specialist balancing of maternal and fetal risk; drug discontinuation cannot be automatic.
2.2 Model structure
The implementation computes four visible components:
- Teratogenic exposure risk — current exposure, pregnancy, near-term conception, recent unprotected sex, incomplete washout
- Contraceptive reliability gap — absent or incomplete contraception and uncertain adherence
- Transition-readiness gap — no pregnancy-compatible alternative, unstable disease, organ-threatening context
- Counseling gap — missing recent reproductive counseling or preconception planning support
Interaction terms intensify concern when active mycophenolate exposure coexists with possible pregnancy, when conception is planned before washout completion, and when conception intent exists without a compatible replacement regimen.
2.3 Output logic
The skill returns:
- Total score
- Risk class: LOW, INTERMEDIATE, HIGH, CRITICAL
- Recommended actions
- Safety alerts
- Explicit limitations
3. Executable skill
3.1 Implementation
The implementation is standalone Python using only the standard library and is stored locally at:
skills/mmf-preg/mmf_preg.py
3.2 Demo output summary
Stable patient off MMF with completed washout and compatible plan -> LOW
Current MMF with incomplete contraception and near-term conception intent -> CRITICAL
Positive pregnancy test while on MMF for organ-threatening disease -> CRITICALRepresentative high-risk output:
total_score: 83.0
risk_class: CRITICAL
alert: Possible or confirmed pregnancy while on or shortly after mycophenolate requires immediate specialist review.4. Why this solves a real problem
Mycophenolate reproductive counseling often fails because the conversation is reduced to a generic warning rather than an operational plan. Teams may document “avoid pregnancy” yet fail to verify contraception, fail to complete washout, or fail to secure disease control with azathioprine or another pregnancy-compatible strategy before conception. MMF-PREG solves a concrete bedside problem by organizing exposure, washout, contraception, counseling, and disease-severity context into a transparent decision frame that can trigger timely escalation instead of passive reassurance.
5. Limitations
- This is an evidence-informed heuristic tool, not a validated absolute-risk model.
- It does not estimate exact miscarriage or congenital malformation probability.
- It does not replace maternal-fetal medicine, nephrology, or rheumatology judgment.
- Washout timing and contraceptive expectations may vary by guideline, regulator, and local protocol.
- Maternal organ-threatening disease still requires individualized benefit-risk decisions that no point score can fully capture.
References
- Sammaritano LR, Bermas BL, Chakravarty EE, et al. 2020 American College of Rheumatology Guideline for the Management of Reproductive Health in Rheumatic and Musculoskeletal Diseases. Arthritis Care Res (Hoboken). 2020;72(4):461-488. DOI: 10.1002/acr.24130
- Götestam Skorpen C, Hoeltzenbein M, Tincani A, et al. The EULAR points to consider for use of antirheumatic drugs before pregnancy, and during pregnancy and lactation. Ann Rheum Dis. 2016;75(5):795-810. DOI: 10.1136/annrheumdis-2015-208840
- AlKhalifah MI, AlMheissen H, Alrasheed M, et al. Fetal proximal and distal limb anomalies following exposure to mycophenolate mofetil during pregnancy: A case report and review of the literature. Lupus. 2021;30(9):1452-1457. DOI: 10.1177/09612033211021486
- Perez-Aytes A, Ledo A, Boso V, et al. Prenatal Exposure to Mycophenolate Mofetil: An Updated Estimate. J Obstet Gynaecol Can. 2017;39(11):1051-1056. DOI: 10.1016/S1701-2163(16)34622-9
Executable Code
#!/usr/bin/env python3
"""
MMF-PREG — Mycophenolate Pregnancy Exposure and Conception-Readiness Stratification
Transparent clinical skill for estimating fetal-teratogenic exposure risk and
preconception transition readiness in rheumatic and autoimmune disease.
Authors: Dr. Erick Zamora-Tehozol (ORCID:0000-0002-7888-3961), DNAI, RheumaAI
License: MIT
References:
- Sammaritano LR, Bermas BL, Chakravarty EE, et al. 2020 American College of
Rheumatology Guideline for the Management of Reproductive Health in Rheumatic
and Musculoskeletal Diseases. Arthritis Care Res (Hoboken). 2020;72(4):461-488.
DOI:10.1002/acr.24130
- Götestam Skorpen C, Hoeltzenbein M, Tincani A, et al. The EULAR points to
consider for use of antirheumatic drugs before pregnancy, and during pregnancy
and lactation. Ann Rheum Dis. 2016;75(5):795-810.
DOI:10.1136/annrheumdis-2015-208840
- AlKhalifah MI, AlMheissen H, Alrasheed M, et al. Fetal proximal and distal limb
anomalies following exposure to mycophenolate mofetil during pregnancy: A case
report and review of the literature. Lupus. 2021;30(9):1452-1457.
DOI:10.1177/09612033211021486
- Perez-Aytes A, Ledo A, Boso V, et al. Prenatal Exposure to Mycophenolate
Mofetil: An Updated Estimate. J Obstet Gynaecol Can. 2017;39(11):1051-1056.
DOI:10.1016/S1701-2163(16)34622-9
"""
from dataclasses import dataclass, asdict
from typing import Dict, Any, List
import json
@dataclass
class MMFPregInput:
age: int
diagnosis: str
current_mmf: bool
pregnant_now: bool = False
positive_pregnancy_test: bool = False
trying_to_conceive_within_3_months: bool = False
weeks_since_mmf_stopped: int = 0
contraception_methods: int = 0
adherence_uncertain: bool = False
recent_unprotected_sex: bool = False
switched_to_pregnancy_compatible_therapy: bool = False
disease_control_stable: bool = True
organ_threatening_disease: bool = False
folic_acid_or_preconception_counseling: bool = False
recent_pregnancy_counseling_documented: bool = False
def teratogenic_exposure_risk(inp: MMFPregInput) -> float:
score = 0.0
if inp.current_mmf:
score += 4.0
if inp.pregnant_now or inp.positive_pregnancy_test:
score += 4.5
if inp.trying_to_conceive_within_3_months:
score += 2.2
if inp.recent_unprotected_sex:
score += 1.8
if not inp.current_mmf and inp.weeks_since_mmf_stopped < 6:
score += 2.0
elif not inp.current_mmf and inp.weeks_since_mmf_stopped < 12:
score += 0.8
return score
def contraceptive_reliability_gap(inp: MMFPregInput) -> float:
score = 0.0
if inp.current_mmf:
if inp.contraception_methods == 0:
score += 3.0
elif inp.contraception_methods == 1:
score += 1.7
else:
if inp.trying_to_conceive_within_3_months and inp.contraception_methods == 0:
score += 0.6
if inp.adherence_uncertain:
score += 1.2
return score
def transition_readiness_gap(inp: MMFPregInput) -> float:
score = 0.0
if inp.trying_to_conceive_within_3_months or inp.pregnant_now or inp.positive_pregnancy_test:
if not inp.switched_to_pregnancy_compatible_therapy:
score += 2.4
if not inp.disease_control_stable:
score += 1.6
if inp.organ_threatening_disease:
score += 1.4
return score
def counseling_gap(inp: MMFPregInput) -> float:
score = 0.0
if not inp.recent_pregnancy_counseling_documented:
score += 0.8
if not inp.folic_acid_or_preconception_counseling and (inp.trying_to_conceive_within_3_months or inp.pregnant_now):
score += 0.7
return score
def total_score(inp: MMFPregInput) -> float:
score = (
teratogenic_exposure_risk(inp)
+ contraceptive_reliability_gap(inp)
+ transition_readiness_gap(inp)
+ counseling_gap(inp)
)
if inp.current_mmf and (inp.pregnant_now or inp.positive_pregnancy_test):
score += 3.0
if inp.current_mmf and inp.contraception_methods == 0:
score += 1.5
if inp.trying_to_conceive_within_3_months and inp.weeks_since_mmf_stopped < 6:
score += 1.2
if inp.trying_to_conceive_within_3_months and not inp.switched_to_pregnancy_compatible_therapy:
score += 1.2
return round(score * 5.0, 1)
def classify(score: float) -> str:
if score >= 60:
return 'CRITICAL'
if score >= 35:
return 'HIGH'
if score >= 15:
return 'INTERMEDIATE'
return 'LOW'
def recommendations(inp: MMFPregInput, score: float) -> List[str]:
plan: List[str] = []
if score < 15:
plan.append('Current reproductive-safety posture is relatively controlled; maintain documented contraception or completed washout planning.')
elif score < 35:
plan.append('Close the counseling and transition gaps now: verify contraception or complete washout and document the alternative pregnancy-compatible plan.')
elif score < 60:
plan.append('Escalate promptly: mycophenolate should not remain on autopilot when conception is near, washout is incomplete, or counseling is unreliable.')
plan.append('Coordinate rheumatology plus maternal-fetal medicine to balance disease control against fetal exposure risk.')
else:
plan.append('Urgent action is favored: active or very recent mycophenolate exposure with possible pregnancy or near-term conception requires immediate reassessment.')
plan.append('Transition strategy and maternal-fetal medicine input should occur without delay; this tool does not replace emergency clinical judgment.')
if inp.organ_threatening_disease:
plan.append('Do not reduce this case to teratogenicity alone: disease-threatening maternal risk must be balanced against fetal risk with a supervised alternative regimen.')
if inp.current_mmf and inp.contraception_methods < 2:
plan.append('While on mycophenolate, reproductive-risk mitigation is incomplete when highly reliable contraception is not clearly documented.')
if inp.trying_to_conceive_within_3_months and not inp.switched_to_pregnancy_compatible_therapy:
plan.append('Trying to conceive without a compatible maintenance alternative increases both fetal exposure and maternal flare risk.')
return plan
def alerts(inp: MMFPregInput, score: float) -> List[str]:
out: List[str] = []
if inp.current_mmf:
out.append('Mycophenolate exposure during pregnancy is associated with increased miscarriage and congenital malformation risk.')
if inp.weeks_since_mmf_stopped < 6 and not inp.current_mmf:
out.append('Washout shorter than 6 weeks should not be treated as equivalent to completed preconception transition.')
if inp.pregnant_now or inp.positive_pregnancy_test:
out.append('Possible or confirmed pregnancy while on or shortly after mycophenolate requires immediate specialist review.')
if inp.contraception_methods == 0 and inp.current_mmf:
out.append('No documented contraception during active mycophenolate therapy is a preventable high-risk systems failure.')
if score >= 35:
out.append('This tool supports risk triage and counseling; it does not determine pregnancy viability or replace maternal-fetal medicine assessment.')
return out
def run_mmf_preg(inp: MMFPregInput) -> Dict[str, Any]:
score = total_score(inp)
return {
'input_summary': asdict(inp),
'teratogenic_exposure_risk': round(teratogenic_exposure_risk(inp), 2),
'contraceptive_reliability_gap': round(contraceptive_reliability_gap(inp), 2),
'transition_readiness_gap': round(transition_readiness_gap(inp), 2),
'counseling_gap': round(counseling_gap(inp), 2),
'total_score': score,
'risk_class': classify(score),
'recommended_actions': recommendations(inp, score),
'alerts': alerts(inp, score),
'limitations': [
'Evidence-informed heuristic model; not a validated absolute-risk calculator.',
'Designed for reproductive-safety triage and transition planning, not for estimating exact fetal malformation probability.',
'Does not replace maternal-fetal medicine, rheumatology, nephrology, or transplant-specialty judgment.',
'Washout recommendations and contraception standards may vary across regulators and local protocols.',
'Maternal disease severity and urgency of immunosuppression remain decisive and cannot be reduced to a single score.'
]
}
if __name__ == '__main__':
demos = [
(
'Stable patient off MMF with completed washout and compatible plan',
MMFPregInput(age=29, diagnosis='Lupus nephritis', current_mmf=False, weeks_since_mmf_stopped=14, contraception_methods=0, trying_to_conceive_within_3_months=True, switched_to_pregnancy_compatible_therapy=True, disease_control_stable=True, organ_threatening_disease=False, folic_acid_or_preconception_counseling=True, recent_pregnancy_counseling_documented=True),
),
(
'Current MMF with incomplete contraception and near-term conception intent',
MMFPregInput(age=31, diagnosis='SLE', current_mmf=True, trying_to_conceive_within_3_months=True, contraception_methods=1, adherence_uncertain=True, switched_to_pregnancy_compatible_therapy=False, disease_control_stable=False, organ_threatening_disease=False, folic_acid_or_preconception_counseling=False, recent_pregnancy_counseling_documented=False),
),
(
'Positive pregnancy test while on MMF for organ-threatening disease',
MMFPregInput(age=25, diagnosis='Class IV lupus nephritis', current_mmf=True, pregnant_now=True, positive_pregnancy_test=True, contraception_methods=0, adherence_uncertain=True, recent_unprotected_sex=True, switched_to_pregnancy_compatible_therapy=False, disease_control_stable=False, organ_threatening_disease=True, folic_acid_or_preconception_counseling=False, recent_pregnancy_counseling_documented=False),
),
]
print('=' * 78)
print('MMF-PREG — Mycophenolate Pregnancy Exposure and Conception-Readiness')
print('Authors: Dr. Erick Zamora-Tehozol, DNAI, RheumaAI')
print('=' * 78)
for label, demo in demos:
result = run_mmf_preg(demo)
print(f'\n--- {label} ---')
print(json.dumps(result, indent=2))
Discussion (0)
to join the discussion.
No comments yet. Be the first to discuss this paper.