Hi

Hello! How can I help you today?

Can you make ppt

Asking for Preferences
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/hypertension-ppt

Writing File

~/hypertension-ppt/create_ppt.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Medical Education";
pres.title = "Hypertension: Diagnosis & Management";

// ─── Color Palette ────────────────────────────────────────────────────────────
const C = {
  navy:      "0A2342",   // dominant dark background
  teal:      "1B7F8E",   // supporting accent
  tealLight: "2AABB9",   // lighter teal
  gold:      "E8A020",   // sharp accent / highlights
  white:     "FFFFFF",
  offWhite:  "EDF2F7",
  lightGray: "B0BEC5",
  slate:     "546E7A",
  red:       "C0392B",
  green:     "1E8449",
};

// ─── Helper: section label strip ─────────────────────────────────────────────
function addSectionLabel(slide, label) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 10, h: 0.12, fill: { color: C.gold }, line: { color: C.gold },
  });
  slide.addText(label.toUpperCase(), {
    x: 0.3, y: 0.15, w: 9.4, h: 0.25,
    fontSize: 8, bold: true, color: C.gold, charSpacing: 3,
  });
}

// ─── Helper: slide title ──────────────────────────────────────────────────────
function addSlideTitle(slide, title) {
  slide.addText(title, {
    x: 0.4, y: 0.45, w: 9.2, h: 0.65,
    fontSize: 26, bold: true, color: C.white, fontFace: "Calibri",
  });
  slide.addShape(pres.ShapeType.rect, {
    x: 0.4, y: 1.12, w: 1.2, h: 0.045, fill: { color: C.tealLight }, line: { color: C.tealLight },
  });
}

// ─── Helper: full-slide dark background ──────────────────────────────────────
function darkBG(slide) {
  slide.background = { color: C.navy };
}

// ─── Helper: bullet list ──────────────────────────────────────────────────────
function addBullets(slide, items, opts = {}) {
  const { x = 0.5, y = 1.35, w = 8.9, h = 3.8, fontSize = 17, color = C.white } = opts;
  const textItems = items.map((item, i) => {
    if (typeof item === "string") {
      return { text: item, options: { bullet: { code: "25B8", color: C.gold }, breakLine: i < items.length - 1, fontSize, color, paraSpaceAfter: 6 } };
    }
    // { text, sub: [..] }
    const lines = [{ text: item.text, options: { bullet: { code: "25B8", color: C.gold }, breakLine: true, fontSize, color, bold: true, paraSpaceAfter: 2 } }];
    if (item.sub) {
      item.sub.forEach((s, si) => {
        lines.push({ text: "    " + s, options: { bullet: false, breakLine: si < item.sub.length - 1 || i < items.length - 1, fontSize: fontSize - 2, color: C.lightGray, paraSpaceAfter: 4 } });
      });
    }
    return lines;
  });
  slide.addText(textItems.flat(), { x, y, w, h, valign: "top" });
}

// ─── SLIDE 1: Title Slide ─────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  // Left accent bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.teal }, line: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0.18, y: 0, w: 0.06, h: 5.625, fill: { color: C.gold }, line: { color: C.gold } });

  // ECG decorative line (zigzag)
  s.addShape(pres.ShapeType.rect, { x: 0.4, y: 2.9, w: 9.4, h: 0.02, fill: { color: C.teal }, line: { color: C.teal } });

  s.addText("HYPERTENSION", {
    x: 0.5, y: 1.0, w: 9.2, h: 1.0,
    fontSize: 52, bold: true, color: C.white, fontFace: "Calibri", charSpacing: 4,
  });
  s.addText("Diagnosis & Management", {
    x: 0.5, y: 2.0, w: 9.2, h: 0.65,
    fontSize: 28, bold: false, color: C.tealLight, fontFace: "Calibri",
  });
  s.addShape(pres.ShapeType.rect, { x: 0.5, y: 2.85, w: 4.5, h: 0.05, fill: { color: C.gold }, line: { color: C.gold } });
  s.addText("Clinical Education Series  |  May 2026", {
    x: 0.5, y: 3.05, w: 9, h: 0.4,
    fontSize: 13, color: C.lightGray, italic: true,
  });
  s.addText("For Medical & Clinical Professionals", {
    x: 0.5, y: 3.5, w: 9, h: 0.35,
    fontSize: 12, color: C.slate,
  });
}

// ─── SLIDE 2: Agenda ──────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Overview");
  addSlideTitle(s, "Agenda");

  const topics = [
    "Definition & Classification",
    "Epidemiology & Global Burden",
    "Pathophysiology",
    "Clinical Evaluation & Diagnosis",
    "Ambulatory & Home BP Monitoring",
    "Target Organ Damage",
    "Treatment Goals",
    "Pharmacological Management",
    "Non-Pharmacological Interventions",
    "Hypertensive Urgency & Emergency",
    "Special Populations",
    "Key Takeaways",
  ];

  // Two-column layout
  const col1 = topics.slice(0, 6);
  const col2 = topics.slice(6);

  col1.forEach((t, i) => {
    s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.3 + i * 0.55, w: 0.32, h: 0.32, fill: { color: C.teal }, line: { color: C.teal }, rounding: "50%" });
    s.addText(String(i + 1), { x: 0.5, y: 1.3 + i * 0.55, w: 0.32, h: 0.32, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle" });
    s.addText(t, { x: 0.95, y: 1.32 + i * 0.55, w: 3.9, h: 0.3, fontSize: 13, color: C.offWhite });
  });

  col2.forEach((t, i) => {
    s.addShape(pres.ShapeType.rect, { x: 5.2, y: 1.3 + i * 0.55, w: 0.32, h: 0.32, fill: { color: C.gold }, line: { color: C.gold }, rounding: "50%" });
    s.addText(String(i + 7), { x: 5.2, y: 1.3 + i * 0.55, w: 0.32, h: 0.32, fontSize: 11, bold: true, color: C.navy, align: "center", valign: "middle" });
    s.addText(t, { x: 5.65, y: 1.32 + i * 0.55, w: 3.9, h: 0.3, fontSize: 13, color: C.offWhite });
  });
}

// ─── SLIDE 3: Definition & Classification ─────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Definition & Classification");
  addSlideTitle(s, "Definition & Classification");

  // Table
  const rows = [
    [{ text: "Category", options: { bold: true, color: C.navy, fill: C.gold } }, { text: "Systolic (mmHg)", options: { bold: true, color: C.navy, fill: C.gold } }, { text: "Diastolic (mmHg)", options: { bold: true, color: C.navy, fill: C.gold } }],
    ["Normal", "< 120", "< 80"],
    ["Elevated", "120 – 129", "< 80"],
    ["Stage 1 HTN", "130 – 139", "80 – 89"],
    ["Stage 2 HTN", "β‰₯ 140", "β‰₯ 90"],
    ["Hypertensive Crisis", "β‰₯ 180", "β‰₯ 120"],
  ];

  s.addTable(rows, {
    x: 0.5, y: 1.3, w: 9, colW: [3.2, 2.9, 2.9],
    fontSize: 14,
    color: C.white,
    fill: { color: "112B45" },
    border: { type: "solid", color: C.teal, pt: 1 },
    rowH: 0.48,
    align: "center",
    valign: "middle",
  });

  s.addText("ACC/AHA 2017 Guidelines Classification", {
    x: 0.5, y: 4.55, w: 9, h: 0.3,
    fontSize: 11, color: C.lightGray, italic: true, align: "right",
  });
}

// ─── SLIDE 4: Epidemiology ────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Epidemiology");
  addSlideTitle(s, "Epidemiology & Global Burden");

  // Stat boxes
  const stats = [
    { val: "1.28B", label: "Adults affected worldwide", color: C.teal },
    { val: "30–45%", label: "Prevalence in adults globally", color: C.gold },
    { val: "46%", label: "Adults unaware of their diagnosis", color: C.red },
    { val: "#1", label: "Risk factor for cardiovascular death", color: C.tealLight },
  ];

  stats.forEach((st, i) => {
    const x = 0.4 + i * 2.3;
    s.addShape(pres.ShapeType.rect, { x, y: 1.35, w: 2.1, h: 1.9, fill: { color: "0E2F4A" }, line: { color: st.color, pt: 2 } });
    s.addText(st.val, { x, y: 1.55, w: 2.1, h: 0.75, fontSize: 30, bold: true, color: st.color, align: "center" });
    s.addText(st.label, { x, y: 2.35, w: 2.1, h: 0.75, fontSize: 11, color: C.offWhite, align: "center", valign: "top" });
  });

  s.addText("Key Risk Factors:", { x: 0.5, y: 3.45, w: 9, h: 0.3, fontSize: 14, bold: true, color: C.gold });
  addBullets(s, [
    "Age (risk doubles with each decade after 55)",
    "Family history & genetic predisposition",
    "Obesity, sedentary lifestyle, high sodium intake",
    "Diabetes mellitus, chronic kidney disease, OSA",
  ], { y: 3.75, h: 1.6, fontSize: 14 });
}

// ─── SLIDE 5: Pathophysiology ─────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Pathophysiology");
  addSlideTitle(s, "Pathophysiology");

  // Two columns: mechanisms and RAAS
  s.addText("Primary Mechanisms", { x: 0.4, y: 1.25, w: 4.3, h: 0.35, fontSize: 14, bold: true, color: C.tealLight });
  addBullets(s, [
    { text: "Increased Cardiac Output", sub: ["↑ HR, ↑ stroke volume, volume overload"] },
    { text: "Increased Peripheral Resistance", sub: ["Arteriolar vasoconstriction, vascular remodeling"] },
    { text: "RAAS Activation", sub: ["Angiotensin II β†’ vasoconstriction + aldosterone release"] },
    { text: "Sympathetic Overactivity", sub: ["↑ Catecholamines β†’ ↑ HR and vascular tone"] },
  ], { x: 0.4, y: 1.6, w: 4.4, h: 3.6, fontSize: 13 });

  s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.25, w: 0.04, h: 3.8, fill: { color: C.teal }, line: { color: C.teal } });

  s.addText("Secondary Causes", { x: 5.2, y: 1.25, w: 4.3, h: 0.35, fontSize: 14, bold: true, color: C.gold });
  addBullets(s, [
    "Renovascular disease (renal artery stenosis)",
    "Primary hyperaldosteronism (Conn's syndrome)",
    "Pheochromocytoma",
    "Obstructive Sleep Apnea",
    "Thyroid / parathyroid disorders",
    "Drug-induced (NSAIDs, OCP, decongestants)",
  ], { x: 5.2, y: 1.6, w: 4.4, h: 3.6, fontSize: 13 });
}

// ─── SLIDE 6: Diagnosis ───────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Diagnosis");
  addSlideTitle(s, "Clinical Evaluation & Diagnosis");

  addBullets(s, [
    { text: "Accurate BP Measurement", sub: ["Seated Γ—2, rested 5 min, both arms; use calibrated device"] },
    { text: "History", sub: ["Duration, medications, family history, lifestyle, secondary cause symptoms"] },
    { text: "Physical Examination", sub: ["BMI, waist circumference, fundoscopy, thyroid, bruits, edema"] },
    { text: "Basic Investigations", sub: ["Urinalysis, eGFR, serum electrolytes, lipid profile, fasting glucose, ECG"] },
    { text: "Confirm with ABPM / HBPM", sub: ["Recommended before initiating therapy in suspected white-coat HTN"] },
  ], { y: 1.3, h: 3.9, fontSize: 15 });
}

// ─── SLIDE 7: ABPM & HBPM ────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Monitoring");
  addSlideTitle(s, "Ambulatory & Home BP Monitoring");

  // Two panels
  const panels = [
    {
      title: "ABPM (Ambulatory)",
      color: C.teal,
      items: [
        "24-hour automatic readings (day/night)",
        "Identifies white-coat & masked HTN",
        "Detects non-dipping pattern (↑ CV risk)",
        "Daytime avg β‰₯ 135/85 = HTN",
        "Nighttime avg β‰₯ 120/70 = HTN",
        "Gold standard for HTN diagnosis",
      ],
    },
    {
      title: "HBPM (Home)",
      color: C.gold,
      items: [
        "Patient self-monitoring twice daily Γ— 7 days",
        "Morning & evening readings before meds",
        "Average of all readings used",
        "Threshold: β‰₯ 135/85 mmHg = HTN",
        "Improves adherence and patient engagement",
        "Useful for long-term treatment monitoring",
      ],
    },
  ];

  panels.forEach((p, i) => {
    const x = 0.4 + i * 4.9;
    s.addShape(pres.ShapeType.rect, { x, y: 1.25, w: 4.5, h: 0.45, fill: { color: p.color }, line: { color: p.color } });
    s.addText(p.title, { x, y: 1.25, w: 4.5, h: 0.45, fontSize: 15, bold: true, color: C.navy, align: "center", valign: "middle" });
    const textItems = p.items.map((item, idx) => ({
      text: item,
      options: { bullet: { code: "25CF", color: p.color }, breakLine: idx < p.items.length - 1, fontSize: 13, color: C.offWhite, paraSpaceAfter: 5 },
    }));
    s.addShape(pres.ShapeType.rect, { x, y: 1.7, w: 4.5, h: 3.4, fill: { color: "0E2F4A" }, line: { color: p.color, pt: 1 } });
    s.addText(textItems, { x: x + 0.15, y: 1.8, w: 4.2, h: 3.2, valign: "top" });
  });
}

// ─── SLIDE 8: Target Organ Damage ─────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Complications");
  addSlideTitle(s, "Target Organ Damage");

  const organs = [
    { organ: "πŸ«€ Heart", items: ["LV hypertrophy", "Coronary artery disease", "Heart failure"] },
    { organ: "🧠 Brain", items: ["Stroke (ischemic & hemorrhagic)", "Hypertensive encephalopathy", "Cognitive decline / dementia"] },
    { organ: "🫘 Kidneys", items: ["Nephrosclerosis", "CKD progression", "Proteinuria"] },
    { organ: "πŸ‘ Eyes", items: ["Hypertensive retinopathy", "Arteriovenous nicking", "Papilledema (crisis)"] },
    { organ: "🩸 Vasculature", items: ["Aortic dissection", "Peripheral artery disease", "Aneurysm formation"] },
  ];

  organs.forEach((o, i) => {
    const col = i < 3 ? 0 : 1;
    const row = i < 3 ? i : i - 3;
    const x = 0.4 + col * 5.0;
    const y = 1.35 + row * 1.35;
    s.addShape(pres.ShapeType.rect, { x, y, w: 4.5, h: 1.2, fill: { color: "0E2F4A" }, line: { color: C.teal, pt: 1 } });
    s.addText(o.organ, { x: x + 0.12, y: y + 0.05, w: 4.2, h: 0.3, fontSize: 13, bold: true, color: C.tealLight });
    s.addText(o.items.join("  β€’  "), { x: x + 0.12, y: y + 0.38, w: 4.2, h: 0.65, fontSize: 11.5, color: C.lightGray });
  });
}

// ─── SLIDE 9: Treatment Goals ─────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Treatment Goals");
  addSlideTitle(s, "Treatment Goals");

  const goals = [
    { group: "General Adults (< 65 yrs)", target: "< 130/80 mmHg", color: C.teal },
    { group: "Older Adults (β‰₯ 65 yrs)", target: "< 130/80 mmHg*", color: C.teal },
    { group: "Diabetes Mellitus", target: "< 130/80 mmHg", color: C.gold },
    { group: "Chronic Kidney Disease", target: "< 130/80 mmHg", color: C.gold },
    { group: "High CV Risk (β‰₯10% 10-yr)", target: "< 130/80 mmHg", color: C.tealLight },
    { group: "Pregnancy", target: "< 140/90 mmHg", color: C.red },
  ];

  goals.forEach((g, i) => {
    const col = i % 2;
    const row = Math.floor(i / 2);
    const x = 0.4 + col * 4.8;
    const y = 1.35 + row * 1.2;
    s.addShape(pres.ShapeType.rect, { x, y, w: 4.5, h: 1.0, fill: { color: "0E2F4A" }, line: { color: g.color, pt: 2 } });
    s.addText(g.group, { x: x + 0.15, y: y + 0.08, w: 3.8, h: 0.35, fontSize: 13, color: C.offWhite });
    s.addText("Target: " + g.target, { x: x + 0.15, y: y + 0.52, w: 3.8, h: 0.35, fontSize: 14, bold: true, color: g.color });
  });

  s.addText("*Individualize based on frailty, comorbidities, and tolerability", {
    x: 0.5, y: 5.15, w: 9, h: 0.25,
    fontSize: 10, color: C.lightGray, italic: true,
  });
}

// ─── SLIDE 10: Pharmacological Management ─────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Pharmacotherapy");
  addSlideTitle(s, "Pharmacological Management");

  const drugs = [
    [{ text: "Drug Class", options: { bold: true, color: C.navy, fill: C.gold } }, { text: "Examples", options: { bold: true, color: C.navy, fill: C.gold } }, { text: "Key Indications", options: { bold: true, color: C.navy, fill: C.gold } }],
    ["ACE Inhibitors", "Lisinopril, Ramipril", "DM, CKD, HFrEF, post-MI"],
    ["ARBs", "Losartan, Valsartan", "ACE inhibitor intolerance, DM, CKD"],
    ["CCBs", "Amlodipine, Diltiazem", "Elderly, isolated systolic HTN, angina"],
    ["Thiazide Diuretics", "Hydrochlorothiazide, Chlorthalidone", "First-line, volume overload, elderly"],
    ["Beta-Blockers", "Metoprolol, Carvedilol", "HF, post-MI, arrhythmias, angina"],
    ["Aldosterone Antagonists", "Spironolactone, Eplerenone", "Resistant HTN, HFrEF, hyperaldosteronism"],
  ];

  s.addTable(drugs, {
    x: 0.3, y: 1.3, w: 9.4, colW: [2.9, 3.0, 3.5],
    fontSize: 12,
    color: C.white,
    fill: { color: "0E2F4A" },
    border: { type: "solid", color: C.teal, pt: 1 },
    rowH: 0.42,
    valign: "middle",
  });
}

// ─── SLIDE 11: Non-Pharmacological Interventions ──────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Lifestyle");
  addSlideTitle(s, "Non-Pharmacological Interventions");

  const measures = [
    { icon: "πŸ₯—", title: "DASH Diet", detail: "↓ SBP 8–14 mmHg\nFruits, vegetables, low-fat dairy, reduced sodium" },
    { icon: "πŸƒ", title: "Physical Activity", detail: "↓ SBP 4–9 mmHg\n150 min/wk moderate aerobic exercise" },
    { icon: "βš–οΈ", title: "Weight Loss", detail: "↓ SBP ~1 mmHg / kg lost\nTarget BMI < 25 kg/mΒ²" },
    { icon: "🚭", title: "Sodium Restriction", detail: "↓ SBP 2–8 mmHg\n< 2.3 g sodium/day (ideally < 1.5 g)" },
    { icon: "🍺", title: "Alcohol Moderation", detail: "↓ SBP 2–4 mmHg\n≀ 1 drink/day (women), ≀ 2 (men)" },
    { icon: "🚬", title: "Smoking Cessation", detail: "Reduces CV risk directly\nNicotine raises BP acutely" },
  ];

  measures.forEach((m, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.3 + col * 3.22;
    const y = 1.3 + row * 2.0;
    s.addShape(pres.ShapeType.rect, { x, y, w: 3.0, h: 1.8, fill: { color: "0E2F4A" }, line: { color: C.teal, pt: 1 } });
    s.addText(m.icon + "  " + m.title, { x: x + 0.12, y: y + 0.1, w: 2.76, h: 0.4, fontSize: 14, bold: true, color: C.tealLight });
    s.addText(m.detail, { x: x + 0.12, y: y + 0.55, w: 2.76, h: 1.1, fontSize: 11.5, color: C.lightGray });
  });
}

// ─── SLIDE 12: Hypertensive Urgency & Emergency ───────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Hypertensive Crisis");
  addSlideTitle(s, "Hypertensive Urgency & Emergency");

  s.addShape(pres.ShapeType.rect, { x: 0.4, y: 1.3, w: 4.4, h: 0.42, fill: { color: C.gold }, line: { color: C.gold } });
  s.addText("URGENCY  (β‰₯ 180/120, no TOD)", { x: 0.4, y: 1.3, w: 4.4, h: 0.42, fontSize: 13, bold: true, color: C.navy, align: "center", valign: "middle" });
  addBullets(s, [
    "No acute target organ damage",
    "Oral therapy: Labetalol, Amlodipine, Captopril",
    "Gradual BP reduction over 24–48 hours",
    "Outpatient management usually appropriate",
    "Identify and treat precipitating cause",
  ], { x: 0.4, y: 1.75, w: 4.4, h: 3.4, fontSize: 13 });

  s.addShape(pres.ShapeType.rect, { x: 5.2, y: 1.3, w: 4.4, h: 0.42, fill: { color: C.red }, line: { color: C.red } });
  s.addText("EMERGENCY  (β‰₯ 180/120 + TOD)", { x: 5.2, y: 1.3, w: 4.4, h: 0.42, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle" });
  addBullets(s, [
    "Acute TOD: ACS, stroke, aortic dissection, flash pulmonary edema, PRES",
    "IV therapy: Nitroprusside, Labetalol, Nicardipine, Clevidipine",
    "Reduce MAP by ≀ 25% in first hour",
    "ICU admission required",
    "Further reduction over 24–48 hrs (except aortic dissection: aggressive)",
  ], { x: 5.2, y: 1.75, w: 4.4, h: 3.4, fontSize: 13 });
}

// ─── SLIDE 13: Special Populations ───────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Special Populations");
  addSlideTitle(s, "Special Populations");

  addBullets(s, [
    { text: "Elderly (β‰₯ 65 yrs)", sub: ["Target < 130/80 if tolerated; watch for orthostatic hypotension; start low, go slow"] },
    { text: "Chronic Kidney Disease", sub: ["ACE inhibitor or ARB preferred; target < 130/80; avoid dual RAAS blockade"] },
    { text: "Diabetes Mellitus", sub: ["ACE inhibitor/ARB first-line; target < 130/80 mmHg"] },
    { text: "Heart Failure", sub: ["ACE inhibitor/ARB/ARNI + Beta-blocker + MRA + SGLT2i (HFrEF)"] },
    { text: "Pregnancy", sub: ["Methyldopa, Labetalol, Nifedipine are safe; avoid ACEi/ARBs; target < 140/90"] },
    { text: "Resistant Hypertension", sub: ["Confirm adherence & rule out secondary causes; add spironolactone or alpha/beta-blocker"] },
  ], { y: 1.3, h: 3.9, fontSize: 14 });
}

// ─── SLIDE 14: Key Takeaways ──────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  addSectionLabel(s, "Summary");
  addSlideTitle(s, "Key Takeaways");

  const points = [
    "HTN affects >1.28 billion adults β€” most are undiagnosed or undertreated",
    "Confirm diagnosis with ABPM or HBPM before initiating lifelong therapy",
    "Treatment goal is < 130/80 mmHg for most patients",
    "Lifestyle modification is the foundation of all treatment",
    "First-line agents: ACEi/ARB, CCB, or Thiazide diuretic (often combined)",
    "Hypertensive emergency requires IV therapy with controlled MAP reduction in ICU",
    "Individualize management in elderly, CKD, pregnancy, and HF",
  ];

  points.forEach((p, i) => {
    s.addShape(pres.ShapeType.rect, { x: 0.4, y: 1.3 + i * 0.58, w: 0.45, h: 0.38, fill: { color: C.gold }, line: { color: C.gold } });
    s.addText(String(i + 1), { x: 0.4, y: 1.3 + i * 0.58, w: 0.45, h: 0.38, fontSize: 14, bold: true, color: C.navy, align: "center", valign: "middle" });
    s.addText(p, { x: 1.0, y: 1.32 + i * 0.58, w: 8.6, h: 0.36, fontSize: 13.5, color: C.offWhite, valign: "middle" });
  });
}

// ─── SLIDE 15: Thank You ──────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  darkBG(s);
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.teal }, line: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0.18, y: 0, w: 0.06, h: 5.625, fill: { color: C.gold }, line: { color: C.gold } });

  s.addText("Thank You", {
    x: 0.5, y: 1.5, w: 9, h: 1.0,
    fontSize: 52, bold: true, color: C.white, align: "center",
  });
  s.addShape(pres.ShapeType.rect, { x: 3.5, y: 2.55, w: 3.0, h: 0.06, fill: { color: C.gold }, line: { color: C.gold } });
  s.addText("Questions & Discussion", {
    x: 0.5, y: 2.75, w: 9, h: 0.5,
    fontSize: 22, color: C.tealLight, align: "center",
  });
  s.addText("References: ACC/AHA 2017 HTN Guidelines  |  ESC/ESH 2023 HTN Guidelines  |  JNC 8", {
    x: 0.5, y: 4.8, w: 9, h: 0.35,
    fontSize: 10, color: C.slate, align: "center", italic: true,
  });
}

// ─── Write file ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/hypertension-ppt/Hypertension_Diagnosis_Management.pptx" })
  .then(() => console.log("βœ… PPTX created successfully!"))
  .catch(err => { console.error("❌ Error:", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/hypertension-ppt && node create_ppt.js

Your presentation is ready! πŸŽ‰

Hypertension Diagnosis Management

Presentation Β· PPTX


What's inside β€” 15 slides:
#Slide
1Title Slide
2Agenda (12 topics, two-column layout)
3Definition & Classification (ACC/AHA 2017 table)
4Epidemiology & Global Burden (stat boxes + risk factors)
5Pathophysiology (primary mechanisms vs. secondary causes)
6Clinical Evaluation & Diagnosis
7Ambulatory vs. Home BP Monitoring (side-by-side comparison)
8Target Organ Damage (heart, brain, kidneys, eyes, vasculature)
9Treatment Goals by population
10Pharmacological Management (drug class table)
11Non-Pharmacological Interventions (6-tile lifestyle grid)
12Hypertensive Urgency vs. Emergency
13Special Populations (elderly, CKD, DM, HF, pregnancy, resistant)
14Key Takeaways (7 numbered points)
15Thank You / References
Design: Navy background, teal/gold accent palette, tables, stat boxes, and structured layouts β€” ready for a clinical audience.

Create a professional ppt on Approach and Management of Acute ischemic stroke by following standard references like Harrison's Principles of Internal Medicine, CMDT and Davidson principles and Practice of Medicine

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Finding Sources
You've run out of free credits. Sign up for a free account to continue using Orris.
This is a shared conversation. Sign in to Orris to start your own chat.