attachment
attachment

Explain in detail with diagrams flow chart visual pictures for post graduate mbbs obstetrics scholar

analyse_media
Reading File
Finding Sources
Searching the Web

pre-eclampsia pathophysiology flowchart diagram endothelial dysfunction vasospasm PGmedical

Finding Sources
Loading Image
Loading Image
Finding Sources
Loading Image
Loading Image
Reading File
Loading Image
Searching the Web

pre-eclampsia two stage model spiral artery remodeling trophoblast invasion diagram HELLP syndrome 2024

Loading Image
Loading Image
Now I have everything I need for a comprehensive, detailed PG-level explanation. Let me craft the full answer.

Pre-Eclampsia: Pathophysiology for PG Obstetrics Scholars

What Your Textbook Page Covers

Your image is from Chapter 18: Hypertensive Disorders in Pregnancy (p. 209) - likely DC Dutta's Textbook of Obstetrics. It covers the complete pathophysiology of pre-eclampsia including the biochemical mechanisms, organ changes, HELLP syndrome, edema, and proteinuria.

OVERVIEW: The Two-Stage Model

Pre-eclampsia is best understood as a two-stage disease:
Two-stage model: Stage 1 = Abnormal placentation → Stage 2 = Maternal endothelial dysfunction with hypertension, proteinuria, liver dysfunction

STAGE 1: Placental Stage (Weeks 6-18, Preclinical)

Normal vs. Abnormal Trophoblast Invasion

Normal pregnancy:
  • Cytotrophoblast invades spiral arteries all the way to the myometrial segment
  • Replaces musculoelastic media with fibrinoid material
  • Converts high-resistance, low-flow vessels → low-resistance, high-flow uteroplacental vessels
  • Spiral arteries become wide, tortuous, incapable of vasospasm
Pre-eclampsia:
  • Trophoblast invasion stops at the decidua-myometrial junction (fails to reach the myometrial segment)
  • Musculoelastic media remains intact and responsive to vasoconstrictor stimuli
  • Spiral arteries remain narrow, high-resistance
  • Result: placental ischemia + hypoperfusion

STAGE 2: Maternal Systemic Response (Clinical Disease)

Placental ischemia releases a cascade of factors into maternal circulation:
Comprehensive pathogenesis flowchart: genetic factors → abnormal trophoblast invasion → placental dysfunction → oxidative stress + cytokines + sFlt-1/sEndoglin → leukocyte/endothelial activation → multi-organ manifestations

THE 8 PATHOPHYSIOLOGICAL MECHANISMS (From Your Textbook)

1. Prostaglandin Imbalance

SubstanceSourceActionIn Pre-eclampsia
PGI₂ (Prostacyclin)Vascular endotheliumVasodilator, inhibits platelet aggregationDecreased
TXA₂ (Thromboxane A2)PlateletsVasoconstrictor, promotes platelet aggregationIncreased
Net result: Vasoconstriction + platelet activation + thrombus formation

2. Increased Angiotensin-II Sensitivity

Normal pregnancy:
Angiotensinase (part of α₂-globulin) is liberated → breaks down Ang-II → blood pressure remains low and refractory
Pre-eclampsia:
Proteinuria → loss of α₂-globulin → Angiotensinase activity drops → Ang-II accumulates → increased vascular sensitivity → hypertension becomes refractory

3. Nitric Oxide (NO) Deficiency

L-arginine
    ↓ (eNOS enzyme in vascular endothelium + syncytiotrophoblast)
Nitric Oxide (NO)
    ↓
✓ Relaxes vascular smooth muscle
✓ Inhibits platelet aggregation
✓ Prevents intervillous thrombosis

In Pre-eclampsia:
Oxidative stress + ↑Arginase II
    ↓
eNOS uncoupling → NO → O₂⁻ (superoxide)
    ↓
Peroxynitrite (toxic) → Endothelial damage
    ↓
↓ Vasodilation → HYPERTENSION

4. Endothelin-1 (ET-1) Excess

  • Synthesized by endothelial cells
  • More potent vasoconstrictor than Ang-II
  • Causes sustained smooth muscle contraction
  • Contributes to glomerular arteriole spasm (proteinuria)

5. Inflammatory Mediators

Placental ischemia
      ↓
Activated leukocytes + Trophoblastic debris
      ↓
TNF-α, IL-6, IL-8 (cytokines)
      ↓
Endothelial cell injury
      ↓
↑ Adhesion molecules + ↑ Capillary permeability
      ↓
EDEMA + ENDOTHELIAL DYSFUNCTION

6. Abnormal Lipid Metabolism / Oxidative Stress

Oxidative stress in pre-eclampsia
        ↓
Lipid peroxides + Reactive Oxygen Species (ROS) + Superoxide anion radicals
        ↓
Endothelial injury + dysfunction
        ↓
Platelet activation + Neutrophil activation
        ↓
More superoxide radical production → MORE endothelial damage
        ↓ (VICIOUS CYCLE)

7. Angiogenic / Antiangiogenic Imbalance

This is the most current and molecularly understood mechanism:
FactorNormalPre-eclampsiaEffect
VEGF (Vascular Endothelial Growth Factor)Promotes endothelial survival↓ (sequestered)Endothelial dysfunction
PLGF (Placental Growth Factor)Angiogenesis↓ (sequestered)Reduced placental vascularization
sFlt-1 (soluble fms-like tyrosine kinase-1)Low↑↑ (antiangiogenic)Binds + neutralizes VEGF and PLGF
sEndoglinLow↑ (antiangiogenic)Inhibits TGF-β signaling → endothelial dysfunction
sFlt-1 binds VEGF + PLGF → prevents them from activating their receptors → endothelial cell dysfunction → capillary leak, vasospasm, hypertension

8. Others

  • Factor V Leiden mutation - inherited thrombophilia → increases risk
  • AT1 receptor autoantibodies - stimulate AT1 receptors → vasoconstriction + sFlt-1 production

MASTER FLOWCHART: Central Pathogenesis Pathway

Central illustration of preeclampsia pathogenesis: Risk factors → Impaired trophoblast invasion → Uteroplacental perfusion reduction → Placental hypoxia → HIF-1α, heme oxygenase, ER stress → sFlt-1/sEng release → ↓VEGF/PLGF/TGF-β → NO deficiency + Endothelin-1 rise + Endothelial dysfunction → Multi-organ manifestations including hypertension, proteinuria/renal failure, hepatic dysfunction, thrombocytopenia, pulmonary edema, stroke/PRES/eclampsia, cardiomyopathy

SUMMARY BOX: The Final Common Pathway

PRE-ECLAMPSIA = ENDOTHELIAL DYSFUNCTION + VASOSPASM
                        ↕ (Vicious cycle)
Endothelial dysfunction ← Oxidative stress + Inflammatory mediators
Vasospasm ← Imbalance: ↓PGI₂ + ↓NO vs. ↑TXA₂ + ↑Ang-II + ↑ET-1

ORGAN-SPECIFIC PATHOLOGY

Uteroplacental Bed

  • Premature aging of placenta
  • Acute red infarcts + white infarcts on maternal surface
  • Syncytial degeneration + syncytial knots (↑)
  • Thickened basement membrane of villi
  • Proliferative endarteritis of spiral arteries → obliteration of lumen → reduced blood flow by ~1/3

Kidney: Glomerular Endotheliosis

Vasospasm of afferent glomerular arterioles
        ↓
Anoxia to glomerular endothelium
        ↓
GLOMERULAR ENDOTHELIOSIS
(endothelial swelling + fibrin-like deposits in GBM + occluded lumen)
        ↓
↓GFR (25% reduction) + ↓Tubular reabsorption
        ↓
PROTEINURIA
(Albumin 50-60%, α-globulin 10-15% of total urinary protein)
        ↓
Severe cases: Bilateral Renal Cortical Necrosis

Liver

  • Periportal hemorrhagic necrosis (peripheral lobular necrosis) due to arteriolar thrombosis
  • Subcapsular hematoma (diagnosed by CT/USS)
  • LFTs abnormal especially in HELLP
  • Rarely: liver rupture → hemoperitoneum → sudden hypotension

Blood Vessels

  • Intense vasospasm throughout
  • Fibrinoid necrosis of vessel walls
  • Impaired vasa vasorum → loss of endothelial integrity

Brain

  • Cerebral vasospasm → ischemia
  • Posterior Reversible Encephalopathy Syndrome (PRES)
  • Eclampsia (seizures)
  • Intracranial hemorrhage (ICH)

EDEMA: Mechanism

Oxidative stress → Endothelial injury
         ↓
↑ Capillary permeability (leaky capillaries)
         ↓
Fluid leaks into extracellular space
         +
↓ Plasma oncotic pressure (albumin loss via proteinuria)
         ↓
GENERALIZED OEDEMA
(Dependent edema → facial puffiness → pulmonary edema in severe cases)

PROTEINURIA: Chain of Events

Vasospasm of afferent glomerular arterioles
         ↓
Anoxic change to glomerular tuft endothelium
         ↓
Glomerular endotheliosis
         ↓
↑ Glomerular capillary permeability
         ↓
↑ Protein leakage (filtration overwhelms reabsorption)
         +
Simultaneously depressed tubular reabsorption
         ↓
SIGNIFICANT PROTEINURIA
(≥300 mg/24h or P:Cr ≥0.3 mg/mg)
Albumin = 50-60% | α-globulin = 10-15%

HELLP SYNDROME

Acronym: Hemolysis + Elevated Liver enzymes + Low Platelets
FeatureMechanismDiagnostic Threshold
Hemolysis (H)Microangiopathic hemolytic anemia - RBCs sheared by fibrin strands in vasospastic vesselsSchistocytes/helmet cells on peripheral smear, ↑LDH, ↑bilirubin >1.2 mg/dL
Elevated Liver (EL)Periportal hemorrhagic necrosis, hepatic arteriolar thrombosisAST + ALT >70 IU/L
Low Platelets (LP)Platelet consumption at sites of endothelial damage<100,000/mm³
Key points:
  • Complicates 10-15% of severe pre-eclampsia
  • Can occur without hypertension (atypical presentation)
  • Presents with: nausea, vomiting, epigastric/RUQ pain
  • Subcapsular hematoma → liver rupture → hemoperitoneum

HYPERTENSION MECHANISM: Summary Diagram

↓PGI₂                    ↑TXA₂
↓Nitric oxide             ↑Angiotensin-II (due to ↓angiotensinase)
                          ↑Endothelin-1
         ↓                         ↓
    VASODILATORS             VASOCONSTRICTORS
              ↘             ↙
          IMBALANCE → VASOSPASM
                   ↓
            ↑ Peripheral Vascular Resistance
                   ↓
              HYPERTENSION
          (≥140/90 mmHg twice, ≥4h apart)

QUICK REVISION TABLE: Biomarkers in Pre-eclampsia

BiomarkerDirectionClinical Significance
sFlt-1↑↑Best predictor; sequesters VEGF/PLGF
PLGF↓↓Low before clinical presentation
sFlt-1:PLGF ratio↑↑↑>38 = high risk within 4 weeks
NOVasodilation impaired
Endothelin-1Potent vasoconstriction
TXA₂Platelet activation + vasoconstriction
PGI₂Loss of platelet inhibition
TNF-α, IL-6Endothelial activation
Uric acidReflects reduced GFR + renal damage

NOTES ON YOUR HANDWRITTEN ANNOTATION

You wrote "Find → NO → Rich food??" at the top. This likely refers to:
  • L-arginine (found in protein-rich foods: nuts, meat, dairy) is the substrate for eNOS to produce Nitric Oxide
  • In pre-eclampsia, despite available L-arginine, eNOS is uncoupled due to oxidative stress → produces superoxide instead of NO
  • Some studies have investigated L-arginine supplementation in PE prevention, but evidence remains inconclusive
For a comprehensive video explanation:

References:

Create a comparison table: Early-onset vs late-onset pre-eclampsia mechanisms

Finding Sources
Searching PubMed

"early-onset preeclampsia" AND "late-onset preeclampsia" AND pathophysiology

Searching the Web

early-onset vs late-onset preeclampsia mechanisms comparison sFlt-1 PLGF trophoblast maternal vascular 2024

Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC12652060

Reading Article

PMID: 39049670

Finding Sources
Reading Web Page

https://www.mdpi.com/1422-0067/26/22/11091

Finding Sources
I now have everything needed. Here is the detailed PG-level comparison.

Early-Onset vs Late-Onset Pre-eclampsia: Complete Comparison

Definition Cut-off

Early-Onset PE (EOPE) - Type ILate-Onset PE (LOPE) - Type II
Gestational age< 34 weeks≥ 34 weeks
Proportion of all PE5-20%80-95%
Core conceptPlacenta-driven diseaseMother-driven disease

THE CONCEPTUAL DIVIDE

EOPE (Type I)                           LOPE (Type II)
─────────────────────────────────────────────────────────
PLACENTA                                MOTHER
    ↓                                       ↓
Defective trophoblast invasion          Pre-existing maternal
Abnormal spiral artery remodeling       metabolic/vascular
Placental ischemia + hypoxia            predisposition
    ↓                                       ↓
Severe angiogenic imbalance             Mild angiogenic imbalance
↓↓↓ PLGF + ↑↑↑ sFlt-1                  ↓ PLGF + ↑ sFlt-1
    ↓                                       ↓
Fetal growth restriction                Normal/large fetus
Abnormal Dopplers                       Normal Dopplers
Severe maternal disease                 Milder maternal disease
    ─────────────────────────────────────
           BOTH converge to:
    Endothelial dysfunction + Vasospasm
    Hypertension + Proteinuria

MASTER COMPARISON TABLE

1. Pathophysiological Mechanisms

FeatureEOPE (<34 wks)LOPE (≥34 wks)
Primary driverDefective placentationMaternal cardiovascular/metabolic maladaptation
Trophoblast invasionSeverely impaired - fails to reach myometrial segmentNear-normal or only mildly impaired
Spiral artery remodelingSeverely deficient - vessels remain high resistance, narrow, muscularNear-normal or mildly affected
Uteroplacental blood flowMarkedly reduced (high-resistance flow)Normal or near-normal
Placental hypoxiaSevere, early-onset, chronicMild or absent
Placental senescenceAccelerated premature senescencePhysiological age-related senescence at term
sFlt-1 levels↑↑↑ (very high, sustained)↑ (mildly elevated)
PLGF levels↓↓↓ (severely suppressed)↓ (mildly reduced)
sFlt-1:PLGF ratio↑↑↑ (>85, often >200)↑ (38-85)
sEndoglin↑↑ elevated↑ mildly elevated
Oxidative stressSevere - placental hypoxia-driven ROS productionModerate - maternal metabolic-driven
Inflammatory cytokines (TNF-α, IL-6)Marked elevationModerate elevation
NO deficiencySevereModerate
Endothelin-1↑↑
HIF-1α (hypoxia-inducible factor)↑↑ - drives sFlt-1 and sEng productionLess upregulated
AT1 receptor autoantibodiesMore commonLess common
Syncytiotrophoblast stress/debris+++, large amounts shed into maternal circulation+, physiological shedding at term

2. Risk Factor Profile

Risk FactorEOPELOPE
Previous preeclampsia
Nulliparity✓ (stronger association)
Diabetes mellitus✓✓ (stronger)
Antiphospholipid syndrome✓✓ (strong)
Chronic hypertension✓✓ (strong)
Thrombophilias✓✓
Molar pregnancy✓✓
IVF - donor eggs✓✓
Black race✓✓ (strong)
Obesity (BMI >35)✓✓ (stronger)
Chronic kidney disease✓✓ (stronger)
Metabolic syndrome✓✓
Older maternal age
Multiple gestation/macrosomiaLess common✓✓ (macrosomia, multiples)
Fetal conditions (aneuploidy)

3. Hemodynamics

ParameterEOPELOPE
Cardiac output (CO)↓ (low)↑ (high)
Peripheral vascular resistance (PVR)↑↑ (very high)↓ or normal
Uterine artery DopplerAbnormal: high resistance, notching, reversed diastolic flowNormal
Uterine artery PI↑↑Normal
Stroke volumeReducedMaintained/elevated
Central venous pressureLowNormal/High
Hemodynamic profileHigh resistance / low output stateHyperdynamic state with endothelial injury
This hemodynamic difference has major implications for fluid management intrapartum - EOPE patients are volume-sensitive; aggressive fluid loading is dangerous.

4. Clinical Features & Severity

FeatureEOPELOPE
Clinical severityUsually more severeGenerally milder
Blood pressureOften severely elevatedModerate hypertension more common
ProteinuriaMore severe, heavy proteinuriaUsually mild to moderate
Fetal growth restriction (FGR)✓✓✓ (common, often severe)Rare (fetus may be macrosomic)
Fetal conditionCompromised, abnormal CTGUsually normal
Fetal DopplerAbnormal: absent/reversed end-diastolic flow in umbilical arteryNormal
HELLP syndromeMore commonLess common
EclampsiaRisk present, especially if poorly controlledRisk present but overall lower
Abruptio placentaeHigher riskLower risk
Pulmonary edemaMore commonLess common
Renal involvementMore prominent, risk of AKIMilder

5. Screening & Biomarkers (First Trimester)

MarkerEOPE PredictionLOPE Prediction
Uterine artery Doppler (11-13 wks)✓✓✓ Strong predictor✗ Poor predictor
Mean arterial pressure (MAP)
PLGF (11-13 wks)✓✓✓ (low PLGF predicts EOPE)✗ Poor
PAPP-A↓ (low PAPP-A associated)No association
sFlt-1:PLGF ratio at 20-35 wks>85 = high specificity for EOPE>38 used for short-term prediction
First trimester combined screenCan detect 90%+ with aspirin interventionOnly ~40% detected
Aspirin prophylaxis efficacy✓✓✓ Effective (reduces EOPE by ~60-80% if started ≤16 wks)✗ Minimal benefit
Clinical pearl: The FMF (Fetal Medicine Foundation) combined first-trimester screen (MAP + uterine artery Doppler + PLGF + maternal factors) detects ~90% of EOPE at 10% false positive rate - but has poor sensitivity for LOPE.

6. Placental Histopathology

FeatureEOPELOPE
Spiral artery changesAcute atherosis, fibrinoid necrosis, obliteration of lumenMinimal or absent
Trophoblast invasion depthRestricted to decidua onlyNormal - reaches inner myometrium
Villous morphologyDistal villous hypoplasia, syncytial knotting ↑↑Distal villous immaturity, chorangiosis
Infarcts+++, often large, multiple± (fewer, smaller)
Perivillous fibrin↑↑Normal/mild ↑
Placental weightSmall for gestational ageNormal or large
Overall patternUteroplacental insufficiencyMaternal vascular malperfusion (milder)

7. Maternal Organ Involvement

OrganEOPELOPE
KidneyMore severe glomerular endotheliosis, higher risk of AKI/cortical necrosisMilder, usually recovers post-delivery
LiverHELLP more common, subcapsular hematoma riskLess common liver involvement
BrainPRES, eclampsia, ICH possibleEclampsia risk but generally lower
HeartLow CO, high PVR, diastolic dysfunction, risk of pulmonary edemaHyperdynamic state, less diastolic dysfunction
CoagulationDIC risk higher with HELLPLess frequent coagulopathy

8. Fetal & Neonatal Outcomes

OutcomeEOPELOPE
Fetal/neonatal mortality↑↑ (prematurity + FGR)Low
Preterm birthYes, often extreme/very pretermNear-term/term
NICU admission✓✓✓ prolonged± (short stay)
FGR / SGA+++, commonRare
Perinatal asphyxiaHigher riskLow risk
Long-term neonatal morbidityIVH, BPD, NEC, ROP riskMinimal

9. Management Implications

Management AspectEOPELOPE
Timing of deliveryBalance prematurity vs maternal/fetal risk; consider expectant to 34 wks if stableDelivery at 37 wks (or immediately if severe)
Corticosteroids for fetal lung maturity✓✓✓ essential before deliveryUsually not needed (≥34 wks)
Magnesium sulfate✓ eclampsia prophylaxis✓ (if severe)
Antihypertensives✓ (labetalol, nifedipine, hydralazine)
Fluid managementCautious - low CO state, risk of pulmonary edemaStandard; more cautious with oliguria
Aspirin (prevention)Start ≤16 wks, 150 mg/dayMinimal benefit
Delivery routeOften cesarean due to unfavorable cervix/fetal compromiseInduction of labour acceptable if cervix favorable
Post-delivery surveillanceProlonged (CVD risk very high - 8x elevated)Moderate surveillance

10. Long-Term Maternal Consequences

Long-term RiskEOPELOPE
Hypertension (2-7 yr postpartum)~50% develop chronic HTN~25%
Cardiovascular disease8-fold elevated risk for CAD, stroke, HF2-fold elevated risk
Recurrence in next pregnancy25-65% (higher recurrence)10-15%
Renal diseaseHigher riskModerate risk
Metabolic syndrome/T2DMElevatedElevated
Per Creasy & Resnik's Maternal-Fetal Medicine: "Risk ratios for hypertension, CVD, and renal disease are about twofold higher in women with preeclampsia and as high as eightfold for early-onset preeclampsia requiring delivery before 34 weeks."

REVISED TWO-STAGE MODEL SUMMARY

The 2024 review by Sugulle et al. in AJRI (PMID: 39049670) proposes the revised two-stage model that accommodates both subtypes:
STAGE 1 (Preclinical)
┌─────────────────────────────────────────────────────────┐
│  EOPE: Poor placentation → placental ischemia           │
│  LOPE: Maternal predisposition → placental senescence   │
│  Both → Placental stress + syncytiotrophoblast damage   │
└─────────────────────────────────────────────────────────┘
                          ↓
STAGE 2 (Clinical)
┌─────────────────────────────────────────────────────────┐
│  Release of factors into maternal circulation:          │
│  sFlt-1, sEndoglin, cytokines, oxidative mediators,     │
│  syncytiotrophoblast microparticles                     │
│           ↓                                             │
│  Maternal endothelial dysfunction + vasospasm           │
│           ↓                                             │
│  HTN + proteinuria + multi-organ involvement            │
└─────────────────────────────────────────────────────────┘
Key difference: In LOPE, even with near-normal placentation, physiological placental aging at term combined with maternal vascular vulnerability is sufficient to trigger Stage 2.

ONE-LINE EXAM SUMMARY

EOPE = Placenta fails the mother (defective trophoblast invasion → placental ischemia → antiangiogenic storm → severe maternal + fetal disease)
LOPE = Mother fails the placenta (pre-existing maternal vascular/metabolic disease → placental senescence at term → maternal endothelial dysfunction → milder disease, normal fetus)

Sources:

Create a detailed pathophysiology flowchart showing Stage 1 and 2 mechanisms separately

Running Command

mkdir -p /tmp/workspace/preeclampsia && ls /tmp/workspace/preeclampsia

Writing File

~/preeclampsia/flowchart.py

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch, FancyArrowPatch
import matplotlib.patheffects as pe

# ── canvas ──────────────────────────────────────────────────────────────────
fig = plt.figure(figsize=(28, 42), facecolor='#F0F4F8')
ax = fig.add_axes([0, 0, 1, 1])
ax.set_xlim(0, 28)
ax.set_ylim(0, 42)
ax.axis('off')

# ── helpers ──────────────────────────────────────────────────────────────────
def box(ax, x, y, w, h, text, fc, ec, tc='white', fs=10, bold=False,
        radius=0.3, alpha=1.0, wrap=True, va_text='center'):
    patch = FancyBboxPatch((x - w/2, y - h/2), w, h,
                           boxstyle=f"round,pad=0.05,rounding_size={radius}",
                           fc=fc, ec=ec, lw=1.8, alpha=alpha, zorder=3)
    ax.add_patch(patch)
    weight = 'bold' if bold else 'normal'
    ax.text(x, y, text, ha='center', va=va_text, fontsize=fs, color=tc,
            fontweight=weight, zorder=4, wrap=wrap,
            multialignment='center',
            bbox=dict(boxstyle='square,pad=0', fc='none', ec='none'))

def arrow(ax, x1, y1, x2, y2, color='#34495E', lw=2.2, style='->', head=15):
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(arrowstyle=f'->, head_length=0.4, head_width=0.22',
                                color=color, lw=lw),
                zorder=5)

def dbl_arrow(ax, x1, y1, x2, y2, color='#E74C3C', lw=2.0):
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(arrowstyle='<->, head_length=0.35, head_width=0.20',
                                color=color, lw=lw),
                zorder=5)

def label_arrow(ax, x, y, text, color='#7F8C8D', fs=8):
    ax.text(x, y, text, ha='center', va='center', fontsize=fs,
            color=color, style='italic', zorder=6)

def hline(ax, y, x1, x2, color='#95A5A6', lw=1.5, ls='--'):
    ax.plot([x1, x2], [y, y], color=color, lw=lw, ls=ls, zorder=2)

def section_bg(ax, x1, y1, x2, y2, color, label, lc):
    rect = plt.Rectangle((x1, y1), x2-x1, y2-y1, fc=color, ec=lc,
                          lw=2.5, zorder=1, alpha=0.18)
    ax.add_patch(rect)
    ax.text((x1+x2)/2, y2 - 0.35, label, ha='center', va='top',
            fontsize=13, fontweight='bold', color=lc, zorder=2)

# ══════════════════════════════════════════════════════════════════════════════
#  TITLE
# ══════════════════════════════════════════════════════════════════════════════
ax.text(14, 41.4,
        'PATHOPHYSIOLOGY OF PRE-ECLAMPSIA',
        ha='center', va='top', fontsize=20, fontweight='bold', color='#1A252F',
        zorder=6)
ax.text(14, 40.85,
        'Two-Stage Model  |  PG Obstetrics Reference Chart',
        ha='center', va='top', fontsize=12, color='#5D6D7E', zorder=6)

# thin separator
hline(ax, 40.55, 0.4, 27.6, color='#2C3E50', lw=2, ls='-')

# ══════════════════════════════════════════════════════════════════════════════
#  STAGE 1 BACKGROUND
# ══════════════════════════════════════════════════════════════════════════════
section_bg(ax, 0.3, 23.6, 27.7, 40.4, '#1ABC9C', '★  STAGE 1 — PLACENTAL STAGE  (Weeks 6–20, Pre-clinical)', '#0E6655')

# ══════════════════════════════════════════════════════════════════════════════
#  STAGE 1 — row 1: Risk Factors
# ══════════════════════════════════════════════════════════════════════════════
# Header
box(ax, 14, 39.7, 13, 0.75,
    'PREDISPOSING RISK FACTORS',
    '#0E6655', '#0E6655', tc='white', fs=11, bold=True)

rf_items = [
    ('Genetic\n(Thrombophilia,\nFactor V Leiden)', 3.2, 38.5),
    ('Immunological\n(AT1-AA,\nImmune tolerance ↓)', 6.8, 38.5),
    ('Nulliparity /\nPrevious PE /\nAPS', 10.4, 38.5),
    ('Chronic HTN /\nDM / CKD /\nObesity', 14.0, 38.5),
    ('Multiple\nGestation /\nMolar Px', 17.6, 38.5),
    ('IVF (donor\negg) / Black\nrace', 21.2, 38.5),
    ('Paternal\nfactor /\nMale fetus', 24.8, 38.5),
]
for txt, x, y in rf_items:
    box(ax, x, y, 3.2, 1.3, txt, '#1ABC9C', '#0E6655', tc='white', fs=8.5, radius=0.2)
    arrow(ax, x, 39.35, x, 39.15, color='#0E6655', lw=1.5)

# convergence arrows to Step A
for x, _, _ in rf_items:
    arrow(ax, x, 37.84, 14, 37.22, color='#0E6655', lw=1.2)

# ── STEP A: Defective Trophoblast invasion ────────────────────────────────
box(ax, 14, 36.95, 18, 0.85,
    'DEFECTIVE ENDOVASCULAR TROPHOBLAST INVASION\n(Fails at decidua-myometrial junction — does NOT reach myometrial segment)',
    '#117A65', '#0B5345', tc='white', fs=9.5, bold=True)

arrow(ax, 14, 36.52, 14, 35.88, color='#0E6655', lw=2.2)

# ── Two parallel boxes: Normal vs Abnormal ───────────────────────────────
box(ax, 7.5, 35.45, 7.8, 0.95,
    '✓  NORMAL: Spiral arteries transform\nto wide, tortuous, low-resistance vessels\n(musculoelastic media replaced by fibrinoid)',
    '#27AE60', '#1E8449', tc='white', fs=8.5)

box(ax, 20.5, 35.45, 7.8, 0.95,
    '✗  PRE-ECLAMPSIA: Spiral arteries RETAIN\nmusculoelastic media — remain narrow,\nhigh-resistance, vasoconstrictor-responsive',
    '#C0392B', '#922B21', tc='white', fs=8.5)

arrow(ax, 20.5, 34.97, 14, 34.22, color='#C0392B', lw=2.2)
# cross mark on normal
ax.text(11.35, 35.78, '→ NOT this →', ha='center', va='center', fontsize=8.5,
        color='#1E8449', style='italic', zorder=6)

# ── STEP B: Uteroplacental ischemia ──────────────────────────────────────
box(ax, 14, 33.92, 14, 0.82,
    'UTEROPLACENTAL ISCHEMIA & HYPOPERFUSION\n(Intervillous blood flow ↓ ~33%  |  High-resistance Doppler waveform  |  Spiral artery acute atherosis)',
    '#922B21', '#7B241C', tc='white', fs=9.5, bold=True)

arrow(ax, 14, 33.51, 14, 32.88, color='#922B21', lw=2.2)

# ── STEP C: Placental hypoxia ─────────────────────────────────────────────
box(ax, 14, 32.58, 11, 0.78,
    'PLACENTAL HYPOXIA  →  HIF-1α ↑  &  HIF-2α ↑  →  ER Stress  |  Mitochondrial Dysfunction',
    '#7D3C98', '#6C3483', tc='white', fs=9.5, bold=True)

# Four branch arrows from hypoxia
for x_dest in [4.5, 9.5, 18.5, 23.5]:
    arrow(ax, 14, 32.19, x_dest, 31.55, color='#7D3C98', lw=1.8)

# ── STEP D: Four columns of mediators released ───────────────────────────
col_boxes = [
    (4.5,  31.1, 3.8, 1.2, 'OXIDATIVE STRESS\nROS ↑  |  Lipid peroxides ↑\nSuperoxide radicals ↑\nPeroxynitrite ↑', '#E67E22', '#CA6F1E'),
    (9.5,  31.1, 3.8, 1.2, 'ANTI-ANGIOGENIC\nFACTORS\nsFlt-1 ↑↑↑  (binds VEGF/PlGF)\nsEndoglin ↑↑', '#2980B9', '#1F618D'),
    (18.5, 31.1, 3.8, 1.2, 'INFLAMMATORY\nMEDIATORS\nTNF-α ↑  |  IL-6 ↑  |  IL-8 ↑\nNeutrophil activation', '#E74C3C', '#CB4335'),
    (23.5, 31.1, 3.8, 1.2, 'SYNCYTIOTROPHOBLAST\nDEBRIS / MICROPARTICLES\nCell-free fetal DNA ↑\nActivated complement', '#8E44AD', '#7D3C98'),
]
for x, y, w, h, txt, fc, ec in col_boxes:
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=8.2, radius=0.2)

# convergence to Stage 2 entry
for x, _, _, _, _, _, _ in col_boxes:
    arrow(ax, x, 30.5, 14, 29.85, color='#5D6D7E', lw=1.5)

# PLGF/VEGF drops box (small callout)
box(ax, 14, 30.58, 6, 0.62,
    '↓ VEGF  |  ↓ PlGF  |  ↓ TGF-β  (sequestered by sFlt-1 & sEndoglin)',
    '#1F618D', '#154360', tc='white', fs=8.5)

arrow(ax, 14, 30.27, 14, 29.72, color='#1F618D', lw=2)

# ══════════════════════════════════════════════════════════════════════════════
#  STAGE BRIDGE / DIVIDER
# ══════════════════════════════════════════════════════════════════════════════
hline(ax, 23.55, 0.4, 27.6, color='#2C3E50', lw=3, ls='-')
box(ax, 14, 23.55, 9, 0.68,
    '▼  STAGE 1 → STAGE 2  :  PLACENTAL FACTORS ENTER MATERNAL CIRCULATION  ▼',
    '#2C3E50', '#1A252F', tc='#F7DC6F', fs=10, bold=True, radius=0.15)

# ══════════════════════════════════════════════════════════════════════════════
#  STAGE 2 BACKGROUND
# ══════════════════════════════════════════════════════════════════════════════
section_bg(ax, 0.3, 1.0, 27.7, 23.2, '#2980B9', '★  STAGE 2 — MATERNAL SYSTEMIC DISEASE  (Clinical Pre-eclampsia)', '#1A5276')

# ── CENTRAL HUB: Endothelial dysfunction ─────────────────────────────────
arrow(ax, 14, 23.2, 14, 22.35, color='#1A5276', lw=2.5)

box(ax, 14, 21.95, 17, 1.05,
    'GENERALISED MATERNAL ENDOTHELIAL DYSFUNCTION  +  VASOSPASM\n'
    '( Endothelial injury → ↑TXA₂, ↑Ang-II, ↑ET-1  |  ↓PGI₂, ↓NO  →  Vicious cycle )',
    '#1A5276', '#154360', tc='#F9FBFC', fs=10.5, bold=True)

# ── 8 mechanisms in a ring below central hub ─────────────────────────────
mech_y = 20.2
mech_boxes = [
    (2.5,  mech_y, 3.8, 1.1,
     '① PROSTAGLANDIN\nIMBALANCE\nPGI₂ ↓  (vasodilator)\nTXA₂ ↑  (vasoconstrictor)',
     '#1A5276', '#154360'),
    (7.0,  mech_y, 3.8, 1.1,
     '② ANG-II\nSENSITIVITY ↑\nAngiotensinase ↓\n(α₂-globulin lost in urine)',
     '#117A65', '#0E6655'),
    (11.5, mech_y, 3.8, 1.1,
     '③ NITRIC OXIDE ↓\neNOS uncoupled by ROS\nNO → O₂⁻ (peroxynitrite)\nVasodilation impaired',
     '#7D3C98', '#6C3483'),
    (16.0, mech_y, 3.8, 1.1,
     '④ ENDOTHELIN-1 ↑\nPotent vasoconstrictor\n> Angiotensin-II\nSustained vasospasm',
     '#C0392B', '#922B21'),
    (20.5, mech_y, 3.8, 1.1,
     '⑤ CYTOKINES\nTNF-α  |  IL-6  |  IL-8\nEndothelial activation\nAdhesion molecules ↑',
     '#E67E22', '#CA6F1E'),
    (25.0, mech_y, 3.8, 1.1,
     '⑥ OXIDATIVE\nSTRESS\nLipid peroxides ↑\nROS → endothelial injury',
     '#27AE60', '#1E8449'),
]
for x, y, w, h, txt, fc, ec in mech_boxes:
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=8.0, radius=0.2)
    # arrow from central hub
    arrow(ax, 14, 21.43, x, y + h/2, color='#5D6D7E', lw=1.4)

# angiogenic imbalance (separate callout)
box(ax, 7.5, 18.75, 7.5, 1.0,
    '⑦ ANGIOGENIC IMBALANCE\nsFlt-1 ↑↑↑ sequesters free VEGF + PlGF\nsEndoglin ↑ inhibits TGF-β signaling\n→ Endothelial cell dysfunction + apoptosis',
    '#2980B9', '#1F618D', tc='white', fs=8.5)

box(ax, 20.5, 18.75, 7.0, 1.0,
    '⑧ COAGULATION\nACTIVATION\nPlatelet activation + aggregation ↑\nFibrin deposition in vessels\nDIC risk (severe PE/HELLP)',
    '#8E44AD', '#7D3C98', tc='white', fs=8.5)

arrow(ax, 14, 21.43, 7.5, 19.25, color='#5D6D7E', lw=1.4)
arrow(ax, 14, 21.43, 20.5, 19.25, color='#5D6D7E', lw=1.4)

# ══════════════════════════════════════════════════════════════════════════════
#  ORGAN-SPECIFIC CONSEQUENCES
# ══════════════════════════════════════════════════════════════════════════════
hline(ax, 17.95, 0.6, 27.4, color='#2C3E50', lw=1.8, ls='--')
ax.text(14, 17.85, '▼  ORGAN-SPECIFIC PATHOLOGY  ▼',
        ha='center', va='top', fontsize=10.5, fontweight='bold',
        color='#1A252F', zorder=6)

organs = [
    (2.2,  16.7, 3.6, 2.1,
     '🫀 BLOOD\nVESSELS\n─────────\nIntense vasospasm\nFibrinoid necrosis\nVasa vasorum injury\n→ HTN (≥140/90)',
     '#C0392B', '#922B21'),
    (6.6,  16.7, 3.6, 2.1,
     '🫘 KIDNEY\n─────────\nGlomerular endotheliosis\nAfferent arteriole spasm\n↓GFR (25%)\n→ Proteinuria\n→ Oliguria/AKI',
     '#1A5276', '#154360'),
    (11.0, 16.7, 3.6, 2.1,
     '🧠 BRAIN\n─────────\nCerebral vasospasm\nPRES\nCerebral oedema\n→ Eclampsia\n→ ICH / Blindness',
     '#7D3C98', '#6C3483'),
    (15.4, 16.7, 3.6, 2.1,
     '🫁 LIVER\n─────────\nPeriportal haem. necrosis\nSubcaps. haematoma\n→ RUQ / epigastric pain\n→ ↑AST/ALT\n→ Liver rupture (rare)',
     '#E67E22', '#CA6F1E'),
    (19.8, 16.7, 3.6, 2.1,
     '🩸 BLOOD\n─────────\nMicroangiopathic haemolysis\nThrombocytopenia\nDIC\n→ HELLP syndrome\n(10-15% of severe PE)',
     '#E74C3C', '#CB4335'),
    (24.2, 16.7, 3.6, 2.1,
     '🤰 PLACENTA\n─────────\nAcute atherosis\nWhite & red infarcts\nSyncytial degeneration\n→ FGR / IUGR\n→ Abruption',
     '#27AE60', '#1E8449'),
]
for x, y, w, h, txt, fc, ec in organs:
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=7.8, radius=0.25)
    arrow(ax, x, 17.65, x, y + h/2, color='#7F8C8D', lw=1.4)

# ══════════════════════════════════════════════════════════════════════════════
#  THREE KEY MANIFESTATIONS
# ══════════════════════════════════════════════════════════════════════════════
hline(ax, 14.35, 0.6, 27.4, color='#2C3E50', lw=1.8, ls='--')
ax.text(14, 14.25, '▼  THREE CARDINAL CLINICAL MANIFESTATIONS  ▼',
        ha='center', va='top', fontsize=10.5, fontweight='bold',
        color='#1A252F', zorder=6)

# HTN chain
box(ax, 4.8, 13.0, 8.5, 0.85,
    'HYPERTENSION  (≥140/90 mmHg × 2, ≥4 h apart)',
    '#C0392B', '#922B21', tc='white', fs=9.5, bold=True)
arrow(ax, 4.8, 12.58, 4.8, 12.02, color='#C0392B', lw=1.8)
box(ax, 4.8, 11.68, 8.5, 0.78,
    '↑PVR (TXA₂ + Ang-II + ET-1)  |  ↓PGI₂  |  ↓NO\n→ Refractory to Angiotensinase',
    '#E8DAEF', '#C0392B', tc='#6C3483', fs=8.5)

# Proteinuria chain
box(ax, 14.0, 13.0, 7.5, 0.85,
    'PROTEINURIA  (≥300 mg/24 h)',
    '#1A5276', '#154360', tc='white', fs=9.5, bold=True)
arrow(ax, 14.0, 12.58, 14.0, 12.02, color='#1A5276', lw=1.8)
box(ax, 14.0, 11.68, 7.5, 0.78,
    'Afferent arteriole spasm → Glomerular endotheliosis\n→ ↑Capillary permeability → ↓Tubular reabsorption',
    '#D6EAF8', '#1A5276', tc='#1A5276', fs=8.5)

# Oedema chain
box(ax, 23.2, 13.0, 7.5, 0.85,
    'OEDEMA  (Generalised)',
    '#117A65', '#0E6655', tc='white', fs=9.5, bold=True)
arrow(ax, 23.2, 12.58, 23.2, 12.02, color='#117A65', lw=1.8)
box(ax, 23.2, 11.68, 7.5, 0.78,
    'Endothelial injury → ↑Capillary permeability\n+ ↓Plasma oncotic pressure (albuminuria)',
    '#D5F5E3', '#117A65', tc='#117A65', fs=8.5)

# ══════════════════════════════════════════════════════════════════════════════
#  HELLP BOX
# ══════════════════════════════════════════════════════════════════════════════
arrow(ax, 14, 11.29, 14, 10.65, color='#C0392B', lw=2.0)

box(ax, 14, 10.25, 20, 0.95,
    'HELLP SYNDROME  (10–15% of severe PE)\n'
    'H = Haemolysis (schistocytes, ↑LDH, ↑bilirubin >1.2 mg/dL)  |  '
    'EL = ↑AST/ALT >70 IU/L  |  LP = Platelets <100,000/mm³',
    '#922B21', '#7B241C', tc='white', fs=9.0, bold=True)

# ══════════════════════════════════════════════════════════════════════════════
#  VICIOUS CYCLE ANNOTATION
# ══════════════════════════════════════════════════════════════════════════════
arrow(ax, 14, 9.77, 14, 9.20, color='#C0392B', lw=2.0)

box(ax, 14, 8.88, 20, 0.82,
    '⚠  VICIOUS CYCLE:  Endothelial dysfunction → ↑Oxidative stress → More endothelial injury\n'
    '↑sFlt-1 → ↓VEGF → ↓Endothelial survival → More dysfunction  (Self-amplifying loop)',
    '#7B241C', '#641E16', tc='#FADBD8', fs=8.5, bold=False)

# ══════════════════════════════════════════════════════════════════════════════
#  FOETAL CONSEQUENCES
# ══════════════════════════════════════════════════════════════════════════════
hline(ax, 8.2, 0.6, 27.4, color='#2C3E50', lw=1.5, ls=':')

fetal_items = [
    (3.5,  7.1, 5.0, 1.7,
     'FETAL JEOPARDY\n────────────\n↓Uteroplacental blood flow\nFGR / IUGR / SGA\nAbnormal Dopplers\n(Absent/reversed EDF)',
     '#117A65', '#0E6655'),
    (10.0, 7.1, 5.2, 1.7,
     'PREMATURITY\n────────────\nIatrogenic preterm delivery\n(Balancing maternal vs fetal risk)\nRDS / IVH / NEC / BPD\n(NICU morbidity)',
     '#7D3C98', '#6C3483'),
    (16.5, 7.1, 5.2, 1.7,
     'PERINATAL\nASPHYXIA\n────────────\nPlacental infarcts\nAbruptio placentae\nStillbirth risk\nHypoxic-ischaemic injury',
     '#C0392B', '#922B21'),
    (23.0, 7.1, 5.0, 1.7,
     'LONG-TERM\nFETAL RISK\n────────────\nDOHaD hypothesis\nCV disease in adult life\n(Barker effect)\nMetabolic programming',
     '#E67E22', '#CA6F1E'),
]
for x, y, w, h, txt, fc, ec in fetal_items:
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=7.8, radius=0.25)
    arrow(ax, x, 8.2, x, y + h/2, color='#7F8C8D', lw=1.3)

# ══════════════════════════════════════════════════════════════════════════════
#  LONG-TERM MATERNAL
# ══════════════════════════════════════════════════════════════════════════════
hline(ax, 5.1, 0.6, 27.4, color='#2C3E50', lw=1.5, ls=':')
ax.text(14, 5.0, '▼  LONG-TERM MATERNAL SEQUELAE (post-delivery)  ▼',
        ha='center', va='top', fontsize=9.5, fontweight='bold', color='#1A252F', zorder=6)

maternal_lt = [
    (3.2, 3.75, 4.4, 1.4,
     'CHRONIC HTN\n~50% after EOPE\n~25% after LOPE\n(within 2–7 yrs)', '#2C3E50', '#1A252F'),
    (8.5, 3.75, 4.4, 1.4,
     'CVD RISK\nCAD / Stroke / HF\n×8 risk if EOPE\n×2 risk if LOPE', '#C0392B', '#922B21'),
    (13.8, 3.75, 4.4, 1.4,
     'RENAL DISEASE\nGFR decline\nProteinuria\nESRD risk ↑', '#1A5276', '#154360'),
    (19.1, 3.75, 4.4, 1.4,
     'METABOLIC\nSYNDROME\nT2DM / Dyslipidaemia\nInsulin resistance ↑', '#117A65', '#0E6655'),
    (24.4, 3.75, 4.4, 1.4,
     'RECURRENCE\nEOPE → 25–65%\nLOPE → 10–15%\nin next pregnancy', '#8E44AD', '#7D3C98'),
]
for x, y, w, h, txt, fc, ec in maternal_lt:
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=8.0, radius=0.2)

# ══════════════════════════════════════════════════════════════════════════════
#  LEGEND / NOTE
# ══════════════════════════════════════════════════════════════════════════════
hline(ax, 2.2, 0.4, 27.6, color='#2C3E50', lw=1.5, ls='-')
ax.text(0.6, 2.05,
        '↑ = increased  |  ↓ = decreased  |  HTN = hypertension  |  EOPE = early-onset PE  |  LOPE = late-onset PE  |  '
        'PGI₂ = prostacyclin  |  TXA₂ = thromboxane A2\n'
        'ET-1 = endothelin-1  |  AT1-AA = angiotensin II type-1 receptor autoantibody  |  '
        'DOHaD = Developmental Origins of Health & Disease  |  EDF = end-diastolic flow\n'
        'Sources: DC Dutta Obstetrics Ch18  |  Creasy & Resnik MFM 8e  |  Ives et al. JACC 2020  |  Sugulle et al. AJRI 2024',
        ha='left', va='top', fontsize=7.5, color='#5D6D7E', zorder=6)

# ══════════════════════════════════════════════════════════════════════════════
#  STAGE LABELS (left margin)
# ══════════════════════════════════════════════════════════════════════════════
ax.text(0.08, 32, 'STAGE 1\n(Weeks 6–20)\nPre-clinical\nPlacental\nStage',
        ha='center', va='center', fontsize=9, fontweight='bold',
        color='#0E6655', rotation=90, zorder=6)

ax.text(0.08, 13.5, 'STAGE 2\nClinical\nMaternal\nDisease',
        ha='center', va='center', fontsize=9, fontweight='bold',
        color='#1A5276', rotation=90, zorder=6)

# ══════════════════════════════════════════════════════════════════════════════
#  SAVE
# ══════════════════════════════════════════════════════════════════════════════
plt.savefig('/tmp/workspace/preeclampsia/PE_pathophysiology_flowchart.png',
            dpi=180, bbox_inches='tight', facecolor='#F0F4F8')
print("Saved successfully")
Running Command

cd /tmp/workspace/preeclampsia && python flowchart.py 2>&1

Writing File

~/preeclampsia/flowchart2.py

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch
import numpy as np

fig = plt.figure(figsize=(28, 44), facecolor='#F0F4F8')
ax = fig.add_axes([0, 0, 1, 1])
ax.set_xlim(0, 28)
ax.set_ylim(0, 44)
ax.axis('off')

# ── helpers ────────────────────────────────────────────────────────────────
def box(ax, cx, cy, w, h, text, fc, ec, tc='white', fs=9.5, bold=False, r=0.25):
    patch = FancyBboxPatch((cx - w/2, cy - h/2), w, h,
                           boxstyle=f"round,pad=0.05,rounding_size={r}",
                           fc=fc, ec=ec, lw=2.0, zorder=3)
    ax.add_patch(patch)
    weight = 'bold' if bold else 'normal'
    ax.text(cx, cy, text, ha='center', va='center', fontsize=fs,
            color=tc, fontweight=weight, zorder=4,
            multialignment='center')

def arr(ax, x1, y1, x2, y2, color='#34495E', lw=2.0):
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(arrowstyle='->, head_length=0.35, head_width=0.20',
                                color=color, lw=lw), zorder=5)

def hline(ax, y, x1=0.5, x2=27.5, color='#5D6D7E', lw=1.8, ls='--'):
    ax.plot([x1, x2], [y, y], color=color, lw=lw, ls=ls, zorder=2)

def bg(ax, x1, y1, x2, y2, fc, ec, label, label_color):
    ax.add_patch(plt.Rectangle((x1, y1), x2-x1, y2-y1,
                                fc=fc, ec=ec, lw=3, alpha=0.15, zorder=1))
    ax.text((x1+x2)/2, y2 - 0.3, label,
            ha='center', va='top', fontsize=13, fontweight='bold',
            color=label_color, zorder=2)

# ═══════════════════════════════════════════════════════════════════════════
# TITLE
# ═══════════════════════════════════════════════════════════════════════════
ax.text(14, 43.5, 'PATHOPHYSIOLOGY OF PRE-ECLAMPSIA',
        ha='center', va='top', fontsize=21, fontweight='bold', color='#1A252F', zorder=6)
ax.text(14, 42.9, 'Two-Stage Model  |  PG Obstetrics Reference Chart',
        ha='center', va='top', fontsize=12, color='#5D6D7E', zorder=6)
hline(ax, 42.45, ls='-', color='#2C3E50', lw=2.5)

# ═══════════════════════════════════════════════════════════════════════════
# STAGE 1 BACKGROUND
# ═══════════════════════════════════════════════════════════════════════════
bg(ax, 0.3, 24.8, 27.7, 42.3, '#1ABC9C', '#0E6655',
   'STAGE 1 — PLACENTAL STAGE  (Weeks 6–20, Pre-clinical)', '#0E6655')

# ── Risk Factors header
box(ax, 14, 41.55, 13, 0.72,
    'PREDISPOSING RISK FACTORS',
    '#0E6655', '#0A5443', tc='white', fs=11, bold=True)

rf = [
    ('Genetic\n(Thrombophilia\nFactor V Leiden)', 2.8),
    ('Immunological\n(AT1-AA\nImmune tolerance-)', 6.4),
    ('Nulliparity\nPrevious PE\nAPS', 10.0),
    ('Chronic HTN\nDM / CKD\nObesity', 14.0),
    ('Multiple gestation\nMolar pregnancy\nIVF (donor)', 18.0),
    ('Antiphospholipid\nSyndrome\nThrombophilia', 21.7),
    ('Black race\nMale fetus\nOlder maternal age', 25.3),
]
for txt, x in rf:
    box(ax, x, 40.35, 3.1, 1.28, txt, '#1ABC9C', '#0E6655', tc='white', fs=8.0, r=0.2)
    arr(ax, x, 41.2, x, 41.0, color='#0A5443', lw=1.5)
    arr(ax, x, 39.7, 14, 39.05, color='#0A5443', lw=1.2)

# ── Step A: Defective invasion
box(ax, 14, 38.72, 19, 0.85,
    'DEFECTIVE ENDOVASCULAR TROPHOBLAST INVASION\n'
    '(Stops at decidua-myometrial junction — fails to reach myometrial segment)',
    '#0B5345', '#07382E', tc='white', fs=10, bold=True)
arr(ax, 14, 38.30, 14, 37.68, color='#0B5345', lw=2.2)

# ── Two boxes: Normal vs PE
box(ax, 7.2, 37.25, 8.0, 0.9,
    'NORMAL: Spiral arteries → low-resistance\nwide, tortuous, fibrinoid replaced\n(Incapable of vasospasm)',
    '#27AE60', '#1E8449', tc='white', fs=8.5)
box(ax, 20.8, 37.25, 8.0, 0.9,
    'PRE-ECLAMPSIA: Spiral arteries RETAIN\nmusculo-elastic media — narrow,\nhigh-resistance, vasoconstrictor-sensitive',
    '#C0392B', '#922B21', tc='white', fs=8.5)
ax.text(14, 37.55, 'vs', ha='center', va='center', fontsize=11,
        fontweight='bold', color='#2C3E50', zorder=6)
arr(ax, 20.8, 36.80, 14, 36.15, color='#C0392B', lw=2.2)

# ── Step B: Uteroplacental ischemia
box(ax, 14, 35.82, 15, 0.82,
    'UTEROPLACENTAL ISCHEMIA & HYPOPERFUSION\n'
    '(Intervillous flow -33%  |  High-resistance Doppler  |  Acute atherosis of spiral arteries)',
    '#7B241C', '#641E16', tc='white', fs=9.5, bold=True)
arr(ax, 14, 35.41, 14, 34.78, color='#7B241C', lw=2.2)

# ── Step C: Hypoxia + HIF
box(ax, 14, 34.45, 12, 0.75,
    'PLACENTAL HYPOXIA  ->  HIF-1alpha + HIF-2alpha  ->  ER Stress  |  Mitochondrial Dysfunction',
    '#6C3483', '#5B2C6F', tc='white', fs=9.5, bold=True)

# Four mediator branches
mediator_y = 33.15
mediators = [
    (4.0,  '① OXIDATIVE STRESS\nROS / Lipid peroxides\nSuperoxide radicals\nPeroxynitrite', '#E67E22', '#CA6F1E'),
    (9.5,  '② ANTI-ANGIOGENIC\nsFlt-1 (binds VEGF/PlGF)\nsEndoglin (blocks TGF-b)\nSevere in EOPE', '#2980B9', '#1A5276'),
    (18.5, '③ PRO-INFLAMMATORY\nTNF-alpha | IL-6 | IL-8\nNeutrophil activation\nLeukocyte adhesion', '#E74C3C', '#CB4335'),
    (24.0, '④ SYNCYTIOTROPHOBLAST\nDEBRIS + Microparticles\nCell-free fetal DNA\nComplement activation', '#8E44AD', '#7D3C98'),
]
for x, txt, fc, ec in mediators:
    arr(ax, 14, 34.08, x, mediator_y + 0.55, color='#6C3483', lw=1.7)
    box(ax, x, mediator_y, 3.8, 1.1, txt, fc, ec, tc='white', fs=8.0, r=0.2)
    arr(ax, x, mediator_y - 0.55, 14, 25.58, color='#5D6D7E', lw=1.2)

# VEGF/PlGF bridge
box(ax, 14, 31.6, 7.5, 0.72,
    '-> VEGF- | PlGF- | TGF-b-   (sequestered by sFlt-1 & sEndoglin)',
    '#1F618D', '#154360', tc='white', fs=8.8)
arr(ax, 9.5, 32.60, 14, 31.97, color='#2980B9', lw=1.5)
arr(ax, 14, 31.24, 14, 25.62, color='#1F618D', lw=1.5)

# Placental senescence note
ax.text(26.5, 30.5,
        'LOPE variant:\nPlacental\nsenescence\n(not ischemia)\ndrives Stage 2',
        ha='center', va='center', fontsize=7.8, color='#117A65',
        style='italic', zorder=6,
        bbox=dict(boxstyle='round,pad=0.4', fc='#D5F5E3', ec='#1E8449', lw=1.5))
ax.plot([25.5, 24.2], [30.0, 26.8], color='#1E8449', lw=1.5, ls=':', zorder=5)

# ── ASPIRIN callout
ax.text(1.5, 30.5,
        'ASPIRIN\n(<=16 wks)\nReduces EOPE\nby ~60-80%\n(FMF protocol)',
        ha='center', va='center', fontsize=7.8, color='#7B241C',
        style='italic', zorder=6,
        bbox=dict(boxstyle='round,pad=0.4', fc='#FDEDEC', ec='#C0392B', lw=1.5))

# ═══════════════════════════════════════════════════════════════════════════
# STAGE DIVIDER
# ═══════════════════════════════════════════════════════════════════════════
hline(ax, 24.75, ls='-', color='#2C3E50', lw=3.5)
box(ax, 14, 24.75, 10, 0.72,
    'STAGE 1 -> STAGE 2 : PLACENTAL FACTORS RELEASED INTO MATERNAL CIRCULATION',
    '#1A252F', '#0D1117', tc='#F7DC6F', fs=9.5, bold=True, r=0.15)

# ═══════════════════════════════════════════════════════════════════════════
# STAGE 2 BACKGROUND
# ═══════════════════════════════════════════════════════════════════════════
bg(ax, 0.3, 1.0, 27.7, 24.5, '#2980B9', '#1A5276',
   'STAGE 2 — MATERNAL SYSTEMIC DISEASE  (Clinical Pre-eclampsia)', '#1A5276')

# ── CENTRAL HUB
arr(ax, 14, 24.40, 14, 23.55, color='#1A5276', lw=2.5)
box(ax, 14, 23.15, 18.5, 0.95,
    'GENERALISED MATERNAL ENDOTHELIAL DYSFUNCTION  +  VASOSPASM\n'
    '(Endothelial injury -> TXA2+, Ang-II+, ET-1+ | PGI2-, NO-  ->  VICIOUS CYCLE)',
    '#1A5276', '#0D3B66', tc='white', fs=10.5, bold=True)

# ── 6 Mechanism boxes
mechs_y = 21.5
mechs = [
    (2.5,  '① PROSTAGLANDIN\nIMBALANCE\nPGI2 - (vasodilator)\nTXA2 + (vasoconstr.)', '#1A5276', '#154360'),
    (6.9,  '② ANG-II\nSENSITIVITY +\nAngiotensinase -\n(alpha2-globulin lost)', '#117A65', '#0E6655'),
    (11.3, '③ NITRIC OXIDE -\neNOS uncoupled by ROS\nNO -> O2- (peroxynitrite)\nVasodilation lost', '#7D3C98', '#6C3483'),
    (15.7, '④ ENDOTHELIN-1 +\nPotent vasoconstrictor\n> Angiotensin-II\nSustained arteriolar spasm', '#C0392B', '#922B21'),
    (20.1, '⑤ CYTOKINES\nTNF-alpha | IL-6 | IL-8\nEndothelial activation\nAdhesion molecules +', '#E67E22', '#CA6F1E'),
    (24.5, '⑥ OXIDATIVE STRESS\nLipid peroxides +\nROS -> endothelial injury\nNeutrophil activation', '#27AE60', '#1E8449'),
]
for x, txt, fc, ec in mechs:
    arr(ax, 14, 22.68, x, mechs_y + 0.55, color='#5D6D7E', lw=1.4)
    box(ax, x, mechs_y, 3.8, 1.1, txt, fc, ec, tc='white', fs=7.9, r=0.2)

# Angiogenic + coag
box(ax, 7.8, 19.75, 7.5, 0.98,
    '⑦ ANGIOGENIC IMBALANCE\nsFlt-1+++ sequesters free VEGF + PlGF\nsEndoglin+ inhibits TGF-b signaling\n-> Endothelial cell dysfunction + apoptosis',
    '#2980B9', '#1F618D', tc='white', fs=8.2)
box(ax, 20.2, 19.75, 7.5, 0.98,
    '⑧ COAGULATION ACTIVATION\nPlatelet activation + aggregation +\nFibrin deposition in microvasculature\nDIC risk in severe PE / HELLP',
    '#8E44AD', '#7D3C98', tc='white', fs=8.2)
arr(ax, 14, 22.68, 7.8, 20.24, color='#5D6D7E', lw=1.4)
arr(ax, 14, 22.68, 20.2, 20.24, color='#5D6D7E', lw=1.4)

# ─── Vicious cycle annotation
vx, vy = 14, 18.78
ax.add_patch(FancyBboxPatch((8.2, vy - 0.42), 11.6, 0.84,
             boxstyle='round,pad=0.05,rounding_size=0.2',
             fc='#641E16', ec='#922B21', lw=2, zorder=3, alpha=0.9))
ax.text(vx, vy,
        'VICIOUS CYCLE:  Endothelial dysfunction -> Oxidative stress -> More endothelial injury  '
        '|  sFlt-1+ -> VEGF- -> Endothelial apoptosis -> More sFlt-1+',
        ha='center', va='center', fontsize=8.2, color='#FADBD8',
        fontweight='bold', zorder=4)
arr(ax, 7.8, 19.27, 9.5, 19.2, color='#922B21', lw=1.5)
arr(ax, 20.2, 19.27, 18.5, 19.2, color='#922B21', lw=1.5)

# ═══════════════════════════════════════════════════════════════════════════
# ORGAN PATHOLOGY
# ═══════════════════════════════════════════════════════════════════════════
hline(ax, 18.08, color='#2C3E50', lw=2, ls='--')
ax.text(14, 17.98, 'ORGAN-SPECIFIC PATHOLOGY',
        ha='center', va='top', fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

organs = [
    (2.3, 16.65, 4.0, 1.9,
     'BLOOD VESSELS\n──────────\nIntense vasospasm\nFibrinoid necrosis\nVasa vasorum injury\n-> HTN (>=140/90)',
     '#C0392B', '#922B21'),
    (6.9, 16.65, 4.0, 1.9,
     'KIDNEY\n──────────\nGlomerular endotheliosis\nAfferent arteriole spasm\nGFR -25%\n-> Proteinuria / AKI',
     '#1A5276', '#154360'),
    (11.5, 16.65, 4.0, 1.9,
     'BRAIN\n──────────\nCerebral vasospasm\nPRES / Cerebral oedema\n-> Eclampsia\n-> ICH / Blindness',
     '#7D3C98', '#6C3483'),
    (16.1, 16.65, 4.0, 1.9,
     'LIVER\n──────────\nPeriportal haem. necrosis\nSubcapsular haematoma\n-> RUQ/epigastric pain\n-> AST/ALT+ (HELLP)',
     '#E67E22', '#CA6F1E'),
    (20.7, 16.65, 4.0, 1.9,
     'BLOOD\n──────────\nMicroangiopathic\nhaemolytic anaemia\nThrombocytopenia\nDIC risk',
     '#E74C3C', '#CB4335'),
    (25.3, 16.65, 3.8, 1.9,
     'PLACENTA\n──────────\nAcute atherosis\nInfarcts (red/white)\nSyncytial degeneration\n-> FGR | Abruption',
     '#27AE60', '#1E8449'),
]
for x, y, w, h, txt, fc, ec in organs:
    arr(ax, x, 17.72, x, y + h/2, color='#7F8C8D', lw=1.4)
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=7.8, r=0.22)

# ═══════════════════════════════════════════════════════════════════════════
# THREE CARDINAL MANIFESTATIONS
# ═══════════════════════════════════════════════════════════════════════════
hline(ax, 14.5, color='#2C3E50', lw=2, ls='--')
ax.text(14, 14.4, 'THREE CARDINAL CLINICAL MANIFESTATIONS',
        ha='center', va='top', fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

# HTN
box(ax, 4.5, 13.4, 7.8, 0.82,
    'HYPERTENSION  (>=140/90 mmHg x2, >=4h apart)',
    '#C0392B', '#922B21', tc='white', fs=9.5, bold=True)
arr(ax, 4.5, 13.0, 4.5, 12.45, color='#C0392B', lw=1.8)
box(ax, 4.5, 12.1, 7.8, 0.78,
    'TXA2+ | Ang-II+ | ET-1+  vs  PGI2- | NO-\n'
    'Angiotensinase - (alpha2-globulin lost via proteinuria)',
    '#FDEDEC', '#C0392B', tc='#7B241C', fs=8.2)

# Proteinuria
box(ax, 14.0, 13.4, 7.5, 0.82,
    'PROTEINURIA  (>=300 mg/24h)',
    '#1A5276', '#154360', tc='white', fs=9.5, bold=True)
arr(ax, 14.0, 13.0, 14.0, 12.45, color='#1A5276', lw=1.8)
box(ax, 14.0, 12.1, 7.5, 0.78,
    'Afferent arteriole spasm -> Glomerular endotheliosis\n'
    '-> Capillary permeability + | Tubular reabsorption -',
    '#D6EAF8', '#1A5276', tc='#1A5276', fs=8.2)

# Oedema
box(ax, 23.5, 13.4, 7.5, 0.82,
    'GENERALISED OEDEMA',
    '#117A65', '#0E6655', tc='white', fs=9.5, bold=True)
arr(ax, 23.5, 13.0, 23.5, 12.45, color='#117A65', lw=1.8)
box(ax, 23.5, 12.1, 7.5, 0.78,
    'Endothelial injury -> Capillary permeability+\n'
    '+ Plasma oncotic pressure- (albuminuria)',
    '#D5F5E3', '#117A65', tc='#117A65', fs=8.2)

# HELLP
arr(ax, 14, 11.72, 14, 11.10, color='#922B21', lw=2.0)
box(ax, 14, 10.75, 21, 0.9,
    'HELLP SYNDROME (10-15% of severe PE)  |  '
    'H = Haemolysis  |  EL = Elevated Liver enzymes (AST/ALT >70 IU/L)  |  '
    'LP = Low Platelets (<100,000/mm3)',
    '#7B241C', '#641E16', tc='white', fs=9.0, bold=True)

# ═══════════════════════════════════════════════════════════════════════════
# FETAL CONSEQUENCES
# ═══════════════════════════════════════════════════════════════════════════
hline(ax, 9.75, color='#5D6D7E', lw=1.5, ls=':')
ax.text(14, 9.68, 'FETAL CONSEQUENCES',
        ha='center', va='top', fontsize=9.5, fontweight='bold', color='#1A252F', zorder=6)

fetal = [
    (3.2, 8.5, 4.8, 1.5,
     'FETAL JEOPARDY\n─────\nFGR / IUGR / SGA\nAbnormal Dopplers\nAbsent/reversed EDF\nStillbirth risk',
     '#117A65', '#0E6655'),
    (9.5, 8.5, 4.8, 1.5,
     'PREMATURITY\n─────\nIatrogenic preterm delivery\nRDS | IVH | NEC | BPD\nProlonged NICU stay',
     '#7D3C98', '#6C3483'),
    (15.8, 8.5, 4.8, 1.5,
     'PERINATAL ASPHYXIA\n─────\nPlacental infarcts\nAbruptio placentae\nHypoxic-ischaemic injury',
     '#C0392B', '#922B21'),
    (22.1, 8.5, 4.8, 1.5,
     'LONG-TERM (DOHaD)\n─────\nBarker effect\nCV disease in adult life\nMetabolic programming',
     '#E67E22', '#CA6F1E'),
]
for x, y, w, h, txt, fc, ec in fetal:
    arr(ax, x, 9.55, x, y + h/2, color='#7F8C8D', lw=1.3)
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=7.6, r=0.2)

# ═══════════════════════════════════════════════════════════════════════════
# LONG-TERM MATERNAL
# ═══════════════════════════════════════════════════════════════════════════
hline(ax, 6.9, color='#5D6D7E', lw=1.5, ls=':')
ax.text(14, 6.82, 'LONG-TERM MATERNAL SEQUELAE',
        ha='center', va='top', fontsize=9.5, fontweight='bold', color='#1A252F', zorder=6)

lt_maternal = [
    (3.0, 5.65, 4.2, 1.3,
     'CHRONIC HTN\n~50% post-EOPE\n~25% post-LOPE\n(within 2-7 yrs)', '#2C3E50', '#1A252F'),
    (8.2, 5.65, 4.2, 1.3,
     'CVD RISK\nCAD | Stroke | HF\nx8 risk (EOPE)\nx2 risk (LOPE)', '#C0392B', '#922B21'),
    (13.4, 5.65, 4.2, 1.3,
     'RENAL DISEASE\nGFR decline\nProteinuria\nESRD risk +', '#1A5276', '#154360'),
    (18.6, 5.65, 4.2, 1.3,
     'METABOLIC SYNDROME\nT2DM | Dyslipidaemia\nInsulin resistance\nObesity', '#117A65', '#0E6655'),
    (23.8, 5.65, 4.2, 1.3,
     'RECURRENCE\nEOPE: 25-65%\nLOPE: 10-15%\nin next pregnancy', '#8E44AD', '#7D3C98'),
]
for x, y, w, h, txt, fc, ec in lt_maternal:
    box(ax, x, y, w, h, txt, fc, ec, tc='white', fs=7.8, r=0.2)

# ═══════════════════════════════════════════════════════════════════════════
# LEGEND
# ═══════════════════════════════════════════════════════════════════════════
hline(ax, 3.9, ls='-', color='#2C3E50', lw=2)
ax.text(0.6, 3.80,
        'ABBREVIATIONS:  + = increased  |  - = decreased  |  HTN = hypertension  |  EOPE = early-onset PE (<34 wks)  |  '
        'LOPE = late-onset PE (>=34 wks)  |  PGI2 = prostacyclin\n'
        'TXA2 = thromboxane A2  |  ET-1 = endothelin-1  |  AT1-AA = AT1 receptor autoantibody  |  '
        'HIF = hypoxia-inducible factor  |  sFlt-1 = soluble fms-like tyrosine kinase-1  |  '
        'ROS = reactive oxygen species\n'
        'FGR = fetal growth restriction  |  PRES = posterior reversible encephalopathy syndrome  |  '
        'DOHaD = Developmental Origins of Health & Disease  |  EDF = end-diastolic flow\n'
        'Sources: DC Dutta Obstetrics Ch.18  |  Creasy & Resnik MFM 8e Ch.72  |  Ives et al. JACC 2020  |  '
        'Sugulle et al. AJRI 2024  |  PMC12652060 (Late vs Early PE, IJMS 2025)',
        ha='left', va='top', fontsize=7.5, color='#5D6D7E', zorder=6)

# ── Stage labels in margin ─────────────────────────────────────────────────
for y_c, lbl, col in [(33.5, 'STAGE 1\n(Pre-clinical)\nWeeks 6-20', '#0E6655'),
                       (14.0, 'STAGE 2\n(Clinical\nDisease)', '#1A5276')]:
    ax.text(0.12, y_c, lbl, ha='center', va='center', fontsize=9,
            fontweight='bold', color=col, rotation=90, zorder=6)

# ═══════════════════════════════════════════════════════════════════════════
# SAVE
# ═══════════════════════════════════════════════════════════════════════════
plt.savefig('/tmp/workspace/preeclampsia/PE_pathophysiology_flowchart.png',
            dpi=185, bbox_inches='tight', facecolor='#F0F4F8')
print("Saved OK")
Running Command

cd /tmp/workspace/preeclampsia && python flowchart2.py 2>&1

Running Command

ls -lh /tmp/workspace/preeclampsia/PE_pathophysiology_flowchart.png

Your flowchart is ready (1.6 MB, 185 DPI - crisp for printing):

PE pathophysiology flowchart

Image · PNG


Here is what the chart contains, section by section:
STAGE 1 - PLACENTAL STAGE (green zone, Weeks 6-20, Pre-clinical)
LevelContent
Top7 predisposing risk factor boxes (genetic, immunological, nulliparity, chronic disease, multiple gestation, APS, race/age)
Step ADefective endovascular trophoblast invasion — fails at decidua-myometrial junction
Side-by-sideNormal spiral artery transformation (green) vs PE retention of musculo-elastic media (red)
Step BUteroplacental ischemia + hypoperfusion (high-resistance Doppler, acute atherosis)
Step CPlacental hypoxia → HIF-1α/HIF-2α → ER stress + mitochondrial dysfunction
4 Mediator branches① Oxidative stress/ROS, ② Anti-angiogenic sFlt-1/sEndoglin, ③ Pro-inflammatory cytokines, ④ Syncytiotrophoblast debris/microparticles
Bridge boxVEGF↓ / PlGF↓ / TGF-β↓ — sequestered by sFlt-1
CalloutsLOPE variant (placental senescence pathway) + Aspirin prophylaxis note
STAGE DIVIDER (dark banner)
Placental factors enter maternal circulation
STAGE 2 - MATERNAL SYSTEMIC DISEASE (blue zone, Clinical)
LevelContent
Central hubGeneralised endothelial dysfunction + vasospasm (vicious cycle box)
8 mechanism boxes①PGI₂/TXA₂ imbalance ②Ang-II sensitivity ③NO deficiency ④Endothelin-1 ⑤Cytokines ⑥Oxidative stress ⑦Angiogenic imbalance ⑧Coagulation activation
Organ pathology6 organs: Blood vessels, Kidney (glomerular endotheliosis), Brain (PRES/eclampsia), Liver (periportal necrosis), Blood (HELLP), Placenta (FGR/abruption)
3 Cardinal featuresHTN chain, Proteinuria chain (glomerular endotheliosis pathway), Generalised oedema chain — each with mechanism sub-box
HELLP boxH + EL + LP with diagnostic thresholds
Fetal consequencesFGR/IUGR, Prematurity/NICU, Perinatal asphyxia, DOHaD long-term programming
Long-term maternalChronic HTN, CVD risk (x8 EOPE / x2 LOPE), Renal disease, Metabolic syndrome, Recurrence rates
FooterFull abbreviations legend + 5 cited sources

Search for latest clinical guidelines (ACOG/RCOG/FIGO 2024-2025) on pre-eclampsia management

Searching PubMed

preeclampsia management guidelines ACOG RCOG FIGO

Searching the Web

ACOG practice bulletin preeclampsia 2024 2025 management guidelines updated

Searching the Web

RCOG preeclampsia guideline 2024 2025 Green-top management

Searching PubMed

preeclampsia hypertension pregnancy guideline 2024 2025

Searching the Web

ISSHP FIGO preeclampsia guideline 2024 2025 classification diagnosis management aspirin sFlt-1 PlGF delivery timing

Reading Web Page

https://www.preeclampsia.org/current-guidelines

Reading Article

PMID: 40719424

Reading Article

PMID: 40512208

Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC12985448

Searching the Web

ACOG biomarker prediction preeclampsia severe features 2024 sFlt-1 PlGF ratio guidelines NICE NG133 update

Searching PubMed

preeclampsia aspirin prevention calcium magnesium antihypertensive treatment 2024

I now have comprehensive data from all major bodies. Here is the full, up-to-date guideline synthesis:

Pre-Eclampsia Management: Latest Clinical Guidelines 2024-2025

Guideline Landscape at a Glance

BodyDocumentYearStatus
ACOG (USA)Practice Bulletin No. 222: Gestational HTN & Preeclampsia2020 (base)Still current; updated by 2024 Clinical Practice Update below
ACOGClinical Practice Update: Biomarker Prediction of PE with Severe FeaturesApril 2024NEW - updates PB 222 on sFlt-1/PlGF use
NICE (UK)NG133: Hypertension in Pregnancy2019 (updated)Active; DG49 (PlGF testing) endorsed 2022
RCOG (UK)Green-top Guideline No. 31 (SGA/FGR)2024Updated - includes aspirin 150 mg at night
ISSHPClassification, Diagnosis & Management of HDP2021Current international reference standard
Germany S2kHypertensive Disorders in Pregnancy (HES)July 2024NEW - updated BP targets, CVD follow-up
WHORecommendations on Antenatal Care2016/2021Calcium supplementation endorsed
AHA/ACCHypertension Guidelines (Pregnancy section)August 2025NEW - emphasises PE history as CVD risk factor

1. DIAGNOSIS: How Guidelines Define Pre-Eclampsia

BP Threshold (All guidelines agree)

  • New-onset hypertension ≥ 140 mmHg systolic OR ≥ 90 mmHg diastolic
  • On two occasions ≥ 4 hours apart
  • After 20 weeks gestation
  • In a previously normotensive woman

Diagnostic Criteria Differences

CriterionACOGISSHP 2021NICE NG133
Proteinuria threshold≥ 300 mg/24h or P:Cr ≥ 0.3 mg/mg or dipstick ≥ 2+ (persistent)≥ 300 mg/24h or P:Cr ≥ 30 mg/mmol≥ 300 mg/24h or P:Cr ≥ 30 mg/mmol
Without proteinuria: organ dysfunction✓ Thrombocytopenia, renal, liver, pulmonary, neurological✓ Same + FGR
Angiogenic imbalance (sFlt-1/PlGF) as criterionNot in definition✓ YES (PlGF <5th %ile or sFlt-1/PlGF >95th %ile)Not in definition; PlGF used for risk assessment (DG49)
FGR as criterionNot included✓ YES (uteroplacental dysfunction component)Not included
Superimposed PEHTN + new proteinuria/organ dysfunctionSameSame
Key 2024-2025 shift: ISSHP's inclusion of angiogenic imbalance and FGR in the definition is gaining traction internationally. The scoping review by Chamillard et al. (PMID: 40719424, 2025) identified 15 guidelines from 11 organisations - all agree on HTN + proteinuria; only 8 include organ dysfunction; only 4 include placental dysfunction.

2. NEW IN 2024: ACOG Biomarker Update (sFlt-1/PlGF)

ACOG Clinical Practice Update, Obstet Gynecol 2024;143(6):e153-e154
The most significant 2024 update from ACOG specifically addresses sFlt-1/PlGF testing for hospitalised women with hypertensive disorders.

ACOG 2024 sFlt-1:PlGF Recommendations

RecommendationDetail
IndicationWomen hospitalised for hypertensive disorders - to aid risk assessment for progression to PE with severe features
Test usedKRYPTOR immunoassay (Brahms/ThermoFisher) - FDA-cleared
Primary valueNegative predictive value: sFlt-1/PlGF ≤38 rules out PE with severe features within next 7 days (NPV >99%)
Not a standalone testCannot diagnose or exclude PE with severe features alone - used alongside clinical assessment + standard labs
Window20-36+6 weeks gestation
Cannot replace clinical criteriaStandard BP, symptoms, labs remain primary diagnostic tools

sFlt-1:PlGF Ratio Interpretation (ISSHP/NICE-aligned)

Ratio ValueInterpretationClinical Action
< 38Low risk - PE unlikely within 7 daysNPV ~99.3%; can consider outpatient management
38 - 85 (20-34 wks)Intermediate - increased vigilanceMore frequent monitoring, consider admission
> 85 (<34 wks) or > 110 (≥34 wks)High risk - PE likelyStrongly suggests PE; enhanced inpatient surveillance
> 655Severe angiogenic imbalanceImmediate delivery consideration
Source: Zeisler et al. NEJM 2016; endorsed by ACOG 2024 CPU, NICE DG49 (2022), ISSHP 2021

3. PREVENTION

Aspirin (All Major Guidelines - High-Grade Evidence)

ParameterACOG PB 222NICE NG133RCOG 2024ISSHP 2021
Dose81 mg/day (USA standard)150 mg/night150 mg/night100-150 mg/night
Start timing≤16 weeks (ideally 12-16 wks)≤16 weeks≤16 weeks12-16 weeks
Stop timing36 weeks or delivery36 weeks36+0 weeks36 weeks
Target reduction~60-80% EOPE if started ≤16 wks (ASPRE trial)SameSameSame
High-risk criteria≥1 high-risk factor≥1 high-risk or ≥2 moderate-risk factorsFMF combined screen >1:100 or clinical risk factorsSame approach
RCOG 2024 update (Green-top GTG 31, BJOG 2024;131:e31-e80): Specifically recommends 150 mg aspirin at night from 12+0 to 36+0 weeks for women at risk of PE and/or placental dysfunction. The night-time dosing maximises the antiplatelet effect on circadian TXA₂ production.

First-Trimester Combined Screening (FMF Protocol)

NICE NG133 and ISSHP 2021 both endorse:
  • Combined screen at 11-13+6 weeks: maternal factors + MAP + uterine artery PI + serum PlGF
  • Detects ~90% of EOPE (FPR 10%) vs ~40% with risk factors alone
  • Positive test (risk >1:100): start aspirin 150 mg at night

Calcium Supplementation (WHO/ISSHP)

  • WHO recommendation: 1.5-2 g/day calcium for women with low dietary calcium intake (<900 mg/day)
  • Reduces risk of PE by approximately 50% in calcium-deficient populations
  • Especially relevant in low- and middle-income countries

4. ANTIHYPERTENSIVE THERAPY

Which BP Triggers Treatment?

GuidelineStart antihypertensives at:Target BP
ACOG PB 222SBP ≥ 160 or DBP ≥ 110 (severe range) - treat within 30-60 min<160/110 (acute); <140-150/90-100 (ongoing)
NICE NG133DBP ≥ 90 (non-severe) - oral agents; ≥ 150/100 - treat promptly135/85 mmHg
ISSHP 2021≥ 140/90 (treat all diagnosed PE)110-140 / 80-90
German S2k 2024≥ 140/90 - recommended; ≥ 160/110 - urgent130-140 / 80-90
Important 2024-2025 change (German S2k + AHA 2025): Treating non-severe hypertension (140-159/90-109) in PE is now recommended by more guidelines, aligning with the CHIPS trial evidence. ACOG has been more conservative (only mandating treatment for severe-range), but this is an active area of evolution.

First-Line Antihypertensives

DrugACOGNICEISSHPNotes
Labetalol (oral/IV)✓ First-line acute✓ First-lineIV 20-80 mg bolus; avoid in asthma
Nifedipine (modified release)✓ First-line oral✓ First-line10-20 mg oral; caution with MgSO₄
Hydralazine (IV)✓ Alternative acuteSecond-line5-10 mg IV bolus; reflex tachycardia
Methyldopa (oral)✓ (non-severe)Safe, established; slower onset
AmlodipineSecond-lineAlternativeGood for chronic/postpartum HTN
MetoprololAlternativeUseful chronic control
ACE inhibitors / ARBs✗ CONTRAINDICATEDFetotoxic

5. MAGNESIUM SULFATE (Universal Recommendation)

All guidelines (ACOG, NICE, ISSHP, WHO) agree on:
IndicationRegimen
Eclampsia treatment (acute seizure)4 g IV loading dose over 5-10 min, then 1-2 g/hour maintenance
Eclampsia prevention - PE with severe featuresSame regimen; continue 24h postpartum
Recurrent seizureAdditional 2-4 g IV bolus
DurationUntil 24-48 hours post delivery

MgSO₄ Monitoring (Toxicity Surveillance)

  • Patellar reflexes: check hourly (loss = first sign of toxicity)
  • Urine output: ≥ 25 mL/hour (reduce dose if oliguria)
  • Respiratory rate: ≥ 12/min
  • Antidote: Calcium gluconate 1 g IV (10 mL of 10% solution) over 3 minutes
Magpie Trial remains the evidence base (eclampsia prevention, 58% risk reduction). ACOG recommends MgSO₄ only for PE with severe features; NICE uses a lower threshold - offers it for women with any PE who are being managed in hospital.

6. TIMING OF DELIVERY

ACOG PB 222 (Current Standard)

Clinical ScenarioRecommended Delivery
PE without severe features, termAt 37+0 weeks (based on HYPITAT trial)
PE without severe features, <37 wksExpectant management with close surveillance
PE with severe features, ≥34 weeksDeliver at 34 weeks (or immediately if unstable)
PE with severe features, 24-34 weeksExpectant management in tertiary centre, maternal stabilisation first
PE with severe features, <24 weeksDelivery recommended (periviable counselling required)
HELLP syndromeDelivery at ≥34 weeks; individualise 24-34 weeks
EclampsiaDeliver after maternal stabilisation; not necessarily immediate cesarean

Indications for Immediate Delivery (regardless of gestation)

  • Uncontrolled severe-range BP (refractory to 2 antihypertensives)
  • Eclampsia
  • Pulmonary oedema
  • Acute kidney injury (creatinine >1.1 mg/dL or doubling)
  • HELLP syndrome with deterioration
  • Placental abruption
  • Non-reassuring fetal status / fetal death
  • Persistent severe symptoms (headache, visual disturbance, epigastric pain)

Corticosteroids

  • Betamethasone 12 mg IM × 2 doses, 24h apart (or dexamethasone equivalent)
  • Indicated for anticipated delivery before 34+0 weeks
  • Consider late-preterm steroids (34+0 to 36+6) if delivery anticipated within 7 days
  • ACOG: do not delay delivery to complete a steroid course in unstable maternal disease

7. INTRAPARTUM MANAGEMENT

AspectRecommendation
Mode of deliveryVaginal delivery preferred if maternal/fetal condition allows; CS not mandated
Regional anaesthesiaEpidural/spinal preferred - reduces hypertensive response; low-dose aspirin NOT a contraindication
Fluid managementRestrict to 80 mL/hour IV; avoid aggressive fluid loading (risk of pulmonary oedema)
BP monitoringEvery 15-30 min in active labour
3rd stageOxytocin preferred; avoid ergometrine (raises BP); syntocinon by slow IV infusion
Active labourContinue MgSO₄ if started; ensure antihypertensive access

8. POSTPARTUM MANAGEMENT

BP Control Post-Delivery

  • PE can worsen in first 24-72 hours post delivery - continue close monitoring
  • Discharge BP should be <150/100
  • Continue antihypertensives until BP consistently <140/90 for 2 weeks
  • NICE: offer self-monitoring of BP post discharge
  • Most patients can discontinue antihypertensives by 6-8 weeks postpartum

AHA/ACC 2025 Update (August 2025)

The newly published AHA guidelines (August 2025) formally recognise:
  • History of PE as an independent, established cardiovascular risk factor
  • Women with PE history should have CVD risk assessment at first postpartum visit and at every subsequent annual check
  • Lifestyle modification, BP monitoring, and lipid screening should begin in the first year post-delivery for women with EOPE

9. SURVEILLANCE DURING EXPECTANT MANAGEMENT

NICE NG133 Protocol

ParameterInpatientOutpatient
BPEvery 15-30 min (acute) → every 4h (stable)At least twice weekly
Bloods (FBC, LFT, U&E, urate)Daily to 3× weekly1-2× weekly
Fetal growth USSEvery 2-4 weeksEvery 2-4 weeks
Umbilical artery DopplerEvery 2 weeks if FGREvery 2 weeks
CTGAs clinically indicatedAs clinically indicated
sFlt-1/PlGFAt assessment (<37 wks)At review if suspected
Urinalysis/proteinuriaAt each visitAt each visit

10. SUMMARY QUICK-REFERENCE CARD

┌─────────────────────────────────────────────────────────────────────┐
│              PE MANAGEMENT QUICK REFERENCE (2024-2025)              │
├─────────────────────┬───────────────────────────────────────────────┤
│ PREVENTION          │ Aspirin 100-150 mg/night ≤16 wks to 36 wks   │
│                     │ Calcium 1.5-2 g/day (low-intake populations)  │
│                     │ FMF combined screen 11-13+6 wks               │
├─────────────────────┼───────────────────────────────────────────────┤
│ DIAGNOSIS BIOMARKER │ sFlt-1/PlGF ≤38 = rules out PE (7-day NPV)   │
│ (ACOG 2024 update)  │ >38 = increased risk; >85 = high risk EOPE    │
├─────────────────────┼───────────────────────────────────────────────┤
│ ANTIHYPERTENSIVES   │ Treat ≥160/110 within 30-60 min (ACOG)        │
│                     │ Treat ≥140/90 (NICE/ISSHP)                    │
│                     │ 1st line: Labetalol IV / Nifedipine oral       │
│                     │ Hydralazine IV (alternative)                   │
├─────────────────────┼───────────────────────────────────────────────┤
│ MAGNESIUM SULFATE   │ 4 g IV load → 1-2 g/hr infusion               │
│                     │ ALL PE with severe features + eclampsia        │
│                     │ Continue 24h post delivery                     │
├─────────────────────┼───────────────────────────────────────────────┤
│ DELIVERY TIMING     │ PE without SF: 37+0 weeks                      │
│                     │ PE with SF: ≥34 wks → deliver                  │
│                     │ 24-34 wks with SF: expectant if stable         │
├─────────────────────┼───────────────────────────────────────────────┤
│ STEROIDS            │ Betamethasone 12 mg × 2 if <34 wks            │
│                     │ Consider late preterm (34-36+6 wks)            │
├─────────────────────┼───────────────────────────────────────────────┤
│ POSTPARTUM          │ Monitor 24-72h (can worsen post delivery)      │
│                     │ CVD risk counselling before discharge          │
│                     │ Annual BP/metabolic review (AHA 2025)          │
└─────────────────────┴───────────────────────────────────────────────┘

Key Sources:

Create a management decision tree (is delivery indicated? Timing algorithm by gestation)

Running Command

ls /tmp/workspace/preeclampsia/

Writing File

~/preeclampsia/decision_tree.py

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch
import numpy as np

# ─────────────────────────────────────────────────────────────────
# CANVAS
# ─────────────────────────────────────────────────────────────────
fig = plt.figure(figsize=(32, 52), facecolor='#F7F9FC')
ax  = fig.add_axes([0, 0, 1, 1])
ax.set_xlim(0, 32)
ax.set_ylim(0, 52)
ax.axis('off')

# ─────────────────────────────────────────────────────────────────
# HELPER FUNCTIONS
# ─────────────────────────────────────────────────────────────────
def box(cx, cy, w, h, lines, fc, ec, tc='white', fs=9.0,
        bold=False, r=0.3, lw=2.0, alpha=1.0):
    patch = FancyBboxPatch((cx-w/2, cy-h/2), w, h,
                           boxstyle=f'round,pad=0.05,rounding_size={r}',
                           fc=fc, ec=ec, lw=lw, alpha=alpha, zorder=3)
    ax.add_patch(patch)
    text = '\n'.join(lines) if isinstance(lines, list) else lines
    ax.text(cx, cy, text, ha='center', va='center',
            fontsize=fs, color=tc,
            fontweight='bold' if bold else 'normal',
            multialignment='center', zorder=4)

def arr(x1, y1, x2, y2, col='#2C3E50', lw=2.0, style='->', label='', lfs=8):
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(
                    arrowstyle=f'{style}, head_length=0.35, head_width=0.22',
                    color=col, lw=lw), zorder=5)
    if label:
        mx, my = (x1+x2)/2, (y1+y2)/2
        ax.text(mx+0.18, my, label, ha='left', va='center',
                fontsize=lfs, color=col, fontweight='bold',
                style='italic', zorder=6)

def line(x1, y1, x2, y2, col='#95A5A6', lw=1.5, ls='--'):
    ax.plot([x1, x2], [y1, y2], color=col, lw=lw, ls=ls, zorder=2)

def diamond(cx, cy, w, h, lines, fc, ec, tc='white', fs=9.0, bold=True):
    """Draw a rotated square (diamond) decision node."""
    hw, hh = w/2, h/2
    xs = [cx,    cx+hw, cx,    cx-hw, cx]
    ys = [cy+hh, cy,    cy-hh, cy,    cy+hh]
    ax.fill(xs, ys, fc=fc, ec=ec, lw=2.2, zorder=3)
    ax.plot(xs, ys, color=ec, lw=2.2, zorder=4)
    text = '\n'.join(lines) if isinstance(lines, list) else lines
    ax.text(cx, cy, text, ha='center', va='center',
            fontsize=fs, color=tc,
            fontweight='bold' if bold else 'normal',
            multialignment='center', zorder=5)

def section_label(x, y, text, col):
    ax.text(x, y, text, ha='left', va='center',
            fontsize=10.5, color=col, fontweight='bold',
            style='italic', zorder=6,
            bbox=dict(boxstyle='round,pad=0.3', fc='white', ec=col, lw=1.5))

# ─────────────────────────────────────────────────────────────────
# COLOURS
# ─────────────────────────────────────────────────────────────────
C_TITLE   = '#1A252F'
C_START   = '#1ABC9C'
C_DIAMOND = '#2980B9'
C_DELIVER = '#C0392B'
C_EXPECT  = '#27AE60'
C_SEVERE  = '#8E44AD'
C_WARN    = '#E67E22'
C_DRUGS   = '#2C3E50'
C_INFO    = '#117A65'
C_MAGENTA = '#922B21'

# ─────────────────────────────────────────────────────────────────
# TITLE BLOCK
# ─────────────────────────────────────────────────────────────────
box(16, 51.2, 28, 0.9,
    ['PRE-ECLAMPSIA MANAGEMENT DECISION TREE',
     'Delivery Timing Algorithm by Gestational Age  |  ACOG / ISSHP / NICE 2024-2025'],
    '#1A252F', '#0D1117', fs=14, bold=True, r=0.25)

# ─────────────────────────────────────────────────────────────────
# STEP 1: ENTRY — NEW HTN ≥20 WEEKS
# ─────────────────────────────────────────────────────────────────
box(16, 49.85, 18, 0.8,
    ['ENTRY: NEW HYPERTENSION >= 140/90 mmHg on >= 2 occasions (>= 4h apart), from >= 20 weeks gestation'],
    C_START, '#0E6655', fs=10, bold=True)
arr(16, 49.45, 16, 48.85, col='#0E6655', lw=2.2)

# ─────────────────────────────────────────────────────────────────
# STEP 2: IMMEDIATE DANGER DIAMOND
# ─────────────────────────────────────────────────────────────────
diamond(16, 48.3, 7.0, 1.1,
        ['IMMEDIATE DANGER SIGNS?',
         'BP >=160/110  |  Eclampsia  |  Pulmonary oedema',
         'Placental abruption  |  Non-reassuring FHR'],
        C_WARN, '#CA6F1E', fs=8.8)

# YES → immediate delivery
arr(19.5, 48.3, 22.5, 48.3, col=C_DELIVER, lw=2.5, label='YES')
box(26.0, 48.3, 7.0, 1.4,
    ['IMMEDIATE MANAGEMENT',
     '1. IV/IM antihypertensive NOW',
     '   (Labetalol 20-80mg IV OR Nifedipine 10-20mg oral',
     '    OR Hydralazine 5-10mg IV)',
     '2. MgSO4 4g IV load -> 1-2g/hr',
     '3. Stabilise -> DELIVER'],
    C_DELIVER, '#922B21', fs=7.8, r=0.2)

# NO → continue
arr(16, 47.75, 16, 47.15, col='#0E6655', lw=2.2, label='NO')

# ─────────────────────────────────────────────────────────────────
# STEP 3: CONFIRM DIAGNOSIS DIAMOND
# ─────────────────────────────────────────────────────────────────
diamond(16, 46.6, 7.5, 1.05,
        ['CONFIRM DIAGNOSIS',
         'Proteinuria >= 300 mg/24h  OR  P:Cr >= 30 mg/mmol',
         'OR organ dysfunction (renal / liver / CNS / haem)'],
        C_DIAMOND, '#1F618D', fs=8.5)

# NO → gestational HTN pathway (right)
arr(19.75, 46.6, 22.5, 46.6, col='#7F8C8D', lw=1.8, label='NO - Gestational HTN only')
box(26.5, 46.6, 6.5, 1.35,
    ['GESTATIONAL HYPERTENSION',
     '- Antihypertensives if >= 140/90',
     '- Weekly BP + labs',
     '- USS fetal growth q2-4wks',
     '- Deliver at >= 37 weeks'],
    '#5D6D7E', '#2C3E50', fs=7.8, r=0.2)

# YES → severe features diamond
arr(16, 46.08, 16, 45.48, col=C_DIAMOND, lw=2.2, label='YES = PRE-ECLAMPSIA')

# ─────────────────────────────────────────────────────────────────
# STEP 4: SEVERE FEATURES DIAMOND
# ─────────────────────────────────────────────────────────────────
box(16, 45.0, 21, 0.72,
    ['ASSESS FOR SEVERE FEATURES (ACOG criteria)'],
    '#4A235A', '#6C3483', tc='white', fs=9.5, bold=True, r=0.15)
arr(16, 44.64, 16, 44.10, col='#6C3483', lw=2.0)

# Severe features list box
box(16, 43.4, 21, 1.25,
    ['SEVERE FEATURES present if ANY of:',
     'SBP >= 160  OR  DBP >= 110 (x2, >= 4h apart, or once if treated)  |  Thrombocytopenia < 100,000/mm3',
     'Creatinine > 1.1 mg/dL or 2x baseline  |  Impaired LFT (AST/ALT > 2x ULN)  |  Pulmonary oedema',
     'New headache unresponsive to paracetamol  |  Visual disturbances  |  RUQ/epigastric pain'],
    C_SEVERE, '#6C3483', tc='white', fs=8.0, r=0.2)
arr(16, 42.78, 16, 42.18, col='#6C3483', lw=2.0)

diamond(16, 41.65, 6.0, 1.0,
        ['SEVERE FEATURES', 'PRESENT?'],
        C_SEVERE, '#6C3483', fs=10, bold=True)

# ─────────────────────────────────────────────────────────────────
# BRANCH A: SEVERE FEATURES = YES
# ─────────────────────────────────────────────────────────────────
arr(13.0, 41.65, 7.5, 41.65, col=C_SEVERE, lw=2.5, label='')
ax.text(10.7, 41.9, 'YES', ha='center', va='center',
        fontsize=10, color=C_SEVERE, fontweight='bold', zorder=6)
arr(7.5, 41.65, 7.5, 41.1, col=C_SEVERE, lw=2.0)

# Severe - initial steps
box(7.5, 40.5, 12.5, 1.25,
    ['IMMEDIATE STEPS - PE WITH SEVERE FEATURES',
     'Admit to L&D / HDU  |  IV access x2  |  Foley catheter  |  O2 if SpO2 < 95%',
     'MgSO4 4g IV load over 15-20 min -> 1-2g/hr maintenance  |  Antihypertensive for BP >= 160/110',
     'Bloods: FBC, LFT, U&E, coag, LDH, uric acid  |  CTG immediately  |  USS fetal biometry + Dopplers'],
    C_SEVERE, '#6C3483', tc='white', fs=7.8, r=0.2)

arr(7.5, 39.88, 7.5, 39.28, col=C_SEVERE, lw=2.0)

# Now branch by gestational age (severe features)
diamond(7.5, 38.75, 5.5, 0.95,
        ['GESTATIONAL AGE?'],
        '#4A235A', '#6C3483', fs=9.5, bold=True)

# ── < 24 weeks ─────────────────────────────────────────────
arr(4.75, 38.75, 2.2, 38.75, col=C_DELIVER, lw=1.8)
ax.text(3.3, 39.0, '< 24 wks', ha='center', va='center', fontsize=8, color=C_DELIVER, fontweight='bold', zorder=6)
box(2.2, 37.5, 3.8, 2.3,
    ['< 24 WEEKS',
     'PERIVIABLE',
     '──────────',
     'Counsel re:',
     'fetal prognosis',
     'maternal risk',
     'Delivery generally',
     'recommended',
     '(maternal safety)',
     'Neonatology',
     'consultation'],
    C_DELIVER, '#922B21', fs=7.5, r=0.2)

# ── 24-28 weeks ──────────────────────────────────────────
arr(7.5, 38.28, 7.5, 36.52, col='#7D3C98', lw=1.8)
ax.text(7.75, 37.6, '24-28 wks\nor\n28-34 wks', ha='left', va='center', fontsize=8,
        color='#7D3C98', fontweight='bold', zorder=6)

box(7.5, 36.0, 10.5, 1.1,
    ['24-34 WEEKS WITH SEVERE FEATURES: EXPECTANT MANAGEMENT (if maternal-fetal condition allows)',
     'Transfer to tertiary centre  |  Stabilise BP  |  Continue MgSO4 for 24-48h',
     'Betamethasone 12mg IMx2 (24h apart) IMMEDIATELY for fetal lung maturity'],
    '#7D3C98', '#6C3483', tc='white', fs=7.8, r=0.2)
arr(7.5, 35.45, 7.5, 34.85, col='#7D3C98', lw=1.8)

# Contraindications to expectant management
box(7.5, 34.2, 10.5, 1.3,
    ['CONTRAINDICATIONS TO EXPECTANT MANAGEMENT - DELIVER IMMEDIATELY if:',
     'Refractory severe BP  |  Eclampsia / HELLP  |  AKI (Cr > 2x baseline)',
     'Pulmonary oedema  |  Abruption  |  DIC  |  Non-reassuring FHR  |  Fetal death',
     'Severe FGR with reversed EDF  |  Maternal refusal of expectant management'],
    C_DELIVER, '#922B21', tc='white', fs=7.5, r=0.2)

arr(7.5, 33.55, 7.5, 32.98, col='#7D3C98', lw=1.8)

# If expectant: surveillance
box(7.5, 32.35, 10.5, 1.25,
    ['IF EXPECTANT MANAGEMENT CONTINUING (24-34 wks):',
     'BP every 4-6h  |  FBC/LFT/U&E/LDH daily  |  CTG daily  |  Urine output hourly',
     'USS fetal growth + Dopplers every 1-2 weeks  |  sFlt-1/PlGF at assessment',
     'Repeat steroids (rescue course) if delivery anticipated and > 7d since first course'],
    C_INFO, '#0E6655', tc='white', fs=7.5, r=0.2)

# ── 34 weeks (severe) ──────────────────────────────────────
arr(10.25, 38.75, 13.0, 35.2, col=C_DELIVER, lw=1.8)
ax.text(11.8, 37.1, '>= 34 wks', ha='left', va='center', fontsize=8,
        color=C_DELIVER, fontweight='bold', zorder=6)
box(14.5, 35.2, 5.5, 1.0,
    ['>= 34 WEEKS + SEVERE FEATURES',
     'DELIVER',
     'after maternal stabilisation',
     '(steroids if 34-36+6 wks, not to delay)'],
    C_DELIVER, '#922B21', tc='white', fs=8.0, r=0.2, bold=False)

# ─────────────────────────────────────────────────────────────────
# BRANCH B: SEVERE FEATURES = NO  (right side)
# ─────────────────────────────────────────────────────────────────
arr(19.0, 41.65, 24.5, 41.65, col=C_EXPECT, lw=2.5)
ax.text(21.7, 41.95, 'NO', ha='center', va='center',
        fontsize=10, color=C_EXPECT, fontweight='bold', zorder=6)

box(24.5, 41.15, 7.0, 1.1,
    ['PE WITHOUT SEVERE FEATURES',
     'Admit for initial assessment',
     'BP control if >= 140/90 (NICE) or >= 160/110 (ACOG)',
     '1st line: Labetalol / Nifedipine MR / Methyldopa'],
    C_EXPECT, '#1E8449', tc='white', fs=7.8, r=0.2)
arr(24.5, 40.6, 24.5, 39.98, col=C_EXPECT, lw=2.0)

diamond(24.5, 39.45, 5.5, 0.95,
        ['GESTATIONAL AGE?'],
        '#1E8449', '#117A65', fs=9.5, bold=True)

# ── < 37 weeks: expectant ──────────────────────────────────
arr(24.5, 38.98, 24.5, 38.35, col=C_EXPECT, lw=1.8)
ax.text(24.7, 38.65, '< 37 wks', ha='left', va='center', fontsize=8,
        color=C_EXPECT, fontweight='bold', zorder=6)

box(24.5, 37.6, 7.0, 1.55,
    ['< 37 WEEKS - EXPECTANT MANAGEMENT',
     '────────────────────────',
     'Inpatient vs outpatient:',
     'Outpatient if: stable BP, compliant, daily home BP log,',
     'no proteinuria surge, normal FHR, fetal Dopplers normal',
     'Inpatient if: any deterioration, early GA, social concerns'],
    C_EXPECT, '#1E8449', tc='white', fs=7.5, r=0.2)
arr(24.5, 36.83, 24.5, 36.23, col=C_EXPECT, lw=1.8)

box(24.5, 35.6, 7.0, 1.25,
    ['SURVEILLANCE SCHEDULE (no severe features)',
     '- BP monitoring: 2x per week (outpatient), daily (inpatient)',
     '- Labs (FBC, LFT, U&E): twice weekly',
     '- USS fetal growth + Doppler: every 2-4 weeks',
     '- Kick count / CTG: as indicated',
     '- sFlt-1/PlGF: at assessment <37 wks'],
    C_INFO, '#0E6655', tc='white', fs=7.5, r=0.2)
arr(24.5, 34.98, 24.5, 34.38, col=C_EXPECT, lw=1.8)

diamond(24.5, 33.85, 5.8, 0.95,
        ['Develops SEVERE FEATURES?', 'OR deterioration?'],
        C_WARN, '#CA6F1E', fs=8.5, bold=True)

arr(24.5, 33.38, 24.5, 32.8, col='#1E8449', lw=1.8, label='NO -> continue')
box(24.5, 32.2, 7.0, 1.2,
    ['CONTINUE EXPECTANT MANAGEMENT',
     '-> Repeat diamond assessment at each visit',
     '-> Escalate to severe pathway if any criteria met',
     '-> TARGET: reach 37+0 weeks'],
    C_EXPECT, '#1E8449', tc='white', fs=7.8, r=0.2)

# YES -> go back to severe path
arr(21.6, 33.85, 18.5, 33.85, col=C_WARN, lw=1.8)
ax.text(20.1, 34.1, 'YES', ha='center', va='center', fontsize=9,
        color=C_WARN, fontweight='bold', zorder=6)
box(16.5, 33.85, 3.5, 0.75,
    ['RE-ASSESS AS', 'PE WITH', 'SEVERE FEATURES'],
    C_SEVERE, '#6C3483', tc='white', fs=8.0, r=0.2)

# ── 37 weeks: DELIVER ──────────────────────────────────────
arr(27.25, 39.45, 30.0, 39.45, col=C_DELIVER, lw=2.0)
ax.text(28.3, 39.7, '>= 37 wks', ha='center', va='center',
        fontsize=8, color=C_DELIVER, fontweight='bold', zorder=6)
box(30.5, 39.45, 3.0, 1.6,
    ['>= 37 WEEKS',
     '──────',
     'DELIVER',
     '(HYPITAT trial)',
     'IOL preferred',
     'if cephalic +',
     'favourable cervix'],
    C_DELIVER, '#922B21', tc='white', fs=8.0, r=0.2, bold=False)

# ─────────────────────────────────────────────────────────────────
# ANTIHYPERTENSIVE QUICK GUIDE
# ─────────────────────────────────────────────────────────────────
line(0.5, 31.1, 31.5, 31.1, col='#2C3E50', lw=2.5, ls='-')
ax.text(16, 30.95, 'ANTIHYPERTENSIVE MANAGEMENT', ha='center', va='top',
        fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

# Acute severe
box(5.0, 29.7, 8.5, 2.15,
    ['ACUTE SEVERE HTN (>=160/110)',
     'TREAT WITHIN 30-60 MINUTES',
     '─────────────────────────',
     '1st: Labetalol 20mg IV; if no response in 10 min',
     '  -> 40mg, then 80mg IV q10min (max 300mg)',
     '  OR Hydralazine 5-10mg IV q20min',
     '  OR Nifedipine 10mg oral (not sublingual)',
     'Target: BP 140-150 / 90-100 mmHg',
     'Caution: avoid overshoot (fetal distress)'],
    C_DELIVER, '#7B241C', tc='white', fs=7.8, r=0.2)

# Maintenance
box(16.0, 29.7, 8.0, 2.15,
    ['ORAL MAINTENANCE ANTIHYPERTENSIVES',
     '─────────────────────────',
     'Labetalol 100-400mg BD/TDS (max 2400mg/day)',
     'Nifedipine MR 20-60mg once daily',
     'Methyldopa 250-500mg TDS (max 3g/day)',
     'Amlodipine 5-10mg OD (postpartum preferred)',
     'Avoid: ACE inhibitors / ARBs (fetotoxic)',
     'Avoid: Atenolol (FGR risk)'],
    C_DRUGS, '#1A252F', tc='white', fs=7.8, r=0.2)

# MgSO4 box
box(26.5, 29.7, 8.0, 2.15,
    ['MgSO4 PROTOCOL',
     '─────────────────────────',
     'Loading: 4g IV over 15-20 min',
     'Maintenance: 1-2g/hr infusion',
     'Duration: 24h post delivery',
     'Recurrent seizure: 2-4g IV bolus',
     'MONITOR: reflexes, RR, urine output',
     'ANTIDOTE: Ca gluconate 1g IV (10mL 10%)'],
    '#7D3C98', '#6C3483', tc='white', fs=7.8, r=0.2)

# ─────────────────────────────────────────────────────────────────
# DELIVERY PATHWAY DETAIL
# ─────────────────────────────────────────────────────────────────
line(0.5, 27.3, 31.5, 27.3, col='#2C3E50', lw=2.5, ls='-')
ax.text(16, 27.15, 'WHEN DELIVERY IS INDICATED — DECISION PATHWAY', ha='center', va='top',
        fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

box(16, 26.25, 28, 0.7,
    ['MATERNAL STABILISATION FIRST: Control BP -> MgSO4 loading -> IV access -> CTG -> Consent'],
    '#1A252F', '#0D1117', tc='#F7DC6F', fs=9.0, bold=True, r=0.15)

arr(16, 25.9, 16, 25.35, col='#2C3E50', lw=2.0)

diamond(16, 24.85, 6.0, 0.95,
        ['CERVIX FAVOURABLE?', '(Bishop score >= 6)'],
        C_DIAMOND, '#1F618D', fs=9.0, bold=True)

# YES - IOL
arr(13.0, 24.85, 9.5, 24.85, col='#1F618D', lw=1.8)
ax.text(11.2, 25.1, 'YES', ha='center', va='center',
        fontsize=9, color='#1F618D', fontweight='bold', zorder=6)
box(7.0, 24.85, 7.0, 1.7,
    ['INDUCTION OF LABOUR',
     '──────────────',
     'Oxytocin infusion preferred',
     'Prostaglandin ripening if needed',
     'Continuous CTG throughout',
     'Epidural strongly recommended',
     '  (lowers BP + excellent analgesia)',
     '3rd stage: Oxytocin (NOT ergometrine)',
     'Ergometrine -> raises BP'],
    '#1F618D', '#154360', tc='white', fs=7.8, r=0.2)

# NO - consider CS
arr(19.0, 24.85, 23.5, 24.85, col=C_DELIVER, lw=1.8)
ax.text(21.3, 25.1, 'NO / Fetal distress', ha='center', va='center',
        fontsize=8.5, color=C_DELIVER, fontweight='bold', zorder=6)
box(26.5, 24.85, 8.0, 1.7,
    ['CONSIDER CAESAREAN SECTION',
     '──────────────',
     'Unfavourable cervix + urgent delivery',
     'Abnormal fetal Dopplers (AREDV)',
     'Non-reassuring CTG',
     'Maternal deterioration',
     'Regional anaesthesia PREFERRED',
     'Spinal/epidural -> avoids pressor response',
     'Aspirin NOT contraindication to neuraxial block'],
    C_DELIVER, '#7B241C', tc='white', fs=7.8, r=0.2)

# ─────────────────────────────────────────────────────────────────
# INTRAPARTUM + POSTPARTUM
# ─────────────────────────────────────────────────────────────────
line(0.5, 22.6, 31.5, 22.6, col='#2C3E50', lw=2.5, ls='-')
ax.text(16, 22.48, 'INTRAPARTUM & POSTPARTUM MANAGEMENT', ha='center', va='top',
        fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

box(5.5, 21.3, 9.5, 2.1,
    ['INTRAPARTUM',
     '──────────────',
     'BP every 15-30 min in active labour',
     'Fluid restriction: 80 mL/hr IV total',
     'Continue MgSO4 throughout labour',
     'Continuous CTG',
     'Avoid fluid overload (pulm. oedema risk)',
     'Keep strict fluid balance chart',
     'Target urine output >= 0.5 mL/kg/hr'],
    '#1A5276', '#154360', tc='white', fs=7.8, r=0.2)

box(16.5, 21.3, 9.5, 2.1,
    ['IMMEDIATE POSTPARTUM (0-48h)',
     '──────────────',
     'BP can WORSEN in 24-72h post delivery',
     'Continue MgSO4 for 24h post delivery',
     'Monitor BP every 1-4h for 24h',
     'Continue antihypertensives until BP < 150/100',
     'Check FBC/LFT/U&E/LDH at 24h & 48h post delivery',
     'Watch for: pulmonary oedema, AKI, HELLP worsening'],
    C_WARN, '#CA6F1E', tc='white', fs=7.8, r=0.2)

box(27.5, 21.3, 7.5, 2.1,
    ['DISCHARGE & FOLLOW-UP',
     '──────────────',
     'Discharge if BP < 150/100 x48h',
     'Home BP monitoring (twice daily)',
     'Review at 1-2 weeks',
     'Stop antihypertensives if BP < 130/80',
     'Most normalise by 6-8 weeks',
     'CVD risk counselling',
     'Annual BP/metabolic screen (AHA 2025)'],
    C_INFO, '#0E6655', tc='white', fs=7.8, r=0.2)

# ─────────────────────────────────────────────────────────────────
# CORTICOSTEROID TIMING
# ─────────────────────────────────────────────────────────────────
line(0.5, 18.95, 31.5, 18.95, col='#2C3E50', lw=2.5, ls='-')
ax.text(16, 18.83, 'CORTICOSTEROID PROTOCOL FOR FETAL LUNG MATURITY',
        ha='center', va='top', fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

steroids = [
    (4.5,  '< 24 WEEKS\n────────\nNot routinely given\n(periviable - counsel\nre: prognosis first)',
     '#95A5A6', '#7F8C8D'),
    (11.0, '24 - 33+6 WEEKS\n────────\nBetamethasone 12mg IM\nx2 doses 24h apart\nGIVE IMMEDIATELY on\nadmission\nDo NOT delay delivery\nfor steroids if severe',
     '#E67E22', '#CA6F1E'),
    (18.5, '34+0 - 36+6 WEEKS\n────────\nLate-preterm steroids\n(if delivery anticipated\nwithin 7 days)\nBetamethasone 12mg IM x2\nANM/ALPS trial evidence',
     '#2980B9', '#1F618D'),
    (26.0, '>= 37 WEEKS\n────────\nNot indicated\n(lungs mature)',
     '#27AE60', '#1E8449'),
]
for x, txt, fc, ec in steroids:
    box(x, 17.3, 6.5, 2.65, [txt], fc, ec, tc='white', fs=8.0, r=0.2, bold=False)

# ─────────────────────────────────────────────────────────────────
# HELLP SPECIFIC
# ─────────────────────────────────────────────────────────────────
line(0.5, 14.45, 31.5, 14.45, col='#2C3E50', lw=2.5, ls='-')
ax.text(16, 14.33, 'HELLP SYNDROME — SPECIFIC DECISION PATHWAY',
        ha='center', va='top', fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

box(7.0, 12.9, 11.5, 2.65,
    ['DIAGNOSIS (Tennessee Criteria)',
     '────────────────────────────────',
     'H  = Haemolysis: LDH > 600 IU/L + abnormal peripheral smear',
     '       (schistocytes, helmet cells) + bilirubin > 1.2 mg/dL',
     'EL = Elevated Liver enzymes: AST/ALT > 70 IU/L (> 2x ULN)',
     'LP = Low Platelets: < 100,000/mm3',
     'Class 1: Plt < 50,000 | Class 2: 50-100,000 | Class 3: 100-150,000',
     'PARTIAL HELLP: only 1-2 criteria met',
     'Can occur WITHOUT hypertension (atypical - 20% of cases)'],
    C_MAGENTA, '#641E16', tc='white', fs=7.8, r=0.2)

box(23.0, 12.9, 11.5, 2.65,
    ['MANAGEMENT',
     '────────────────────────────────',
     '>= 34 weeks or Class 1 HELLP -> DELIVER',
     '24-34 wks + stable -> steroids (accelerate recovery',
     '  of platelets) -> reassess in 24-48h -> deliver',
     '< 24 weeks -> delivery recommended',
     'Dexamethasone 10mg IV q12h (may improve plt transiently)',
     'Plt transfusion if: < 50,000 pre-vaginal, < 20,000 anytime',
     '  or active bleeding',
     'Subcapsular haematoma: CT scan, surgical consult',
     'Liver rupture -> ICU, massive transfusion protocol'],
    C_MAGENTA, '#641E16', tc='white', fs=7.8, r=0.2)

# ─────────────────────────────────────────────────────────────────
# ECLAMPSIA PROTOCOL
# ─────────────────────────────────────────────────────────────────
line(0.5, 9.95, 31.5, 9.95, col='#2C3E50', lw=2.5, ls='-')
ax.text(16, 9.83, 'ECLAMPSIA — ACUTE MANAGEMENT PROTOCOL (ABCs)',
        ha='center', va='top', fontsize=11, fontweight='bold', color='#1A252F', zorder=6)

ecl_steps = [
    (3.0,  ['A - AIRWAY', '────────',
            'Left lateral position',
            'Protect airway',
            'High-flow O2 15L/min',
            'Suction if needed',
            'Do NOT insert airway\nduring seizure'], '#C0392B', '#7B241C'),
    (9.0,  ['B - BREATHING', '────────',
            'O2 saturation monitoring',
            'Assist ventilation if needed',
            'ABG if prolonged seizure',
            'Intubation if airway\nnot protected'], '#E67E22', '#CA6F1E'),
    (15.5, ['C - CIRCULATION', '────────',
            'IV access x2, bloods',
            'BP measurement',
            'Treat severe BP ASAP',
            'Fluid resuscitation',
            'if haemodynamically\nunstable'], '#2980B9', '#1F618D'),
    (22.0, ['D - MgSO4', '(seizure termination)', '────────',
            'MgSO4 4g IV over 5-10 min',
            'Recurrent: 2-4g IV bolus',
            'Maintenance: 1-2g/hr',
            'NOT phenytoin / diazepam\n(2nd line only if MgSO4 fails)'], '#7D3C98', '#6C3483'),
    (28.8, ['E - DELIVER', '────────',
            'Stabilise first',
            'Delivery after',
            'seizure control',
            'NOT emergency CS\nimmediately',
            'Mode depends on',
            'fetal status +',
            'cervical findings'], '#C0392B', '#7B241C'),
]
for x, lines, fc, ec in ecl_steps:
    box(x, 8.1, 5.5, 3.35, lines, fc, ec, tc='white', fs=7.6, r=0.2, bold=False)

# ─────────────────────────────────────────────────────────────────
# LEGEND / COLOUR KEY
# ─────────────────────────────────────────────────────────────────
line(0.5, 5.25, 31.5, 5.25, col='#2C3E50', lw=2.0, ls='-')
ax.text(1.0, 5.12, 'COLOUR KEY:', ha='left', va='top', fontsize=9,
        fontweight='bold', color='#1A252F', zorder=6)

legend_items = [
    (2.2,  4.5, '#C0392B', 'Deliver / Urgent action'),
    (7.5,  4.5, '#27AE60', 'Expectant / Conservative management'),
    (14.0, 4.5, '#2980B9', 'Decision diamond'),
    (20.5, 4.5, '#8E44AD', 'Severe features pathway'),
    (27.0, 4.5, '#E67E22', 'Warning / Reassessment'),
]
for x, y, fc, label in legend_items:
    box(x, y, 0.55, 0.45, [''], fc, fc, r=0.1, lw=1)
    ax.text(x+0.45, y, label, ha='left', va='center',
            fontsize=8.5, color='#2C3E50', zorder=6)

# ─────────────────────────────────────────────────────────────────
# REFERENCES FOOTER
# ─────────────────────────────────────────────────────────────────
line(0.5, 3.85, 31.5, 3.85, col='#2C3E50', lw=1.5, ls='-')
ax.text(0.6, 3.75,
        'ABBREVIATIONS: PE = pre-eclampsia  |  SF = severe features  |  IOL = induction of labour  |  '
        'CS = caesarean section  |  FGR = fetal growth restriction  |  AREDV = absent/reversed end-diastolic velocity\n'
        'CTG = cardiotocography  |  MgSO4 = magnesium sulphate  |  AKI = acute kidney injury  |  '
        'LDH = lactate dehydrogenase  |  ULN = upper limit of normal  |  HDU = high dependency unit\n'
        'SOURCES: ACOG Practice Bulletin 222 (2020) + Clinical Practice Update 2024  |  '
        'NICE NG133 (updated)  |  ISSHP 2021 Classification & Management Guidelines  |  '
        'German S2k Guidelines on HDP 2024  |  Magpie Trial (MgSO4)  |  HYPITAT Trial (delivery at 37 wks)',
        ha='left', va='top', fontsize=7.5, color='#5D6D7E', zorder=6)

# ─────────────────────────────────────────────────────────────────
# SAVE
# ─────────────────────────────────────────────────────────────────
plt.savefig('/tmp/workspace/preeclampsia/PE_decision_tree.png',
            dpi=180, bbox_inches='tight', facecolor='#F7F9FC')
print("Decision tree saved OK")
Running Command

cd /tmp/workspace/preeclampsia && python decision_tree.py 2>&1

Running Command

ls -lh /tmp/workspace/preeclampsia/PE_decision_tree.png

Your decision tree is ready (2.1 MB, 180 DPI, print-quality):

PE decision tree

Image · PNG


Here is a complete walkthrough of every section in the tree:

How to Read the Decision Tree

Flow Entry (Top)

Start at New HTN ≥140/90 mmHg × 2 (≥4h apart), from ≥20 weeks.

Step 1 - Immediate Danger Screen (Orange Diamond)

BP ≥160/110? Eclampsia? Pulmonary oedema? Abruption? Non-reassuring FHR?
  • YES → Right branch: IV antihypertensive NOW (Labetalol/Nifedipine/Hydralazine) + MgSO₄ 4g load → Stabilise → Deliver
  • NO → Continue down

Step 2 - Confirm PE Diagnosis (Blue Diamond)

Proteinuria ≥300 mg/24h OR organ dysfunction?
  • NOGestational HTN pathway (right): treat BP, weekly surveillance, deliver ≥37 weeks
  • YES = Pre-Eclampsia → Continue down

Step 3 - Severe Features Assessment (Purple)

The tree lists all ACOG criteria in a reference box, then branches:
Left branch (YES - Severe Features):
GAAction
< 24 weeksCounsel re periviability → delivery recommended for maternal safety
24-34 weeksTertiary centre + stabilise + betamethasone immediately → expectant if no contraindications; contraindications listed → deliver if any met
≥ 34 weeksDeliver after maternal stabilisation (steroids 34-36+6 if not given)
Right branch (NO - No Severe Features):
GAAction
< 37 weeksExpectant - inpatient vs outpatient criteria listed; twice-weekly labs/BP; USS q2-4 wks; sFlt-1/PlGF at assessment; re-assess at every visit for severe features
≥ 37 weeksDeliver (HYPITAT trial evidence)

When Delivery Is Indicated - Mode Pathway (Blue Diamond)

Cervix favourable (Bishop ≥6)?
  • YES → Induction of labour with oxytocin; epidural strongly recommended; 3rd stage with oxytocin (NOT ergometrine - raises BP)
  • NO / Fetal distress → Consider Caesarean; regional anaesthesia preferred; aspirin not a contraindication to neuraxial block

Bottom Panels (Reference Sections)

PanelContents
AntihypertensivesAcute severe HTN protocol (Labetalol IV doses, Hydralazine, Nifedipine oral) + oral maintenance doses + MgSO₄ protocol with antidote
Intrapartum/PostpartumFluid restriction 80 mL/hr, BP intervals, MgSO₄ continuation, discharge criteria, CVD follow-up
Corticosteroids by GA<24 wks (not given)
HELLP SyndromeTennessee diagnostic criteria + Class 1/2/3 + management by GA + platelet transfusion thresholds + liver rupture protocol
Eclampsia ABCDEA (Airway/positioning) → B (Breathing/O₂) → C (Circulation/IV) → D (MgSO₄ - NOT phenytoin first-line) → E (Deliver after stabilisation - NOT immediate emergency CS)
This is a shared conversation. Sign in to Orris to start your own chat.