~/dyslipidemia-aha2026/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Dyslipidemia – ACC/AHA 2026 Guideline";
pres.author = "Medical Presentation";
// ─── PALETTE ────────────────────────────────────────────────────────────────
const C = {
navy: "0A2342", // dominant dark
red: "C0392B", // accent
teal: "1A6B7C", // supporting
ice: "E8F4F8", // light background
white: "FFFFFF",
gray: "5A6A7A",
lgray: "BDC3C7",
gold: "D4AC0D",
green: "1A8C4E",
orange: "E67E22",
};
// ─── HELPERS ─────────────────────────────────────────────────────────────────
function titleBar(slide, text, subtext) {
// Full-width navy top bar
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
slide.addText(text, {
x: 0.25, y: 0, w: 9.5, h: 0.75,
fontSize: 20, bold: true, color: C.white, valign: "middle", margin: 0,
});
if (subtext) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0.75, w: 10, h: 0.32, fill: { color: C.teal } });
slide.addText(subtext, {
x: 0.25, y: 0.75, w: 9.5, h: 0.32,
fontSize: 11, color: C.white, italic: true, valign: "middle", margin: 0,
});
}
}
function footer(slide, pageNum) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.35, w: 10, h: 0.275, fill: { color: C.navy } });
slide.addText("ACC/AHA 2026 Dyslipidemia Guideline", {
x: 0.2, y: 5.35, w: 7, h: 0.275, fontSize: 8, color: C.lgray, valign: "middle", margin: 0,
});
slide.addText(`${pageNum}`, {
x: 9.5, y: 5.35, w: 0.4, h: 0.275, fontSize: 8, color: C.lgray, align: "right", valign: "middle", margin: 0,
});
}
function sectionDivider(slide, num, text, sub) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
slide.addShape(pres.ShapeType.rect, { x: 0.35, y: 2.0, w: 0.08, h: 1.6, fill: { color: C.red } });
slide.addText(`0${num}`, {
x: 0.6, y: 1.65, w: 3, h: 1, fontSize: 60, bold: true, color: C.red, alpha: 30, margin: 0,
});
slide.addText(text, {
x: 0.6, y: 2.2, w: 8.5, h: 0.8, fontSize: 30, bold: true, color: C.white, margin: 0,
});
if (sub) {
slide.addText(sub, {
x: 0.6, y: 3.1, w: 8, h: 0.5, fontSize: 14, color: C.lgray, italic: true, margin: 0,
});
}
}
// ─── SLIDE 1: TITLE ──────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
// Red accent stripe
s.addShape(pres.ShapeType.rect, { x: 0, y: 3.5, w: 10, h: 0.08, fill: { color: C.red } });
// Teal side bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.22, h: 5.625, fill: { color: C.teal } });
s.addText("DYSLIPIDEMIA", {
x: 0.5, y: 0.8, w: 9, h: 1.1,
fontSize: 52, bold: true, color: C.white, charSpacing: 6, margin: 0,
});
s.addText("ACC / AHA 2026 Clinical Practice Guideline", {
x: 0.5, y: 1.95, w: 9, h: 0.55,
fontSize: 20, color: C.gold, bold: true, margin: 0,
});
s.addText("Evaluation · Management · Monitoring · Treatment", {
x: 0.5, y: 2.55, w: 9, h: 0.4,
fontSize: 13, color: C.lgray, italic: true, margin: 0,
});
// Pill badges
const badges = ["Pathophysiology","Classification","Risk Assessment","LDL-C Targets","Treatment Algorithm","Special Populations"];
badges.forEach((b, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
s.addShape(pres.ShapeType.roundRect, {
x: 0.5 + col * 3.1, y: 3.7 + row * 0.5, w: 2.9, h: 0.36,
fill: { color: C.teal }, rectRadius: 0.18,
});
s.addText(b, {
x: 0.5 + col * 3.1, y: 3.7 + row * 0.5, w: 2.9, h: 0.36,
fontSize: 10, color: C.white, align: "center", valign: "middle", margin: 0,
});
});
s.addText("Published: March 13, 2026 | JACC & Circulation | Replaces 2018 Blood Cholesterol Guideline", {
x: 0.5, y: 5.22, w: 9, h: 0.3,
fontSize: 8, color: C.lgray, align: "center", margin: 0,
});
}
// ─── SLIDE 2: WHY A NEW GUIDELINE? ───────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Why a New Guideline? — Key Changes from 2018", "ACC/AHA 2026 | Full replacement of the 2018 Blood Cholesterol Guideline");
const points = [
{ icon: "►", color: C.red, bold: "LDL-C targets restored:", text: " 2018 dropped numeric goals; 2026 reinstates specific LDL-C & non-HDL-C targets per risk tier." },
{ icon: "►", color: C.teal, bold: "Broader scope:", text: " Renamed from 'Blood Cholesterol' to 'Dyslipidemia' — now includes TG-rich remnants, Lp(a), and HDL disorders." },
{ icon: "►", color: C.navy, bold: "PREVENT replaces PCE:", text: " Pooled Cohort Equations overestimated risk by 40–50%. New PREVENT tool provides accurate modern estimates." },
{ icon: "►", color: C.green, bold: "Universal Lp(a) testing:", text: " Class I: measure at least once in ALL adults. Lp(a) ≥125 nmol/L = independent risk enhancer." },
{ icon: "►", color: C.orange, bold: "Five new FDA-approved therapies:", text: " Inclisiran, bempedoic acid, evinacumab, volanesorsen, and pemafibrate formally incorporated." },
{ icon: "►", color: C.teal, bold: "Pediatric screening:", text: " Universal lipid screen for all children at age 9–11 years." },
{ icon: "►", color: C.navy, bold: "CAC expanded:", text: " CAC >0 now triggers LLT initiation (Class I); incidental CT CAC findings should be acted upon." },
{ icon: "►", color: C.red, bold: "ApoB selective use:", text: " Class IIa to guide intensification in ASCVD, T2DM, elevated TG, or discordant LDL-C/ApoB." },
];
const yStart = 1.22;
points.forEach((p, i) => {
const y = yStart + i * 0.5;
s.addShape(pres.ShapeType.rect, { x: 0.28, y: y + 0.04, w: 0.06, h: 0.36, fill: { color: p.color } });
s.addText([
{ text: p.bold, options: { bold: true, color: C.navy } },
{ text: p.text, options: { color: C.gray } },
], { x: 0.46, y: y, w: 9.3, h: 0.44, fontSize: 11, valign: "middle", margin: 0 });
});
footer(s, 2);
}
// ─── SLIDE 3: SECTION DIVIDER – PATHOPHYSIOLOGY ──────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, 1, "Pathophysiology", "How lipid disorders drive atherosclerotic cardiovascular disease");
}
// ─── SLIDE 4: LIPOPROTEIN METABOLISM & ATHEROGENESIS ─────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Lipoprotein Metabolism & Atherogenesis", "Understanding the pathophysiological basis of dyslipidemia");
// Left column: lipoprotein table
const lipoproteins = [
{ lp: "Chylomicrons", origin: "Intestine", carries: "Dietary TG", fate: "LPL → remnants → liver" },
{ lp: "VLDL", origin: "Liver", carries: "Endogenous TG", fate: "LPL → IDL → LDL" },
{ lp: "IDL", origin: "VLDL catabolism", carries: "Chol + TG", fate: "Liver / → LDL" },
{ lp: "LDL", origin: "IDL catabolism", carries: "Cholesterol", fate: "LDL-R uptake (liver & tissues)" },
{ lp: "HDL", origin: "Liver/intestine", carries: "Reverse chol", fate: "Liver → bile excretion" },
{ lp: "Lp(a)", origin: "Liver (genetic)", carries: "Chol + apo(a)", fate: "Pro-atherogenic + pro-thrombotic" },
];
// Table header
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.12, w: 5.3, h: 0.32, fill: { color: C.navy } });
["Lipoprotein","Origin","Carries","Metabolic Fate"].forEach((h, i) => {
const xArr = [0.32, 1.55, 2.55, 3.7];
const wArr = [1.2, 1.0, 1.1, 1.9];
s.addText(h, { x: xArr[i], y: 1.12, w: wArr[i], h: 0.32, fontSize: 8.5, bold: true, color: C.white, valign: "middle", margin: 2 });
});
lipoproteins.forEach((row, i) => {
const y = 1.44 + i * 0.37;
const bg = i % 2 === 0 ? C.white : "D6EAF8";
s.addShape(pres.ShapeType.rect, { x: 0.3, y: y, w: 5.3, h: 0.37, fill: { color: bg } });
const cells = [row.lp, row.origin, row.carries, row.fate];
const xArr = [0.32, 1.55, 2.55, 3.7];
const wArr = [1.2, 1.0, 1.1, 1.9];
const boldFirst = true;
cells.forEach((c, ci) => {
s.addText(c, {
x: xArr[ci], y: y, w: wArr[ci], h: 0.37,
fontSize: 8, bold: ci === 0, color: ci === 0 ? C.navy : C.gray,
valign: "middle", margin: 2,
});
});
});
// Right column: atherogenesis
s.addShape(pres.ShapeType.rect, { x: 5.85, y: 1.07, w: 3.9, h: 0.35, fill: { color: C.red } });
s.addText("Atherogenesis Cascade", { x: 5.85, y: 1.07, w: 3.9, h: 0.35, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
const steps = [
{ step: "1", text: "LDL enters & accumulates in intima (proportional to LDL-C level)" },
{ step: "2", text: "LDL becomes oxidized (ox-LDL) → endothelial activation" },
{ step: "3", text: "Monocytes recruited → macrophages → engulf ox-LDL → Foam cells" },
{ step: "4", text: "Fatty streak → fibrous plaque (SMC migration, collagen deposition)" },
{ step: "5", text: "Plaque instability → rupture → thrombus → ACS / Stroke / PAD" },
];
steps.forEach((st, i) => {
const y = 1.55 + i * 0.65;
s.addShape(pres.ShapeType.ellipse, { x: 5.9, y: y, w: 0.38, h: 0.38, fill: { color: C.navy } });
s.addText(st.step, { x: 5.9, y: y, w: 0.38, h: 0.38, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
if (i < 4) {
s.addShape(pres.ShapeType.rect, { x: 6.07, y: y + 0.38, w: 0.04, h: 0.27, fill: { color: C.lgray } });
}
s.addText(st.text, { x: 6.42, y: y, w: 3.3, h: 0.55, fontSize: 9.5, color: C.gray, valign: "top", margin: 0 });
});
// Bottom note
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 5.0, w: 9.4, h: 0.25, fill: { color: C.navy }, rectRadius: 0.05 });
s.addText("KEY: Each 1 mmol/L (39 mg/dL) ↓ LDL-C = ~22% ↓ major CV events (Cholesterol Treatment Trialists meta-analysis) — causal, linear, lifelong relationship", {
x: 0.35, y: 5.0, w: 9.3, h: 0.25, fontSize: 7.5, color: C.white, valign: "middle", margin: 2,
});
footer(s, 3);
}
// ─── SLIDE 5: SECTION – CLASSIFICATION ───────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, 2, "Classification & Definitions", "Fredrickson/WHO phenotypic system + modern clinical classification");
}
// ─── SLIDE 6: FREDRICKSON CLASSIFICATION ─────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Fredrickson / WHO Classification of Dyslipidemia", "Phenotypic classification by elevated lipoprotein class");
const headers = ["Type","Disorder","Elevated LP","LDL","TG","CHD Risk","Key Features"];
const hW = [0.45, 2.3, 1.1, 0.5, 0.5, 0.7, 3.85];
const hX = [0.28, 0.75, 3.07, 4.19, 4.71, 5.23, 5.95];
// Header row
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 1.08, w: 9.5, h: 0.32, fill: { color: C.navy } });
headers.forEach((h, i) => {
s.addText(h, { x: hX[i], y: 1.08, w: hW[i], h: 0.32, fontSize: 8.5, bold: true, color: C.white, valign: "middle", margin: 2 });
});
const rows = [
{ type:"I", disorder:"Familial Hyperchylomicronemia", lp:"Chylomicrons", ldl:"N", tg:"↑↑↑", chd:"None", feat:"LPL/apoCII deficiency; pancreatitis; no drug effective; low-fat diet", color:"E8F8F5" },
{ type:"IIA", disorder:"Familial Hypercholesterolemia", lp:"LDL", ldl:"↑↑↑", tg:"N", chd:"↑↑↑", feat:"LDL receptor defect; tendon xanthomas; early MI; FH diagnosis", color:"FDEBD0" },
{ type:"IIB", disorder:"Familial Combined Hyperlipidemia", lp:"LDL + VLDL", ldl:"↑", tg:"↑", chd:"↑↑", feat:"Most common familial type; ↑ hepatic VLDL production", color:"E8F8F5" },
{ type:"III", disorder:"Dysbetalipoproteinemia", lp:"IDL (remnants)",ldl:"↑", tg:"↑", chd:"↑↑", feat:"ApoE2/E2 mutation; palmar xanthomas; vascular disease by mid-life", color:"FDEBD0" },
{ type:"IV", disorder:"Familial Hypertriglyceridemia", lp:"VLDL", ldl:"N/↑", tg:"↑↑", chd:"↑", feat:"Common; obesity/DM; ↑ VLDL production and/or ↓ clearance", color:"E8F8F5" },
{ type:"V", disorder:"Mixed Hypertriglyceridemia", lp:"VLDL + Chylos",ldl:"N/↓", tg:"↑↑↑", chd:"↑", feat:"Genetic + secondary; pancreatitis risk; obesity/DM; severe HTG", color:"FDEBD0" },
];
rows.forEach((r, i) => {
const y = 1.4 + i * 0.57;
const cells = [r.type, r.disorder, r.lp, r.ldl, r.tg, r.chd, r.feat];
s.addShape(pres.ShapeType.rect, { x: 0.25, y, w: 9.5, h: 0.57, fill: { color: r.color } });
cells.forEach((c, ci) => {
const isRed = (c.includes("↑↑↑") && ci >= 4) || (c === "None");
s.addText(c, {
x: hX[ci], y, w: hW[ci], h: 0.57,
fontSize: ci === 1 || ci === 6 ? 8 : 9,
bold: ci === 0, color: ci === 4 && c.includes("↑↑↑") ? C.red : ci === 5 && c.includes("↑↑↑") ? C.red : C.navy,
valign: "middle", margin: 2,
});
});
});
s.addShape(pres.ShapeType.roundRect, { x: 0.28, y: 5.0, w: 9.4, h: 0.25, fill: { color: C.teal }, rectRadius: 0.05 });
s.addText("Modern classification also distinguishes: Primary (genetic) vs Secondary (acquired) vs Mixed | AHA 2026: LDL-C ≥190 mg/dL → suspect FH and screen family", {
x: 0.35, y: 5.0, w: 9.3, h: 0.25, fontSize: 7.5, color: C.white, valign: "middle", margin: 2,
});
footer(s, 4);
}
// ─── SLIDE 7: SECTION – RISK ASSESSMENT ──────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, 3, "Risk Assessment", "PREVENT Equations · Lp(a) · CAC · Risk Enhancers");
}
// ─── SLIDE 8: PREVENT RISK TOOL & CATEGORIES ─────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "PREVENT Equations & Risk Stratification (AHA 2026 Class I)", "Replaces the 2013 Pooled Cohort Equations (PCE) — reduces overestimation by 40–50%");
// PREVENT box
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.12, w: 4.5, h: 1.05, fill: { color: C.navy }, rectRadius: 0.12 });
s.addText("PREVENT-ASCVD Equations", { x: 0.35, y: 1.12, w: 4.4, h: 0.38, fontSize: 13, bold: true, color: C.gold, valign: "middle", margin: 6 });
s.addText([
{ text: "• Age range: 30–79 years\n", options: {} },
{ text: "• Estimates 10-year & 30-year ASCVD risk\n", options: {} },
{ text: "• Includes CKM variables (eGFR, UACR, BMI, HbA1c)\n", options: {} },
{ text: "• Non-fasting lipids acceptable", options: {} },
], { x: 0.35, y: 1.48, w: 4.35, h: 0.65, fontSize: 9, color: C.white, margin: 4 });
// Risk categories
const cats = [
{ label:"LOW", val:"<3%", color:C.green, action:"Lifestyle counseling; consider statin if LDL 160–189 mg/dL or 30-yr risk ≥10%" },
{ label:"BORDERLINE", val:"3–<5%", color:C.gold, action:"Consider moderate-intensity statin; aim 30–49% LDL-C reduction" },
{ label:"INTERMEDIATE", val:"5–<10%",color:C.orange, action:"≥ Moderate statin; target LDL-C <100 mg/dL; use risk enhancers / CAC to decide" },
{ label:"HIGH", val:"≥10%", color:C.red, action:"High-intensity statin; target LDL-C <70 mg/dL + ≥50% reduction" },
];
s.addText("10-Year ASCVD Risk Categories", { x: 5.0, y: 1.08, w: 4.7, h: 0.32, fontSize: 12, bold: true, color: C.navy, margin: 2 });
cats.forEach((c, i) => {
const y = 1.45 + i * 0.75;
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y, w: 1.3, h: 0.48, fill: { color: c.color }, rectRadius: 0.08 });
s.addText(`${c.label}\n${c.val}`, { x: 5.0, y, w: 1.3, h: 0.48, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", margin: 2 });
s.addText(c.action, { x: 6.4, y, w: 3.4, h: 0.55, fontSize: 9, color: C.gray, valign: "middle", margin: 2 });
});
// Risk enhancers box
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 2.27, w: 4.5, h: 2.6, fill: { color: C.white }, line: { color: C.teal, width: 1.5 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 2.27, w: 4.5, h: 0.32, fill: { color: C.teal } });
s.addText("Risk-Enhancing Factors (tip the decision)", { x: 0.35, y: 2.27, w: 4.4, h: 0.32, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 4 });
const enhancers = [
"Family hx premature ASCVD (<55M / <65F)",
"LDL-C ≥160 mg/dL or non-HDL-C ≥190 mg/dL (persistent)",
"Lp(a) ≥125 nmol/L (≥50 mg/dL)",
"hsCRP ≥2 mg/L (on 2 occasions, no identifiable cause)",
"ABI <0.9 (subclinical PAD)",
"Metabolic syndrome (3+ criteria)",
"Chronic kidney disease (eGFR 15–59)",
"Chronic inflammatory conditions (RA, psoriasis, HIV)",
"Premature menopause (<40 yrs) / history of pre-eclampsia",
];
s.addText(enhancers.map(e => `• ${e}`).join("\n"), {
x: 0.38, y: 2.61, w: 4.3, h: 2.2, fontSize: 8.8, color: C.gray, valign: "top", margin: 4,
});
// Lp(a) & CAC bottom strip
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.95, w: 5.05, h: 0.38, fill: { color: C.red } });
s.addText("Lp(a) — Class I: Measure ONCE in ALL adults | ≥125 nmol/L = risk enhancer | ≥250 nmol/L = ≥2× risk | Fasting not required", {
x: 0.1, y: 4.95, w: 4.85, h: 0.38, fontSize: 8, color: C.white, valign: "middle", margin: 2,
});
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 4.95, w: 4.9, h: 0.38, fill: { color: C.teal } });
s.addText("CAC — Class I: CAC >0 → initiate LLT (esp. ≥100 AU or ≥75th %ile) | CAC=0 → defer, repeat in 3–7 yrs | Incidental CT finding → act", {
x: 5.15, y: 4.95, w: 4.75, h: 0.38, fontSize: 8, color: C.white, valign: "middle", margin: 2,
});
footer(s, 5);
}
// ─── SLIDE 9: SECTION – CLINICAL PRESENTATION & LABS ─────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, 4, "Clinical Presentation & Lab Investigations", "Signs, symptoms, screening, and biomarker testing");
}
// ─── SLIDE 10: CLINICAL FEATURES & INVESTIGATIONS ────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Clinical Presentation & Laboratory Investigations", "Most patients are ASYMPTOMATIC — detected by screening");
// Left: Physical signs
s.addShape(pres.ShapeType.roundRect, { x: 0.28, y: 1.08, w: 4.55, h: 2.9, fill: { color: C.white }, line: { color: C.navy, width: 1 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 1.08, w: 4.55, h: 0.3, fill: { color: C.navy } });
s.addText("Physical Signs (Severe / Familial)", { x: 0.3, y: 1.08, w: 4.5, h: 0.3, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 4 });
const signs = [
{ sign: "Tendinous xanthomas", assoc: "FH (Type IIA) — Achilles, extensor tendons", color: C.red },
{ sign: "Eruptive xanthomas", assoc: "Hypertriglyceridemia >500–1000 mg/dL (Types I, IV, V)", color: C.orange },
{ sign: "Tuberous xanthomas", assoc: "Type IIA/III — over elbows, knees", color: C.orange },
{ sign: "Xanthelasma", assoc: "Periorbital yellow plaques — not specific", color: C.gold },
{ sign: "Corneal arcus <45 yrs", assoc: "Suspect FH in young patients", color: C.teal },
{ sign: "Lipemia retinalis", assoc: "TG >2000 mg/dL — creamy retinal vessels", color: C.navy },
{ sign: "Hepatosplenomegaly", assoc: "Chylomicronemia syndrome (Type I/V)", color: C.gray },
];
signs.forEach((sg, i) => {
const y = 1.42 + i * 0.36;
s.addShape(pres.ShapeType.roundRect, { x: 0.35, y: y + 0.04, w: 1.55, h: 0.26, fill: { color: sg.color }, rectRadius: 0.05 });
s.addText(sg.sign, { x: 0.35, y: y + 0.04, w: 1.55, h: 0.26, fontSize: 7.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 2 });
s.addText(sg.assoc, { x: 1.95, y: y + 0.02, w: 2.8, h: 0.3, fontSize: 8, color: C.gray, valign: "middle", margin: 2 });
});
// Complications
s.addShape(pres.ShapeType.roundRect, { x: 0.28, y: 4.08, w: 4.55, h: 0.85, fill: { color: C.red }, rectRadius: 0.1 });
s.addText("COMPLICATIONS:", { x: 0.38, y: 4.1, w: 4.3, h: 0.22, fontSize: 9, bold: true, color: C.white, margin: 2 });
s.addText("Premature CAD/MI • Ischemic Stroke • PAD / Claudication\nAcute Pancreatitis (TG >500–1000 mg/dL) • HF (IHD-related)", {
x: 0.38, y: 4.3, w: 4.3, h: 0.57, fontSize: 8.5, color: C.white, margin: 2,
});
// Right: Lab investigations
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.08, w: 4.72, h: 3.85, fill: { color: C.white }, line: { color: C.teal, width: 1 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.08, w: 4.72, h: 0.3, fill: { color: C.teal } });
s.addText("Laboratory Investigations", { x: 5.05, y: 1.08, w: 4.6, h: 0.3, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 4 });
const labs = [
{ test:"Standard Lipid Panel", detail:"TC, LDL-C, HDL-C, TG, non-HDL-C\nFasting not required unless known hypertriglyceridemia\nScreen adults from age 19; children at age 9–11 (universal)" },
{ test:"LDL-C Calculation", detail:"Martin/Hopkins or Sampson/NIH (AHA 2026 Class I)\nPreferred over Friedewald — accurate at low LDL & high TG" },
{ test:"Lp(a)", detail:"Measure once in ALL adults (Class I)\n≥125 nmol/L = risk enhancer; ≥250 nmol/L = ≥2× ASCVD risk" },
{ test:"ApoB (Class IIa)", detail:"Use in ASCVD, T2DM, elevated TG, or LDL-C/ApoB discordance\nVery high-risk goal: ApoB <55 mg/dL" },
{ test:"hsCRP", detail:"If ≥2 mg/L on 2 occasions (no cause) → consider high-intensity statin\nTip for borderline/intermediate risk patients" },
{ test:"Secondary cause workup", detail:"TSH (hypothyroidism) · HbA1c/glucose (T2DM)\nCreatinine/eGFR + urine protein (CKD/nephrotic) · LFTs · LFTs for statin monitoring" },
];
labs.forEach((lab, i) => {
const y = 1.43 + i * 0.58;
s.addShape(pres.ShapeType.roundRect, { x: 5.08, y: y, w: 1.45, h: 0.4, fill: { color: C.navy }, rectRadius: 0.06 });
s.addText(lab.test, { x: 5.08, y: y, w: 1.45, h: 0.4, fontSize: 7.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 3 });
s.addText(lab.detail, { x: 6.58, y: y - 0.04, w: 3.07, h: 0.58, fontSize: 8, color: C.gray, valign: "middle", margin: 2 });
});
footer(s, 6);
}
// ─── SLIDE 11: LIPID TARGETS TABLE ───────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "AHA 2026 — LDL-C & Non-HDL-C Treatment Targets", "Risk-based goals restored — return of numeric targets");
const tRows = [
{ risk:"VERY HIGH RISK", detail:"Clinical ASCVD + ≥2 major events OR 1 major event + ≥2 high-risk conditions", ldl:"< 55 mg/dL\n(1.4 mmol/L)", nhdl:"< 85 mg/dL\n(2.2 mmol/L)", red:C.red, reduction:"≥50% from baseline" },
{ risk:"HIGH RISK", detail:"Clinical ASCVD not very high risk; OR High primary prevention (ASCVD risk ≥10%)", ldl:"< 70 mg/dL\n(1.8 mmol/L)", nhdl:"< 100 mg/dL\n(2.6 mmol/L)", red:C.orange, reduction:"≥50% from baseline" },
{ risk:"INTERMEDIATE RISK", detail:"Primary prevention 5–<10% ASCVD risk; OR Diabetes without other risk factors", ldl:"< 100 mg/dL\n(2.6 mmol/L)", nhdl:"< 130 mg/dL\n(3.4 mmol/L)", red:C.gold, reduction:"30–49% reduction" },
{ risk:"BORDERLINE RISK", detail:"Primary prevention 3–<5% ASCVD risk; use risk enhancers to decide on therapy", ldl:"< 100 mg/dL\n(2.6 mmol/L)", nhdl:"< 130 mg/dL\n(3.4 mmol/L)", red:C.green, reduction:"30–49% reduction" },
{ risk:"LOW RISK", detail:"ASCVD risk <3%; young adults (30–59 yrs); counsel on lifestyle; consider statin if LDL 160–189 or 30-yr risk ≥10%", ldl:"Lifestyle first;\nStatin if LDL\n160–189", nhdl:"Consider statin\nif 30-yr risk ≥10%", red:C.teal, reduction:"Lifestyle ± 30–49%" },
{ risk:"LDL ≥190 mg/dL\n(Severe Hypercholest.)", detail:"Regardless of ASCVD risk — likely FH; screen family; treat aggressively", ldl:"< 100 mg/dL\n(+risk factors: <70)", nhdl:"< 130 mg/dL\n(+risk: <100)", red:C.navy, reduction:"Max statin + add-on" },
];
// Header
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 1.08, w: 9.44, h: 0.3, fill: { color: C.navy } });
["Risk Category","Clinical Scenario","LDL-C Target","Non-HDL-C","% Reduction"].forEach((h, i) => {
const xA = [0.3, 1.8, 5.8, 7.3, 8.6];
const wA = [1.45, 3.95, 1.45, 1.25, 1.1];
s.addText(h, { x: xA[i], y: 1.08, w: wA[i], h: 0.3, fontSize: 8.5, bold: true, color: C.white, valign: "middle", margin: 2 });
});
tRows.forEach((r, i) => {
const y = 1.38 + i * 0.68;
const bg = i % 2 === 0 ? C.white : "EBF5FB";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.68, fill: { color: bg } });
// Risk badge
s.addShape(pres.ShapeType.roundRect, { x: 0.32, y: y + 0.1, w: 1.4, h: 0.48, fill: { color: r.red }, rectRadius: 0.07 });
s.addText(r.risk, { x: 0.32, y: y + 0.1, w: 1.4, h: 0.48, fontSize: 7.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 3 });
s.addText(r.detail, { x: 1.8, y, w: 3.95, h: 0.68, fontSize: 8, color: C.gray, valign: "middle", margin: 3 });
s.addText(r.ldl, { x: 5.8, y, w: 1.4, h: 0.68, fontSize: 9, bold: true, color: r.red, align: "center", valign: "middle", margin: 2 });
s.addText(r.nhdl, { x: 7.3, y, w: 1.25, h: 0.68, fontSize: 8.5, color: C.navy, align: "center", valign: "middle", margin: 2 });
s.addText(r.reduction, { x: 8.6, y, w: 1.1, h: 0.68, fontSize: 8, color: C.teal, align: "center", valign: "middle", margin: 2 });
});
footer(s, 7);
}
// ─── SLIDE 12: SECTION – TREATMENT ───────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, 5, "Treatment & Management", "Non-pharmacological + Pharmacological — AHA 2026 Algorithm");
}
// ─── SLIDE 13: NON-PHARMACOLOGICAL ───────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Non-Pharmacological Management", "Therapeutic lifestyle change — foundational for ALL risk categories");
const pillars = [
{ title:"DIET", color:C.teal, icon:"🥗",
items:["Reduce saturated fat <7% total calories; eliminate trans fats entirely","↑ Soluble fiber: oats, beans, psyllium → LDL ↓ 5–10%","Plant stanols/sterols 2 g/day → LDL ↓ ~10%","Mediterranean or DASH diet — strongest CV evidence base","Omega-3 fatty acids (fish) — lower TG; icosapent ethyl for high-risk","Reduce simple carbohydrates/alcohol in hypertriglyceridemia"] },
{ title:"EXERCISE", color:C.navy, icon:"🏃",
items:["≥150 min/week moderate-intensity aerobic (brisk walk, cycling)","Resistance training ≥2×/week","Raises HDL-C by 5–10 mg/dL; lowers TG 20–30%","Reduces insulin resistance (improves small dense LDL pattern)","Start low, go slow — any increase in activity is beneficial"] },
{ title:"WEIGHT", color:C.green, icon:"⚖️",
items:["Each 5–10 kg weight loss: LDL ↓ ~8%, TG ↓ ~20%, HDL ↑ 2–5 mg/dL","GLP-1 receptor agonists (semaglutide): additional TG benefit via weight loss","BMI and waist circumference are included in PREVENT equations","Target BMI <25; waist <102 cm (M), <88 cm (F)"] },
{ title:"LIFESTYLE", color:C.red, icon:"🚭",
items:["Smoking cessation: ↑ HDL, ↓ oxidative modification of LDL","Alcohol restriction: essential for HTG — even moderate intake raises TG","Optimal glycemic control in T2DM: SGLT-2i + GLP-1a reduce ASCVD risk beyond glucose","Stress reduction and sleep optimization improve metabolic profile"] },
];
pillars.forEach((p, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.28 + col * 4.8;
const y = 1.08 + row * 2.2;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.6, h: 2.1, fill: { color: C.white }, line: { color: p.color, width: 1.5 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.6, h: 0.34, fill: { color: p.color } });
s.addText(`${p.title}`, { x: x + 0.1, y, w: 4.4, h: 0.34, fontSize: 11, bold: true, color: C.white, valign: "middle", margin: 4 });
s.addText(p.items.map(it => `• ${it}`).join("\n"), {
x: x + 0.12, y: y + 0.37, w: 4.35, h: 1.68, fontSize: 8.5, color: C.gray, valign: "top", margin: 4,
});
});
footer(s, 8);
}
// ─── SLIDE 14: PHARMACOLOGICAL – DRUG TABLE ───────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Pharmacological Treatment — Drug Classes (AHA 2026)", "Five new FDA-approved therapies incorporated into the 2026 guideline");
const drugs = [
{ cls:"Statins", mech:"HMG-CoA reductase inhibition → ↑ LDL receptors", agents:"Rosuvastatin, Atorvastatin (high); Simvastatin, Pravastatin (mod/low)", ldl:"30–65%", role:"FIRST-LINE ALL patients", color:C.navy },
{ cls:"Ezetimibe", mech:"↓ NPC1L1 intestinal cholesterol absorption", agents:"Ezetimibe 10 mg daily", ldl:"+15–25%", role:"Add-on step 2", color:C.teal },
{ cls:"PCSK9 mAbs", mech:"Prevent PCSK9-mediated LDL receptor degradation", agents:"Evolocumab 140 mg Q2W; Alirocumab 75–150 mg Q2W", ldl:"+50–65%", role:"Very high / high risk; add-on step 3", color:C.red },
{ cls:"Inclisiran", mech:"siRNA → ↓ hepatic PCSK9 synthesis", agents:"Inclisiran 284 mg SC — Day 1, Day 90, then Q6M", ldl:"+~50%", role:"Alternative to PCSK9 mAb (AHA 2026)", color:C.orange },
{ cls:"Bempedoic Acid", mech:"↓ ATP-citrate lyase (upstream HMG-CoA) → ↓ chol", agents:"Bempedoic acid 180 mg daily (oral)", ldl:"+15–25%", role:"Statin-intolerant; add-on option", color:C.green },
{ cls:"Bile Acid Seques.", mech:"Bind bile acids → ↑ LDL receptor upregulation", agents:"Cholestyramine 4–24 g; Colesevelam 3.75 g", ldl:"15–30%", role:"Limited use; ↑ TG, GI SE", color:C.gray },
{ cls:"Fibrates", mech:"PPAR-α agonist → ↓ VLDL secretion, ↑ LPL activity",agents:"Fenofibrate 145 mg; avoid gemfibrozil with statin (myopathy)", ldl:"TG↓30–50%", role:"TG ≥500 mg/dL; pancreatitis prevention", color:C.teal },
{ cls:"Icosapent ethyl", mech:"Pure EPA → ↓ VLDL secretion + anti-inflammatory", agents:"Icosapent ethyl 4 g/day (2 g BID with meals)", ldl:"TG↓20–40%", role:"High/very high risk + TG ≥150; REDUCE-IT trial", color:C.navy },
{ cls:"Evinacumab", mech:"Anti-ANGPTL3 mAb → ↓ LDL independent of LDL-R", agents:"Evinacumab 15 mg/kg IV monthly", ldl:"+~50%", role:"Homozygous FH only (AHA 2026 COR 2b)", color:C.red },
{ cls:"Lomitapide", mech:"↓ MTP → ↓ VLDL/chylomicron assembly", agents:"Lomitapide 5–60 mg daily (titrate); LFT monitoring", ldl:"40–50%", role:"Homozygous FH only", color:C.orange },
];
const headers = ["Drug Class","Mechanism","Key Agents","LDL↓","Role / Indication"];
const hX = [0.28, 1.8, 4.05, 6.95, 7.6];
const hW = [1.48, 2.2, 2.85, 0.6, 2.15];
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 1.08, w: 9.5, h: 0.27, fill: { color: C.navy } });
headers.forEach((h, i) => {
s.addText(h, { x: hX[i], y: 1.08, w: hW[i], h: 0.27, fontSize: 8, bold: true, color: C.white, valign: "middle", margin: 2 });
});
drugs.forEach((d, i) => {
const y = 1.35 + i * 0.43;
const bg = i % 2 === 0 ? C.white : "EBF5FB";
s.addShape(pres.ShapeType.rect, { x: 0.25, y, w: 9.5, h: 0.43, fill: { color: bg } });
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: y + 0.06, w: 1.4, h: 0.3, fill: { color: d.color }, rectRadius: 0.05 });
s.addText(d.cls, { x: 0.3, y: y + 0.06, w: 1.4, h: 0.3, fontSize: 7.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 2 });
s.addText(d.mech, { x: 1.82, y, w: 2.18, h: 0.43, fontSize: 7.5, color: C.gray, valign: "middle", margin: 2 });
s.addText(d.agents, { x: 4.07, y, w: 2.82, h: 0.43, fontSize: 7.5, color: C.navy, valign: "middle", margin: 2 });
s.addText(d.ldl, { x: 6.97, y, w: 0.58, h: 0.43, fontSize: 8, bold: true, color: d.color, align: "center", valign: "middle", margin: 2 });
s.addText(d.role, { x: 7.62, y, w: 2.1, h: 0.43, fontSize: 7.5, color: C.gray, valign: "middle", margin: 2 });
});
footer(s, 9);
}
// ─── SLIDE 15: TREATMENT ALGORITHM ───────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "AHA 2026 — Stepwise Treatment Algorithm", "Risk-stratified lipid-lowering therapy (LLT) approach");
// Step-up boxes left column
const steps = [
{ n:"Step 1", label:"Therapeutic Lifestyle Change", color:C.green,
text:"ALL patients — diet, exercise, weight loss, smoking cessation\nFoundation regardless of pharmacotherapy" },
{ n:"Step 2", label:"Statin (1st-line pharmacotherapy)", color:C.navy,
text:"High-intensity: Atorva 40–80 mg or Rosuva 20–40 mg → ≥50% LDL↓\nModerate-intensity: Atorva 10–20 mg, Rosuva 5–10 mg → 30–49% LDL↓" },
{ n:"Step 3", label:"Add Ezetimibe 10 mg", color:C.teal,
text:"If LDL-C goal not achieved on maximally tolerated statin\nAdds 15–25% further LDL-C reduction" },
{ n:"Step 4", label:"Add Non-statin LLT", color:C.red,
text:"PCSK9 mAb (evolocumab/alirocumab) OR inclisiran (Q6M injection)\nOR bempedoic acid (statin-intolerant)\nOR combination, guided by how far from goal" },
];
steps.forEach((st, i) => {
const y = 1.08 + i * 1.08;
s.addShape(pres.ShapeType.roundRect, { x: 0.28, y, w: 0.6, h: 0.85, fill: { color: st.color }, rectRadius: 0.08 });
s.addText(st.n, { x: 0.28, y, w: 0.6, h: 0.85, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 2 });
s.addShape(pres.ShapeType.roundRect, { x: 0.95, y, w: 5.6, h: 0.85, fill: { color: C.white }, line: { color: st.color, width: 1.5 }, rectRadius: 0.08 });
s.addText(st.label, { x: 1.05, y: y + 0.04, w: 5.4, h: 0.25, fontSize: 10, bold: true, color: st.color, margin: 4 });
s.addText(st.text, { x: 1.05, y: y + 0.3, w: 5.4, h: 0.52, fontSize: 8.5, color: C.gray, margin: 4 });
if (i < 3) {
s.addShape(pres.ShapeType.rect, { x: 0.54, y: y + 0.85, w: 0.12, h: 0.23, fill: { color: C.lgray } });
}
});
// Right column: special scenarios
const scenarios = [
{ title:"Statin Intolerant", color:C.orange, text:"Bempedoic acid (oral) — Class I in ESC, option in AHA\nEzetimibe + PCSK9 mAb\nInclisiran as PCSK9 mAb alternative" },
{ title:"Post-ACS (very high risk)", color:C.red, text:"Initiate high-intensity statin during hospitalization\nAdd ezetimibe ± PCSK9 mAb if LDL >55 mg/dL at discharge\nDo NOT wait for outpatient follow-up" },
{ title:"Familial Hypercholesterolemia", color:C.navy, text:"HeFH: Max statin + ezetimibe + PCSK9 mAb\nHoFH: Add evinacumab or lomitapide; consider LDL apheresis if LDL ≥100 on max therapy\nTarget LDL <70 (HeFH) or <100 mg/dL (HoFH)" },
{ title:"Hypertriglyceridemia", color:C.teal, text:"TG 150–499: lifestyle, address secondary causes; icosapent ethyl if high-risk\nTG ≥500: fibrate (fenofibrate) ± omega-3 to prevent pancreatitis\nTG ≥1000: hospitalize; very low fat diet; insulin if DM" },
];
scenarios.forEach((sc, i) => {
const y = 1.08 + i * 1.08;
s.addShape(pres.ShapeType.roundRect, { x: 6.75, y, w: 3.1, h: 1.0, fill: { color: C.white }, line: { color: sc.color, width: 1.5 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 6.75, y, w: 3.1, h: 0.3, fill: { color: sc.color } });
s.addText(sc.title, { x: 6.8, y, w: 3.0, h: 0.3, fontSize: 9, bold: true, color: C.white, valign: "middle", margin: 4 });
s.addText(sc.text, { x: 6.8, y: y + 0.33, w: 3.0, h: 0.63, fontSize: 7.5, color: C.gray, valign: "top", margin: 3 });
});
footer(s, 10);
}
// ─── SLIDE 16: STATIN INTENSITY ───────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Statin Intensity Classification & Side Effects", "Intensity guided by absolute ASCVD risk — not lipid level alone");
// Three intensity columns
const intensities = [
{ label:"HIGH INTENSITY", target:"≥50% LDL-C reduction", color:C.red,
drugs:["Atorvastatin 40 mg → ~49% LDL↓","Atorvastatin 80 mg → ~60% LDL↓","Rosuvastatin 20 mg → ~52% LDL↓","Rosuvastatin 40 mg → ~55% LDL↓"],
use:"Clinical ASCVD (all)\nHigh primary prevention (≥10%)\nLDL-C ≥190 mg/dL" },
{ label:"MODERATE INTENSITY", target:"30–49% LDL-C reduction", color:C.orange,
drugs:["Atorvastatin 10 mg → ~37% LDL↓","Rosuvastatin 5–10 mg → ~38% LDL↓","Simvastatin 20–40 mg → ~35% LDL↓","Pravastatin 40–80 mg → ~34% LDL↓","Fluvastatin 40–80 mg → ~25% LDL↓"],
use:"Intermediate primary prevention (5–<10%)\nBorderline risk with enhancers\nDiabetes (varies by risk)" },
{ label:"LOW INTENSITY", target:"<30% LDL-C reduction", color:C.green,
drugs:["Simvastatin 10 mg","Pravastatin 10–20 mg","Lovastatin 20 mg"],
use:"Statin-intolerant patients on partial therapy\nRarely first-choice — use moderate instead if tolerated" },
];
intensities.forEach((inten, i) => {
const x = 0.28 + i * 3.2;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.08, w: 3.1, h: 3.2, fill: { color: C.white }, line: { color: inten.color, width: 2 }, rectRadius: 0.12 });
s.addShape(pres.ShapeType.rect, { x, y: 1.08, w: 3.1, h: 0.52, fill: { color: inten.color } });
s.addText(inten.label, { x: x + 0.08, y: 1.08, w: 2.94, h: 0.3, fontSize: 10, bold: true, color: C.white, align: "center", margin: 4 });
s.addText(`Target: ${inten.target}`, { x: x + 0.08, y: 1.36, w: 2.94, h: 0.24, fontSize: 8.5, color: C.white, align: "center", margin: 2 });
s.addText("Drugs:", { x: x + 0.1, y: 1.64, w: 2.9, h: 0.22, fontSize: 8.5, bold: true, color: inten.color, margin: 2 });
s.addText(inten.drugs.map(d => `• ${d}`).join("\n"), { x: x + 0.1, y: 1.84, w: 2.9, h: 1.2, fontSize: 8.5, color: C.gray, valign: "top", margin: 2 });
s.addShape(pres.ShapeType.rect, { x: x + 0.1, y: 3.0, w: 2.9, h: 0.02, fill: { color: C.lgray } });
s.addText("Use for:", { x: x + 0.1, y: 3.06, w: 2.9, h: 0.2, fontSize: 8.5, bold: true, color: inten.color, margin: 2 });
s.addText(inten.use, { x: x + 0.1, y: 3.25, w: 2.9, h: 0.8, fontSize: 8.5, color: C.gray, valign: "top", margin: 2 });
});
// Side effects box
s.addShape(pres.ShapeType.roundRect, { x: 0.28, y: 4.38, w: 9.44, h: 0.95, fill: { color: C.white }, line: { color: C.red, width: 1 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 4.38, w: 9.44, h: 0.28, fill: { color: C.red } });
s.addText("⚠ Statin Safety & Side Effects", { x: 0.35, y: 4.38, w: 9.3, h: 0.28, fontSize: 9, bold: true, color: C.white, valign: "middle", margin: 4 });
s.addText(
"• Myopathy / Myalgia (most common) — check CK if symptomatic; switch statin or reduce dose\n" +
"• Rhabdomyolysis (rare) — CK >10× ULN; discontinue immediately | Hepatotoxicity (rare) — monitor LFTs at baseline\n" +
"• New-onset T2DM (~10% risk over 4 yrs on high-intensity; benefits outweigh risk in high-risk patients)\n" +
"• Drug interactions: Avoid simvastatin >20 mg with strong CYP3A4 inhibitors (clarithromycin, itraconazole); gemfibrozil + statin → myopathy risk",
{ x: 0.35, y: 4.66, w: 9.3, h: 0.63, fontSize: 8, color: C.gray, valign: "top", margin: 2 }
);
footer(s, 11);
}
// ─── SLIDE 17: SECTION – SPECIAL POPULATIONS ──────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, 6, "Special Populations", "Diabetes · CKD · Elderly · Pregnancy · HIV · FH · Children");
}
// ─── SLIDE 18: SPECIAL POPULATIONS ────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.ice } });
titleBar(s, "Management in Special Populations", "AHA 2026 guidance for specific clinical groups");
const pops = [
{ title:"Type 2 Diabetes", color:C.orange,
text:"Most T2DM have at least moderate CV risk → statin therapy indicated\nT2DM age 40–75 at high risk: high-intensity statin → LDL-C <70 mg/dL\nAdd SGLT-2i or GLP-1RA for additional ASCVD + renal protection\nPattern: ↑ TG, ↓ HDL, small dense LDL — address all components" },
{ title:"Chronic Kidney Disease", color:C.teal,
text:"CKD stage 3–5 (not on dialysis): moderate or high-intensity statin\nOn dialysis: initiate new statin not beneficial; continue if already on\nNephrotic syndrome → severe secondary hyperlipidemia — treat underlying\nAvoid high-dose simvastatin (myopathy risk in CKD)" },
{ title:"Elderly (≥75 years)", color:C.navy,
text:"Continue statin if already on therapy with established ASCVD\nPrimary prevention in >75 yrs: individualize — discuss risk/benefit, polypharmacy, frailty\nRisk of statin side effects higher in elderly (myopathy, DDI)\nCAC, functional status, life expectancy guide decisions" },
{ title:"Pregnancy", color:C.red,
text:"Statins CONTRAINDICATED in pregnancy (teratogenic — Category X)\nDiscontinue 1–3 months before planned conception\nBile acid sequestrants (colesevelam) safest option if needed\nHypertriglyceridemia in pregnancy: very low fat diet; omega-3; fenofibrate if TG >1000 (pancreatitis risk)" },
{ title:"HIV / Chronic Inflammation", color:C.green,
text:"HIV: dyslipidemia from both disease + ART (PIs raise TG/LDL most)\nUse pravastatin or rosuvastatin (less CYP3A4 interaction with PIs)\nAvoid simvastatin/lovastatin with PI boosted regimens\nRA, psoriasis, SLE: CV risk enhancers → lower threshold for statin" },
{ title:"Children & Adolescents", color:C.gold,
text:"Universal lipid screening at age 9–11 yrs (AHA 2026 — NEW Class I)\nFH: LDL-C ≥160 mg/dL in child → screen family; statin if ≥8–10 yrs\nLifestyle foundation: diet + exercise first for 3–6 months\nLDL ≥190 mg/dL in adolescent + family hx → consider statin referral" },
];
pops.forEach((p, i) => {
const col = i % 2;
const row = Math.floor(i / 3);
// 3 per column, 2 columns
const colIdx = Math.floor(i / 3);
const rowIdx = i % 3;
const x = 0.25 + colIdx * 5.0;
const y = 1.08 + rowIdx * 1.47;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.7, h: 1.38, fill: { color: C.white }, line: { color: p.color, width: 1.5 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.7, h: 0.28, fill: { color: p.color } });
s.addText(p.title, { x: x + 0.08, y, w: 4.54, h: 0.28, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 4 });
s.addText(p.text, { x: x + 0.08, y: y + 0.3, w: 4.54, h: 1.05, fontSize: 8.5, color: C.gray, valign: "top", margin: 3 });
});
footer(s, 12);
}
// ─── SLIDE 19: KEY TAKEAWAYS ─────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.22, h: 5.625, fill: { color: C.red } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 1.85, w: 10, h: 0.06, fill: { color: C.teal } });
s.addText("KEY TAKEAWAYS", { x: 0.4, y: 0.18, w: 9, h: 0.6, fontSize: 28, bold: true, color: C.white, charSpacing: 4, margin: 0 });
s.addText("ACC / AHA 2026 Dyslipidemia Guideline — 10 Points Every Clinician Must Know", {
x: 0.4, y: 0.78, w: 9, h: 0.38, fontSize: 12, color: C.gold, italic: true, margin: 0,
});
const takeaways = [
{ n:"1", text:"LDL-C targets are back: <55 (very high), <70 (high), <100 (intermediate) mg/dL" },
{ n:"2", text:"Use PREVENT (not PCE) — estimates 10-yr ASCVD risk for ages 30–79; runs 40–50% lower than old PCE" },
{ n:"3", text:"Measure Lp(a) at least once in ALL adults (Class I) — ≥125 nmol/L = risk enhancer; act on it" },
{ n:"4", text:"CAC >0 → initiate LLT (Class I); CAC = 0 + no high-risk conditions → defer, repeat in 3–7 yrs" },
{ n:"5", text:"Statin = first-line always; high-intensity for high/very high risk; titrate to goal" },
{ n:"6", text:"Step up: Statin → + Ezetimibe → + PCSK9 mAb / Inclisiran / Bempedoic acid" },
{ n:"7", text:"Inclisiran (siRNA): twice-yearly injection — equivalent to PCSK9 mAb; now formally recommended" },
{ n:"8", text:"Icosapent ethyl (pure EPA 4 g/day) for high/very high risk patients with TG ≥150 mg/dL on statin" },
{ n:"9", text:"Universal pediatric lipid screening at age 9–11 — screen family if child has LDL ≥160" },
{ n:"10", text:"New ApoB targets: <55 mg/dL (very high risk) — use when LDL-C and ApoB are discordant" },
];
takeaways.forEach((t, i) => {
const col = Math.floor(i / 5);
const row = i % 5;
const x = 0.38 + col * 4.9;
const y = 2.02 + row * 0.68;
s.addShape(pres.ShapeType.ellipse, { x, y: y + 0.06, w: 0.38, h: 0.38, fill: { color: C.red } });
s.addText(t.n, { x, y: y + 0.06, w: 0.38, h: 0.38, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
s.addText(t.text, { x: x + 0.46, y, w: 4.3, h: 0.52, fontSize: 9.5, color: C.white, valign: "middle", margin: 0 });
});
}
// ─── SAVE ─────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/dyslipidemia-aha2026/Dyslipidemia_AHA2026.pptx" })
.then(() => console.log("DONE: Dyslipidemia_AHA2026.pptx saved"))
.catch(e => { console.error("ERROR:", e); process.exit(1); });