I am second year resident of general medicine i have a presentation on pulmonary hypertension with venous and pulmonary thromboembolism kindly give me detailed description in ppt format with updated guidelines

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Searching PubMed

"pulmonary hypertension" AND "guidelines"

Searching PubMed

"pulmonary embolism" AND "guidelines"

Reading File
Reading File
Reading Article

PMID: 41712677

Finding Sources
Reading File
Finding Sources
Searching the Web

2026 AHA ACC pulmonary embolism guideline key recommendations classification

Reading Article

PMID: 40044341

Reading Web Page

https://www.ahajournals.org/doi/10.1161/CIR.0000000000001415

Finding Sources
Searching Images

pulmonary hypertension WHO classification groups pathophysiology

Searching Images

pulmonary embolism CT angiography diagnosis Wells score algorithm

Searching Images

deep vein thrombosis pathophysiology venous thromboembolism Virchow triad

Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not found"

Running Command

mkdir -p /home/daytona/workspace/ph-vte-ppt && ls /home/daytona/workspace/ph-vte-ppt

Writing File

~/ph-vte-ppt/build_ppt.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";
pres.title = "Pulmonary Hypertension, VTE & Pulmonary Embolism";
pres.author = "General Medicine Residency Presentation";

// ── COLOUR PALETTE ──────────────────────────────────────────────────────────
const C = {
  bg:        "0B1F3A",   // deep navy (dominant)
  bgAlt:     "0E2A50",   // slightly lighter navy
  accent:    "E94F3D",   // strong red-orange (PE/clot accent)
  gold:      "F5A623",   // amber/gold
  teal:      "3AB4BF",   // teal (PH accent)
  white:     "FFFFFF",
  light:     "D6E4F0",
  muted:     "8DAFC4",
  dark:      "061225",
  green:     "2ECC71",
  yellow:    "F7DC6F",
  orange:    "E67E22",
  red:       "C0392B",
};

// ── HELPERS ──────────────────────────────────────────────────────────────────
function titleSlide(slide) {
  slide.background = { color: C.dark };
  // Top accent bar
  slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:0.12, fill:{color:C.accent} });
  // Side bar
  slide.addShape(pres.ShapeType.rect, { x:0, y:0.12, w:0.35, h:7.38, fill:{color:C.teal} });
}

function sectionBg(slide, color) {
  slide.background = { color: color || C.bg };
  slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:0.1, fill:{color:C.accent} });
  slide.addShape(pres.ShapeType.rect, { x:0, y:7.4, w:13.3, h:0.1, fill:{color:C.teal} });
}

function slideHeader(slide, title, subtitle) {
  sectionBg(slide);
  slide.addShape(pres.ShapeType.rect, { x:0, y:0.1, w:4.2, h:7.4, fill:{color:C.bgAlt} });
  slide.addText(title, {
    x:0.2, y:0.3, w:3.8, h:2.5,
    fontSize:22, bold:true, color:C.white, fontFace:"Calibri",
    align:"left", valign:"top", wrap:true
  });
  if (subtitle) {
    slide.addText(subtitle, {
      x:0.2, y:2.8, w:3.8, h:0.6,
      fontSize:11, color:C.teal, fontFace:"Calibri", align:"left", italic:true
    });
  }
}

function addBullets(slide, items, x, y, w, h, fontSize, color, opts) {
  const base = { fontFace:"Calibri", color: color||C.light, fontSize:fontSize||13 };
  const textArr = items.map((item, i) => {
    const isLast = i === items.length - 1;
    if (typeof item === "object") {
      return { text: item.text, options: { ...base, bullet:{indent:item.indent||0}, fontSize:item.size||fontSize||13, color:item.color||color||C.light, bold:item.bold||false, breakLine: !isLast } };
    }
    return { text: item, options: { ...base, bullet:true, breakLine: !isLast } };
  });
  slide.addText(textArr, { x, y, w, h, valign:"top", ...(opts||{}) });
}

function sectionDivider(pres, sectionNum, title, subtitle, color) {
  const slide = pres.addSlide();
  slide.background = { color: color || C.accent };
  slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:0.08, fill:{color:C.dark} });
  slide.addShape(pres.ShapeType.rect, { x:0, y:7.42, w:13.3, h:0.08, fill:{color:C.dark} });
  slide.addText(`SECTION ${sectionNum}`, {
    x:1, y:1.8, w:11.3, h:0.8,
    fontSize:16, color:C.white, fontFace:"Calibri", align:"center", charSpacing:6, opacity:80
  });
  slide.addText(title, {
    x:1, y:2.5, w:11.3, h:1.6,
    fontSize:40, bold:true, color:C.white, fontFace:"Calibri", align:"center"
  });
  if (subtitle) {
    slide.addText(subtitle, {
      x:1, y:4.2, w:11.3, h:0.8,
      fontSize:16, color:C.white, fontFace:"Calibri", align:"center", italic:true
    });
  }
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 1: TITLE SLIDE
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  titleSlide(slide);
  slide.addShape(pres.ShapeType.rect, { x:0.35, y:1.2, w:12.95, h:0.08, fill:{color:C.gold}, opacity:40 });
  slide.addText("PULMONARY HYPERTENSION,", {
    x:0.6, y:1.4, w:12.0, h:1.1,
    fontSize:36, bold:true, color:C.white, fontFace:"Calibri", align:"left"
  });
  slide.addText("VENOUS THROMBOEMBOLISM", {
    x:0.6, y:2.4, w:12.0, h:1.0,
    fontSize:36, bold:true, color:C.teal, fontFace:"Calibri", align:"left"
  });
  slide.addText("& PULMONARY EMBOLISM", {
    x:0.6, y:3.3, w:12.0, h:1.0,
    fontSize:36, bold:true, color:C.gold, fontFace:"Calibri", align:"left"
  });
  slide.addShape(pres.ShapeType.rect, { x:0.35, y:4.3, w:8, h:0.04, fill:{color:C.muted} });
  slide.addText([
    { text: "Updated with ", options:{color:C.muted} },
    { text: "2026 AHA/ACC Guideline", options:{color:C.gold, bold:true} },
    { text: " | ESC/ERS 2022 PH Guidelines", options:{color:C.muted} }
  ], { x:0.6, y:4.5, w:12.0, h:0.5, fontSize:13, fontFace:"Calibri" });
  slide.addText("Residency Presentation — General Medicine  |  May 2026", {
    x:0.6, y:5.2, w:12.0, h:0.4,
    fontSize:12, color:C.muted, fontFace:"Calibri", italic:true
  });
  // Three coloured tags
  const tags = [
    { label:"Pulmonary Hypertension", col:C.teal },
    { label:"Venous Thromboembolism", col:C.gold },
    { label:"Acute Pulmonary Embolism", col:C.accent },
  ];
  tags.forEach((t,i) => {
    slide.addShape(pres.ShapeType.rect, { x:0.6+i*4.1, y:6.1, w:3.8, h:0.5, fill:{color:t.col}, rounding:true });
    slide.addText(t.label, { x:0.6+i*4.1, y:6.1, w:3.8, h:0.5, fontSize:11, color:C.dark, bold:true, fontFace:"Calibri", align:"center", valign:"middle" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 2: AGENDA / OUTLINE
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  sectionBg(slide);
  slide.addText("PRESENTATION OUTLINE", {
    x:0.5, y:0.2, w:12.3, h:0.7,
    fontSize:26, bold:true, color:C.white, fontFace:"Calibri", align:"center"
  });
  slide.addShape(pres.ShapeType.rect, { x:2.5, y:0.9, w:8.3, h:0.06, fill:{color:C.teal} });

  const sections = [
    { num:"01", title:"Pulmonary Hypertension — Definition, Classification & Pathophysiology", col:C.teal },
    { num:"02", title:"PH — Clinical Features, Diagnosis & Investigations", col:C.teal },
    { num:"03", title:"PH — Management: PAH Targeted Therapy (ESC/ERS 2022)", col:C.teal },
    { num:"04", title:"Venous Thromboembolism (VTE) — DVT Pathophysiology & Diagnosis", col:C.gold },
    { num:"05", title:"Acute Pulmonary Embolism — Classification (2026 AHA/ACC)", col:C.accent },
    { num:"06", title:"PE — Diagnosis Algorithm & Risk Stratification", col:C.accent },
    { num:"07", title:"PE — Management & Advanced Interventions (2026 Guideline)", col:C.accent },
    { num:"08", title:"CTEPH — Chronic Thromboembolic PH (PH Group 4)", col:C.gold },
    { num:"09", title:"Long-Term Management, Follow-Up & Key Takeaways", col:C.green },
  ];

  sections.forEach((s, i) => {
    const row = Math.floor(i/3);
    const col = i % 3;
    const x = 0.4 + col * 4.2;
    const y = 1.1 + row * 2.0;
    slide.addShape(pres.ShapeType.rect, { x, y, w:4.0, h:1.7, fill:{color:C.bgAlt}, shadow:{type:"outer",color:"000000",opacity:0.3,blur:4,offset:2,angle:45} });
    slide.addShape(pres.ShapeType.rect, { x, y, w:0.5, h:1.7, fill:{color:s.col} });
    slide.addText(s.num, { x:x+0.07, y:y+0.05, w:0.36, h:0.5, fontSize:18, bold:true, color:C.dark, fontFace:"Calibri", align:"center" });
    slide.addText(s.title, { x:x+0.6, y:y+0.1, w:3.3, h:1.5, fontSize:9.5, color:C.white, fontFace:"Calibri", valign:"middle", wrap:true });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SECTION 1 DIVIDER
// ══════════════════════════════════════════════════════════════════════════════
sectionDivider(pres, "01", "PULMONARY HYPERTENSION", "Definition · Classification · Pathophysiology", C.teal);

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 3: PH DEFINITION & UPDATED CRITERIA
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "PH Definition &\nUpdated Criteria", "ESC/ERS 2022 | World Symposium 2018");

  slide.addText("UPDATED HAEMODYNAMIC DEFINITION", {
    x:4.4, y:0.25, w:8.6, h:0.45,
    fontSize:15, bold:true, color:C.gold, fontFace:"Calibri"
  });
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.7, w:8.5, h:0.04, fill:{color:C.gold} });

  // mPAP box
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.85, w:8.5, h:1.5, fill:{color:C.bgAlt} });
  slide.addText("mPAP > 20 mmHg", {
    x:4.5, y:0.9, w:8.3, h:0.55,
    fontSize:22, bold:true, color:C.accent, fontFace:"Calibri"
  });
  slide.addText("(Previously >25 mmHg — threshold LOWERED by 6th World Symposium 2018, confirmed ESC/ERS 2022)", {
    x:4.5, y:1.4, w:8.3, h:0.7,
    fontSize:10, color:C.muted, fontFace:"Calibri", italic:true, wrap:true
  });

  // Subcategories
  const cats = [
    { label:"Pre-capillary PH", criteria:"mPAP >20 + PAWP ≤15 + PVR ≥3 WU", col:C.teal, groups:"Groups 1, 3, 4, 5" },
    { label:"Post-capillary PH (IpcPH)", criteria:"mPAP >20 + PAWP >15 + PVR <3 WU", col:C.orange, groups:"Group 2" },
    { label:"Combined Pre+Post-capillary (CpcPH)", criteria:"mPAP >20 + PAWP >15 + PVR ≥3 WU", col:C.accent, groups:"Groups 2, 5" },
  ];
  cats.forEach((c, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.87, y:2.5, w:2.7, h:2.6, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.87, y:2.5, w:2.7, h:0.45, fill:{color:c.col} });
    slide.addText(c.label, { x:4.4+i*2.87, y:2.52, w:2.7, h:0.4, fontSize:9.5, bold:true, color:C.white, fontFace:"Calibri", align:"center" });
    slide.addText(c.criteria, { x:4.5+i*2.87, y:3.1, w:2.5, h:1.0, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
    slide.addText(c.groups, { x:4.5+i*2.87, y:4.7, w:2.5, h:0.3, fontSize:9, color:c.col, bold:true, fontFace:"Calibri" });
  });

  slide.addText("RHC = gold standard for diagnosis  |  PVR: Pulmonary Vascular Resistance (Wood Units)  |  PAWP: Pulmonary Artery Wedge Pressure", {
    x:4.4, y:5.3, w:8.7, h:0.5,
    fontSize:8.5, color:C.muted, fontFace:"Calibri", italic:true
  });

  addBullets(slide, [
    "Exercise PH: mPAP/CO slope >3 WU during exercise",
    "Borderline PH: mPAP 21–24 mmHg — watch and investigate",
    "Symptoms: dyspnea on exertion, fatigue, syncope, chest pain",
    "Physical signs: loud P2, RV heave, TR murmur, JVD"
  ], 0.2, 3.5, 4.0, 3.5, 11, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 4: WHO CLASSIFICATION (5 GROUPS)
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "WHO Clinical\nClassification\nof PH", "5 Groups — ESC/ERS 2022");

  slide.addText("5 WHO GROUPS OF PULMONARY HYPERTENSION", {
    x:4.4, y:0.2, w:8.6, h:0.5,
    fontSize:15, bold:true, color:C.white, fontFace:"Calibri"
  });
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.7, w:8.5, h:0.04, fill:{color:C.accent} });

  const groups = [
    { num:"1", name:"PAH — Pulmonary Arterial Hypertension", col:C.teal, detail:"Idiopathic, heritable (BMPR2), drug/toxin-induced, CTD-PAH, HIV, portal HTN, CHD", key:"Pre-capillary | PVR ≥3 WU | PAWP ≤15" },
    { num:"2", name:"PH due to Left Heart Disease", col:C.gold, detail:"HFpEF, HFrEF, valvular disease (mitral/aortic), congenital LV inflow obstruction", key:"Post-capillary | Most common form of PH" },
    { num:"3", name:"PH due to Lung Disease / Hypoxia", col:C.orange, detail:"COPD, ILD, OSA, hypoventilation, high-altitude. Often mild-moderate PH", key:"Pre-capillary | Treat underlying lung disease" },
    { num:"4", name:"CTEPH — Chronic Thromboembolic PH", col:C.accent, detail:"Organised thrombi after PE → surgical cure possible (PTE). BPA for inoperable", key:"Pre-capillary | ONLY surgically curable form" },
    { num:"5", name:"PH with Unclear / Multifactorial Mechanisms", col:C.muted, detail:"Haematologic: CML, splenectomy. Systemic: sarcoid, Langerhans, NF-1. Metabolic", key:"Mixed / unclear mechanisms" },
  ];

  groups.forEach((g, i) => {
    const y = 0.85 + i * 1.22;
    slide.addShape(pres.ShapeType.rect, { x:4.4, y, w:0.55, h:1.1, fill:{color:g.col} });
    slide.addText(g.num, { x:4.4, y, w:0.55, h:1.1, fontSize:22, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle" });
    slide.addShape(pres.ShapeType.rect, { x:4.95, y, w:8.0, h:1.1, fill:{color:C.bgAlt} });
    slide.addText(g.name, { x:5.05, y:y+0.05, w:7.8, h:0.38, fontSize:12, bold:true, color:C.white, fontFace:"Calibri" });
    slide.addText(g.detail, { x:5.05, y:y+0.42, w:5.8, h:0.45, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
    slide.addText(g.key, { x:11.0, y:y+0.42, w:2.0, h:0.5, fontSize:8, color:g.col, fontFace:"Calibri", italic:true, wrap:true });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 5: PH PATHOPHYSIOLOGY
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "Pathophysiology\nof PAH", "Vascular Remodelling & RV Failure");

  slide.addText("THREE KEY PATHWAYS IN PULMONARY VASCULAR REMODELLING", {
    x:4.4, y:0.2, w:8.6, h:0.45,
    fontSize:13, bold:true, color:C.gold, fontFace:"Calibri"
  });

  const pathways = [
    { name:"NO-cGMP Pathway ↓", detail:"Reduced eNOS → ↓ NO → ↓ cGMP → vasoconstriction\nTherapy: PDE5i (sildenafil, tadalafil), sGC stimulators (riociguat)", col:C.teal },
    { name:"Prostacyclin Pathway ↓", detail:"↓ prostacyclin synthase → ↓ IP receptor → vasoconstriction\nTherapy: PGI2 analogues (epoprostenol, treprostinil), IP agonists (selexipag)", col:C.gold },
    { name:"Endothelin-1 Pathway ↑", detail:"↑ ET-1 → ETA & ETB receptor → vasoconstriction + proliferation\nTherapy: ERAs (ambrisentan, bosentan, macitentan)", col:C.accent },
  ];
  pathways.forEach((p, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.95, y:0.75, w:2.8, h:2.8, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.95, y:0.75, w:2.8, h:0.5, fill:{color:p.col} });
    slide.addText(p.name, { x:4.4+i*2.95, y:0.76, w:2.8, h:0.48, fontSize:11, bold:true, color:C.white, fontFace:"Calibri", align:"center" });
    slide.addText(p.detail, { x:4.5+i*2.95, y:1.35, w:2.6, h:2.0, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
  });

  slide.addText("RV REMODELLING CASCADE", {
    x:4.4, y:3.75, w:8.6, h:0.4,
    fontSize:12, bold:true, color:C.teal, fontFace:"Calibri"
  });

  const cascade = ["↑ Pulmonary Vascular Resistance", "→ RV Pressure Overload", "→ RV Hypertrophy (adaptive)", "→ RV Dilatation + Dysfunction", "→ Ventricular Interdependence (D-septum)", "→ LV Compression + ↓ CO", "→ Death"];
  const cascadeX = [4.4, 5.7, 7.0, 8.3, 9.6, 10.9, 12.2];
  cascade.forEach((c, i) => {
    slide.addShape(pres.ShapeType.rect, { x:cascadeX[i], y:4.2, w:1.15, h:0.8, fill:{color: i===6?C.accent:C.bgAlt} });
    slide.addText(c, { x:cascadeX[i]+0.05, y:4.2, w:1.05, h:0.8, fontSize:7.5, color:i===6?C.white:C.light, fontFace:"Calibri", align:"center", valign:"middle", wrap:true });
  });

  addBullets(slide, [
    "BMPR2 mutation: 70% hereditary PAH",
    "Loss of anti-proliferative BMP signalling",
    "Pro-apoptotic signals → endothelial injury",
    "Medial hypertrophy + intimal fibrosis",
    "In-situ thrombosis common in PAH",
    "Plexiform lesions: pathognomonic",
    "Inflammation key in CTD-PAH, HIV-PAH"
  ], 0.2, 0.8, 3.9, 4.5, 10.5, C.light);

  slide.addText("New mechanism: Sotatercept (activin receptor ligand trap) targets TGF-β/BMP imbalance — FDA approved 2024 for PAH", {
    x:4.4, y:5.2, w:8.7, h:0.6,
    fontSize:9.5, color:C.gold, fontFace:"Calibri", italic:true, wrap:true
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 6: PH — CLINICAL FEATURES & INVESTIGATIONS
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "PH — Clinical\nFeatures &\nInvestigations", "Diagnosis Algorithm");

  slide.addText("SYMPTOMS & SIGNS", {
    x:4.4, y:0.2, w:4.0, h:0.4,
    fontSize:13, bold:true, color:C.gold, fontFace:"Calibri"
  });
  addBullets(slide, [
    { text:"Dyspnoea on exertion (earliest)", bold:true },
    "Fatigue, lethargy",
    "Syncope/pre-syncope (exertional)",
    "Chest pain (RV ischaemia)",
    { text:"Signs: Loud P2, RV heave, JVD", bold:false },
    "TR murmur, peripheral oedema",
    "Hepatomegaly, ascites (late)",
    "Raynaud's (CTD-PAH)"
  ], 4.4, 0.65, 3.8, 3.5, 10.5, C.light);

  slide.addText("WHO FUNCTIONAL CLASS (FC)", {
    x:8.5, y:0.2, w:4.5, h:0.4,
    fontSize:13, bold:true, color:C.teal, fontFace:"Calibri"
  });
  const fcRows = [
    { fc:"I", desc:"No symptoms with ordinary activity", col:C.green },
    { fc:"II", desc:"Slight limitation — comfortable at rest; symptoms with ordinary activity", col:C.yellow },
    { fc:"III", desc:"Marked limitation — comfortable at rest; symptoms with less than ordinary activity", col:C.orange },
    { fc:"IV", desc:"Symptoms at rest; unable to carry on any physical activity", col:C.red },
  ];
  fcRows.forEach((r, i) => {
    slide.addShape(pres.ShapeType.rect, { x:8.5, y:0.65+i*0.95, w:0.55, h:0.85, fill:{color:r.col} });
    slide.addText(`FC ${r.fc}`, { x:8.5, y:0.65+i*0.95, w:0.55, h:0.85, fontSize:10, bold:true, color:C.dark, fontFace:"Calibri", align:"center", valign:"middle" });
    slide.addShape(pres.ShapeType.rect, { x:9.05, y:0.65+i*0.95, w:4.0, h:0.85, fill:{color:C.bgAlt} });
    slide.addText(r.desc, { x:9.1, y:0.68+i*0.95, w:3.9, h:0.8, fontSize:9, color:C.light, fontFace:"Calibri", valign:"middle", wrap:true });
  });

  slide.addShape(pres.ShapeType.rect, { x:4.4, y:4.3, w:8.6, h:0.04, fill:{color:C.accent} });
  slide.addText("INVESTIGATIONS", {
    x:4.4, y:4.4, w:8.6, h:0.4,
    fontSize:13, bold:true, color:C.accent, fontFace:"Calibri"
  });

  const investCols = [
    { title:"Screening", items:["ECG: RVH, RAD, P-pulmonale, RBBB","Echo: sPAP >36 mmHg = PH likely","6MWD (6-min walk distance)","BNP/NT-proBNP (prognosis)","CXR: PA enlargement, pruning"] },
    { title:"Confirm PH", items:["V/Q scan (CTEPH screen)","CTPA: PE, parenchymal disease","HRCT chest: ILD","PFTs + DLCO","HIV, LFT, TFT, ANA, anti-SCL70"] },
    { title:"Definitive (RHC)", items:["mPAP, PAWP, PVR, CO","Vasoreactivity test (iNO/adenosine)","Response: ↓mPAP ≥10 to <40 mmHg","Indicates CCB responders (~10%)","Required before starting PAH therapy"] },
  ];
  investCols.forEach((col, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:4.9, w:2.75, h:2.45, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:4.9, w:2.75, h:0.45, fill:{color:C.bgAlt} });
    slide.addText(col.title, { x:4.4+i*2.9, y:4.9, w:2.75, h:0.45, fontSize:11, bold:true, color:C.teal, fontFace:"Calibri", align:"center" });
    const textArr = col.items.map((item, idx) => ({
      text: item,
      options: { color:C.light, fontSize:9, bullet:true, fontFace:"Calibri", breakLine: idx < col.items.length-1 }
    }));
    slide.addText(textArr, { x:4.5+i*2.9, y:5.4, w:2.55, h:1.9, valign:"top" });
  });

  addBullets(slide, [
    { text:"Echo criteria for PH:", bold:true },
    "TRV >3.4 m/s = high prob",
    "TRV 2.9–3.4 = intermediate",
    "TRV <2.9 + other signs = intermediate",
    { text:"Other echo signs:", bold:true },
    "RV:LV ratio >1.0",
    "TAPSE <17 mm (RV dysfunction)",
    "IVC dilation > 2.1 cm"
  ], 0.2, 4.35, 3.9, 3.0, 10, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 7: PAH MANAGEMENT — ESC/ERS 2022
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "PAH Management\n(Group 1)\nESC/ERS 2022", "Risk-Stratified Approach");

  slide.addText("RISK STRATIFICATION AT DIAGNOSIS (3-STRATA MODEL)", {
    x:4.4, y:0.2, w:8.7, h:0.4,
    fontSize:12, bold:true, color:C.gold, fontFace:"Calibri"
  });

  const risk = [
    { level:"LOW RISK", desc:"FC I-II | 6MWD >440m | BNP <50 | No RVF | TAPSE >20 | CI >2.5", col:C.green },
    { level:"INTERMEDIATE RISK", desc:"FC III | 6MWD 165–440m | BNP 50–300 | RA area >18 cm² | TAPSE 12–20", col:C.yellow },
    { level:"HIGH RISK", desc:"FC IV | 6MWD <165m | BNP >300 | Pericardial effusion | TAPSE <12 | CI <2.0", col:C.red },
  ];
  risk.forEach((r, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:0.7, w:2.75, h:1.9, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:0.7, w:2.75, h:0.45, fill:{color:r.col} });
    slide.addText(r.level, { x:4.4+i*2.9, y:0.7, w:2.75, h:0.45, fontSize:10, bold:true, color:C.dark, fontFace:"Calibri", align:"center" });
    slide.addText(r.desc, { x:4.5+i*2.9, y:1.2, w:2.55, h:1.3, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
  });

  slide.addShape(pres.ShapeType.rect, { x:4.4, y:2.75, w:8.6, h:0.04, fill:{color:C.teal} });
  slide.addText("INITIAL COMBINATION THERAPY (ESC/ERS 2022 — GRADE I, Level A)", {
    x:4.4, y:2.85, w:8.7, h:0.45,
    fontSize:12, bold:true, color:C.teal, fontFace:"Calibri"
  });

  const therapyRows = [
    { title:"Low/Intermediate Risk (de novo)", detail:"ERA + PDE5i (e.g. AMBITION trial: ambrisentan + tadalafil — Class I A)", col:C.teal },
    { title:"High Risk", detail:"ERA + PDE5i + SC/IV prostanoid (triple therapy); consider epoprostenol (Class I A)", col:C.accent },
    { title:"Vasoreactive (CCB response +ve)", detail:"Calcium channel blockers first (nifedipine, diltiazem, amlodipine) — only ~10% eligible", col:C.gold },
    { title:"SOTATERCEPT (2024)", detail:"Activin receptor ligand trap — add-on for PAH; FDA/EMA approved; STELLAR trial showed ↑ 6MWD, improved FC", col:C.green },
  ];
  therapyRows.forEach((t, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4, y:3.4+i*0.9, w:0.2, h:0.8, fill:{color:t.col} });
    slide.addShape(pres.ShapeType.rect, { x:4.6, y:3.4+i*0.9, w:8.3, h:0.8, fill:{color:C.bgAlt} });
    slide.addText(t.title, { x:4.7, y:3.42+i*0.9, w:3.5, h:0.36, fontSize:10, bold:true, color:t.col, fontFace:"Calibri" });
    slide.addText(t.detail, { x:4.7, y:3.77+i*0.9, w:8.1, h:0.38, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
  });

  addBullets(slide, [
    { text:"General measures:", bold:true },
    "Avoid pregnancy (teratogenic drugs)",
    "Supervised exercise/rehab",
    "Diuretics for fluid overload",
    "Oral anticoagulation: consider in IPAH",
    "O2 if SpO2 <91% at rest",
    { text:"Escalation / Rescue:", bold:true },
    "IV epoprostenol (most potent)",
    "Lung transplantation (bilateral)",
    "Balloon atrial septostomy (palliation)"
  ], 0.2, 0.8, 3.9, 6.5, 10, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SECTION 2 DIVIDER
// ══════════════════════════════════════════════════════════════════════════════
sectionDivider(pres, "02", "VENOUS THROMBOEMBOLISM", "DVT · Pathophysiology · Diagnosis", C.gold);

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 8: VTE — PATHOPHYSIOLOGY & RISK FACTORS
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "VTE\nPathophysiology\n& Risk Factors", "Virchow's Triad");

  slide.addText("VIRCHOW'S TRIAD — THE THREE PILLARS OF THROMBOSIS", {
    x:4.4, y:0.2, w:8.7, h:0.4,
    fontSize:12, bold:true, color:C.gold, fontFace:"Calibri"
  });

  const triad = [
    { name:"Venous Stasis", examples:"Immobility, long-haul travel, paralysis, CCF, obesity, varicose veins, pregnancy", col:C.teal, icon:"≈" },
    { name:"Endothelial Injury", examples:"Surgery, trauma, IV catheters, vasculitis, hyperhomocysteinaemia, anticardiolipin Ab", col:C.accent, icon:"✕" },
    { name:"Hypercoagulability", examples:"Factor V Leiden, Protein C/S deficiency, antithrombin deficiency, OCP, malignancy, APS, pregnancy", col:C.gold, icon:"↑" },
  ];
  triad.forEach((t, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.95, y:0.7, w:2.8, h:3.0, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.95, y:0.7, w:2.8, h:0.55, fill:{color:t.col} });
    slide.addText(`${t.icon}  ${t.name}`, { x:4.4+i*2.95, y:0.7, w:2.8, h:0.55, fontSize:12, bold:true, color:C.white, fontFace:"Calibri", align:"center" });
    slide.addText(t.examples, { x:4.5+i*2.95, y:1.35, w:2.6, h:2.2, fontSize:9.5, color:C.light, fontFace:"Calibri", wrap:true });
  });

  slide.addShape(pres.ShapeType.rect, { x:4.4, y:3.85, w:8.6, h:0.04, fill:{color:C.accent} });
  slide.addText("DVT — CLINICAL FEATURES & DIAGNOSIS", {
    x:4.4, y:3.95, w:8.6, h:0.4,
    fontSize:12, bold:true, color:C.accent, fontFace:"Calibri"
  });

  const dvtCols = [
    { title:"Clinical Signs", items:["Calf pain, tenderness","Swelling, erythema","Warmth","Pitting oedema","Homans sign (unreliable)","Phlegmasia cerulea dolens (massive DVT)"] },
    { title:"Pre-test: Wells DVT Score", items:["Active cancer (+1)","Paralysis/immobility (+1)","Bedridden >3d / major surgery (+1)","Localised DVT tenderness (+1)","Entire leg swollen (+1)","Calf swelling ≥3cm (+1)","Collateral veins (+1)","Pitting oedema (+1)","Alt Dx as likely as DVT (−2)","≥2: High prob | 1: Moderate | <1: Low"] },
    { title:"Investigations", items:["D-dimer (sensitive, not specific)","Compression duplex USS (1st line)","CT venography (pelvic/abdominal)","MRI venography (pregnancy)","Negative D-dimer + low Wells = excludes DVT"] },
  ];
  dvtCols.forEach((col, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:4.45, w:2.75, h:3.0, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:4.45, w:2.75, h:0.4, fill:{color:C.bgAlt} });
    slide.addText(col.title, { x:4.4+i*2.9, y:4.45, w:2.75, h:0.4, fontSize:10, bold:true, color:C.teal, fontFace:"Calibri", align:"center" });
    const textArr = col.items.map((item, idx) => ({
      text: item, options:{ color:C.light, fontSize:8.5, bullet:true, fontFace:"Calibri", breakLine:idx<col.items.length-1 }
    }));
    slide.addText(textArr, { x:4.5+i*2.9, y:4.9, w:2.55, h:2.5, valign:"top" });
  });

  addBullets(slide, [
    { text:"Epidemiology:", bold:true },
    "VTE: 3rd leading cardiovascular cause of death",
    "Incidence: 1–2 per 1000 person-years",
    "DVT: 60–70% of all VTE",
    "30-day mortality PE: ~10–15%",
    { text:"Hereditary thrombophilia:", bold:true },
    "Factor V Leiden: Most common (5% pop.)",
    "Prothrombin G20210A mutation",
    "Protein C/S, Antithrombin deficiency",
    { text:"Acquired:", bold:true },
    "APS, malignancy, pregnancy",
    "HIT (heparin-induced)"
  ], 0.2, 0.8, 3.9, 6.5, 9.5, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SECTION 3 DIVIDER
// ══════════════════════════════════════════════════════════════════════════════
sectionDivider(pres, "03", "ACUTE PULMONARY EMBOLISM", "2026 AHA/ACC Clinical Category Classification", C.accent);

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 9: PE CLASSIFICATION — 2026 AHA/ACC CATEGORIES A–E
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "2026 AHA/ACC\nPE Clinical\nCategories A–E", "NEW — De Novo Classification");

  slide.addText("AHA/ACC ACUTE PE CLINICAL CATEGORIES — 2026 GUIDELINE (1st EVER JOINT GUIDELINE)", {
    x:4.4, y:0.18, w:8.7, h:0.45,
    fontSize:11, bold:true, color:C.gold, fontFace:"Calibri"
  });

  const peCats = [
    { cat:"A", label:"Subclinical / Incidental", hemo:"Asymptomatic", rv:"Normal RV & biomarkers", mgmt:"Anticoagulation (DOAC). Discharge home. No hospitalisation needed.", col:C.green },
    { cat:"B", label:"Low Severity", hemo:"Symptomatic | SBP ≥90", rv:"Normal RV / no significant biomarker rise (C1)", mgmt:"Anticoagulation; early discharge. Outpatient management generally safe.", col:C.yellow },
    { cat:"C", label:"Intermediate Severity", hemo:"Symptomatic | SBP ≥90 | C1: normal RV + no biomarkers | C2: abnormal RV OR biomarkers | C3: abnormal RV AND biomarkers", rv:"C3 = highest within Category C", mgmt:"Anticoagulate; hospitalise. C3: consider CDL or PERT engagement if deteriorating.", col:C.orange },
    { cat:"D", label:"High Severity (Non-obstructive Shock)", hemo:"SBP <90 OR ↓40 mmHg ≥15min (not explained by arrhythmia/sepsis)", rv:"Severe RV dysfunction + biomarker elevation", mgmt:"PERT activation, UFH, consider CDL/MT/surgical embolectomy. Haemodynamic support.", col:C.red },
    { cat:"E", label:"Obstructive Cardiogenic Shock / Arrest", hemo:"E1: Cardiogenic shock with persistent hypotension | E2: Cardiac arrest", rv:"Severe RV failure, refractory shock", mgmt:"ECMO, systemic thrombolysis (E2: cardiac arrest), surgical/catheter embolectomy. ICU.", col:C.accent },
  ];

  peCats.forEach((c, i) => {
    const y = 0.72 + i * 1.21;
    slide.addShape(pres.ShapeType.rect, { x:4.4, y, w:0.7, h:1.1, fill:{color:c.col} });
    slide.addText(`CAT\n${c.cat}`, { x:4.4, y, w:0.7, h:1.1, fontSize:11, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle" });
    slide.addShape(pres.ShapeType.rect, { x:5.1, y, w:8.0, h:1.1, fill:{color:C.bgAlt} });
    slide.addText(c.label, { x:5.2, y:y+0.04, w:7.8, h:0.32, fontSize:10.5, bold:true, color:c.col, fontFace:"Calibri" });
    slide.addText(`Haemodynamics: ${c.hemo}  |  RV: ${c.rv}`, { x:5.2, y:y+0.35, w:7.8, h:0.32, fontSize:8.5, color:C.muted, fontFace:"Calibri", italic:true });
    slide.addText(`Mgmt: ${c.mgmt}`, { x:5.2, y:y+0.65, w:7.8, h:0.38, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
  });

  addBullets(slide, [
    { text:"KEY CHANGE:", bold:true, color:C.gold },
    { text:"Old: massive/submassive/low-risk", bold:false },
    { text:"New: Categories A–E (5 categories)", bold:false },
    "Subcategories (C1,C2,C3,D1,D2,E1,E2)",
    "Based on: symptoms, haemodynamics, RV size/function, biomarkers",
    { text:"Enables precise therapy decision", bold:true },
    "Cat A+B → safe for early/home discharge",
    "Cat C3-D → PERT activation recommended",
    "Cat E → aggressive intervention"
  ], 0.15, 0.72, 4.05, 5.8, 9.5, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 10: PE DIAGNOSIS ALGORITHM
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "PE Diagnosis\nAlgorithm &\nRisk Scores", "Wells · PESI · D-dimer");

  slide.addText("DIAGNOSTIC ALGORITHM FOR SUSPECTED PE (2026 GUIDELINE)", {
    x:4.4, y:0.2, w:8.7, h:0.4,
    fontSize:12, bold:true, color:C.white, fontFace:"Calibri"
  });
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.62, w:8.6, h:0.04, fill:{color:C.teal} });

  // Algorithm flow
  const algoSteps = [
    { step:"Clinical Suspicion\n(Dyspnoea, pleuritic pain, tachycardia, hypoxia, risk factors)", col:C.teal, x:4.4, y:0.75, w:5.2 },
    { step:"Assess haemodynamic stability\nUnstable → EMERGENT CTPA / Bedside Echo / Empiric anticoagulation", col:C.accent, x:4.4, y:1.7, w:5.2 },
    { step:"Wells PE Score\n≤4: Low/Moderate → D-dimer first\n>4: High probability → CTPA directly", col:C.gold, x:4.4, y:2.75, w:5.2 },
    { step:"D-dimer (age-adjusted: D-dimer < age×10 if ≥50yrs)\nNegative → PE excluded\nPositive → CTPA", col:C.teal, x:4.4, y:3.8, w:5.2 },
    { step:"CTPA — Gold Standard (Sensitivity 95%, Specificity 98%)\nAlternative: V/Q scan (pregnancy, CKD, dye allergy)", col:C.green, x:4.4, y:4.85, w:5.2 },
  ];
  algoSteps.forEach((s, i) => {
    slide.addShape(pres.ShapeType.rect, { x:s.x, y:s.y, w:s.w, h:0.85, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:s.x, y:s.y, w:0.18, h:0.85, fill:{color:s.col} });
    slide.addText(s.step, { x:s.x+0.25, y:s.y+0.05, w:s.w-0.3, h:0.78, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
    if (i < algoSteps.length-1) {
      slide.addText("▼", { x:s.x+2.3, y:s.y+0.82, w:0.6, h:0.28, fontSize:12, color:s.col, fontFace:"Calibri", align:"center" });
    }
  });

  // Wells Score
  slide.addText("WELLS PE SCORE", {
    x:9.8, y:0.65, w:3.5, h:0.38,
    fontSize:11, bold:true, color:C.gold, fontFace:"Calibri"
  });
  const wellsPE = [
    "Clinical signs DVT: +3",
    "PE most likely Dx: +3",
    "HR >100: +1.5",
    "Immobilisation ≥3d / surgery: +1.5",
    "Prev DVT/PE: +1.5",
    "Haemoptysis: +1",
    "Malignancy (Rx active): +1",
    "Score >4 = PE likely",
    "Score ≤4 = PE unlikely",
  ];
  addBullets(slide, wellsPE, 9.8, 1.1, 3.35, 3.0, 9, C.light);

  // PESI Score
  slide.addText("sPESI (Simplified PESI)", {
    x:9.8, y:4.3, w:3.5, h:0.38,
    fontSize:11, bold:true, color:C.teal, fontFace:"Calibri"
  });
  const spesi = [
    "Age >80: +1",
    "Cancer: +1",
    "Chronic cardiopulmonary: +1",
    "HR ≥110: +1",
    "SBP <100: +1",
    "SpO2 <90%: +1",
    "Score 0 = low risk (30d mortality 1%)",
    "Score ≥1 = high risk (10.9%)",
  ];
  addBullets(slide, spesi, 9.8, 4.75, 3.35, 2.5, 9, C.light);

  addBullets(slide, [
    { text:"Biomarkers in PE:", bold:true },
    "Troponin I/T: RV micronecrosis → mortality risk",
    "BNP/NT-proBNP: RV wall stress",
    "Lactate: tissue perfusion",
    "Echo: RV:LV >0.9, McConnell sign, D-sign",
    { text:"ECG:", bold:true },
    "S1Q3T3 (25% sensitive)",
    "Sinus tachycardia (most common)",
    "New RBBB, T-wave inversions V1-V4",
    "AF possible in massive PE"
  ], 0.2, 0.8, 3.9, 5.5, 9.5, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 11: PE MANAGEMENT — 2026 GUIDELINE
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "PE Management\n2026 AHA/ACC\nGuideline", "Anticoagulation to Advanced Interventions");

  slide.addText("ANTICOAGULATION — FIRST-LINE TREATMENT (ALL CATEGORIES)", {
    x:4.4, y:0.2, w:8.7, h:0.42,
    fontSize:12, bold:true, color:C.gold, fontFace:"Calibri"
  });
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.65, w:8.6, h:0.04, fill:{color:C.gold} });

  const acRows = [
    { drug:"DOACs (Preferred)", detail:"Rivaroxaban: 15mg BD ×21d → 20mg OD | Apixaban: 10mg BD ×7d → 5mg BD | Edoxaban: after 5–10d UFH/LMWH | Dabigatran: after 5-10d parenteral", col:C.teal },
    { drug:"LMWH", detail:"Enoxaparin 1mg/kg SC BD or 1.5mg/kg OD. Preferred in cancer (superior to VKA), pregnancy (DOACs contraindicated)", col:C.gold },
    { drug:"UFH", detail:"Bolus 80 IU/kg → infusion 18 IU/kg/hr. Preferred if renal failure, need for reversal, or advanced intervention planned", col:C.orange },
    { drug:"Warfarin (VKA)", detail:"INR 2–3. Only if DOAC contraindicated (APS, valvular disease, pregnancy planned, renal failure). Overlap UFH/LMWH ≥5d until INR therapeutic ×24h", col:C.muted },
  ];
  acRows.forEach((r, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.8+i*0.95, w:1.8, h:0.85, fill:{color:r.col} });
    slide.addText(r.drug, { x:4.4, y:0.8+i*0.95, w:1.8, h:0.85, fontSize:9, bold:true, color:C.dark, fontFace:"Calibri", align:"center", valign:"middle" });
    slide.addShape(pres.ShapeType.rect, { x:6.2, y:0.8+i*0.95, w:6.8, h:0.85, fill:{color:C.bgAlt} });
    slide.addText(r.detail, { x:6.3, y:0.83+i*0.95, w:6.6, h:0.8, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
  });

  slide.addShape(pres.ShapeType.rect, { x:4.4, y:4.7, w:8.6, h:0.04, fill:{color:C.accent} });
  slide.addText("ADVANCED INTERVENTIONS — CATEGORY C3/D/E", {
    x:4.4, y:4.8, w:8.7, h:0.42,
    fontSize:12, bold:true, color:C.accent, fontFace:"Calibri"
  });

  const advTherapy = [
    { title:"Systemic Thrombolysis", detail:"Alteplase 100mg IV over 2h. Cat E (cardiac arrest/obstructive shock). Contraindicated if recent surgery, stroke, active bleeding. Major bleeding 9.9%, ICH 1.7%", col:C.accent },
    { title:"Catheter-Directed Lysis (CDL)", detail:"Local low-dose tPA via catheter. Cat C3-D2 if deteriorating/high risk. Lower bleeding vs systemic. Not yet vs anticoagulation head-to-head in RCT", col:C.orange },
    { title:"Mechanical Thrombectomy (MT)", detail:"Catheter-based: FlowTriever, Inari, AngioVac. Cat D-E. No lytic agent → lower bleeding risk. Growing evidence base.", col:C.gold },
    { title:"Surgical Embolectomy", detail:"Cat D1-E2. Open-heart surgery — high survival >97% in experienced centres when cat E1. Viable if thrombolysis contraindicated/failed.", col:C.teal },
  ];
  advTherapy.forEach((t, i) => {
    const col = i < 2 ? 0 : 1;
    const row = i % 2;
    slide.addShape(pres.ShapeType.rect, { x:4.4+col*4.35, y:5.35+row*0.9, w:4.2, h:0.82, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+col*4.35, y:5.35+row*0.9, w:0.18, h:0.82, fill:{color:t.col} });
    slide.addText(t.title, { x:4.65+col*4.35, y:5.38+row*0.9, w:3.8, h:0.3, fontSize:9.5, bold:true, color:t.col, fontFace:"Calibri" });
    slide.addText(t.detail, { x:4.65+col*4.35, y:5.67+row*0.9, w:3.8, h:0.45, fontSize:8, color:C.light, fontFace:"Calibri", wrap:true });
  });

  addBullets(slide, [
    { text:"IVC Filters (2026):", bold:true },
    "Retrievable filter if anticoagulation CONTRAINDICATED",
    "NOT recommended routinely alongside anticoagulation",
    "Retrieve as soon as possible once anticoagulant safe",
    { text:"PERT — PE Response Team:", bold:true },
    "Multidisciplinary: pulm, cards, CT surg, IR, heme",
    "Activate for Cat C3 and above",
    "Shown to improve time to intervention",
    { text:"Haemodynamic support:", bold:true },
    "Vasopressors: noradrenaline preferred",
    "Avoid excessive IV fluids (RV distension worsens)",
    "ECMO: bridge in Cat E (COR 2a)"
  ], 0.2, 0.8, 3.9, 6.5, 9.5, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 12: CTEPH
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "CTEPH\n(WHO Group 4)\nChronic Thrombo-\nembolic PH", "Only Surgically Curable Form of PH");

  slide.addText("CHRONIC THROMBOEMBOLIC PULMONARY HYPERTENSION", {
    x:4.4, y:0.18, w:8.7, h:0.45,
    fontSize:13, bold:true, color:C.gold, fontFace:"Calibri"
  });
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.65, w:8.6, h:0.04, fill:{color:C.gold} });

  // Key facts
  const facts = [
    { label:"Incidence after PE", value:"~4% after acute PE; 25% have no prior PE history" },
    { label:"Pathogenesis", value:"Failed clot resolution → organised intravascular scar → ↑PVR → PH. Delayed diagnosis (>2 weeks) is key risk factor" },
    { label:"Risk Factors", value:"Recurrent PE, large PE, mPAP >50 at diagnosis, residual perfusion defect, APS, splenectomy, infected pacemaker leads" },
    { label:"Presentation", value:"Progressive dyspnoea months-years after PE. Clinically indistinguishable from PAH. Requires high suspicion" },
  ];
  facts.forEach((f, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.8+i*0.78, w:2.0, h:0.68, fill:{color:C.teal} });
    slide.addText(f.label, { x:4.4, y:0.8+i*0.78, w:2.0, h:0.68, fontSize:9, bold:true, color:C.dark, fontFace:"Calibri", align:"center", valign:"middle" });
    slide.addShape(pres.ShapeType.rect, { x:6.4, y:0.8+i*0.78, w:6.6, h:0.68, fill:{color:C.bgAlt} });
    slide.addText(f.value, { x:6.5, y:0.82+i*0.78, w:6.4, h:0.65, fontSize:9, color:C.light, fontFace:"Calibri", wrap:true });
  });

  // Diagnosis
  slide.addText("DIAGNOSTIC PATHWAY FOR CTEPH", {
    x:4.4, y:4.0, w:8.7, h:0.4,
    fontSize:11, bold:true, color:C.teal, fontFace:"Calibri"
  });

  const diagSteps = [
    { s:"V/Q Scan\n(Screen for CTEPH — superior to CTPA for screening)", col:C.teal },
    { s:"CTPA\n(Characterise clot burden, vessel morphology, parenchymal disease)", col:C.gold },
    { s:"Right Heart Catheterisation\n(Confirm PH: mPAP >20, PVR ≥3 WU; PAWP ≤15)", col:C.accent },
    { s:"Digital Subtraction Angiography\n(Pre-operative mapping; webs, bands, pouching defects)", col:C.orange },
  ];
  diagSteps.forEach((d, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.2, y:4.5, w:2.05, h:1.2, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.2, y:4.5, w:2.05, h:0.2, fill:{color:d.col} });
    slide.addText((i+1).toString(), { x:4.4+i*2.2, y:4.7, w:0.5, h:0.5, fontSize:20, bold:true, color:d.col, fontFace:"Calibri", align:"center" });
    slide.addText(d.s, { x:4.9+i*2.2, y:4.55, w:1.5, h:1.1, fontSize:8.5, color:C.light, fontFace:"Calibri", wrap:true });
  });

  // Treatment
  slide.addText("TREATMENT", {
    x:4.4, y:5.85, w:8.7, h:0.38,
    fontSize:11, bold:true, color:C.accent, fontFace:"Calibri"
  });

  const treatments = [
    { title:"PTE (Pulmonary Thromboendarterectomy)", detail:"SURGICAL CURE — treatment of choice for operable proximal disease. Survival >90%. Life-long anticoagulation post-op.", col:C.green },
    { title:"Balloon Pulmonary Angioplasty (BPA)", detail:"For inoperable or residual CTEPH. Serial sessions. ↑ haemodynamics + exercise capacity. Riociguat as adjunct.", col:C.teal },
    { title:"Medical: Riociguat", detail:"sGC stimulator — ONLY drug approved specifically for CTEPH. CHEST-1 trial: ↑6MWD, ↓PVR. Use if inoperable or residual post-PTE.", col:C.gold },
  ];
  treatments.forEach((t, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:6.3, w:2.75, h:1.1, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:4.4+i*2.9, y:6.3, w:2.75, h:0.3, fill:{color:t.col} });
    slide.addText(t.title, { x:4.45+i*2.9, y:6.3, w:2.65, h:0.3, fontSize:8.5, bold:true, color:C.dark, fontFace:"Calibri" });
    slide.addText(t.detail, { x:4.45+i*2.9, y:6.65, w:2.65, h:0.7, fontSize:8, color:C.light, fontFace:"Calibri", wrap:true });
  });

  addBullets(slide, [
    { text:"CTEPH Key Points:", bold:true },
    "Screen ALL PE patients at 3–6 months",
    "Echo at follow-up: PH signs?",
    "V/Q scan: gold standard screen",
    "Expert referral mandatory",
    "Lifelong anticoagulation",
    { text:"Post-PTE outcomes:", bold:true },
    "60–80% normalise haemodynamics",
    "25% residual or recurrent PH",
    "Lung transplant: last resort",
    { text:"CTPA vs V/Q:", bold:true },
    "V/Q better for CTEPH screening",
    "CTPA: anatomic detail pre-op",
    "Both often performed"
  ], 0.2, 0.8, 3.9, 6.5, 9.5, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 13: LONG-TERM MANAGEMENT & FOLLOW-UP
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slideHeader(slide, "Long-Term\nManagement\n& Follow-Up", "Post-PE Syndrome · Anticoagulation Duration");

  slide.addText("DURATION OF ANTICOAGULATION AFTER VTE/PE (2026 GUIDELINE)", {
    x:4.4, y:0.18, w:8.7, h:0.42,
    fontSize:12, bold:true, color:C.gold, fontFace:"Calibri"
  });
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.65, w:8.6, h:0.04, fill:{color:C.gold} });

  const acDuration = [
    { scenario:"Provoked (major transient — surgery, trauma)", duration:"3–6 months", rec:"Stop after 3 months if risk factor resolved", col:C.green },
    { scenario:"Provoked (minor persistent — OCP, long-haul)", duration:"≥3 months; consider extended", rec:"Reassess risk-benefit for extended therapy", col:C.yellow },
    { scenario:"Unprovoked first PE/DVT", duration:"≥3 months; consider indefinite", rec:"Low annual recurrence risk: stop; high risk: extend. DOAC preferred.", col:C.orange },
    { scenario:"Recurrent unprovoked VTE", duration:"Indefinite anticoagulation", rec:"Risk of recurrence >30% at 5 years; benefit outweighs risk", col:C.accent },
    { scenario:"Cancer-associated thrombosis (CAT)", duration:"Indefinite or until cancer resolved", rec:"LMWH or DOAC (rivaroxaban/apixaban). Edoxaban/dabigatran: ↑ GI bleed", col:C.teal },
    { scenario:"APS (Antiphospholipid Syndrome)", duration:"Indefinite", rec:"Warfarin preferred (INR 2–3); DOACs may have higher recurrence rates in triple+ve", col:C.muted },
  ];
  acDuration.forEach((r, i) => {
    slide.addShape(pres.ShapeType.rect, { x:4.4, y:0.8+i*0.85, w:0.18, h:0.75, fill:{color:r.col} });
    slide.addShape(pres.ShapeType.rect, { x:4.58, y:0.8+i*0.85, w:8.4, h:0.75, fill:{color:C.bgAlt} });
    slide.addText(r.scenario, { x:4.68, y:0.83+i*0.85, w:4.5, h:0.32, fontSize:9.5, bold:true, color:C.white, fontFace:"Calibri" });
    slide.addText(`Duration: ${r.duration}`, { x:4.68, y:1.1+i*0.85, w:4.5, h:0.32, fontSize:9, color:r.col, fontFace:"Calibri" });
    slide.addText(r.rec, { x:9.3, y:0.83+i*0.85, w:3.6, h:0.65, fontSize:8.5, color:C.muted, fontFace:"Calibri", italic:true, wrap:true });
  });

  // Post-PE syndrome
  slide.addShape(pres.ShapeType.rect, { x:4.4, y:6.05, w:8.6, h:0.04, fill:{color:C.teal} });
  slide.addText("POST-PE SYNDROME & CHRONIC FOLLOW-UP (2026 Guideline)", {
    x:4.4, y:6.15, w:8.7, h:0.38,
    fontSize:11, bold:true, color:C.teal, fontFace:"Calibri"
  });

  const followUp = [
    { title:"Dyspnoea at 3–6 months?", detail:"Echo to screen for CTEPH. V/Q scan if echo suggests PH. Exercise testing if unexplained dyspnoea." },
    { title:"Post-PE Syndrome (chronic dyspnoea/impaired QoL)", detail:"15–25% of PE survivors. Functional limitation, exercise intolerance. Supervised exercise rehab recommended." },
    { title:"Psychological: Depression/Anxiety/PTSD", detail:"Affects up to 30% of survivors. Screen and refer. Peer support programs." },
    { title:"Contraception / Pregnancy counselling", detail:"OCP contraindicated. Progestogen-only / IUD preferred. DOACs: teratogenic — switch to LMWH if pregnancy planned." },
  ];
  followUp.forEach((f, i) => {
    const x = 4.4 + (i<2 ? 0 : 4.35);
    const y = i%2===0 ? 6.6 : 7.15;
    // For last row keep y reasonable
    const yy = 6.6 + Math.floor(i/2)*0.62;
    const xx = 4.4 + (i%2)*4.35;
    slide.addShape(pres.ShapeType.rect, { x:xx, y:yy, w:4.2, h:0.55, fill:{color:C.dark} });
    slide.addShape(pres.ShapeType.rect, { x:xx, y:yy, w:0.15, h:0.55, fill:{color:C.teal} });
    slide.addText(f.title, { x:xx+0.2, y:yy+0.02, w:3.9, h:0.24, fontSize:9, bold:true, color:C.teal, fontFace:"Calibri" });
    slide.addText(f.detail, { x:xx+0.2, y:yy+0.25, w:3.9, h:0.27, fontSize:8, color:C.light, fontFace:"Calibri", wrap:true });
  });

  addBullets(slide, [
    { text:"Recurrence risk:", bold:true },
    "Provoked: 5% / year after stopping",
    "Unprovoked: 10–15% / year",
    "Recurrent unprovoked: >30% at 5yr",
    { text:"Bleeding risk (HAS-BLED, VTE-BLEED):", bold:true },
    "Age >75, renal/liver disease",
    "Prior bleeding, thrombocytopenia",
    "NSAID/antiplatelet use",
    { text:"Reversal agents:", bold:true },
    "Warfarin: Vit K + 4F-PCC",
    "Dabigatran: Idarucizumab",
    "Xa inhibitors: Andexanet alfa"
  ], 0.2, 0.8, 3.9, 6.5, 9.5, C.light);
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 14: KEY TAKEAWAYS
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  slide.background = { color: C.dark };
  slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:0.1, fill:{color:C.accent} });
  slide.addShape(pres.ShapeType.rect, { x:0, y:7.4, w:13.3, h:0.1, fill:{color:C.teal} });

  slide.addText("KEY TAKEAWAYS", {
    x:0.5, y:0.2, w:12.3, h:0.6,
    fontSize:24, bold:true, color:C.white, fontFace:"Calibri", align:"center", charSpacing:4
  });
  slide.addShape(pres.ShapeType.rect, { x:3, y:0.85, w:7.3, h:0.06, fill:{color:C.gold} });

  const takeaways = [
    { num:"1", text:"PH is defined by mPAP >20 mmHg on RHC (updated from >25 mmHg). Pre-capillary PH requires BOTH PAWP ≤15 AND PVR ≥3 WU.", col:C.teal },
    { num:"2", text:"5 WHO groups: PAH (Group 1) is the target of specific therapy. CTEPH (Group 4) is the only surgically curable form.", col:C.gold },
    { num:"3", text:"PAH: Initial combination therapy ERA + PDE5i (ESC/ERS 2022, Class I-A). Sotatercept is a new add-on therapy (2024). Vasoreactivity test guides CCB use.", col:C.teal },
    { num:"4", text:"2026 AHA/ACC Guideline: NEW 5-category A–E PE classification replaces massive/submassive/low-risk — improves precision of therapy decisions.", col:C.accent },
    { num:"5", text:"PE Diagnosis: Age-adjusted D-dimer, Wells score, CTPA (gold standard). V/Q scan for CTEPH screening and pregnancy.", col:C.gold },
    { num:"6", text:"PE Treatment: DOACs preferred over warfarin. PERT for Category C3+. Systemic thrombolysis for Category E (cardiac arrest). ECMO as bridge.", col:C.accent },
    { num:"7", text:"CTEPH: Screen all PE patients at 3–6 months. V/Q scan → RHC. PTE is curative; BPA + riociguat for inoperable disease.", col:C.orange },
    { num:"8", text:"Post-PE: Screen for post-PE syndrome, CTEPH, depression/anxiety. Duration of anticoagulation depends on provoked vs unprovoked and risk factors.", col:C.green },
  ];
  takeaways.forEach((t, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = col === 0 ? 0.3 : 6.8;
    const y = 1.05 + row * 1.55;
    slide.addShape(pres.ShapeType.rect, { x, y, w:6.2, h:1.4, fill:{color:C.bg} });
    slide.addShape(pres.ShapeType.rect, { x, y, w:0.5, h:1.4, fill:{color:t.col} });
    slide.addText(t.num, { x, y, w:0.5, h:1.4, fontSize:16, bold:true, color:C.dark, fontFace:"Calibri", align:"center", valign:"middle" });
    slide.addText(t.text, { x:x+0.6, y:y+0.1, w:5.5, h:1.2, fontSize:9.5, color:C.light, fontFace:"Calibri", wrap:true, valign:"middle" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 15: REFERENCES
// ══════════════════════════════════════════════════════════════════════════════
{
  const slide = pres.addSlide();
  sectionBg(slide);
  slide.addText("REFERENCES & GUIDELINES", {
    x:0.4, y:0.2, w:12.5, h:0.55,
    fontSize:20, bold:true, color:C.white, fontFace:"Calibri", align:"center"
  });
  slide.addShape(pres.ShapeType.rect, { x:1.5, y:0.8, w:10.3, h:0.06, fill:{color:C.teal} });

  const refs = [
    { tag:"[1]", text:"Humbert M et al. 2022 ESC/ERS Guidelines for the Diagnosis and Treatment of Pulmonary Hypertension. Eur Heart J. 2022;43(38):3618–3731." },
    { tag:"[2]", text:"Creager MA, Barnes GD, Giri J et al. 2026 AHA/ACC/ACCP/ACEP/CHEST/SCAI/SHM/SIR/SVM/SVN Guideline for the Evaluation and Management of Acute Pulmonary Embolism in Adults. Circulation. 2026. PMID: 41712677. DOI: 10.1161/CIR.0000000000001415" },
    { tag:"[3]", text:"Mukherjee M et al. Guidelines for Echocardiographic Assessment of the Right Heart in Adults and Special Considerations in Pulmonary Hypertension. J Am Soc Echocardiogr. 2025. PMID: 40044341" },
    { tag:"[4]", text:"Schlager O et al. 2025 ESVM Guidelines on Interventional Treatment of Venous Thromboembolism. Vasa. 2025. PMID: 40587333" },
    { tag:"[5]", text:"Fernandes TM, Kerr KM. Chapter 86: Pulmonary Hypertension Due to Chronic Thromboembolic Disease. Murray & Nadel's Textbook of Respiratory Medicine, 2-Volume Set (9780323655873)" },
    { tag:"[6]", text:"Harrison's Principles of Internal Medicine, 21st Edition — Hemodynamic Classification of Pulmonary Hypertension" },
    { tag:"[7]", text:"AMBITION Trial: Galiè N et al. Initial Use of Ambrisentan + Tadalafil in PAH. N Engl J Med. 2015;373:834–844." },
    { tag:"[8]", text:"STELLAR Trial: Hoeper MM et al. Phase 3 Trial of Sotatercept for Treatment of PAH. N Engl J Med. 2023;388(16):1478–1490." },
    { tag:"[9]", text:"PEITHO Trial: Meyer G et al. Fibrinolysis for submassive pulmonary embolism. N Engl J Med. 2014;370(15):1402–1411." },
    { tag:"[10]", text:"CHEST-1 Trial: Ghofrani HA et al. Riociguat for the Treatment of CTEPH. N Engl J Med. 2013;369:319–329." },
  ];

  refs.forEach((r, i) => {
    const colIdx = i < 5 ? 0 : 1;
    const rowIdx = i % 5;
    slide.addText([
      { text:r.tag+" ", options:{ bold:true, color:C.gold } },
      { text:r.text, options:{ color:C.light } }
    ], {
      x:0.4+colIdx*6.45, y:1.0+rowIdx*1.15, w:6.2, h:1.05,
      fontSize:8.5, fontFace:"Calibri", wrap:true, valign:"top"
    });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// WRITE FILE
// ══════════════════════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/ph-vte-ppt/PH_VTE_PE_Residency_2026.pptx" })
  .then(() => console.log("SUCCESS: PH_VTE_PE_Residency_2026.pptx created"))
  .catch(err => { console.error("ERROR:", err); process.exit(1); });
Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.