GTD
Managment of Diabetes in pregnancy
"diabetes in pregnancy" AND management
| Type | Features |
|---|---|
| T1DM in pregnancy | Autoimmune; insulin-deficient; most complex management |
| T2DM in pregnancy | Insulin-resistant; increasing in prevalence with obesity |
| GDM | Onset in pregnancy; resolves postpartum in most; recurs in ~50% of future pregnancies |
| Parameter | Target |
|---|---|
| Fasting | < 95 mg/dL (5.3 mmol/L) |
| 1-hour postprandial | < 140 mg/dL (7.8 mmol/L) |
| 2-hour postprandial | < 120 mg/dL (6.7 mmol/L) |
Note: HbA1c is of limited utility for monitoring during pregnancy due to increased red cell turnover, which produces falsely low values. Home blood glucose monitoring (fasting + 1-2 hours after each meal) and continuous glucose monitoring (CGM) are preferred. - Harrison's 22nd Edition
Recent evidence (2024): A systematic review and meta-analysis (PMID: 37877940) confirmed insulin detemir is comparable in safety and efficacy to NPH insulin in pregnancy and is a reasonable long-acting option.
| Situation | Surveillance Plan |
|---|---|
| GDM controlled by diet only, no complications | Delivery by 39 weeks; standard fetal surveillance |
| GDM on insulin/oral agents | Weekly or twice-weekly NST beginning at ~32-36 weeks |
| pgDM (T1/T2) | More intensive surveillance; ultrasound for fetal growth, amniotic fluid; fetal echocardiogram at 18-22 weeks |
| Scenario | Recommendation |
|---|---|
| pgDM, well controlled | Induction at 37-39 weeks |
| GDM, diet controlled | Delivery by 39 weeks |
| GDM on medications | Consider induction at 39 weeks |
| Suspected macrosomia (EFW ≥ 4500 g) | Cesarean delivery to prevent shoulder dystocia |
| EFW 4000-4499 g in diabetic | Individualized decision; vaginal delivery usually appropriate |
GDM confers an independent increased risk of shoulder dystocia even when fetal weight is the same as a non-diabetic woman's fetus, due to altered fat distribution (larger trunk-to-head ratio). - Swanson's Family Medicine Review
| Complication | Odds/Risk |
|---|---|
| Hypertension | OR = 14.2 |
| Preeclampsia | OR = 3.4 |
| Cesarean delivery | OR = 11.3 |
| Preterm birth | OR = 4.4 |
| Maternal mortality | ~60/100,000 pregnancies |
| Complication | Cause |
|---|---|
| Macrosomia | Fetal hyperinsulinemia from maternal hyperglycemia |
| Neonatal hypoglycemia | Abrupt loss of glucose supply at delivery with persistent fetal hyperinsulinemia |
| Congenital anomalies (pgDM) | Poor glycemic control in organogenesis (weeks 5-8); cardiac, neural tube |
| Respiratory distress syndrome | Insulin impairs surfactant maturation |
| Shoulder dystocia | Abnormal fat distribution (large trunk) |
| Stillbirth | More common with poor control; surveillance aims to prevent this |
Preconception → Optimize HbA1c <6%, start insulin, assess complications
↓
1st Trimester → Insulin titration, fetal viability, HbA1c (baseline only)
↓
18-22 weeks → Fetal anatomy scan + echocardiogram (pgDM)
↓
24-28 weeks → GDM screening (50g GCT or 75g OGTT)
↓
28-36 weeks → Fetal growth scans, fetal surveillance, insulin dose increases
↓
37-39 weeks → Delivery planning; CS if EFW ≥4500g
↓
Postpartum → OGTT at 4-12 wks (GDM); lifestyle counseling; breastfeeding
When should I do fundoscopy
| Baseline Finding | Frequency of Fundoscopy |
|---|---|
| No retinopathy / Minimal NPDR | First trimester + third trimester |
| Mild-to-Moderate NPDR | Every trimester (3 times) |
| High-Risk NPDR | Monthly |
| Proliferative DR (PDR) | Monthly |
What are the indications for laser photocoagulation in diabetic retinopathy?
| DRS High-Risk Criteria |
|---|
| Vitreous haemorrhage or preretinal haemorrhage |
| Any active neovascularization located on or within one disc diameter of the optic disc (NVD) |
| NVD > 1/3 disc area |
| NVE (new vessels elsewhere) > 1/2 disc area |
DRS data: Severe NVD without haemorrhage carries a 26% risk of severe visual loss at 2 years - PRP reduces this to 9%. - Kanski's Clinical Ophthalmology, 10th Ed.
| Feature | Threshold |
|---|---|
| Severe haemorrhages | All 4 quadrants |
| Venous beading | 2 or more quadrants |
| Moderate IRMA | 1 or more quadrants |
| ETDRS CSMO Criteria |
|---|
| Retinal thickening at or within 500 µm of the foveal centre |
| Hard exudates at or within 500 µm of the centre, with adjacent retinal thickening |
| Retinal thickening 1 disc area or larger, any part within 1 disc diameter of the centre |
CSMO is treated regardless of the stage of DR (it can occur at any stage of NPDR or PDR).
| Stage | Risk of Progression | Management |
|---|---|---|
| No DR / Very Mild NPDR | Low | Review in 12 months |
| Mild NPDR | Low | Review in 6-12 months |
| Moderate NPDR | PDR in 26%, high-risk in 8% / year | Review in ~6 months |
| Severe NPDR (4-2-1) | PDR in 50%, high-risk in 15% / year | Review in 4 months; consider PRP |
| Very Severe NPDR | High-risk PDR in 45% / year | Review in 2-3 months; PRP strongly considered |
| Mild-Moderate PDR | Progressive | Consider PRP or anti-VEGF |
| High-Risk PDR | Severe visual loss without treatment | PRP indicated |
| Advanced (TRD, VH, NVG) | Irreversible | Vitrectomy |
Give me ABOG type board exam question 20 on diabetes in pregnancy
(Revised best answer: D) - Fasting 99 > 95 mg/dL; 1-hr postprandial 142 > 140 mg/dL.
Give me new update of Acog and ADA on dm
ACOG practice bulletin diabetes in pregnancy 2024 2025 update
ADA Standards of Care diabetes pregnancy 2025 2026 gestational diabetes updates
https://pmc.ncbi.nlm.nih.gov/articles/PMC12690167
https://www.lilylink.com/blogs/continuous-glucose-monitoring…
ACOG clinical practice update 2024 screening gestational pregestational diabetes Obstet Gynecol e20 key changes
Note: A commentary in Obstet Gynecol 2025 by Heyborne & Barbour challenged some of the ACOG 2024 screening update conclusions, particularly regarding early GDM diagnosis thresholds - reflecting ongoing academic debate.
| Parameter | Target (ADA 2026) |
|---|---|
| Fasting | 70-95 mg/dL |
| 1-hour postprandial | 110-140 mg/dL |
| 2-hour postprandial | 100-120 mg/dL |
| Parameter | Target |
|---|---|
| Fasting | < 95 mg/dL |
| 1-hour postprandial | < 140 mg/dL |
| 2-hour postprandial | < 120 mg/dL |
Note the fasting lower bound has been refined to 70 mg/dL (not just "< 95") - emphasizing avoidance of hypoglycemia alongside hyperglycemia control.
| Patient | CGM Recommendation |
|---|---|
| T1DM in pregnancy | Strongly recommended (evidence-based for improving neonatal outcomes) |
| T2DM in pregnancy | Now recommended - recent RCT data supports benefit |
| GDM on insulin | Recommended - recent trial evidence included |
| GDM not on insulin | Discussed - trials show CGM is preferred by patients and provides benefits; evidence still evolving |
| Metric | Target |
|---|---|
| Time in Range (TIRp): 63-140 mg/dL | > 70% |
| Time Above Range (> 140 mg/dL) | < 25% |
| Time Below Range Level 1 (< 63 mg/dL) | < 4% |
| Time Below Range Level 2 (< 54 mg/dL) | < 1% |
| Coefficient of Variation | < 36% (T1DM), ≤ 30% (T2DM) |
| CGM active time | > 70% over 14 days |
These targets are tighter than non-pregnant targets. The range of 63-140 mg/dL in pregnancy is narrower than the standard 70-180 mg/dL used outside pregnancy.
| Topic | Old Guidance | ADA 2026 / ACOG 2024 Update |
|---|---|---|
| First-trimester screening | High-risk only | Universal for undiagnosed T2DM (ACOG 2024) |
| CGM in T2DM/GDM pregnancy | T1DM focus only | Expanded to T2DM and GDM (ADA 2026) |
| AID systems in pregnancy | Limited guidance | Formal recommendations with mode-switching counseling |
| GLP-1 RAs preconception | Not addressed | Must discontinue before conception (ADA 2026) |
| BP threshold in pregnancy | Variable | Standardized to ≥ 140/90 mmHg (ADA 2026) |
| CGM targets | TIR not specified | TIRp > 70% in range 63-140 mg/dL |
| Early GDM | Section 2 | Moved to Section 15 with updated evidence |
Create a CME presentation on 2026 ADA/ACOG diabetes pregnancy updates
mkdir -p /tmp/workspace/cme-diabetes-pregnancy && ls /tmp/workspace/
~/cme-diabetes-pregnancy/build_pptx.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
import copy
# ── Colour palette ──────────────────────────────────────────────────────────
NAVY = RGBColor(0x0A, 0x2F, 0x5C) # deep navy (header bars, titles)
TEAL = RGBColor(0x00, 0x7A, 0x8A) # ACOG teal accent
GOLD = RGBColor(0xE8, 0x8C, 0x00) # ADA gold accent
LIGHT_BG = RGBColor(0xF0, 0xF5, 0xFA) # slide background
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DARK_TEXT = RGBColor(0x1A, 0x1A, 0x2E)
MID_GREY = RGBColor(0x55, 0x65, 0x78)
GREEN = RGBColor(0x1A, 0x8F, 0x6A)
RED_WARN = RGBColor(0xC0, 0x39, 0x2B)
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
# ── Helper functions ─────────────────────────────────────────────────────────
def bg(slide, color=LIGHT_BG):
"""Fill slide background."""
from pptx.oxml.ns import qn
from lxml import etree
bg_elem = slide.background
fill = bg_elem.fill
fill.solid()
fill.fore_color.rgb = color
def rect(slide, x, y, w, h, color, radius=False):
shape = slide.shapes.add_shape(
1, # MSO_SHAPE_TYPE.RECTANGLE
Inches(x), Inches(y), Inches(w), Inches(h)
)
shape.fill.solid()
shape.fill.fore_color.rgb = color
shape.line.fill.background()
return shape
def textbox(slide, x, y, w, h, text, size, color=DARK_TEXT,
bold=False, italic=False, align=PP_ALIGN.LEFT,
wrap=True, valign=MSO_ANCHOR.TOP, font="Calibri"):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = valign
tf.margin_left = 0; tf.margin_right = 0
tf.margin_top = 0; tf.margin_bottom = 0
p = tf.paragraphs[0]
p.alignment = align
run = p.add_run()
run.text = text
run.font.name = font
run.font.size = Pt(size)
run.font.bold = bold
run.font.italic = italic
run.font.color.rgb = color
return tb
def add_para(tf, text, size, color=DARK_TEXT, bold=False, italic=False,
align=PP_ALIGN.LEFT, space_before=0, font="Calibri"):
p = tf.add_paragraph()
p.alignment = align
p.space_before = Pt(space_before)
run = p.add_run()
run.text = text
run.font.name = font
run.font.size = Pt(size)
run.font.bold = bold
run.font.italic = italic
run.font.color.rgb = color
return p
def header_bar(slide, title, subtitle=None, bar_color=NAVY):
rect(slide, 0, 0, 13.333, 1.15, bar_color)
textbox(slide, 0.3, 0.1, 12.5, 0.75, title, 30, WHITE, bold=True,
valign=MSO_ANCHOR.MIDDLE, font="Calibri")
if subtitle:
textbox(slide, 0.3, 0.82, 12.5, 0.3, subtitle, 13, RGBColor(0xCC,0xDD,0xEE),
italic=True, font="Calibri")
def footer(slide, text="ADA Standards of Care 2026 | ACOG Clinical Practice Update 2024 • CME Presentation"):
rect(slide, 0, 7.15, 13.333, 0.35, NAVY)
textbox(slide, 0.3, 7.17, 12.7, 0.3, text, 9, RGBColor(0xAA,0xCC,0xDD),
align=PP_ALIGN.LEFT, font="Calibri")
def bullet_box(slide, x, y, w, h, items, title=None,
title_color=NAVY, bullet_size=14, title_size=16,
bg_color=None, pad=0.15):
if bg_color:
rect(slide, x, y, w, h, bg_color)
if title:
textbox(slide, x+pad, y+0.05, w-2*pad, 0.35, title,
title_size, title_color, bold=True, font="Calibri")
y_start = y + 0.42
else:
y_start = y + 0.1
tb = slide.shapes.add_textbox(
Inches(x+pad), Inches(y_start), Inches(w-2*pad), Inches(h - (0.42 if title else 0.1)))
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = 0; tf.margin_right = 0
tf.margin_top = 0; tf.margin_bottom = 0
first = True
for item in items:
if first:
p = tf.paragraphs[0]; first = False
else:
p = tf.add_paragraph()
p.space_before = Pt(3)
run = p.add_run()
run.text = "• " + item
run.font.name = "Calibri"
run.font.size = Pt(bullet_size)
run.font.color.rgb = DARK_TEXT
def tag(slide, x, y, label, bg_col, text_col=WHITE, size=11):
rect(slide, x, y, len(label)*0.085 + 0.25, 0.28, bg_col)
textbox(slide, x+0.08, y+0.03, len(label)*0.085+0.1, 0.22,
label, size, text_col, bold=True, align=PP_ALIGN.CENTER)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 1 — Title slide
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide, NAVY)
# Decorative accent bars
rect(slide, 0, 5.8, 13.333, 0.08, TEAL)
rect(slide, 0, 5.9, 13.333, 0.06, GOLD)
# Main title
tb = slide.shapes.add_textbox(Inches(0.7), Inches(1.2), Inches(11.9), Inches(2.2))
tf = tb.text_frame; tf.word_wrap = True
p = tf.paragraphs[0]; p.alignment = PP_ALIGN.CENTER
r = p.add_run()
r.text = "Diabetes in Pregnancy:"
r.font.name = "Calibri"; r.font.size = Pt(42); r.font.bold = True
r.font.color.rgb = WHITE
add_para(tf, "2026 ADA & 2024 ACOG Updates", 36, WHITE, bold=True, align=PP_ALIGN.CENTER, space_before=4)
add_para(tf, "What Clinicians Need to Know", 22, RGBColor(0xAA,0xDD,0xFF), italic=True,
align=PP_ALIGN.CENTER, space_before=6)
# CME badge area
rect(slide, 4.5, 5.0, 4.333, 0.7, TEAL)
textbox(slide, 4.6, 5.05, 4.133, 0.6,
"Continuing Medical Education | 1.0 AMA PRA Category 1 Credit™",
12, WHITE, bold=False, align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
# Bottom info
textbox(slide, 0.5, 6.1, 12.333, 0.5,
"American Diabetes Association — Standards of Care in Diabetes 2026 (Diabetes Care 49 Suppl 1:S321-S338)",
11, RGBColor(0x88,0xBB,0xCC), align=PP_ALIGN.CENTER)
textbox(slide, 0.5, 6.55, 12.333, 0.4,
"ACOG Clinical Practice Update — Screening for Gestational & Pregestational Diabetes (Obstet Gynecol 2024;144:e20-e23)",
11, RGBColor(0x88,0xBB,0xCC), align=PP_ALIGN.CENTER)
# Date
textbox(slide, 0.5, 7.05, 12.333, 0.35,
"July 2026", 11, RGBColor(0x66,0x99,0xAA), align=PP_ALIGN.CENTER)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 2 — Learning Objectives
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "Learning Objectives", "Upon completion of this CME activity, participants will be able to:")
footer(slide)
objectives = [
"Apply updated ACOG 2024 screening criteria for gestational and pregestational diabetes",
"Implement revised ADA 2026 glycemic targets using both SMBG and CGM time-in-range metrics",
"Counsel patients on the use of CGM and Automated Insulin Delivery (AID) systems in pregnancy",
"Apply new guidance on GLP-1 receptor agonist discontinuation prior to conception",
"Recognise the updated blood pressure threshold (≥140/90 mmHg) for antihypertensive therapy in diabetic pregnancy",
"Develop individualised postpartum follow-up plans including T2DM screening and risk reduction strategies",
]
for i, obj in enumerate(objectives):
y_pos = 1.3 + i * 0.88
rect(slide, 0.5, y_pos, 0.4, 0.62, TEAL)
textbox(slide, 0.52, y_pos+0.1, 0.36, 0.42, str(i+1), 20, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, 1.05, y_pos+0.05, 11.8, 0.55, obj, 14, DARK_TEXT,
wrap=True, valign=MSO_ANCHOR.MIDDLE)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 3 — Overview: What's New?
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "Overview: Key 2024–2026 Guideline Changes", "A summary of what changed and why it matters")
footer(slide)
changes = [
("ACOG 2024", "Universal 1st-trimester screening for undiagnosed T2DM in ALL pregnant women", TEAL),
("ADA 2026", "CGM expanded: now recommended for GDM & T2DM pregnancy, not just T1DM", GOLD),
("ADA 2026", "AID systems: preferred insulin delivery for T1DM; formal pregnancy counselling guidance", GREEN),
("ADA 2026", "GLP-1 RAs / GIP-GLP-1 RAs must be discontinued BEFORE conception", RED_WARN),
("ADA 2026", "BP threshold for antihypertensives revised to ≥140/90 mmHg (aligns with CHAP trial)", NAVY),
("ADA 2026", "Early GDM (< 24 wks): updated evidence & controversy formally addressed in Section 15", MID_GREY),
]
for i, (src, text, col) in enumerate(changes):
y_pos = 1.3 + i * 0.9
rect(slide, 0.4, y_pos, 1.5, 0.65, col)
textbox(slide, 0.42, y_pos+0.1, 1.46, 0.45, src, 13, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, 2.1, y_pos+0.08, 10.9, 0.52, text, 14, DARK_TEXT,
wrap=True, valign=MSO_ANCHOR.MIDDLE)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 4 — ACOG 2024: Screening Update
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "ACOG 2024: Screening for Diabetes in Pregnancy", "Obstet Gynecol 2024;144:e20–e23 | Updates PB No. 190 & No. 201", bar_color=TEAL)
footer(slide)
# Left panel
rect(slide, 0.4, 1.3, 5.9, 5.65, RGBColor(0xE8,0xF5,0xF8))
textbox(slide, 0.55, 1.35, 5.6, 0.4, "NEW — Universal 1st-Trimester Screening", 15, TEAL, bold=True)
items_left = [
"Screen ALL pregnant women at first prenatal visit for undiagnosed type 2 DM",
"Use standard diagnostic criteria: fasting glucose, HbA1c, or random glucose",
"Previously: high-risk women only — NOW universal",
"Reflects rising T2DM prevalence & silent pre-existing disease entering pregnancy",
"Positive result → treat as pregestational DM (not GDM)",
]
bullet_box(slide, 0.4, 1.75, 5.9, 4.0, items_left, bullet_size=13)
# Right panel
rect(slide, 6.7, 1.3, 6.23, 5.65, RGBColor(0xFFF8E8))
textbox(slide, 6.85, 1.35, 5.9, 0.4, "GDM Screening — Timing Unchanged (24–28 wks)", 15, GOLD, bold=True)
items_right = [
"2-step (ACOG preferred): 50g 1-hr GCT → 100g 3-hr OGTT",
"1-step (IADPSG/WHO): 75g 2-hr OGTT — both approaches acceptable",
"Early screening (<24 wks) for high-risk women (obesity, prior GDM, glycosuria)",
"POSTPARTUM: 75g 2-hr OGTT at 4–12 weeks for ALL GDM women",
"Then annual fasting glucose or HbA1c (GDM = 7–10× T2DM risk)",
]
bullet_box(slide, 6.7, 1.75, 6.23, 4.0, items_right, bullet_size=13)
# Controversy note
rect(slide, 0.4, 6.55, 12.533, 0.45, RGBColor(0xFF,0xF0,0xF0))
textbox(slide, 0.55, 6.6, 12.3, 0.35,
"⚠ Controversy: Heyborne & Barbour (Obstet Gynecol 2025;145:31–38) challenged ACOG 2024 thresholds for early GDM — debate ongoing",
11, RED_WARN, italic=True, wrap=True)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 5 — ADA 2026: Glycaemic Targets
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "ADA 2026: Glycaemic Targets in Pregnancy",
"Diabetes Care 2026;49(Suppl 1):S321–S338 | Section 15")
footer(slide)
# Table header
rect(slide, 0.4, 1.25, 12.533, 0.5, NAVY)
cols = ["Parameter", "Pregestational DM on Insulin", "GDM — Diet Controlled", "GDM — Insulin/Oral Agent"]
widths = [2.8, 3.2, 3.0, 3.333]
x = 0.5
for c, w in zip(cols, widths):
textbox(slide, x, 1.28, w-0.1, 0.44, c, 13, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
x += w
rows = [
("Fasting", "70–95 mg/dL", "< 95 mg/dL", "70–95 mg/dL"),
("1-hr Postprandial", "110–140 mg/dL", "< 140 mg/dL", "110–140 mg/dL"),
("2-hr Postprandial", "100–120 mg/dL", "< 120 mg/dL", "100–120 mg/dL"),
("HbA1c in pregnancy", "Limited utility*", "Limited utility*", "Limited utility*"),
]
row_colors = [RGBColor(0xF5,0xF9,0xFF), WHITE, RGBColor(0xF5,0xF9,0xFF), WHITE]
for ri, (row, rc) in enumerate(zip(rows, row_colors)):
y_r = 1.75 + ri * 0.7
rect(slide, 0.4, y_r, 12.533, 0.65, rc)
x = 0.5
for ci, (cell, w) in enumerate(zip(row, widths)):
col_c = DARK_TEXT if ci == 0 else (TEAL if "mg/dL" in cell else MID_GREY)
bold_c = ci == 0
textbox(slide, x, y_r+0.1, w-0.1, 0.45, cell, 14, col_c, bold=bold_c,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
x += w
# Note
textbox(slide, 0.4, 4.6, 12.533, 0.4,
"* HbA1c is falsely LOW during pregnancy (increased red cell turnover). Use SMBG and CGM metrics as primary monitoring tools.",
11, MID_GREY, italic=True, wrap=True)
# Intrapartum target box
rect(slide, 0.4, 5.1, 12.533, 0.6, RGBColor(0xE8,0xF5,0xEA))
textbox(slide, 0.55, 5.15, 12.3, 0.5,
"INTRAPARTUM TARGET: 70–110 mg/dL — Tight intrapartum glucose control minimises neonatal hypoglycaemia from fetal hyperinsulinaemia",
14, GREEN, bold=True, wrap=True, valign=MSO_ANCHOR.MIDDLE)
# Key principles
rect(slide, 0.4, 5.8, 12.533, 1.1, RGBColor(0xF0,0xF5,0xFF))
textbox(slide, 0.55, 5.85, 12.3, 0.25, "Key Monitoring Principles", 13, NAVY, bold=True)
textbox(slide, 0.55, 6.1, 12.3, 0.7,
"Monitor fasting + 1–2 hr postprandial daily (minimum 4 readings/day). | CGM preferred for T1DM (evidence-based for neonatal outcomes). | Sequential HbA1c NOT recommended for routine pregnancy monitoring.",
13, DARK_TEXT, wrap=True)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 6 — CGM in Pregnancy
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "ADA 2026: Continuous Glucose Monitoring (CGM) in Pregnancy",
"Major expansion — CGM now recommended for GDM & T2DM, not only T1DM", bar_color=TEAL)
footer(slide)
# CGM recommendation boxes
types = [
("T1DM", "Strongly\nRecommended", "Evidence-based: reduces adverse neonatal outcomes (RCT data)", NAVY),
("T2DM", "Now\nRecommended", "Recent RCT data supports benefit; ADA 2026 newly includes", TEAL),
("GDM\non Insulin", "Recommended", "Improves glycaemic management; patient-preferred", GREEN),
("GDM\nDiet Only", "Discussed", "Recent trials show benefit; evidence still evolving", GOLD),
]
for i, (dtype, rec, detail, col) in enumerate(types):
x_pos = 0.35 + i * 3.2
rect(slide, x_pos, 1.3, 3.0, 1.1, col)
textbox(slide, x_pos+0.1, 1.35, 2.8, 0.5, dtype, 18, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, x_pos+0.1, 1.82, 2.8, 0.5, rec, 13, WHITE,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, x_pos, 2.42, 3.0, 0.6, detail, 11, DARK_TEXT,
wrap=True, align=PP_ALIGN.CENTER)
# CGM targets table
rect(slide, 0.35, 3.1, 12.633, 0.45, NAVY)
textbox(slide, 0.4, 3.12, 12.5, 0.41, "CGM TIME-IN-RANGE TARGETS IN PREGNANCY (ADA 2026 & International Consensus 2026)",
14, WHITE, bold=True, align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
tir_rows = [
("Time In Range (TIRp)", "63–140 mg/dL", "> 70%", "Tighter range than non-pregnant (70–180 mg/dL)"),
("Time Above Range (TARp)", "> 140 mg/dL", "< 25%", "Hyperglycaemia threshold lower in pregnancy"),
("Time Below Range Level 1", "< 63 mg/dL", "< 4%", "Avoid hypoglycaemia"),
("Time Below Range Level 2", "< 54 mg/dL", "< 1%", "Severe hypoglycaemia — minimise"),
("Coefficient of Variation (CV)", "—", "< 36% (T1DM) ≤30% (T2DM)", "Reflects glucose stability"),
("CGM Active Time", "—", "> 70% over 14 days", "Sensor wear compliance"),
]
tir_cols = [3.5, 1.8, 2.5, 4.533]
row_headers = ["Metric", "Glucose Range", "Target", "Clinical Note"]
x = 0.4
for h, w in zip(row_headers, tir_cols):
textbox(slide, x, 3.6, w-0.1, 0.3, h, 12, TEAL, bold=True)
x += w
for ri, row in enumerate(tir_rows):
y_r = 3.95 + ri * 0.52
rcolor = RGBColor(0xF5,0xF9,0xFF) if ri % 2 == 0 else WHITE
rect(slide, 0.35, y_r, 12.633, 0.5, rcolor)
x = 0.4
text_colors = [DARK_TEXT, MID_GREY, GREEN if ri < 2 else (RED_WARN if ri < 4 else TEAL), MID_GREY]
for ci, (cell, w) in enumerate(zip(row, tir_cols)):
textbox(slide, x, y_r+0.08, w-0.1, 0.34, cell, 12, text_colors[ci],
align=PP_ALIGN.CENTER if ci > 0 else PP_ALIGN.LEFT,
valign=MSO_ANCHOR.MIDDLE, bold=(ci==2))
x += w
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 7 — AID Systems in Pregnancy
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "ADA 2026: Automated Insulin Delivery (AID) in Pregnancy",
"Preferred insulin delivery system for T1DM — with formal pregnancy-specific guidance")
footer(slide)
# Main recommendation banner
rect(slide, 0.4, 1.25, 12.533, 0.7, NAVY)
textbox(slide, 0.5, 1.3, 12.333, 0.6,
"AID systems are now the PREFERRED insulin delivery method for all people with T1DM (ADA 2026, Rec 7.25a)",
18, WHITE, bold=True, align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
# Left column
rect(slide, 0.4, 2.1, 5.9, 4.7, RGBColor(0xE8,0xF0,0xFF))
textbox(slide, 0.55, 2.15, 5.6, 0.4, "What AID Does in Pregnancy", 15, NAVY, bold=True)
bullet_box(slide, 0.4, 2.55, 5.9, 3.8,
["Automatically adjusts basal insulin based on CGM readings",
"Reduces time in hypoglycaemia (critical in 1st trimester)",
"Reduces time in hyperglycaemia in 3rd trimester",
"Reduces glycaemic variability — CV improves",
"Improves maternal quality of life & sleep",
"Consolidated into Section 15 (pregnancy) from Section 7 in 2026"],
bullet_size=13)
# Right column
rect(slide, 6.7, 2.1, 6.233, 4.7, RGBColor(0xF0,0xF8,0xF0))
textbox(slide, 6.85, 2.15, 5.9, 0.4, "2026 Pregnancy-Specific Guidance", 15, GREEN, bold=True)
bullet_box(slide, 6.7, 2.55, 6.233, 3.8,
["Counsel patients on use of AID across all trimesters",
"Guidance on switching: automated ↔ manual modes",
"Manual mode during labour & delivery (intrapartum)",
"Resume AID postpartum — insulin needs drop dramatically after delivery",
"Open-source AID systems: ADA reaffirms support",
"AID + CGM together: best outcomes — do not separate them"],
bullet_size=13)
# Bottom note
rect(slide, 0.4, 6.88, 12.533, 0.45, RGBColor(0xFF,0xF8,0xE0))
textbox(slide, 0.55, 6.9, 12.3, 0.4,
"Note: AID was previously discussed in BOTH Section 7 and Section 15 — ADA 2026 consolidated all pregnancy AID guidance exclusively to Section 15 for clarity.",
11, GOLD, italic=True, wrap=True)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 8 — GLP-1 RAs: Preconception Guidance
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "ADA 2026: GLP-1 RAs — NEW Preconception Guidance",
"Major new recommendation: discontinue GLP-1 RAs before attempting conception", bar_color=RED_WARN)
footer(slide)
# Warning banner
rect(slide, 0.4, 1.25, 12.533, 0.75, RED_WARN)
textbox(slide, 0.5, 1.28, 12.333, 0.69,
"⚠ GLP-1 RAs (semaglutide, liraglutide) and dual GIP/GLP-1 RAs (tirzepatide) MUST be discontinued BEFORE conception",
20, WHITE, bold=True, align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
# Three columns
col_data = [
("Why Discontinue?", NAVY, [
"GLP-1 RAs are contraindicated in pregnancy",
"Animal studies show teratogenicity / embryotoxicity",
"Human safety data in pregnancy insufficient",
"Placental transfer unknown / possible",
"Manufacturer labelling contraindicates use",
]),
("When to Discontinue?", TEAL, [
"Discontinue BEFORE attempting conception",
"Ensure preconception glycaemic goals are achieved AFTER stopping the GLP-1 RA",
"Allow adequate washout period",
"Switch to insulin if required to maintain glycaemic control",
"Document contraception counselling",
]),
("What to Use Instead?", GREEN, [
"Insulin — preferred agent for pgDM in pregnancy",
"Metformin — acceptable alternative for GDM / T2DM",
"Target HbA1c < 6% preconception",
"Reassess after delivery: GLP-1 RA may be restarted postpartum",
"Breastfeeding: safety of GLP-1 RAs not established",
]),
]
for i, (title, col, items) in enumerate(col_data):
x_pos = 0.35 + i * 4.3
rect(slide, x_pos, 2.1, 4.1, 4.6, RGBColor(0xF8,0xF8,0xFF) if col != GREEN else RGBColor(0xF0,0xF8,0xF0))
textbox(slide, x_pos+0.1, 2.15, 3.9, 0.4, title, 15, col, bold=True)
bullet_box(slide, x_pos, 2.55, 4.1, 3.8, items, bullet_size=13)
# T1DM note
rect(slide, 0.4, 6.78, 12.533, 0.5, RGBColor(0xFF,0xF5,0xE8))
textbox(slide, 0.55, 6.82, 12.3, 0.42,
"NEW in ADA 2026: GLP-1 RAs now supported for adults with T1DM + obesity (BMI >30) — but the STOP-BEFORE-PREGNANCY rule applies equally.",
12, GOLD, bold=True, italic=False, wrap=True)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 9 — Insulin Management
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "Insulin Management in Diabetic Pregnancy",
"ADA 2026: Updated guidance on insulin preparations | Preferred agent for pgDM & GDM pharmacotherapy")
footer(slide)
# Dosing table
rect(slide, 0.4, 1.25, 12.533, 0.45, NAVY)
textbox(slide, 0.5, 1.28, 12.3, 0.41, "INSULIN DOSE REQUIREMENTS BY TRIMESTER",
14, WHITE, bold=True, align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
trim_rows = [
("1st Trimester", "0.7–0.8 units/kg/day", "May DECREASE 9–16 wks in T1DM (hypoglycaemia risk!)"),
("2nd Trimester", "0.8–1.0 units/kg/day", "Progressive insulin resistance from placental hormones"),
("3rd Trimester", "0.9–1.2 units/kg/day", "Greatest increase 16–37 wks; plateau near term"),
("Postpartum", "Drops dramatically", "Placenta expelled → insulin resistance resolves abruptly"),
]
for ri, (trim, dose, note) in enumerate(trim_rows):
y_r = 1.75 + ri * 0.65
rcolor = RGBColor(0xF0,0xF5,0xFF) if ri % 2 == 0 else WHITE
rect(slide, 0.4, y_r, 12.533, 0.6, rcolor)
textbox(slide, 0.5, y_r+0.1, 2.5, 0.4, trim, 14, NAVY, bold=True, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, 3.1, y_r+0.1, 3.2, 0.4, dose, 15, TEAL, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, 6.4, y_r+0.1, 6.4, 0.4, note, 12, MID_GREY,
valign=MSO_ANCHOR.MIDDLE, wrap=True)
# Insulin preparations
rect(slide, 0.4, 4.45, 6.0, 2.25, RGBColor(0xE8,0xF5,0xF8))
textbox(slide, 0.55, 4.5, 5.7, 0.35, "Acceptable Insulin Preparations in Pregnancy", 14, TEAL, bold=True)
bullet_box(slide, 0.4, 4.85, 6.0, 1.7,
["Basal-bolus regimen preferred (long-acting + rapid-acting)",
"Rapid-acting: Aspart, Lispro (preferred — most data)",
"Long-acting: Detemir or NPH (detemir has RCT data in pregnancy)",
"Glargine U-100: off-label but growing evidence",
"Insulin pump (CSII): continue if well-established pre-pregnancy"],
bullet_size=12)
# Oral agents
rect(slide, 6.8, 4.45, 5.933, 2.25, RGBColor(0xFFF8E8))
textbox(slide, 6.95, 4.5, 5.7, 0.35, "Oral Agents — Role & Limitations", 14, GOLD, bold=True)
bullet_box(slide, 6.8, 4.85, 5.933, 1.7,
["Metformin: lower GWG, lower preeclampsia vs glyburide — but crosses placenta",
"Glyburide: crosses placenta → higher neonatal hypoglycaemia — increasingly disfavoured",
"Both only for GDM patients who decline/cannot reliably take insulin",
"Unknown long-term offspring effects of metformin (↑ adiposity in some studies)"],
bullet_size=12)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 10 — Blood Pressure & Complications
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "ADA 2026: Blood Pressure & Maternal Complications",
"Rec 15.24 revised — BP threshold aligned with CHAP trial evidence")
footer(slide)
# BP update
rect(slide, 0.4, 1.25, 12.533, 0.85, RGBColor(0xE8,0xF0,0xFF))
rect(slide, 0.4, 1.25, 0.15, 0.85, NAVY)
textbox(slide, 0.65, 1.3, 12.1, 0.75,
"UPDATED (ADA 2026 Rec 15.24): Initiate or titrate antihypertensive therapy at BP ≥ 140/90 mmHg\n"
"Aligned with CHAP trial (N Engl J Med 2022) — treatment at this threshold reduces adverse outcomes without increasing IUGR",
14, NAVY, bold=False, wrap=True, valign=MSO_ANCHOR.MIDDLE)
# Complications table
textbox(slide, 0.4, 2.25, 12.533, 0.35, "Maternal Complications of Pregestational DM",
14, NAVY, bold=True)
comp_data = [
("Hypertension", "OR = 14.2", RED_WARN),
("Preeclampsia", "OR = 3.4", RED_WARN),
("Cesarean delivery", "OR = 11.3", GOLD),
("Preterm birth", "OR = 4.4", GOLD),
("Maternal mortality", "~60/100,000", MID_GREY),
]
for i, (comp, stat, col) in enumerate(comp_data):
x_pos = 0.4 + i * 2.5
rect(slide, x_pos, 2.65, 2.4, 0.9, col)
textbox(slide, x_pos+0.05, 2.68, 2.3, 0.45, comp, 12, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, x_pos+0.05, 3.1, 2.3, 0.4, stat, 16, WHITE, bold=True,
align=PP_ALIGN.CENTER)
# Ophthalmology
rect(slide, 0.4, 3.7, 5.9, 3.0, RGBColor(0xF0,0xF5,0xFF))
textbox(slide, 0.55, 3.75, 5.6, 0.35, "Retinopathy Monitoring in Pregnancy", 14, NAVY, bold=True)
bullet_box(slide, 0.4, 4.1, 5.9, 2.3,
["Screen BEFORE conception or at 1st prenatal visit",
"No retinopathy / minimal NPDR → 1st & 3rd trimester",
"Mild-moderate NPDR → every trimester (3×)",
"High-risk NPDR / PDR → monthly",
"GDM → no ophthalmic screening required",
"PDR: treat with PRP; anti-VEGF avoided in pregnancy"],
bullet_size=12)
# Nephropathy
rect(slide, 6.7, 3.7, 6.233, 3.0, RGBColor(0xF0,0xF8,0xF0))
textbox(slide, 6.85, 3.75, 5.9, 0.35, "Nephropathy & Other Complications", 14, GREEN, bold=True)
bullet_box(slide, 6.7, 4.1, 6.233, 2.3,
["Baseline 24-hr urine protein / PCR at booking",
"Proteinuria often worsens transiently — monitor each trimester",
"Pregnancy does not permanently accelerate nephropathy in most",
"Neonatal risks: macrosomia, neonatal hypoglycaemia, RDS, congenital anomalies, shoulder dystocia",
"Congenital anomalies linked to poor control at organogenesis (wks 5–8)"],
bullet_size=12)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 11 — GDM: Step-by-Step Management
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "GDM: Updated Step-by-Step Management Algorithm",
"Medical Nutrition Therapy → Exercise → SMBG/CGM → Pharmacotherapy")
footer(slide)
steps = [
("Step 1\nNutrition", NAVY,
"Medical Nutrition Therapy (MNT)\n• Carbohydrate-controlled (not eliminated): 33–40% carbs\n• ~1800–2200 kcal/day distributed across 3 meals + 2–3 snacks\n• Complex carbs; avoid refined sugars; adequate fibre"),
("Step 2\nExercise", TEAL,
"Physical Activity\n• Brisk walking 20–30 min, 3× per week minimum\n• Reduces postprandial glucose peaks\n• 2026 IPD meta-analysis: exercise + diet most effective GDM prevention strategy"),
("Step 3\nMonitoring", GREEN,
"SMBG + CGM (NEW 2026)\n• Fasting + 1-hr post each meal (4 readings/day minimum)\n• CGM now recommended for GDM on insulin (and discussed for diet-only)\n• TIRp target: >70% time in 63–140 mg/dL"),
("Step 4\nPharmaco-\ntherapy", GOLD,
"If targets not met with Step 1–3:\n• Insulin — preferred (does not cross placenta)\n• Metformin — alternative (lower GWG, lower preeclampsia vs glyburide)\n• Glyburide — increasingly disfavoured (placental transfer → neonatal hypoglycaemia)"),
]
for i, (step, col, detail) in enumerate(steps):
x_pos = 0.3 + i * 3.2
rect(slide, x_pos, 1.3, 1.0, 1.5, col)
textbox(slide, x_pos+0.02, 1.35, 0.96, 1.4, step, 13, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
rect(slide, x_pos+1.05, 1.3, 2.1, 1.5, RGBColor(0xF5,0xF9,0xFF))
textbox(slide, x_pos+1.1, 1.35, 2.0, 1.4, detail, 11, DARK_TEXT,
wrap=True, valign=MSO_ANCHOR.TOP)
# Delivery timing
rect(slide, 0.3, 3.0, 12.733, 0.4, NAVY)
textbox(slide, 0.4, 3.02, 12.5, 0.36, "DELIVERY TIMING & ROUTE", 14, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
deliv_data = [
("GDM — diet controlled", "Deliver by 39 weeks", "Vaginal delivery if no macrosomia"),
("GDM — on medication", "Induce at 39 weeks", "Consider induction in early term (37–39 wks)"),
("pgDM — well controlled", "Induce 37–39 weeks", "C-section if EFW ≥ 4,500 g (shoulder dystocia risk)"),
("Macrosomia EFW ≥4,500g", "Cesarean delivery", "Regardless of diabetes type"),
]
for ri, (scenario, timing, note) in enumerate(deliv_data):
y_r = 3.45 + ri * 0.72
rcolor = RGBColor(0xF0,0xF5,0xFF) if ri % 2 == 0 else WHITE
rect(slide, 0.3, y_r, 12.733, 0.67, rcolor)
textbox(slide, 0.4, y_r+0.12, 4.2, 0.43, scenario, 13, NAVY, bold=True, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, 4.7, y_r+0.12, 3.5, 0.43, timing, 14, TEAL, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
textbox(slide, 8.3, y_r+0.12, 4.6, 0.43, note, 12, MID_GREY, valign=MSO_ANCHOR.MIDDLE, wrap=True)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 12 — Postpartum & Long-Term Follow-Up
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "Postpartum Management & Long-Term Follow-Up",
"Critical window — GDM = 7–10× lifetime T2DM risk")
footer(slide)
# Timeline
milestones = [
("Delivery", "• Insulin dose drops dramatically\n• GDM usually resolves\n• Resume pre-preg insulin doses (pgDM)\n• Begin breastfeeding counselling", NAVY),
("4–12 Weeks", "• 75-g 2-hr OGTT for ALL GDM women\n• Preferred over HbA1c (still falsely low)\n• Screen for T2DM / prediabetes / normal\n• Restart GLP-1 RA if applicable", TEAL),
("Annual\nFollow-Up", "• Fasting glucose or HbA1c annually\n• Lifestyle counselling: weight loss, exercise\n• Metformin in high-risk women\n• CV risk assessment", GREEN),
("Future\nPregnancy", "• Preconception HbA1c < 6%\n• Switch to insulin before conception\n• Discontinue GLP-1 RA before conception\n• GDM recurs in ~50% of subsequent pregnancies", GOLD),
]
for i, (time, detail, col) in enumerate(milestones):
x_pos = 0.3 + i * 3.2
rect(slide, x_pos, 1.25, 3.0, 0.6, col)
textbox(slide, x_pos+0.05, 1.28, 2.9, 0.54, time, 15, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
rect(slide, x_pos, 1.85, 3.0, 3.0, RGBColor(0xF5,0xF9,0xFF))
textbox(slide, x_pos+0.1, 1.9, 2.8, 2.9, detail, 12, DARK_TEXT,
wrap=True, valign=MSO_ANCHOR.TOP)
# Risk reduction
rect(slide, 0.3, 5.0, 12.733, 1.55, RGBColor(0xF0,0xF8,0xF0))
textbox(slide, 0.45, 5.05, 12.4, 0.35, "T2DM Risk Reduction Strategies After GDM", 14, GREEN, bold=True)
strategies = [
"GDM = 7–10× increase in T2DM risk | 10% convert within 5 years of delivery",
"Weight loss: most impactful intervention — even 5–7% weight reduction significantly lowers risk",
"Exercise: ≥150 min/week moderate intensity | Metformin: reduces T2DM risk ~35% in high-risk GDM women",
"Breastfeeding: associated with improved maternal glucose tolerance and reduced T2DM risk",
]
y_s = 5.42
for s in strategies:
textbox(slide, 0.5, y_s, 12.4, 0.26, "• " + s, 12, DARK_TEXT, wrap=True)
y_s += 0.27
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 13 — Summary Comparison Table
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "Summary: What Changed — Old vs. New at a Glance",
"Quick reference for practice updates")
footer(slide)
# Table
rect(slide, 0.3, 1.25, 12.733, 0.5, NAVY)
col_headers = ["Clinical Topic", "Old Guidance", "2024–2026 Update", "Source"]
col_widths = [3.0, 3.2, 4.5, 1.833]
x = 0.4
for h, w in zip(col_headers, col_widths):
textbox(slide, x, 1.28, w-0.1, 0.44, h, 13, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
x += w
table_rows = [
("1st-trimester screening", "High-risk only", "Universal for all pregnant women", "ACOG 2024"),
("CGM in T2DM / GDM", "T1DM focus only", "Expanded to T2DM & GDM", "ADA 2026"),
("AID systems in pregnancy", "Limited guidance", "Preferred for T1DM; mode-switching counselling", "ADA 2026"),
("GLP-1 RAs before conception", "Not addressed", "Must discontinue before attempting conception", "ADA 2026"),
("BP threshold for treatment", "Variable / conservative", "≥ 140/90 mmHg — standardised", "ADA 2026"),
("CGM TIR targets", "Not specified", "TIRp > 70% in 63–140 mg/dL range", "ADA 2026"),
("Early GDM (< 24 wks)", "Section 2 (classification)", "Section 15 with updated evidence", "ADA 2026"),
("GDM pharmacotherapy", "Metformin / glyburide mentioned", "Glyburide increasingly disfavoured; metformin caution", "ADA 2026"),
]
for ri, row in enumerate(table_rows):
y_r = 1.8 + ri * 0.62
rcolor = RGBColor(0xF0,0xF5,0xFF) if ri % 2 == 0 else WHITE
rect(slide, 0.3, y_r, 12.733, 0.58, rcolor)
x = 0.4
tcols = [NAVY, MID_GREY, TEAL, GOLD]
for ci, (cell, w) in enumerate(zip(row, col_widths)):
textbox(slide, x, y_r+0.08, w-0.1, 0.42, cell, 12, tcols[ci],
bold=(ci == 0), wrap=True, valign=MSO_ANCHOR.MIDDLE,
align=PP_ALIGN.CENTER if ci > 0 else PP_ALIGN.LEFT)
x += w
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 14 — CME Questions / Post-Test
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide)
header_bar(slide, "CME Post-Test Questions", "Answer all 3 questions to claim credit")
footer(slide)
questions = [
("Q1", "According to ACOG 2024, when should ALL pregnant women be screened for undiagnosed T2DM?",
["A) 24–28 weeks (GDM screening window)",
"B) At the first prenatal visit ✓ CORRECT",
"C) Only if BMI > 30",
"D) Third trimester if glucose is elevated"]),
("Q2", "Which CGM metric is the primary target in T1DM pregnancy per ADA 2026?",
["A) HbA1c < 6.5%",
"B) Time In Range (63–140 mg/dL) > 70% ✓ CORRECT",
"C) Fasting glucose < 126 mg/dL",
"D) Postprandial peak < 200 mg/dL"]),
("Q3", "A patient with T2DM on semaglutide is planning pregnancy. What is the correct action?",
["A) Continue semaglutide until positive pregnancy test",
"B) Switch to glyburide",
"C) Discontinue GLP-1 RA before conception; achieve glycaemic goals first; switch to insulin ✓ CORRECT",
"D) Reduce semaglutide dose to lowest available"]),
]
for qi, (num, question, options) in enumerate(questions):
y_q = 1.4 + qi * 1.85
rect(slide, 0.3, y_q, 0.7, 1.65, NAVY)
textbox(slide, 0.32, y_q+0.5, 0.66, 0.65, num, 18, WHITE, bold=True,
align=PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
rect(slide, 1.05, y_q, 11.978, 1.65, RGBColor(0xF8,0xF9,0xFF))
textbox(slide, 1.15, y_q+0.05, 11.7, 0.42, question, 14, NAVY, bold=True, wrap=True)
opt_text = " ".join(options)
textbox(slide, 1.15, y_q+0.5, 11.7, 1.1, opt_text, 12, DARK_TEXT, wrap=True)
# ════════════════════════════════════════════════════════════════════════════
# SLIDE 15 — References & Credits
# ════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide, NAVY)
rect(slide, 0, 6.8, 13.333, 0.7, TEAL)
textbox(slide, 0.5, 0.2, 12.333, 0.6, "References & Acknowledgements",
26, WHITE, bold=True, align=PP_ALIGN.CENTER)
refs = [
"1. American Diabetes Association Professional Practice Committee. 15. Management of Diabetes in Pregnancy: Standards of Care in Diabetes—2026. Diabetes Care. 2026;49(Suppl 1):S321–S338. doi:10.2337/dc26-S015",
"2. American Diabetes Association. Summary of Revisions: Standards of Care in Diabetes—2026. Diabetes Care. 2026;49(Suppl 1). PMC12690167",
"3. ACOG Clinical Practice Update: Screening for Gestational and Pregestational Diabetes in Pregnancy and Postpartum. Obstet Gynecol. 2024;144(1):e20–e23. doi:10.1097/AOG.0000000000005612",
"4. Benhalima K, Durnwald C, Sweeting A, et al. CGM and AID in pregnant women with T1, T2, or GDM: international consensus statement. Lancet Diabetes Endocrinol. 2026;14:157–177.",
"5. Fatima K, Siddiqi AK, Shakil S. Safety and efficacy of insulin detemir vs NPH in pregnant women: systematic review and meta-analysis. Minerva Obstet Gynecol. 2024 Dec. PMID 37877940",
"6. Allotey J, et al. Effects of physical activity and diet in pregnancy to prevent GDM: IPD meta-analysis. Health Technol Assess. 2026 May. PMID 42117518",
"7. Creasy & Resnik's Maternal-Fetal Medicine: Principles and Practice, 9th Ed. Chapters 59 & 60.",
"8. Harrison's Principles of Internal Medicine, 22nd Ed. (2025). Diabetes Mellitus in Pregnancy.",
]
y_r = 1.0
for ref in refs:
textbox(slide, 0.5, y_r, 12.333, 0.45, ref, 11, RGBColor(0xCC,0xDD,0xEE), wrap=True)
y_r += 0.48
textbox(slide, 0.5, 6.82, 12.333, 0.35,
"This CME presentation was prepared for educational purposes. Content is based on published guidelines as of July 2026. Always apply clinical judgment.",
10, WHITE, align=PP_ALIGN.CENTER)
# ── Save ────────────────────────────────────────────────────────────────────
from io import BytesIO
buf = BytesIO()
prs.save(buf)
with open("/tmp/workspace/cme-diabetes-pregnancy/ADA_ACOG_2026_DM_Pregnancy_CME.pptx", "wb") as f:
f.write(buf.getvalue())
print("DONE — file saved successfully")
I have pateint with retinopathy when should idelivery and mode of delivery