Dyslipidemia in pregnancy

Reading File
Finding Sources
Searching PubMed

dyslipidemia pregnancy management

Finding Sources
Finding Sources
Searching PubMed

lipid changes pregnancy hypertriglyceridemia complications

Reading File
Reading File
Reading Article

PMID: 39275243

Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Reading Article

PMID: 42328555

Reading File
I now have sufficient information from multiple authoritative sources to compile a comprehensive answer. Let me synthesize everything.

Dyslipidemia in Pregnancy

1. Physiological Lipid Changes in Normal Pregnancy

Normal pregnancy induces profound lipid changes that are adaptive - supporting fetal growth and placental function:
Lipid ParameterChangeTrimester Peak
Total cholesterol+25-50%3rd trimester
LDL-C+50% (particle size decreases)3rd trimester
VLDL / Triglycerides+2 to 3-fold3rd trimester
HDL-C+15-30% rise then decline2nd trimester peak
Mechanism: Hypertrophy of maternal adipocytes combined with increased estrogen and progesterone secretion leads to a disproportionate increase in lipogenesis (especially triglyceride formation) relative to lipolysis. Peripheral lipoprotein lipase (LPL) activity is suppressed, further contributing to hypertriglyceridemia. These physiological changes serve to mobilize lipids as energy substrates and building blocks for the fetus.
  • Fitzpatrick's Dermatology, Vol. 1-2, p. 2312
  • Textbook of Family Medicine 9e (ACC/AHA Table)

2. Pathological Dyslipidemia in Pregnancy

Pregnancy is listed as a secondary cause of both elevated LDL-C and elevated triglycerides (alongside hypothyroidism, obesity, and diabetes). Women with pre-existing lipid disorders are at substantially higher risk for pregnancy-related complications.
Key disorders of concern:

A. Severe Hypertriglyceridemia (TG >500-1000 mg/dL)

  • Most dangerous lipid disorder in pregnancy
  • Risk of acute pancreatitis - a life-threatening obstetric emergency
  • Typically occurs in women with underlying familial hypertriglyceridemia or familial hyperchylomicronemia, where the normal pregnancy-induced TG rise becomes extreme
  • Plasmapheresis/LDL apheresis may be required in severe cases (TG >1000 mg/dL) to prevent pancreatitis (Zheng et al., 2025, PMID 41088095)

B. Familial Hypercholesterolemia (FH) in Pregnancy

  • Women with heterozygous FH have a 20-fold higher lifetime ASCVD risk
  • Statins and PCSK9 monoclonal antibodies (alirocumab, evolocumab) are contraindicated during pregnancy and lactation
  • Strategy: Start or intensify statin therapy early, before pregnancy is planned, then discontinue once conception occurs; resume after childbearing is complete
  • Bile acid sequestrants (cholestyramine, colesevelam) are the safest option during pregnancy if pharmacological treatment is required, as they are not systemically absorbed
  • Goldman-Cecil Medicine, Pregnancy and Lactation section

C. Eruptive Xanthomas

  • Patients with pre-existing hypertriglyceridemia are at risk for eruptive xanthoma formation due to the additive stimulus of pregnancy-induced triglyceridemia
  • Fitzpatrick's Dermatology, p. 2312

3. Complications Associated with Dyslipidemia in Pregnancy

A 2026 meta-analysis (12 studies, Li & Du, PMID 42328555) confirmed significant lipid alterations in preeclampsia:
LipidChange in PreeclampsiaEffect Size (SMD)
LDLElevated+0.44 (95% CI: 0.32-0.55)
TriglyceridesElevated+0.47 (95% CI: 0.36-0.59)
Total CholesterolElevated+0.24 (95% CI: 0.18-0.31)
HDLReduced-0.14 (95% CI: -0.18 to -0.10)
Women with PE had 3.9x higher odds of adverse pregnancy outcomes (OR 3.90; 95% CI: 2.62-5.81). Results were consistent after BMI adjustment. Blood lipid monitoring may serve as a clinical tool in PE risk stratification, though causality is not established.
Other complications include:
  • Gestational diabetes mellitus (bidirectional association)
  • Fetal macrosomia (maternal TG correlates with birth weight even after GDM adjustment)
  • Long-term increased ASCVD risk for both mother and child
  • Creasy & Resnik's Maternal-Fetal Medicine

4. Drug Safety in Pregnancy: Lipid-Lowering Agents

Drug ClassPregnancy StatusNotes
Statins (all)ContraindicatedTheoretical teratogenicity via cholesterol synthesis inhibition
EzetimibeContraindicatedCombination with statins specifically contraindicated
NiacinContraindicated
PCSK9 inhibitors (mAbs: alirocumab, evolocumab)ContraindicatedPotential fetal effects
Inclisiran (siRNA)Contraindicated
LomitapideContraindicated
Bile acid sequestrants (cholestyramine, colestipol, colesevelam)Probably safestNot systemically absorbed; GI side effects (bloating, constipation); can impair absorption of fat-soluble vitamins
Omega-3 fatty acids (EPA/DHA)Used cautiouslyAdjunct for severe hypertriglyceridemia (TG >500 mg/dL); monitor anticoagulant effects
FibratesUsed with cautionReserved for severe, life-threatening hypertriglyceridemia only
  • Goodman & Gilman's Pharmacological Basis of Therapeutics, pp. 762-763
  • Textbook of Family Medicine 9e

5. Management Approach

Non-pharmacological (First Line for All)

  • Dietary modification: Low saturated fat (<7% calories), low refined carbohydrates (which drive TG), reduced dietary cholesterol (<200 mg/day), avoid excessive alcohol
  • Low-fat diet with medium-chain triglyceride supplementation for severe hypertriglyceridemia/chylomicronemia (long-chain fat is the main driver of TG in this condition)
  • Regular moderate-intensity exercise (with obstetric approval)
  • Optimize glycemic control (if gestational diabetes coexists)
  • Treat secondary causes: hypothyroidism, poorly controlled diabetes

Pharmacological (When Necessary)

  • Mild-to-moderate LDL elevation: Usually observe; defer statin therapy until post-partum
  • Severe LDL elevation (FH): Bile acid sequestrants if treatment is needed; LDL apheresis for very high-risk cases
  • Severe hypertriglyceridemia (TG >500-1000 mg/dL): Omega-3 fatty acids, fibrates (risk-benefit assessed), plasmapheresis/LDL apheresis for TG >1000 mg/dL to prevent pancreatitis

Monitoring

  • Lipid panel at preconception counseling and per trimester if known dyslipidemia
  • Screen for secondary causes (thyroid function, blood glucose)
  • Monitor for signs of pancreatitis in severe hypertriglyceridemia

6. Special Consideration: Inherited Dyslipidemias

A 2024 narrative review (Formisano et al., Nutrients, PMID 39275243) emphasizes that women with familial hypertriglyceridemia or hyperchylomicronemia require individualized dietary adjustments as the cornerstone of management, with pharmacological and apheresis interventions reserved for cases where dietary measures fail. A multidisciplinary team approach (obstetrician, lipidologist, dietitian) is recommended for these high-risk pregnancies.

Key summary: Pregnancy causes physiological hyperlipidemia via hormonal-driven lipogenesis. This is usually benign but can exacerbate pre-existing lipid disorders. The main clinical dangers are severe hypertriglyceridemia (pancreatitis risk) and uncontrolled hypercholesterolemia in FH. Most lipid-lowering drugs are contraindicated - bile acid sequestrants are the safest pharmacological option, with omega-3s and fibrates used selectively for severe hypertriglyceridemia. Diet remains the cornerstone of management throughout pregnancy.

Generate a clinical summary document for managing dyslipidemia in pregnancy

Asking for Preferences
Reading File
Running Command

mkdir -p /tmp/workspace/dyslipidemia-pregnancy && ls /tmp/workspace/dyslipidemia-pregnancy/

Writing File

~/dyslipidemia-pregnancy/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.platypus import PageBreak

OUTPUT = "/tmp/workspace/dyslipidemia-pregnancy/Dyslipidemia_in_Pregnancy_Clinical_Summary.pdf"

# ── Colour palette ──────────────────────────────────────────────
TEAL      = colors.HexColor("#1A6B8A")
TEAL_LIGHT= colors.HexColor("#D6EEF5")
TEAL_MID  = colors.HexColor("#A3D3E3")
ORANGE    = colors.HexColor("#D95F02")
ORANGE_L  = colors.HexColor("#FDEBD0")
RED       = colors.HexColor("#C0392B")
RED_L     = colors.HexColor("#FADBD8")
GREEN     = colors.HexColor("#1E8449")
GREEN_L   = colors.HexColor("#D5F5E3")
GREY_BG   = colors.HexColor("#F4F6F7")
GREY_LINE = colors.HexColor("#BDC3C7")
WHITE     = colors.white
BLACK     = colors.HexColor("#1C1C1C")

# ── Styles ───────────────────────────────────────────────────────
base = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

TITLE_S = S("Title",
    fontName="Helvetica-Bold", fontSize=22, textColor=WHITE,
    leading=28, alignment=TA_CENTER, spaceAfter=4)

SUBTITLE_S = S("Subtitle",
    fontName="Helvetica", fontSize=12, textColor=WHITE,
    leading=16, alignment=TA_CENTER)

SECTION_S = S("Section",
    fontName="Helvetica-Bold", fontSize=13, textColor=WHITE,
    leading=17, spaceBefore=14, spaceAfter=4,
    backColor=TEAL, leftIndent=-8, rightIndent=-8,
    borderPad=5)

SUBSECTION_S = S("Subsection",
    fontName="Helvetica-Bold", fontSize=11, textColor=TEAL,
    leading=15, spaceBefore=8, spaceAfter=2)

BODY_S = S("Body",
    fontName="Helvetica", fontSize=9.5, textColor=BLACK,
    leading=14, spaceAfter=4, alignment=TA_JUSTIFY)

BULLET_S = S("Bullet",
    fontName="Helvetica", fontSize=9.5, textColor=BLACK,
    leading=13, leftIndent=12, firstLineIndent=-10,
    spaceAfter=3)

BULLET2_S = S("Bullet2",
    fontName="Helvetica", fontSize=9, textColor=BLACK,
    leading=13, leftIndent=24, firstLineIndent=-10,
    spaceAfter=2)

NOTE_S = S("Note",
    fontName="Helvetica-Oblique", fontSize=8.5, textColor=colors.HexColor("#555555"),
    leading=12, spaceAfter=4)

TABLE_HDR = S("TableHdr",
    fontName="Helvetica-Bold", fontSize=9, textColor=WHITE,
    leading=12, alignment=TA_CENTER)

TABLE_CELL = S("TableCell",
    fontName="Helvetica", fontSize=9, textColor=BLACK,
    leading=12, alignment=TA_LEFT)

TABLE_CELL_C = S("TableCellC",
    fontName="Helvetica", fontSize=9, textColor=BLACK,
    leading=12, alignment=TA_CENTER)

WARN_S = S("Warn",
    fontName="Helvetica-Bold", fontSize=9.5, textColor=RED,
    leading=13, leftIndent=12, firstLineIndent=-10, spaceAfter=3)

REF_S = S("Ref",
    fontName="Helvetica-Oblique", fontSize=8, textColor=colors.HexColor("#6D6D6D"),
    leading=11, spaceAfter=2)

# ── Helper: section header ────────────────────────────────────────
def sec_hdr(txt):
    return [
        Spacer(1, 6),
        Table([[Paragraph(txt, SECTION_S)]],
              colWidths=[17.4*cm],
              style=TableStyle([
                  ("BACKGROUND", (0,0), (-1,-1), TEAL),
                  ("TOPPADDING",  (0,0), (-1,-1), 5),
                  ("BOTTOMPADDING",(0,0),(-1,-1), 5),
                  ("LEFTPADDING", (0,0), (-1,-1), 8),
                  ("RIGHTPADDING",(0,0),(-1,-1), 8),
                  ("ROUNDEDCORNERS", [4]),
              ])),
        Spacer(1, 5),
    ]

def subsec(txt):
    return Paragraph(txt, SUBSECTION_S)

def body(txt):
    return Paragraph(txt, BODY_S)

def bullet(txt, indent=1):
    s = BULLET_S if indent == 1 else BULLET2_S
    return Paragraph(f"• {txt}", s)

def warn(txt):
    return Paragraph(f"⚠ {txt}", WARN_S)

def note(txt):
    return Paragraph(txt, NOTE_S)

def spacer(h=6):
    return Spacer(1, h)

# ── Coloured callout box ──────────────────────────────────────────
def callout(title, items, bg=TEAL_LIGHT, border=TEAL, title_color=TEAL):
    content = [[Paragraph(f"<b><font color='#{border.hexval()[2:]}'>{title}</font></b>",
                          S("ch", fontName="Helvetica-Bold", fontSize=10,
                            textColor=border, leading=14))]]
    for it in items:
        content.append([Paragraph(f"• {it}", BULLET_S)])
    t = Table(content, colWidths=[16.5*cm],
              style=TableStyle([
                  ("BACKGROUND", (0,0), (-1,-1), bg),
                  ("BOX", (0,0), (-1,-1), 1.5, border),
                  ("LEFTPADDING", (0,0), (-1,-1), 10),
                  ("RIGHTPADDING",(0,0),(-1,-1), 8),
                  ("TOPPADDING",  (0,0), (-1,-1), 5),
                  ("BOTTOMPADDING",(0,0),(-1,-1), 4),
              ]))
    return [t, spacer(6)]

# ── Build document ────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    topMargin=1.5*cm, bottomMargin=1.8*cm,
    leftMargin=2*cm, rightMargin=2*cm,
    title="Dyslipidemia in Pregnancy – Clinical Summary",
    author="Orris Medical Education",
    subject="Obstetric Lipidology",
)

story = []

# ═══════════════ TITLE BLOCK ════════════════════════════════════
title_data = [[
    Paragraph("Dyslipidemia in Pregnancy", TITLE_S),
    ],[
    Paragraph("Clinical Summary for Medical Education | July 2026", SUBTITLE_S),
]]
title_tbl = Table(title_data, colWidths=[17.4*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), TEAL),
        ("TOPPADDING",  (0,0), (-1,-1), 14),
        ("BOTTOMPADDING",(0,0),(-1,-1), 14),
        ("LEFTPADDING", (0,0), (-1,-1), 12),
        ("RIGHTPADDING",(0,0),(-1,-1), 12),
        ("ROUNDEDCORNERS", [6]),
    ]))
story.append(title_tbl)
story.append(spacer(10))

# ═══════════════ SECTION 1: PHYSIOLOGY ══════════════════════════
story += sec_hdr("1. Physiological Lipid Changes in Normal Pregnancy")

story.append(body(
    "Pregnancy induces substantial, adaptive changes in lipid metabolism designed to "
    "support fetal development, placental function, and energy reserves. These changes "
    "are driven primarily by rising estrogen, progesterone, and insulin levels that "
    "collectively increase lipogenesis and suppress peripheral lipolysis."
))
story.append(spacer(4))

# Lipid changes table
lip_hdr = ["Lipid Parameter", "Direction", "Magnitude", "Peak Trimester"]
lip_rows = [
    ["Total Cholesterol",    "↑ Increase",  "+25–50%",     "3rd"],
    ["LDL-C",               "↑ Increase",  "+50%",        "3rd"],
    ["LDL particle size",   "↓ Decrease",  "Smaller, denser","3rd"],
    ["Triglycerides (TG)",  "↑↑ Increase", "2–3× baseline","3rd"],
    ["VLDL",                "↑ Increase",  "Marked",      "3rd"],
    ["HDL-C",               "↑ then ↓",    "+15–30%, then falls","2nd peak"],
]

lip_tbl_data = [[Paragraph(c, TABLE_HDR) for c in lip_hdr]]
for i, row in enumerate(lip_rows):
    bg = GREY_BG if i % 2 == 0 else WHITE
    lip_tbl_data.append([Paragraph(cell, TABLE_CELL) for cell in row])

lip_tbl = Table(lip_tbl_data,
    colWidths=[5.2*cm, 3.5*cm, 4.5*cm, 4.2*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("ROWBACKGROUNDS", (0,1),(-1,-1), [GREY_BG, WHITE]),
        ("GRID", (0,0),(-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",  (0,0),(-1,-1), 7),
        ("RIGHTPADDING", (0,0),(-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ]))
story.append(lip_tbl)
story.append(spacer(6))

story.append(subsec("Key Mechanisms"))
story.append(bullet("Estrogen and progesterone → ↑ hepatic VLDL production and ↑ triglyceride synthesis"))
story.append(bullet("Suppression of peripheral lipoprotein lipase (LPL) → impaired TG clearance"))
story.append(bullet("Hypertrophy of maternal adipocytes → disproportionate lipogenesis over lipolysis"))
story.append(bullet("LDL particle size decreases (more atherogenic dense LDL pattern)"))
story.append(note("Source: Fitzpatrick's Dermatology, Creasy & Resnik's Maternal-Fetal Medicine"))
story.append(spacer(4))

# ═══════════════ SECTION 2: PATHOLOGICAL DYSLIPIDEMIA ═══════════
story += sec_hdr("2. Pathological Dyslipidemia in Pregnancy")

story.append(body(
    "Pregnancy is an independent secondary cause of both elevated LDL-C and elevated "
    "triglycerides. Women with underlying lipid disorders are at highest risk for "
    "serious pregnancy complications."
))
story.append(spacer(4))

story.append(subsec("A. Severe Hypertriglyceridemia (TG > 500–1000 mg/dL)"))
story.append(bullet("Most dangerous lipid disorder in pregnancy"))
story.append(bullet("Occurs when physiological TG rise is superimposed on familial hypertriglyceridemia or familial hyperchylomicronemia"))
story.append(bullet("Primary risk: acute pancreatitis — a life-threatening obstetric emergency"))
story.append(bullet("TG > 1000 mg/dL: consider plasmapheresis / LDL apheresis to prevent pancreatitis"))
story.append(bullet("Eruptive xanthomas may appear on skin as TG rises markedly"))
story.append(spacer(4))

story.append(subsec("B. Familial Hypercholesterolemia (FH) in Pregnancy"))
story.append(bullet("Heterozygous FH: 20-fold higher lifetime ASCVD risk (Goldman-Cecil Medicine)"))
story.append(bullet("Statins and PCSK9 inhibitors are contraindicated — must be stopped before conception"))
story.append(bullet("Untreated maternal hypercholesterolemia may accelerate fetal aortic atherosclerosis"))
story.append(bullet("Bile acid sequestrants are the only pharmacological option if treatment is needed"))
story.append(spacer(4))

story.append(subsec("C. Pregnancy as a Secondary Cause — Classification"))
sec_cause_data = [
    [Paragraph("Secondary Cause", TABLE_HDR), Paragraph("Elevated LDL-C", TABLE_HDR), Paragraph("Elevated TG", TABLE_HDR)],
    [Paragraph("Pregnancy", TABLE_CELL), Paragraph("Yes", TABLE_CELL_C), Paragraph("Yes (marked)", TABLE_CELL_C)],
    [Paragraph("Hypothyroidism", TABLE_CELL), Paragraph("Yes", TABLE_CELL_C), Paragraph("Yes", TABLE_CELL_C)],
    [Paragraph("Obesity / MetS", TABLE_CELL), Paragraph("Yes", TABLE_CELL_C), Paragraph("Yes", TABLE_CELL_C)],
    [Paragraph("Poorly controlled DM", TABLE_CELL), Paragraph("Variable", TABLE_CELL_C), Paragraph("Yes (marked)", TABLE_CELL_C)],
    [Paragraph("Oral estrogens", TABLE_CELL), Paragraph("No", TABLE_CELL_C), Paragraph("Yes", TABLE_CELL_C)],
]
sec_tbl = Table(sec_cause_data, colWidths=[6*cm, 5.7*cm, 5.7*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("ROWBACKGROUNDS", (0,1),(-1,-1), [GREY_BG, WHITE]),
        ("GRID", (0,0),(-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",  (0,0),(-1,-1), 7),
        ("RIGHTPADDING", (0,0),(-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ]))
story.append(sec_tbl)
story.append(note("Source: ACC/AHA Table, Textbook of Family Medicine 9e"))
story.append(spacer(4))

# ═══════════════ SECTION 3: COMPLICATIONS ═══════════════════════
story += sec_hdr("3. Maternal and Fetal Complications")

story.append(body(
    "Dyslipidemia in pregnancy is associated with multiple adverse outcomes. A 2026 "
    "meta-analysis (Li & Du, PMID 42328555, Frontiers in Medicine) of 12 studies "
    "confirmed significant lipid alterations in preeclampsia:"
))
story.append(spacer(4))

# Preeclampsia meta-analysis table
pe_hdr = ["Lipid", "Change in Preeclampsia", "Effect (SMD, 95% CI)", "Significance"]
pe_rows = [
    ["LDL-C",           "↑ Elevated",  "+0.44 (0.32–0.55)",  "p < 0.05"],
    ["Triglycerides",   "↑ Elevated",  "+0.47 (0.36–0.59)",  "p < 0.05"],
    ["Total Cholesterol","↑ Elevated", "+0.24 (0.18–0.31)",  "p < 0.05"],
    ["HDL-C",           "↓ Reduced",   "−0.14 (−0.18 to −0.10)", "p < 0.05"],
]
pe_tbl_data = [[Paragraph(c, TABLE_HDR) for c in pe_hdr]]
for i, row in enumerate(pe_rows):
    bg = GREY_BG if i % 2 == 0 else WHITE
    pe_tbl_data.append([Paragraph(cell, TABLE_CELL) for cell in row])

pe_tbl = Table(pe_tbl_data,
    colWidths=[3.8*cm, 3.8*cm, 5.8*cm, 4*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("ROWBACKGROUNDS", (0,1),(-1,-1), [GREY_BG, WHITE]),
        ("GRID", (0,0),(-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",  (0,0),(-1,-1), 7),
        ("RIGHTPADDING", (0,0),(-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ]))
story.append(pe_tbl)
story.append(note(
    "Preeclampsia group had OR 3.90 (95% CI 2.62–5.81) for adverse pregnancy outcomes. "
    "Results were consistent after BMI adjustment (causal inference not established)."
))
story.append(spacer(4))

story.append(subsec("Other Documented Complications"))
story.append(bullet("Acute pancreatitis (TG > 1000 mg/dL) — potentially life-threatening"))
story.append(bullet("Gestational diabetes mellitus (bidirectional association with dyslipidemia)"))
story.append(bullet("Fetal macrosomia — maternal TG correlates with birth weight"))
story.append(bullet("Preterm birth and placental dysfunction"))
story.append(bullet("Long-term increased ASCVD risk for both mother and offspring"))
story.append(note("Source: Creasy & Resnik's Maternal-Fetal Medicine; Formisano et al., Nutrients 2024"))
story.append(spacer(4))

# ═══════════════ PAGE BREAK ══════════════════════════════════════
story.append(PageBreak())

# ═══════════════ SECTION 4: DRUG SAFETY ═════════════════════════
story += sec_hdr("4. Drug Safety in Pregnancy — Lipid-Lowering Agents")

# Drug safety table
drug_hdr = ["Drug Class / Agent", "Pregnancy Status", "Key Notes"]
drug_rows = [
    ["Statins (all: atorvastatin,\nrosuvastatin, etc.)",
     "CONTRAINDICATED",
     "Inhibit cholesterol synthesis needed for fetal development; potential teratogenicity"],
    ["Ezetimibe",
     "CONTRAINDICATED",
     "Especially contraindicated in combination with statins"],
    ["Niacin / Nicotinic acid",
     "CONTRAINDICATED",
     "Fetal harm risk; listed explicitly in ACC/AHA guidelines"],
    ["PCSK9 inhibitors\n(alirocumab, evolocumab)",
     "CONTRAINDICATED",
     "Monoclonal antibodies cross placenta; potential fetal effects"],
    ["Inclisiran (siRNA)",
     "CONTRAINDICATED",
     "Insufficient safety data; avoid during pregnancy"],
    ["Lomitapide / Mipomersen",
     "CONTRAINDICATED",
     "Used in HoFH only; contraindicated in pregnancy"],
    ["Bile acid sequestrants\n(cholestyramine, colesevelam)",
     "PROBABLY SAFE",
     "Not systemically absorbed; safest lipid-lowering option.\nCaution: may impair absorption of fat-soluble vitamins and folate"],
    ["Omega-3 fatty acids\n(EPA/DHA)",
     "USE WITH CAUTION",
     "Adjunct for severe TG > 500 mg/dL; monitor bleeding time if on anticoagulants"],
    ["Fibrates\n(fenofibrate, gemfibrozil)",
     "USE WITH CAUTION",
     "Reserved for life-threatening hypertriglyceridemia only; limited safety data"],
]

CONTRA_S = S("contra", fontName="Helvetica-Bold", fontSize=8.5, textColor=RED, leading=11, alignment=TA_CENTER)
SAFE_S = S("safe", fontName="Helvetica-Bold", fontSize=8.5, textColor=GREEN, leading=11, alignment=TA_CENTER)
CAUTION_S = S("caution", fontName="Helvetica-Bold", fontSize=8.5, textColor=ORANGE, leading=11, alignment=TA_CENTER)

def status_para(txt):
    if "CONTRAINDICATED" in txt:
        return Paragraph(txt, CONTRA_S)
    elif "PROBABLY SAFE" in txt:
        return Paragraph(txt, SAFE_S)
    else:
        return Paragraph(txt, CAUTION_S)

drug_tbl_data = [[Paragraph(c, TABLE_HDR) for c in drug_hdr]]
for i, row in enumerate(drug_rows):
    bg = GREY_BG if i % 2 == 0 else WHITE
    drug_tbl_data.append([
        Paragraph(row[0], TABLE_CELL),
        status_para(row[1]),
        Paragraph(row[2], TABLE_CELL),
    ])

drug_tbl = Table(drug_tbl_data,
    colWidths=[4.8*cm, 3.8*cm, 8.8*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("ROWBACKGROUNDS", (0,1),(-1,-1), [GREY_BG, WHITE]),
        ("GRID", (0,0),(-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",  (0,0),(-1,-1), 7),
        ("RIGHTPADDING", (0,0),(-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ]))
story.append(drug_tbl)
story.append(note("Source: Goodman & Gilman's Pharmacological Basis of Therapeutics; Goldman-Cecil Medicine; ACC/AHA 2013 Guidelines"))
story.append(spacer(4))

# ═══════════════ SECTION 5: MANAGEMENT ═════════════════════════
story += sec_hdr("5. Management Algorithm")

story.append(subsec("Step 1 — Identify and Treat Secondary Causes First"))
story.append(bullet("Screen for hypothyroidism (TSH), poorly controlled diabetes (HbA1c), nephrotic syndrome"))
story.append(bullet("Review medications causing dyslipidemia (glucocorticoids, oral estrogens, thiazides, beta-blockers)"))
story.append(bullet("Optimize glycaemic control in gestational diabetes"))
story.append(spacer(4))

story.append(subsec("Step 2 — Non-Pharmacological Therapy (First Line for ALL)"))
story.append(bullet("Dietary fat: reduce saturated fat < 7% total calories; increase mono/polyunsaturated fats"))
story.append(bullet("Dietary cholesterol: < 200 mg/day"))
story.append(bullet("For severe hypertriglyceridemia: very-low-fat diet with medium-chain triglyceride supplementation"))
story.append(bullet("Reduce refined carbohydrates and simple sugars (key TG driver)"))
story.append(bullet("Regular moderate-intensity aerobic exercise 20–30 min, 5×/week (with obstetric clearance)"))
story.append(bullet("Viscous fibre and plant stanols to reduce cholesterol absorption"))
story.append(spacer(4))

story.append(subsec("Step 3 — Pharmacological Therapy (When Diet Fails)"))

# Management flowchart-style table
mgmt_data = [
    [Paragraph("Clinical Scenario", TABLE_HDR),
     Paragraph("Target / Trigger", TABLE_HDR),
     Paragraph("Preferred Intervention", TABLE_HDR)],
    [Paragraph("Mild–moderate LDL elevation\n(no FH)", TABLE_CELL),
     Paragraph("Observe; defer until postpartum", TABLE_CELL_C),
     Paragraph("Diet + lifestyle; resume statin after delivery", TABLE_CELL)],
    [Paragraph("Familial Hypercholesterolemia (FH)", TABLE_CELL),
     Paragraph("High ASCVD risk", TABLE_CELL_C),
     Paragraph("Bile acid sequestrant (cholestyramine/colesevelam); LDL apheresis for extreme cases", TABLE_CELL)],
    [Paragraph("TG 500–999 mg/dL", TABLE_CELL),
     Paragraph("Pancreatitis risk", TABLE_CELL_C),
     Paragraph("Very-low-fat diet + omega-3 FA; fibrates if diet fails", TABLE_CELL)],
    [Paragraph("TG ≥ 1000 mg/dL", TABLE_CELL),
     Paragraph("Acute pancreatitis imminent", TABLE_CELL_C),
     Paragraph("URGENT: hospitalise; plasmapheresis / LDL apheresis; multidisciplinary team", TABLE_CELL)],
]

mgmt_tbl = Table(mgmt_data,
    colWidths=[4.5*cm, 4*cm, 8.9*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("BACKGROUND", (0,4), (-1,4), RED_L),
        ("BACKGROUND", (0,3), (-1,3), ORANGE_L),
        ("ROWBACKGROUNDS", (0,1),(-1,2), [GREY_BG, WHITE]),
        ("GRID", (0,0),(-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",   (0,0),(-1,-1), 6),
        ("BOTTOMPADDING",(0,0),(-1,-1), 6),
        ("LEFTPADDING",  (0,0),(-1,-1), 7),
        ("RIGHTPADDING", (0,0),(-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ]))
story.append(mgmt_tbl)
story.append(spacer(4))

# ═══════════════ SECTION 6: MONITORING ══════════════════════════
story += sec_hdr("6. Monitoring in Pregnancy")

story.append(bullet("Obtain lipid panel at preconception counselling for all women with known dyslipidemia"))
story.append(bullet("Fasting lipid profile: each trimester in women with pre-existing hyperlipidaemia or FH"))
story.append(bullet("Screen for secondary causes: TFTs, fasting glucose / HbA1c, renal function"))
story.append(bullet("Monitor fat-soluble vitamin levels (A, D, E, K) and folate if on bile acid sequestrants"))
story.append(bullet("Vigilance for signs of pancreatitis: epigastric pain, nausea, vomiting (especially if TG > 500 mg/dL)"))
story.append(bullet("Postpartum: recheck lipids 6–12 weeks after delivery; restart statins if indicated"))
story.append(spacer(4))

# ═══════════════ SECTION 7: SPECIAL POPULATIONS ════════════════
story += sec_hdr("7. Special Populations and Inherited Disorders")

story.append(subsec("Familial Hypertriglyceridemia / Hyperchylomicronemia"))
story.append(bullet("Personalized dietary adjustments are the cornerstone of management"))
story.append(bullet("Even small amounts of dietary long-chain fat may precipitate extreme TG elevations"))
story.append(bullet("Medium-chain triglycerides (MCTs) can be substituted as fat calories"))
story.append(bullet("Multidisciplinary team (obstetrician + lipidologist + dietitian) is essential"))
story.append(spacer(4))

story.append(subsec("Pre-existing FH — Preconception Planning"))
story.append(bullet("Optimise LDL-C reduction with statin + ezetimibe BEFORE pregnancy"))
story.append(bullet("Discontinue statins, ezetimibe, and PCSK9 inhibitors as soon as pregnancy confirmed"))
story.append(bullet("Bile acid sequestrants can be continued if cholesterol control is needed"))
story.append(bullet("LDL apheresis is an option for high-risk women with HoFH who cannot achieve adequate control"))
story.append(bullet("Resume statin therapy promptly postpartum once breastfeeding is completed"))
story.append(spacer(4))

# ═══════════════ KEY POINTS BOX ═════════════════════════════════
story += sec_hdr("8. Key Teaching Points")

kp_data = [[
    Paragraph(
        "<b>Physiological:</b> Pregnancy normally raises TG 2–3x, LDL ~50%, and total "
        "cholesterol 25–50%. HDL rises early then falls. These changes are adaptive but "
        "exacerbate pre-existing lipid disorders.<br/><br/>"
        "<b>Most dangerous complication:</b> TG &gt; 1000 mg/dL — risk of acute pancreatitis. "
        "Requires urgent hospitalisation and possibly plasmapheresis.<br/><br/>"
        "<b>Drug rule:</b> Statins, ezetimibe, niacin, PCSK9 inhibitors, inclisiran, "
        "lomitapide are ALL contraindicated in pregnancy. Bile acid sequestrants are "
        "the ONLY reasonably safe drug option.<br/><br/>"
        "<b>Preeclampsia link (2026 meta-analysis):</b> PE patients have elevated LDL, "
        "TG, TC and lower HDL. Adverse outcome OR = 3.90 — lipid monitoring is clinically relevant.<br/><br/>"
        "<b>Management hierarchy:</b> Secondary cause treatment → diet/lifestyle → "
        "bile acid sequestrants → omega-3s / fibrates → apheresis.",
        S("kp", fontName="Helvetica", fontSize=10, textColor=BLACK, leading=16)
    )
]]
kp_tbl = Table(kp_data, colWidths=[17.4*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), TEAL_LIGHT),
        ("BOX", (0,0), (-1,-1), 2, TEAL),
        ("LEFTPADDING", (0,0), (-1,-1), 12),
        ("RIGHTPADDING",(0,0),(-1,-1), 12),
        ("TOPPADDING",  (0,0), (-1,-1), 12),
        ("BOTTOMPADDING",(0,0),(-1,-1), 12),
    ]))
story.append(kp_tbl)
story.append(spacer(8))

# ═══════════════ REFERENCES ════════════════════════════════════
story += sec_hdr("References")

refs = [
    "Fitzpatrick's Dermatology, 9th Ed. (McGraw-Hill). Secondary Causes of Dyslipidemia — Pregnancy section, p. 2312.",
    "Textbook of Family Medicine, 9th Ed. (Elsevier). Chapter 27: ACC/AHA Secondary Causes of Hyperlipidemia Table.",
    "Goldman-Cecil Medicine International Edition, 2-Vol Set. Pregnancy and Lactation section — FH management.",
    "Goodman & Gilman's Pharmacological Basis of Therapeutics, 14th Ed. Drug Facts: Therapy for Dyslipidemia, pp. 762–763.",
    "Creasy & Resnik's Maternal-Fetal Medicine: Principles and Practice. Lipid metabolism in pregnancy.",
    "Li L, Du X. Association between blood lipid levels and preeclampsia: a meta-analysis. Front Med (Lausanne). 2026. PMID: 42328555.",
    "Formisano E, et al. Characteristics, Physiopathology and Management of Dyslipidemias in Pregnancy: A Narrative Review. Nutrients. 2024;16(17):2927. PMID: 39275243.",
    "Zheng X, et al. A multidisciplinary management model for severe gestational hypertriglyceridemia: using plasmapheresis to prevent pancreatitis in pregnancy. BMC Pregnancy Childbirth. 2025. PMID: 41088095.",
    "Stone NJ, et al. 2013 ACC/AHA Guideline on the Treatment of Blood Cholesterol. Circulation. 2014;129(25 Suppl 2):S1-S45.",
]

for r in refs:
    story.append(Paragraph(f"• {r}", REF_S))

story.append(spacer(6))
story.append(HRFlowable(width="100%", thickness=0.5, color=GREY_LINE))
story.append(spacer(4))
story.append(Paragraph(
    "Generated by Orris Medical Education Assistant | July 2026 | For educational use only.",
    S("footer", fontName="Helvetica-Oblique", fontSize=7.5,
      textColor=colors.HexColor("#888888"), alignment=TA_CENTER)
))

# ── Build PDF ─────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /tmp/workspace/dyslipidemia-pregnancy && python generate_pdf.py

Running Command

ls -lh /tmp/workspace/dyslipidemia-pregnancy/Dyslipidemia_in_Pregnancy_Clinical_Summary.pdf

Your clinical summary PDF is ready:

Dyslipidemia in Pregnancy Clinical Summary

PDF Document · PDF


What's inside the document (8 sections, 2 pages, A4):
  1. Physiological Lipid Changes - Structured table showing direction, magnitude, and trimester peak for each lipid parameter, plus key hormonal mechanisms
  2. Pathological Dyslipidemia - Covers severe hypertriglyceridemia (pancreatitis risk), FH in pregnancy, and a secondary-cause classification table
  3. Maternal & Fetal Complications - Includes the 2026 meta-analysis data on preeclampsia lipid changes with effect sizes (SMD, 95% CI) and adverse outcome OR
  4. Drug Safety Table - All lipid-lowering agents colour-coded as CONTRAINDICATED (red), PROBABLY SAFE (green), or USE WITH CAUTION (orange)
  5. Management Algorithm - Step-by-step approach from secondary cause identification through diet to pharmacotherapy, including plasmapheresis threshold for TG ≥ 1000 mg/dL
  6. Monitoring Schedule - Pre-conception through postpartum monitoring checkpoints
  7. Special Populations - Familial hypertriglyceridemia and FH preconception planning guidance
  8. Key Teaching Points + References - Distilled summary box and 9 cited sources (textbooks + PubMed)
This is a shared conversation. Sign in to Orris to start your own chat.