take goodman and gillman katzung and kdt as reference and give me high yeild and conceptual understanding mcqs on raas inhibitors pharmacology
| Drug class | Plasma Renin Activity | Angiotensin II |
|---|---|---|
| A. ACE inhibitor | ↑ (feedback reflex) | ↓ |
| B. ARB | ↓ | ↓ |
| C. Aliskiren | ↓ | ↓ |
| D. Both A and C |
| Feature | ACE Inhibitors | ARBs | Aliskiren | ARNi (Sacubitril/Valsartan) |
|---|---|---|---|---|
| Target | ACE (kininase II) | AT1 receptor | Renin | Neprilysin + AT1 |
| Bradykinin | ↑↑ | No change | No change | ↑ (via neprilysin) |
| Cough/Angioedema | Yes | Rare | No | Possible |
| Plasma Renin Activity | ↑ | ↑ | ↓ | ↑ |
| Plasma Angiotensin II | ↓ | ↑ | ↓ | ↑ |
| Aldosterone | ↓ | ↓ | ↓ | ↓ |
| Pregnancy | Contraindicated (2nd/3rd tri) | Contraindicated | Contraindicated | Contraindicated |
| Best indication | HTN, HF, DM nephropathy, post-MI | HTN, HF (ACEI-intolerant) | HTN | HFrEF |
| Unique feature | Captopril/lisinopril not prodrugs; fosinopril/moexipril hepatic | Losartan uricosuric | Lowest F (~3%) | 36-hr washout before ACEI |
Generate a presentation with mechanism diagrams and tables for study
mkdir -p /home/daytona/workspace/raas-pptx && ls /home/daytona/workspace/raas-pptx/
~/raas-pptx/raas.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";
pres.title = "RAAS Inhibitors Pharmacology";
pres.author = "Orris Medical";
// ── PALETTE ──────────────────────────────────────────────────────────────────
const C = {
navy: "0B1F4B", // dominant dark
blue: "1A3E8C", // supporting
teal: "0D7C7C", // accent
sky: "3B8EC8", // lighter accent
gold: "E8A020", // highlight / warning
red: "C0392B", // danger / contraindication
green: "1D7A4E", // benefit / positive
white: "FFFFFF",
offwht: "F5F7FA",
lt_gray: "E2E8F0",
mid_gray:"64748B",
dark: "1E293B",
lilac: "8B5CF6",
orange: "E06C2A",
};
// ── HELPERS ──────────────────────────────────────────────────────────────────
function sectionHeader(pres, title, subtitle) {
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:13.3, h:7.5, fill:{ color: C.navy } });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.8, w:13.3, h:1.7, fill:{ color: C.teal } });
s.addText(title, { x:1, y:1.8, w:11.3, h:1.6, fontSize:42, bold:true, color:C.white, align:"center", fontFace:"Calibri" });
if (subtitle) s.addText(subtitle, { x:1, y:3.6, w:11.3, h:0.8, fontSize:20, color:C.lt_gray, align:"center", fontFace:"Calibri", italic:true });
return s;
}
function slideTitle(slide, title, pres) {
// teal bar top
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:13.3, h:0.72, fill:{ color: C.navy } });
slide.addText(title, { x:0.35, y:0.1, w:12.6, h:0.55, fontSize:20, bold:true, color:C.white, fontFace:"Calibri", margin:0 });
// thin gold accent line
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0.72, w:13.3, h:0.06, fill:{ color: C.gold } });
// light background
slide.background = { color: C.offwht };
}
function box(slide, pres, x, y, w, h, fillColor, text, textColor, fontSize, bold, lineColor) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h,
fill: { color: fillColor },
line: { color: lineColor || fillColor, width: 1.5 },
rectRadius: 0.08,
shadow: { type:"outer", color:"000000", blur:4, offset:2, angle:135, opacity:0.12 }
});
slide.addText(text, { x, y, w, h, fontSize: fontSize||13, bold: bold||false, color: textColor||C.dark, align:"center", valign:"middle", fontFace:"Calibri", margin:4 });
}
function arrowRight(slide, pres, x, y, w, color) {
slide.addShape(pres.shapes.CHEVRON, { x, y, w, h:0.38, fill:{ color: color||C.sky }, line:{ color: color||C.sky, width:0 } });
}
function arrowDown(slide, pres, x, y, color) {
slide.addShape(pres.shapes.DOWN_ARROW, { x, y, w:0.32, h:0.42, fill:{ color: color||C.sky }, line:{ color: color||C.sky, width:0 } });
}
// ── SLIDE 1 – TITLE ──────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:13.3, h:7.5, fill:{ color: C.navy } });
// decorative teal stripe
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.9, w:13.3, h:1.6, fill:{ color: C.teal } });
// gold accent
s.addShape(pres.shapes.RECTANGLE, { x:0.5, y:5.88, w:12.3, h:0.08, fill:{ color: C.gold } });
s.addText("RAAS Inhibitors", { x:0.8, y:1.1, w:11.7, h:1.3, fontSize:52, bold:true, color:C.white, align:"center", fontFace:"Calibri" });
s.addText("Pharmacology", { x:0.8, y:2.4, w:11.7, h:0.9, fontSize:42, bold:false, color:C.gold, align:"center", fontFace:"Calibri" });
s.addText("Mechanism • Drug Classes • Clinical Uses • High-Yield MCQs", {
x:0.8, y:3.5, w:11.7, h:0.65, fontSize:17, color:C.lt_gray, align:"center", fontFace:"Calibri", italic:true
});
s.addText("References: Goodman & Gilman 14e • Katzung 16e • KD Tripathi", {
x:0.8, y:6.1, w:11.7, h:0.5, fontSize:13, color:C.white, align:"center", fontFace:"Calibri"
});
}
// ── SLIDE 2 – OVERVIEW / AGENDA ─────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Contents at a Glance", pres);
const items = [
["1", "Classical RAAS Cascade", C.blue],
["2", "Sites of Drug Action (Diagram)", C.teal],
["3", "ACE Inhibitors", C.sky],
["4", "ARBs – Angiotensin Receptor Blockers", C.lilac],
["5", "Direct Renin Inhibitor – Aliskiren", C.orange],
["6", "ARNi – Sacubitril/Valsartan", C.green],
["7", "Comparison Table – All Classes", C.gold],
["8", "Adverse Effects & Contraindications", C.red],
["9", "Special Clinical Scenarios", C.navy],
["10","High-Yield Memory Tricks", C.teal],
];
items.forEach(([num, label, color], i) => {
const col = i < 5 ? 0 : 1;
const row = i < 5 ? i : i - 5;
const x = 0.5 + col * 6.4;
const y = 1.0 + row * 1.1;
s.addShape(pres.shapes.RECTANGLE, { x, y, w:6.0, h:0.85, fill:{ color }, rectRadius:0.08,
shadow:{ type:"outer", color:"000000", blur:4, offset:2, angle:135, opacity:0.14 } });
s.addText([
{ text: num + ". ", options:{ bold:true, color:C.white, fontSize:15 } },
{ text: label, options:{ bold:false, color:C.white, fontSize:14 } }
], { x, y, w:6.0, h:0.85, align:"left", valign:"middle", fontFace:"Calibri", margin:12 });
});
}
// ── SLIDE 3 – CLASSICAL RAAS CASCADE ─────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Classical RAAS Cascade", pres);
// Title note
s.addText("Rate-limiting step = Renin → Angiotensin I (the committed, irreversible step)", {
x:0.4, y:0.82, w:12.5, h:0.38, fontSize:12, italic:true, color:C.mid_gray, fontFace:"Calibri"
});
// Cascade boxes
const steps = [
{ label:"Angiotensinogen\n(α2-globulin, made in liver)", fill:C.sky, tc:C.white },
{ label:"Angiotensin I\n(decapeptide)", fill:C.blue, tc:C.white },
{ label:"Angiotensin II\n(octapeptide – ACTIVE)", fill:C.navy, tc:C.white },
];
const bw=3.5, bh=0.88, startX=0.3, stepX=4.4, by=1.5;
steps.forEach((st, i) => {
box(s, pres, startX + i*stepX, by, bw, bh, st.fill, st.label, st.tc, 13, true);
if (i < 2) {
arrowRight(s, pres, startX + i*stepX + bw + 0.05, by + 0.24, 0.72, C.gold);
}
});
// Enzyme labels
s.addText("RENIN\n(JG cells → rate-limiting)", { x:4.0, y:1.15, w:2.0, h:0.55, fontSize:11, bold:true, color:C.gold, align:"center", fontFace:"Calibri" });
s.addText("ACE\n(lung endothelium)", { x:8.4, y:1.15, w:2.0, h:0.55, fontSize:11, bold:true, color:C.teal, align:"center", fontFace:"Calibri" });
s.addText("Also: chymase, cathepsin G\n(non-ACE pathways → why ACEi incomplete)", { x:8.2, y:2.5, w:3.2, h:0.6, fontSize:10, italic:true, color:C.red, align:"left", fontFace:"Calibri" });
// AT1 / AT2 effects
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:2.7, w:13.0, h:0.06, fill:{ color: C.lt_gray } });
// AT1
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:2.85, w:5.8, h:3.45, fill:{ color:"E8F0FA" }, line:{ color: C.blue, width:1.5 }, rectRadius:0.1 });
s.addText("AT1 Receptor Effects", { x:0.3, y:2.85, w:5.8, h:0.45, fontSize:14, bold:true, color:C.blue, align:"center", valign:"middle", fontFace:"Calibri" });
const at1 = ["Vasoconstriction (↑ SVR)", "↑ Aldosterone secretion → Na⁺/H₂O retention", "Cardiac & vascular hypertrophy/remodeling", "↑ Sympathetic tone (NE release)", "ADH (AVP) release → water reabsorption", "↓ Renin (negative feedback)"];
at1.forEach((t,i) => s.addText("▸ " + t, { x:0.5, y:3.35 + i*0.47, w:5.4, h:0.44, fontSize:12, color:C.dark, fontFace:"Calibri" }));
// AT2
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:7.1, y:2.85, w:5.8, h:3.45, fill:{ color:"E8F7F0" }, line:{ color: C.green, width:1.5 }, rectRadius:0.1 });
s.addText("AT2 Receptor Effects (counter-regulatory)", { x:7.1, y:2.85, w:5.8, h:0.45, fontSize:14, bold:true, color:C.green, align:"center", valign:"middle", fontFace:"Calibri" });
const at2 = ["Vasodilation (↑ NO, ↑ cGMP)", "Anti-proliferative / anti-fibrotic", "↑ Bradykinin → further vasodilation", "Upregulated when AT1 blocked (by ARBs)", "Counter-balances AT1 effects", "Cardioprotective in disease states"];
at2.forEach((t,i) => s.addText("▸ " + t, { x:7.3, y:3.35 + i*0.47, w:5.4, h:0.44, fontSize:12, color:C.dark, fontFace:"Calibri" }));
// arrow from Ang II to AT1 and AT2
s.addText("↙ AT1", { x:4.8, y:2.52, w:1.2, h:0.35, fontSize:12, bold:true, color:C.blue, fontFace:"Calibri" });
s.addText("AT2 ↘", { x:7.3, y:2.52, w:1.2, h:0.35, fontSize:12, bold:true, color:C.green, fontFace:"Calibri" });
}
// ── SLIDE 4 – SITES OF DRUG ACTION ──────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Sites of Drug Action on RAAS", pres);
// Central flow column
const flow = [
{ label:"Angiotensinogen", fill:C.lt_gray, tc:C.dark, y:1.0 },
{ label:"Angiotensin I", fill:C.sky, tc:C.white, y:2.1 },
{ label:"Angiotensin II", fill:C.blue, tc:C.white, y:3.2 },
{ label:"AT1 Receptor", fill:C.navy, tc:C.white, y:4.3 },
];
const fx=4.9, fw=3.5, fh=0.75;
flow.forEach(f => {
box(s, pres, fx, f.y, fw, fh, f.fill, f.label, f.tc, 14, true);
});
// down arrows
[1.82, 2.92, 4.02].forEach(ay => arrowDown(s, pres, fx + fw/2 - 0.16, ay, C.gold));
// enzyme labels on arrows
s.addText("Renin", { x:fx+fw+0.1, y:1.78, w:1.5, h:0.4, fontSize:11, bold:true, color:C.orange, fontFace:"Calibri" });
s.addText("ACE", { x:fx+fw+0.1, y:2.88, w:1.5, h:0.4, fontSize:11, bold:true, color:C.teal, fontFace:"Calibri" });
// Drug intervention boxes – LEFT
// β-blockers
box(s, pres, 0.3, 1.0, 3.5, 0.75, C.mid_gray, "β-Blockers\n(↓ Renin release from JG cells)", C.white, 11, false);
// Aliskiren
box(s, pres, 0.3, 1.72, 3.5, 0.75, C.orange, "Aliskiren (DRI)\nDirect renin inhibitor", C.white, 11, true);
// ACE inhibitors
box(s, pres, 0.3, 2.85, 3.5, 0.75, C.teal, "ACE Inhibitors\nCaptopril, Enalapril, Lisinopril…", C.white, 11, true);
// arrows from drug boxes to flow
[0.3+3.5, 0.3+3.5, 0.3+3.5].forEach((ax, i) => {
const ay = [1.32, 2.07, 3.12][i];
s.addShape(pres.shapes.LINE, { x:ax, y:ay, w:1.0, h:0, line:{ color:C.red, width:2, dashType:"sysDot" } });
s.addText("✖", { x:ax+0.6, y:ay-0.22, w:0.4, h:0.4, fontSize:13, bold:true, color:C.red, fontFace:"Calibri" });
});
// Drug boxes – RIGHT
// ARBs
box(s, pres, 9.5, 4.05, 3.5, 0.85, C.lilac, "ARBs\nLosartan, Valsartan, Candesartan…", C.white, 11, true);
// Aldosterone antagonists
box(s, pres, 9.5, 5.2, 3.5, 0.85, C.green, "Aldosterone Antagonists\nSpironolactone, Eplerenone", C.white, 11, true);
// right-side arrows
s.addShape(pres.shapes.LINE, { x:8.4, y:4.3+0.38, w:1.0, h:0, line:{ color:C.red, width:2, dashType:"sysDot" } });
s.addText("✖", { x:8.6, y:4.45, w:0.4, h:0.4, fontSize:13, bold:true, color:C.red, fontFace:"Calibri" });
// Aldosterone below AT1
box(s, pres, fx, 5.35, fw, 0.75, C.gold, "Aldosterone\n(adrenal cortex)", C.dark, 12, false);
arrowDown(s, pres, fx + fw/2 - 0.16, 5.1, C.gold);
s.addShape(pres.shapes.LINE, { x:9.5, y:5.6, w:-1.62, h:0, line:{ color:C.red, width:2, dashType:"sysDot" } });
s.addText("✖", { x:7.7, y:5.45, w:0.4, h:0.4, fontSize:13, bold:true, color:C.red, fontFace:"Calibri" });
// ARNi callout
box(s, pres, 0.3, 5.2, 3.5, 0.85, C.sky, "ARNi – Sacubitril/Valsartan\n(Neprilysin inhib + AT1 block)", C.white, 11, true);
s.addText("Bradykinin / BNP\n↑ preserved by ARNi", { x:0.3, y:6.2, w:3.5, h:0.7, fontSize:10, italic:true, color:C.teal, fontFace:"Calibri", align:"center" });
// Legend
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:6.98, w:0.35, h:0.2, fill:{ color:C.red } });
s.addText("= Block/Inhibit", { x:0.7, y:6.95, w:2.0, h:0.28, fontSize:10, color:C.dark, fontFace:"Calibri" });
}
// ── SLIDE 5 – ACE INHIBITORS ─────────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "ACE Inhibitors – Mechanism & Pharmacology", pres);
// Mechanism box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:0.9, w:12.7, h:1.25, fill:{ color:"EFF6FF" }, line:{ color:C.teal, width:2 }, rectRadius:0.08 });
s.addText([
{ text:"Mechanism: ", options:{ bold:true, color:C.navy, fontSize:13 } },
{ text:"Inhibit ACE (kininase II = peptidyl dipeptidase) → ", options:{ color:C.dark, fontSize:13 } },
{ text:"(1) ↓ Ang I → Ang II ", options:{ bold:true, color:C.blue, fontSize:13 } },
{ text:"AND ", options:{ color:C.dark, fontSize:13 } },
{ text:"(2) ↑ Bradykinin + Substance P", options:{ bold:true, color:C.teal, fontSize:13 } },
{ text:" (because kininase II normally degrades them). Dual vasodilation via reduced AngII + NO/prostacyclin from bradykinin.", options:{ color:C.dark, fontSize:12 } },
], { x:0.5, y:0.94, w:12.3, h:1.12, fontFace:"Calibri", valign:"middle", margin:6 });
// Prodrug table
s.addText("Prodrug Status (High-Yield)", { x:0.3, y:2.3, w:5.8, h:0.4, fontSize:14, bold:true, color:C.navy, fontFace:"Calibri" });
const pdRows = [
["Drug", "Prodrug?", "Active Form", "Clearance"],
["Captopril", "NO (–SH)", "Captopril", "Renal"],
["Lisinopril", "NO (lysine)", "Lisinopril", "Renal"],
["Enalapril", "YES", "Enalaprilat (IV only)", "Renal"],
["Ramipril", "YES", "Ramiprilat", "Renal"],
["Fosinopril", "YES", "Fosinoprilat", "Hepatic ✔"],
["Moexipril", "YES", "Moexiprilat", "Hepatic ✔"],
];
pdRows.forEach((row, ri) => {
row.forEach((cell, ci) => {
const isHeader = ri === 0;
const x = 0.3 + ci * 1.55;
const y = 2.75 + ri * 0.45;
s.addShape(pres.shapes.RECTANGLE, { x, y, w:1.52, h:0.42,
fill:{ color: isHeader ? C.navy : (ri%2===0 ? C.offwht : C.white) },
line:{ color: C.lt_gray, width: 0.5 }
});
s.addText(cell, { x, y, w:1.52, h:0.42, fontSize: isHeader?11:10.5,
bold:isHeader, color: isHeader?C.white:(cell.includes("✔")?C.green:C.dark),
align:"center", valign:"middle", fontFace:"Calibri" });
});
});
// Indications
s.addText("Key Indications", { x:6.6, y:2.3, w:6.4, h:0.4, fontSize:14, bold:true, color:C.navy, fontFace:"Calibri" });
const indics = [
["Hypertension", C.sky],
["Heart Failure (HFrEF) – 1st line", C.blue],
["Post-MI (↓ remodeling, ↓ mortality)", C.blue],
["Diabetic nephropathy (↓ proteinuria)", C.green],
["CKD – non-diabetic (↓ progression)", C.green],
["Prevention of DM in high CV-risk pts", C.teal],
];
indics.forEach(([txt, color], i) => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:6.6, y:2.75 + i*0.45, w:6.3, h:0.41, fill:{ color }, rectRadius:0.06 });
s.addText("✔ " + txt, { x:6.6, y:2.75 + i*0.45, w:6.3, h:0.41, fontSize:11.5, color:C.white, fontFace:"Calibri", valign:"middle", margin:8 });
});
// Hemodynamic effects
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:5.8, w:12.7, h:1.35, fill:{ color:"F0FFF4" }, line:{ color:C.green, width:1.5 }, rectRadius:0.08 });
s.addText("Hemodynamic Profile", { x:0.5, y:5.82, w:4, h:0.36, fontSize:13, bold:true, color:C.green, fontFace:"Calibri" });
const hemo = [
["Heart Rate", "↔ (no reflex tachycardia ✓)"],
["Cardiac Output", "↔"],
["Total Peripheral Resistance", "↓ (main BP effect)"],
["Plasma Volume", "↔"],
["Plasma Renin Activity", "↑ (compensatory)"],
["Aldosterone", "↓"],
];
hemo.forEach(([k,v], i) => {
const x = 0.4 + (i < 3 ? 0 : 6.4);
const y = 6.23 + (i < 3 ? i : i-3) * 0.28;
s.addText(k + ": ", { x, y, w:2.8, h:0.27, fontSize:10.5, bold:true, color:C.dark, fontFace:"Calibri", margin:0 });
s.addText(v, { x:x+2.8, y, w:3.2, h:0.27, fontSize:10.5, color:(v.includes("↔"))?C.mid_gray:(v.includes("↓")?C.teal:C.orange), fontFace:"Calibri", margin:0 });
});
}
// ── SLIDE 6 – ACE INHIBITOR ADVERSE EFFECTS ─────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "ACE Inhibitors – Adverse Effects & Contraindications", pres);
// AE boxes
const aes = [
{ title:"Dry Cough (5-20%)", body:"Bradykinin + Substance P accumulation in lungs\n→ C-fiber irritation. More common in women + Asians.\nFix: Switch to ARB", color:C.orange },
{ title:"Angioedema (rare, dangerous)", body:"Bradykinin-mediated. Can be life-threatening\nlaryngeal swelling. Occurs even after years of use.\nFix: STOP; use icatibant; switch to ARB", color:C.red },
{ title:"Hyperkalemia", body:"↓ Aldosterone → ↓ K⁺ excretion\nRisk ↑ with: renal failure, DM, K⁺ supplements,\nK⁺-sparing diuretics, NSAIDs, heparin", color:C.gold },
{ title:"Acute Renal Failure", body:"In bilateral RAS or solitary kidney RAS:\nLoss of efferent arteriolar AngII tone\n→ GFR collapses. Monitor creatinine.", color:C.red },
{ title:"First-dose Hypotension", body:"Risk if volume-depleted (diuretics, fluid loss).\nStart LOW dose; hold diuretic 24h before.\nEspecially captopril (short-acting).", color:C.blue },
{ title:"Fetal Toxicity", body:"2nd & 3rd trimester: hypotension, oliguria,\nrenal failure, malformations, fetal death.\nCONTRAINDICATED in pregnancy", color:C.navy },
];
aes.forEach((ae, i) => {
const col = i % 3, row = Math.floor(i/3);
const x = 0.3 + col * 4.3, y = 1.0 + row * 2.95;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w:4.1, h:2.75, fill:{ color: ae.color }, rectRadius:0.1,
shadow:{ type:"outer", color:"000000", blur:6, offset:2, angle:135, opacity:0.15 } });
s.addText(ae.title, { x, y:y+0.05, w:4.1, h:0.55, fontSize:13.5, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
s.addShape(pres.shapes.RECTANGLE, { x, y:y+0.58, w:4.1, h:0.05, fill:{ color:C.white } });
s.addText(ae.body, { x:x+0.1, y:y+0.65, w:3.9, h:2.0, fontSize:11, color:C.white, fontFace:"Calibri", valign:"top" });
});
// Contraindication table
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:6.85, w:12.7, h:0.5, fill:{ color:C.navy } });
s.addText("COMPELLING CONTRAINDICATIONS: Pregnancy • Bilateral RAS • Hyperkalemia • Angioedema history | PRECAUTION: Childbearing potential",
{ x:0.3, y:6.85, w:12.7, h:0.5, fontSize:11.5, bold:true, color:C.gold, align:"center", valign:"middle", fontFace:"Calibri" });
}
// ── SLIDE 7 – ARBs ──────────────────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Angiotensin Receptor Blockers (ARBs)", pres);
// Mechanism
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:0.9, w:12.7, h:1.0, fill:{ color:"F3F0FF" }, line:{ color:C.lilac, width:2 }, rectRadius:0.08 });
s.addText([
{ text:"Mechanism: ", options:{ bold:true, color:C.navy, fontSize:13 } },
{ text:"Selective competitive antagonism at AT1 receptors. Unlike ACEi, they do NOT inhibit bradykinin degradation → ", options:{ color:C.dark, fontSize:13 } },
{ text:"no cough, less angioedema.", options:{ bold:true, color:C.lilac, fontSize:13 } },
{ text:" Blocked AT1 → AngII floods AT2 → additional NO-mediated vasodilation (bonus).", options:{ color:C.dark, fontSize:12 } },
], { x:0.5, y:0.93, w:12.3, h:0.92, fontFace:"Calibri", valign:"middle", margin:6 });
// Drug list
s.addText("Members", { x:0.3, y:2.05, w:4.0, h:0.38, fontSize:14, bold:true, color:C.lilac, fontFace:"Calibri" });
const arbs = [
["Losartan","First ARB; active metabolite EXP-3174; uricosuric (blocks URAT-1) → use in gout + HTN","★★★"],
["Valsartan","HFrEF + HTN; in Sacubitril/Valsartan (ARNi)","★★★"],
["Candesartan","Prodrug; long duration; HFrEF benefit","★★"],
["Irbesartan","No active metabolite; DM nephropathy (IDNT trial)","★★"],
["Telmisartan","Longest t½ (~24h); PPAR-γ agonism; once daily","★★"],
["Olmesartan","Potent; sprue-like enteropathy (rare)","★"],
["Azilsartan","Newest; strongest BP lowering","★"],
["Eprosartan","Non-biphenyl tetrazole","★"],
];
arbs.forEach((r, i) => {
const isH = false;
const y = 2.5 + i * 0.52;
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y, w:2.2, h:0.49, fill:{ color: i%2===0?C.lilac:C.offwht }, line:{ color:C.lt_gray, width:0.5 } });
s.addText(r[0], { x:0.3, y, w:2.2, h:0.49, fontSize:11.5, bold:true, color: i%2===0?C.white:C.lilac, align:"center", valign:"middle", fontFace:"Calibri" });
s.addShape(pres.shapes.RECTANGLE, { x:2.52, y, w:6.8, h:0.49, fill:{ color: i%2===0?"F3F0FF":C.white }, line:{ color:C.lt_gray, width:0.5 } });
s.addText(r[1], { x:2.55, y, w:6.7, h:0.49, fontSize:10.5, color:C.dark, valign:"middle", fontFace:"Calibri", margin:4 });
s.addShape(pres.shapes.RECTANGLE, { x:9.34, y, w:0.8, h:0.49, fill:{ color: i%2===0?"F3F0FF":C.white }, line:{ color:C.lt_gray, width:0.5 } });
s.addText(r[2], { x:9.34, y, w:0.8, h:0.49, fontSize:11, color:C.gold, align:"center", valign:"middle", fontFace:"Calibri" });
});
// Losartan key fact
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:10.2, y:2.05, w:2.85, h:5.0, fill:{ color:"FFF9E6" }, line:{ color:C.gold, width:2 }, rectRadius:0.1 });
s.addText("★ LOSARTAN\nHigh-Yield Facts", { x:10.2, y:2.1, w:2.85, h:0.7, fontSize:12, bold:true, color:C.gold, align:"center", valign:"middle", fontFace:"Calibri" });
const lFacts = ["Only ARB with uricosuric effect","Active metabolite EXP-3174","Shortest t½ (~6-9h)","Prototype / first ARB","Use in gout + HTN","LIFE trial: ↓ stroke vs atenolol"];
lFacts.forEach((f,i) => s.addText("• " + f, { x:10.25, y:2.85+i*0.52, w:2.75, h:0.5, fontSize:10.5, color:C.dark, fontFace:"Calibri" }));
// Hemodynamics footer note
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:6.85, w:9.7, h:0.5, fill:{ color:"EDE9FE" }, line:{ color:C.lilac, width:1 } });
s.addText("Hemodynamics: Heart rate ↔ • CO ↔ • TPR ↓ • PRA ↑ (same as ACEi) | Plasma Ang II ↑ (AT1 blocked) → AT2 stimulated",
{ x:0.3, y:6.85, w:9.7, h:0.5, fontSize:11, color:C.navy, align:"center", valign:"middle", fontFace:"Calibri" });
}
// ── SLIDE 8 – ACEi vs ARB COMPARISON ────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "ACE Inhibitors vs ARBs – Head-to-Head", pres);
const headers = ["Feature", "ACE Inhibitors", "ARBs"];
const rows = [
["Target enzyme/receptor", "ACE (kininase II)", "AT1 receptor"],
["Bradykinin", "↑↑ (prevents degradation)", "Unchanged"],
["Substance P", "↑ (prevents degradation)", "Unchanged"],
["Cough", "5–20% (common AE)", "Rare (<1%)"],
["Angioedema", "0.1–0.7%", "~0.1% (less)"],
["Plasma Ang II", "↓ (less formed)", "↑ (AT1 blocked, backs up)"],
["Plasma Renin Activity", "↑ (loss of feedback)", "↑ (loss of feedback)"],
["AT2 stimulation", "Unchanged", "↑↑ (Ang II floods AT2)"],
["Aldosterone", "↓", "↓"],
["Hyperkalemia", "Yes", "Yes (similar risk)"],
["Fetal safety", "Contraindicated (2nd/3rd tri)", "Contraindicated"],
["Cardiac outcomes (HF)", "First-line (ACEi preferred)", "Non-inferior; use if ACEi intolerant"],
["Diabetic nephropathy", "1st-line (captopril trial)", "1st-line (IDNT, RENAAL)"],
["Unique feature", "Lisinopril/captopril not prodrugs", "Losartan uricosuric"],
];
const colW = [3.2, 4.3, 5.5], colX = [0.15, 3.4, 7.75];
const rh = 0.41;
// header row
headers.forEach((h,ci) => {
s.addShape(pres.shapes.RECTANGLE, { x:colX[ci], y:0.85, w:colW[ci]-0.08, h:rh, fill:{ color: ci===0?C.navy:(ci===1?C.teal:C.lilac) }, line:{ color:C.lt_gray, width:0.5 } });
s.addText(h, { x:colX[ci], y:0.85, w:colW[ci]-0.08, h:rh, fontSize:13, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
});
rows.forEach((row, ri) => {
const bg = ri%2===0 ? C.offwht : C.white;
row.forEach((cell, ci) => {
const y = 1.3 + ri * rh;
s.addShape(pres.shapes.RECTANGLE, { x:colX[ci], y, w:colW[ci]-0.08, h:rh-0.01, fill:{ color: ci===0?"EEF2FF":bg }, line:{ color:C.lt_gray, width:0.5 } });
const textColor = cell.includes("Rare") || cell.includes("less") || cell.includes("preferred") ? C.green
: cell.includes("5–20") || cell.includes("0.1–0.7") || cell.includes("intolerant") ? C.orange
: cell.includes("Contra") ? C.red : C.dark;
s.addText(cell, { x:colX[ci]+0.05, y:1.3+ri*rh, w:colW[ci]-0.18, h:rh-0.01, fontSize:10.5, color:textColor, valign:"middle", fontFace:"Calibri", margin:3 });
});
});
}
// ── SLIDE 9 – ALISKIREN ──────────────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Direct Renin Inhibitor – Aliskiren", pres);
// Hero box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:0.9, w:12.7, h:0.95, fill:{ color: C.orange }, rectRadius:0.1 });
s.addText("Aliskiren – First orally active direct renin inhibitor (DRI) approved for hypertension", {
x:0.5, y:0.92, w:12.3, h:0.88, fontSize:15, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri"
});
// 3 column info
const cols = [
{
title:"Mechanism",
color: C.orange,
items:[
"Binds directly to renin's active site",
"Blocks cleavage of angiotensinogen → Ang I",
"Attacks RATE-LIMITING step of cascade",
"↓ Plasma renin ACTIVITY (PRA)",
"↑ Plasma renin CONCENTRATION (PRC) – feedback",
"Also blocks rise in PRA caused by ACEi/ARBs",
"Does NOT affect bradykinin levels",
"→ No cough, no angioedema",
]
},
{
title:"Pharmacokinetics",
color: C.blue,
items:[
"Oral bioavailability ~3% (F = 0.03)",
"Classic example: low-F drug still works",
"High-fat meal ↓ absorption by 85%",
"t½ ~ 24 hours (once daily dosing)",
"Mainly excreted unchanged in feces",
"NOT a prodrug",
"P-glycoprotein substrate (drug interactions)",
"Minimal hepatic metabolism",
]
},
{
title:"Adverse Effects / Contraindications",
color: C.red,
items:[
"Hyperkalemia (same RAAS mechanism)",
"Hypotension (first-dose)",
"Diarrhea (distinct from ACEi/ARBs)",
"Renal impairment in susceptible pts",
"PREGNANCY – contraindicated",
"Avoid with: ACEi/ARB combination → ↑ AEs",
"Combination with ACEi/ARB contraindicated",
"No proven mortality benefit (no CV outcomes)",
]
},
];
cols.forEach((col, ci) => {
const x = 0.3 + ci * 4.35;
s.addShape(pres.shapes.RECTANGLE, { x, y:2.0, w:4.1, h:0.5, fill:{ color: col.color }, line:{ color:col.color, width:0 } });
s.addText(col.title, { x, y:2.0, w:4.1, h:0.5, fontSize:13, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
col.items.forEach((item, ii) => {
const bg = ii%2===0 ? (ci===0?"FFF3E6":(ci===1?"EFF6FF":"FFF0F0")) : C.white;
s.addShape(pres.shapes.RECTANGLE, { x, y:2.52+ii*0.56, w:4.1, h:0.53, fill:{ color:bg }, line:{ color:C.lt_gray, width:0.5 } });
const tc = item.includes("contraind") || item.includes("PREG") ? C.red : C.dark;
s.addText("• " + item, { x:x+0.08, y:2.52+ii*0.56, w:3.98, h:0.53, fontSize:10.5, color:tc, valign:"middle", fontFace:"Calibri", margin:3 });
});
});
// PRA comparison
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:7.0, w:12.7, h:0.38, fill:{ color:"EFF6FF" }, line:{ color:C.blue, width:1 }, rectRadius:0.06 });
s.addText("PRA Effect Comparison: ACEi ↑PRA | ARBs ↑PRA | Aliskiren ↓PRA (unique) – eliminates compensatory renin rise caused by ACEi, ARBs, diuretics",
{ x:0.3, y:7.0, w:12.7, h:0.38, fontSize:10.5, color:C.blue, align:"center", valign:"middle", fontFace:"Calibri" });
}
// ── SLIDE 10 – ARNi ──────────────────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "ARNi – Sacubitril/Valsartan (Entresto)", pres);
// Mechanism diagram
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:0.9, w:12.7, h:4.7, fill:{ color:"F0F9FF" }, line:{ color:C.sky, width:2 }, rectRadius:0.1 });
s.addText("Dual Mechanism", { x:0.5, y:0.95, w:4, h:0.4, fontSize:14, bold:true, color:C.sky, fontFace:"Calibri" });
// Left – Sacubitril arm
box(s, pres, 0.5, 1.48, 3.5, 0.7, C.sky, "Sacubitril (prodrug)", C.white, 13, true);
arrowDown(s, pres, 0.5+1.59, 2.22, C.sky);
box(s, pres, 0.5, 2.68, 3.5, 0.7, C.blue, "LBQ657 (active)\nNeprilysin Inhibitor", C.white, 12, true);
arrowDown(s, pres, 0.5+1.59, 3.42, C.blue);
box(s, pres, 0.5, 3.88, 3.5, 0.7, C.teal, "↑ ANP, BNP, Bradykinin\n(less breakdown by neprilysin)", C.white, 12, false);
arrowDown(s, pres, 0.5+1.59, 4.62, C.teal);
box(s, pres, 0.5, 5.08, 3.5, 0.65, C.green, "Vasodilation, Natriuresis\n↓ Cardiac Fibrosis, ↓ Hypertrophy", C.white, 11.5, false);
// Right – Valsartan arm
box(s, pres, 9.3, 1.48, 3.5, 0.7, C.lilac, "Valsartan (ARB)", C.white, 13, true);
arrowDown(s, pres, 9.3+1.59, 2.22, C.lilac);
box(s, pres, 9.3, 2.68, 3.5, 0.7, C.lilac, "AT1 Receptor Blockade", C.white, 13, true);
arrowDown(s, pres, 9.3+1.59, 3.42, C.lilac);
box(s, pres, 9.3, 3.88, 3.5, 0.7, C.navy, "↓ AngII effects\n↑ AT2 stimulation", C.white, 12, false);
arrowDown(s, pres, 9.3+1.59, 4.62, C.navy);
box(s, pres, 9.3, 5.08, 3.5, 0.65, C.green, "Vasodilation, ↓ Aldosterone\n↓ Remodeling, ↓ Afterload", C.white, 11.5, false);
// Center – combined effect
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:4.5, y:2.0, w:4.3, h:3.8, fill:{ color:C.green }, rectRadius:0.12,
shadow:{ type:"outer", color:"000000", blur:8, offset:3, angle:135, opacity:0.18 } });
s.addText("Combined\nBenefit", { x:4.5, y:2.05, w:4.3, h:0.7, fontSize:15, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
const comb = ["↓ Mortality (PARADIGM-HF)", "↓ HF hospitalizations", "↓ Cardiac fibrosis", "↓ LV remodeling", "↑ Quality of life", "↑ Exercise tolerance"];
comb.forEach((c, i) => s.addText("✔ " + c, { x:4.6, y:2.82+i*0.5, w:4.0, h:0.46, fontSize:12, color:C.white, fontFace:"Calibri", valign:"middle" }));
// Bottom notes
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:5.9, w:12.7, h:1.45, fill:{ color:C.navy } });
const notes = [
"INDICATION: HFrEF (EF ≤40%) – superior to enalapril (PARADIGM-HF). NOT approved for hypertension alone.",
"WARNING: NEVER combine with ACE inhibitor → dual bradykinin ↑ → severe angioedema. Require 36-hour washout after last ACEi dose.",
"Contraindicated in pregnancy. Check potassium + renal function regularly.",
];
notes.forEach((n,i) => s.addText((i===1?"⚠️ ":"• ") + n, { x:0.5, y:5.95+i*0.45, w:12.3, h:0.42, fontSize:10.5, color: i===1?C.gold:C.lt_gray, fontFace:"Calibri", valign:"middle" }));
}
// ── SLIDE 11 – MASTER COMPARISON TABLE ──────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Master Comparison – All RAAS Drug Classes", pres);
const headers2 = ["Feature", "ACE Inhibitors", "ARBs", "Aliskiren (DRI)", "ARNi (Sacubitril/Val)"];
const colWs = [2.4, 2.6, 2.35, 2.35, 3.4];
const colXs = [0.15, 2.6, 5.22, 7.6, 9.98];
const hColors = [C.navy, C.teal, C.lilac, C.orange, C.sky];
headers2.forEach((h,ci) => {
s.addShape(pres.shapes.RECTANGLE, { x:colXs[ci], y:0.82, w:colWs[ci]-0.06, h:0.52, fill:{ color:hColors[ci] }, line:{ color:C.lt_gray, width:0.5 } });
s.addText(h, { x:colXs[ci], y:0.82, w:colWs[ci]-0.06, h:0.52, fontSize:11.5, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
});
const mRows = [
["Target", "ACE (kininase II)", "AT1 receptor", "Renin (active site)", "Neprilysin + AT1"],
["Bradykinin", "↑↑", "Unchanged", "Unchanged", "↑ (neprilysin block)"],
["Cough", "5–20% (bradykinin)", "Rare (<1%)", "None", "Possible"],
["Angioedema", "0.1–0.7%", "Very rare", "None", "Rare (avoid with ACEi)"],
["PRA (plasma renin)", "↑ (reflex)", "↑ (reflex)", "↓ (direct block)", "↑"],
["Plasma Ang II", "↓", "↑ (AT1 blocked)", "↓", "↑ (valsartan blocks it)"],
["Aldosterone", "↓", "↓", "↓", "↓"],
["K⁺ (hyperkalemia)", "Risk yes", "Risk yes", "Risk yes", "Risk yes"],
["Pregnancy", "CI (2nd/3rd tri)", "CI", "CI", "CI"],
["Primary use", "HTN, HF, DM nephropathy", "HTN, HF (ACEi intol)", "HTN only", "HFrEF (NOT HTN alone)"],
["Unique fact", "Captopril/Lisinopril not prodrugs", "Losartan uricosuric", "Lowest F (~3%)", "36h washout from ACEi"],
];
const rh2 = 0.5;
mRows.forEach((row, ri) => {
row.forEach((cell, ci) => {
const y = 1.38 + ri * rh2;
const bg = ci===0 ? "EEF2FF" : (ri%2===0?C.offwht:C.white);
s.addShape(pres.shapes.RECTANGLE, { x:colXs[ci], y, w:colWs[ci]-0.06, h:rh2-0.02, fill:{ color:bg }, line:{ color:C.lt_gray, width:0.5 } });
const tc = (cell.includes("CI") || cell.includes("risk")) ? C.red
: (cell.includes("Rare") || cell.includes("None") || cell.includes("not prodrug")) ? C.green
: (cell.includes("↑↑") || cell.includes("5–20")) ? C.orange
: C.dark;
s.addText(cell, { x:colXs[ci]+0.05, y, w:colWs[ci]-0.16, h:rh2-0.02, fontSize:10, color:tc, valign:"middle", fontFace:"Calibri", margin:3 });
});
});
}
// ── SLIDE 12 – RENAL PHYSIOLOGY SCENARIOS ───────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "High-Yield Renal Scenarios – Why & How RAAS Drugs Work", pres);
// Scenario 1 – Normal kidney
const scenarios = [
{
title:"Diabetic Nephropathy",
subtitle:"ACEi / ARB: PREFERRED",
color: C.green,
path:["↑ Intraglomerular pressure (AngII constricts efferent arteriole)", "→ Hyperfiltration → Proteinuria → Glomerulosclerosis"],
rx:["ACEi/ARB dilates EFFERENT arteriole", "↓ Intraglomerular pressure", "↓ Proteinuria (even without ↓ BP)", "↓ Progression to ESRD", "Recommended even if NORMOTENSIVE"],
},
{
title:"Bilateral Renal Artery Stenosis",
subtitle:"ACEi / ARB: CONTRAINDICATED",
color: C.red,
path:["Low flow to both kidneys", "AngII REQUIRED to constrict efferent arteriole", "→ Maintains GFR under low perfusion pressure"],
rx:["ACEi/ARB removes efferent AngII constriction", "GFR collapses → Acute renal failure", "Creatinine rises sharply after starting drug", "Contraindicated in bilateral RAS"],
},
{
title:"Heart Failure",
subtitle:"ACEi / ARB / ARNi: CORE THERAPY",
color: C.blue,
path:["↓ CO → AngII activation (compensatory)", "↑ Afterload, ↑ preload, cardiac remodeling", "Short-term survival ↑ but long-term cardiac death ↑"],
rx:["ACEi → ↓ AngII → ↓ afterload + preload", "↓ Aldosterone → ↓ Na/H₂O retention", "↓ Cardiac remodeling, ↓ hypertrophy", "ARNi (sacubitril/valsartan) > enalapril (PARADIGM-HF)"],
},
];
scenarios.forEach((sc, i) => {
const x = 0.25 + i * 4.35;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y:0.85, w:4.1, h:6.45, fill:{ color:sc.color }, rectRadius:0.1,
shadow:{ type:"outer", color:"000000", blur:6, offset:2, angle:135, opacity:0.15 } });
s.addText(sc.title, { x, y:0.9, w:4.1, h:0.5, fontSize:13, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
s.addText(sc.subtitle, { x, y:1.43, w:4.1, h:0.38, fontSize:11, bold:true, color: sc.color===C.red?C.gold:C.white, align:"center", valign:"middle", fontFace:"Calibri", italic:true });
s.addShape(pres.shapes.RECTANGLE, { x, y:1.84, w:4.1, h:0.05, fill:{ color:C.white } });
s.addText("Pathophysiology:", { x:x+0.1, y:1.92, w:3.9, h:0.35, fontSize:11, bold:true, color:C.white, fontFace:"Calibri" });
sc.path.forEach((p,pi) => s.addText("▸ " + p, { x:x+0.1, y:2.3+pi*0.48, w:3.9, h:0.45, fontSize:10, color:C.white, fontFace:"Calibri" }));
s.addShape(pres.shapes.RECTANGLE, { x, y:3.72, w:4.1, h:0.04, fill:{ color:C.white } });
s.addText("Drug Effect:", { x:x+0.1, y:3.78, w:3.9, h:0.35, fontSize:11, bold:true, color:C.white, fontFace:"Calibri" });
sc.rx.forEach((r,ri) => s.addText("✔ " + r, { x:x+0.1, y:4.18+ri*0.56, w:3.9, h:0.52, fontSize:10.5, color:C.white, fontFace:"Calibri", valign:"top" }));
});
}
// ── SLIDE 13 – DRUG INTERACTIONS ────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Clinically Important Drug Interactions", pres);
const interactions = [
{ drug:"ACEi + K⁺-sparing diuretics\n(Spironolactone, Amiloride)", effect:"Severe Hyperkalemia", mech:"Both reduce K⁺ excretion. Additive effect.", severity:"DANGER", color:C.red },
{ drug:"ACEi + NSAIDs", effect:"↓ Antihypertensive effect + AKI risk", mech:"NSAIDs block prostaglandin vasodilation in kidney; reduce kinin effects", severity:"CAUTION", color:C.orange },
{ drug:"ACEi + Potassium supplements", effect:"Hyperkalemia", mech:"Direct K⁺ loading + reduced renal excretion", severity:"CAUTION", color:C.orange },
{ drug:"ACEi + Thiazides (LOW dose)", effect:"Enhanced BP lowering (beneficial)", mech:"ACEi blocks aldosterone counter-regulation; potentiates diuresis", severity:"SYNERGY", color:C.green },
{ drug:"ACEi + Thiazides (HIGH dose)", effect:"Severe hypotension / volume depletion", mech:"Excessive natriuresis without aldosterone compensation", severity:"CAUTION", color:C.orange },
{ drug:"ARNi + ACE Inhibitor", effect:"Life-threatening angioedema", mech:"Double bradykinin accumulation (neprilysin + ACE both blocked)", severity:"ABSOLUTE CI", color:C.red },
{ drug:"Aliskiren + ACEi or ARB", effect:"No benefit + ↑ AEs (hypotension, K⁺, AKI)", mech:"Dual RAAS blockade; no outcome benefit proven", severity:"CONTRAINDICATED", color:C.red },
{ drug:"ACEi + Lithium", effect:"Lithium toxicity", mech:"ACEi reduce renal Li⁺ clearance → toxicity", severity:"CAUTION", color:C.orange },
];
const cols = ["Drug Combination", "Effect", "Mechanism", "Risk Level"];
const cw = [3.1, 2.6, 4.8, 2.5], cx = [0.15, 3.3, 5.95, 10.8];
cols.forEach((h,ci) => {
s.addShape(pres.shapes.RECTANGLE, { x:cx[ci], y:0.85, w:cw[ci]-0.06, h:0.46, fill:{ color:C.navy }, line:{ color:C.lt_gray, width:0.5 } });
s.addText(h, { x:cx[ci], y:0.85, w:cw[ci]-0.06, h:0.46, fontSize:12, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
});
interactions.forEach((row, ri) => {
const y = 1.35 + ri * 0.72;
const vals = [row.drug, row.effect, row.mech, row.severity];
vals.forEach((v, ci) => {
const bg = ri%2===0 ? C.offwht : C.white;
s.addShape(pres.shapes.RECTANGLE, { x:cx[ci], y, w:cw[ci]-0.06, h:0.69, fill:{ color: ci===3?row.color:bg }, line:{ color:C.lt_gray, width:0.5 } });
const tc = ci===3 ? C.white : (v.includes("DANGER")||v.includes("CI")||v.includes("toxicity")||v.includes("severe")||v.includes("Severe")||v.includes("life") ? C.red : C.dark);
s.addText(v, { x:cx[ci]+0.05, y, w:cw[ci]-0.16, h:0.69, fontSize:10, color:ci===3?C.white:tc, valign:"middle", fontFace:"Calibri", margin:3, bold:ci===3 });
});
});
}
// ── SLIDE 14 – HIGH-YIELD MNEMONICS ─────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "High-Yield Memory Tricks & Exam Tips", pres);
// ACEi side effects mnemonic
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y:0.9, w:6.2, h:3.5, fill:{ color:"FFF9E6" }, line:{ color:C.gold, width:2.5 }, rectRadius:0.12 });
s.addText("ACEi Side Effects: CAPTOPRIL", { x:0.4, y:0.95, w:5.9, h:0.5, fontSize:14, bold:true, color:C.navy, fontFace:"Calibri" });
const acro = [
["C","Cough (bradykinin/substance P)"],
["A","Angioedema (life-threatening)"],
["P","Potassium ↑ (hyperkalemia)"],
["T","Taste disturbance / Teratogenic"],
["O","hOrrible for Bilateral RAS"],
["P","Proteinuria in renal pts (rare)"],
["R","Renal failure (1st dose, volume depleted)"],
["I","Induced hypotension (1st dose)"],
["L","Liver: prodrugs need hepatic conversion"],
];
acro.forEach(([letter, meaning], i) => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.4, y:1.52+i*0.32, w:0.35, h:0.29, fill:{ color:C.gold }, rectRadius:0.04 });
s.addText(letter, { x:0.4, y:1.52+i*0.32, w:0.35, h:0.29, fontSize:12, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
s.addText(meaning, { x:0.8, y:1.52+i*0.32, w:5.5, h:0.29, fontSize:11, color:C.dark, valign:"middle", fontFace:"Calibri" });
});
// ARBs mnemonic
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:7.0, y:0.9, w:6.0, h:3.5, fill:{ color:"F3F0FF" }, line:{ color:C.lilac, width:2.5 }, rectRadius:0.12 });
s.addText("ARB Members – LAVE CITO", { x:7.1, y:0.95, w:5.8, h:0.5, fontSize:14, bold:true, color:C.navy, fontFace:"Calibri" });
const arbList = [
["L","Losartan (prototype, uricosuric)"],
["A","Azilsartan (newest)"],
["V","Valsartan (in ARNi)"],
["E","Eprosartan"],
["C","Candesartan (prodrug, HFrEF)"],
["I","Irbesartan (DM nephropathy)"],
["T","Telmisartan (longest t½)"],
["O","Olmesartan (sprue-like enteropathy)"],
];
arbList.forEach(([letter, meaning], i) => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:7.1, y:1.52+i*0.32, w:0.35, h:0.29, fill:{ color:C.lilac }, rectRadius:0.04 });
s.addText(letter, { x:7.1, y:1.52+i*0.32, w:0.35, h:0.29, fontSize:12, bold:true, color:C.white, align:"center", valign:"middle", fontFace:"Calibri" });
s.addText(meaning, { x:7.5, y:1.52+i*0.32, w:5.3, h:0.29, fontSize:11, color:C.dark, valign:"middle", fontFace:"Calibri" });
});
// Key exam pearls
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:4.55, w:12.7, h:0.42, fill:{ color:C.navy } });
s.addText("⚡ Exam Pearls", { x:0.3, y:4.55, w:12.7, h:0.42, fontSize:14, bold:true, color:C.gold, align:"center", valign:"middle", fontFace:"Calibri" });
const pearls = [
"Only ACEi that is NOT a prodrug and has –SH group → Captopril (also used IV emergencies? No – Enalaprilat is IV)",
"Only ARB with uricosuric effect → Losartan (also has active metabolite EXP-3174)",
"Only DRI approved for HTN → Aliskiren (does NOT cause cough, does NOT improve CV outcomes)",
"ARNi is contraindicated WITH ACEi (36-hr washout needed) – double bradykinin = angioedema",
"First-dose hypotension risk highest with Captopril in volume-depleted patients (short-acting)",
"ACEi preferred post-MI with LV dysfunction; reduce remodeling, mortality (SAVE, HOPE trials)",
];
pearls.forEach((p, i) => {
const col = i < 3 ? 0 : 1;
const row = i < 3 ? i : i-3;
s.addText("★ " + p, {
x: 0.35 + col*6.5, y:5.05+row*0.77, w:6.3, h:0.73,
fontSize:10.5, color:C.dark, fontFace:"Calibri", valign:"middle",
line:{ color:C.lt_gray, width:0.5 }
});
});
}
// ── SLIDE 15 – MCQ SUMMARY ───────────────────────────────────────────────────
{
const s = pres.addSlide();
slideTitle(s, "Top 5 Must-Know MCQ Concepts", pres);
const mcqs = [
{
q:"Q1. Which drug causes cough by accumulating bradykinin + substance P?",
a:"ACE Inhibitor (NOT ARBs, NOT Aliskiren)",
color: C.teal,
},
{
q:"Q2. Which ACE inhibitor is NOT a prodrug AND has a sulfhydryl (–SH) group?",
a:"Captopril (Lisinopril is also not a prodrug, but has no –SH group)",
color: C.blue,
},
{
q:"Q3. ACE inhibitor is contraindicated in bilateral RAS because...",
a:"Removes efferent arteriolar AngII tone → GFR collapses → Acute Renal Failure",
color: C.red,
},
{
q:"Q4. What is the unique property of Losartan among ARBs?",
a:"Uricosuric effect (blocks URAT-1) → drug of choice in HTN + Gout",
color: C.lilac,
},
{
q:"Q5. Sacubitril/valsartan (ARNi) must NEVER be combined with...",
a:"ACE Inhibitors (36-hr washout required). Risk: severe angioedema from dual bradykinin potentiation",
color: C.orange,
},
];
mcqs.forEach((mcq, i) => {
const y = 0.88 + i * 1.26;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y, w:12.7, h:1.18, fill:{ color:mcq.color }, rectRadius:0.1,
shadow:{ type:"outer", color:"000000", blur:5, offset:2, angle:135, opacity:0.13 } });
s.addText(mcq.q, { x:0.45, y:y+0.06, w:12.35, h:0.46, fontSize:13, bold:true, color:C.white, fontFace:"Calibri", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:y+0.55, w:12.7, h:0.04, fill:{ color:C.white } });
s.addText("→ " + mcq.a, { x:0.45, y:y+0.62, w:12.35, h:0.48, fontSize:12, color:C.white, fontFace:"Calibri", valign:"middle", italic:true });
});
}
// ── SLIDE 16 – CLOSING ───────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:13.3, h:7.5, fill:{ color:C.navy } });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.8, w:13.3, h:1.7, fill:{ color:C.teal } });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.78, w:13.3, h:0.08, fill:{ color:C.gold } });
s.addText("Key Takeaways", { x:1, y:0.8, w:11.3, h:0.9, fontSize:38, bold:true, color:C.gold, align:"center", fontFace:"Calibri" });
const takes = [
"ACEi: Dual action (↓AngII + ↑bradykinin). Cough/angioedema = bradykinin side effects.",
"ARBs: Selective AT1 block. No cough. Redirect AngII to AT2 (bonus vasodilation).",
"Aliskiren: Attacks rate-limiting step. Only DRI. ↓PRA (unique). No CV outcome benefit proven.",
"ARNi: Neprilysin + AT1 block. Superior to enalapril in HFrEF. 36-hr washout from ACEi.",
"Bilateral RAS + ACEi/ARB = Acute renal failure (loss of efferent arteriolar tone).",
"Dual RAAS blockade (ACEi + ARB or + Aliskiren) = No additional benefit + ↑ adverse effects.",
];
takes.forEach((t,i) => {
s.addText("• " + t, { x:1, y:1.85+i*0.63, w:11.3, h:0.6, fontSize:14, color:C.white, fontFace:"Calibri", valign:"middle" });
});
s.addText("References: Goodman & Gilman 14e • Katzung Basic & Clinical Pharmacology 16e • KD Tripathi Essentials of Medical Pharmacology",
{ x:0.5, y:6.1, w:12.3, h:0.5, fontSize:12, color:C.white, align:"center", fontFace:"Calibri" });
}
pres.writeFile({ fileName: "/home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pptx" })
.then(() => console.log("SUCCESS: RAAS_Inhibitors_Pharmacology.pptx written"))
.catch(e => { console.error("ERROR:", e); process.exit(1); });
cd /home/daytona/workspace/raas-pptx && node raas.js 2>&1
ls -lh /home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pptx
RAAS Inhibitors Pharmacology
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide (dark navy + teal + gold palette) |
| 2 | Contents at a glance (10-item color-coded agenda) |
| 3 | Classical RAAS Cascade - AT1 vs AT2 effects table |
| 4 | Sites of Drug Action diagram - flow chart with all drug class blocks |
| 5 | ACE Inhibitors - dual mechanism, prodrug table, indications, hemodynamics |
| 6 | ACE Inhibitor Adverse Effects - 6 color-coded boxes (cough, angioedema, hyperkalemia, renal failure, hypotension, fetal toxicity) |
| 7 | ARBs - all 8 members with notes, Losartan unique facts panel |
| 8 | ACEi vs ARB head-to-head comparison table (14 rows) |
| 9 | Aliskiren (DRI) - mechanism, pharmacokinetics, AEs in 3 columns |
| 10 | ARNi (Sacubitril/Valsartan) - dual pathway mechanism flow diagram |
| 11 | Master comparison table - all 4 RAAS drug classes side by side |
| 12 | Clinical scenarios - DM nephropathy / Bilateral RAS / Heart Failure |
| 13 | Drug interactions table - 8 key interactions with severity coding |
| 14 | Mnemonics - CAPTOPRIL acrostic + LAVE CITO ARBs, 6 exam pearls |
| 15 | Top 5 Must-Know MCQ concepts (color-coded Q&A cards) |
| 16 | Key takeaways closing slide |
I was unable to open the pdf
cd /home/daytona/workspace/raas-pptx && libreoffice --headless --convert-to pdf RAAS_Inhibitors_Pharmacology.pptx --outdir . 2>&1
cp /home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pptx /tmp/raas_convert.pptx && libreoffice --headless --convert-to pdf /tmp/raas_convert.pptx --outdir /tmp/ 2>&1 && ls -lh /tmp/raas_convert.pdf
cp /tmp/raas_convert.pdf /home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pdf && ls -lh /home/daytona/workspace/raas-pptx/
RAAS Inhibitors Pharmacology
PDF Document · PDF
RAAS Inhibitors Pharmacology
Presentation · PPTX
Showing like this not ipening
cd /home/daytona/workspace/raas-pptx && node raas.js 2>&1
cp /home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pptx /tmp/raas_fresh.pptx && libreoffice --headless --convert-to pdf /tmp/raas_fresh.pptx --outdir /tmp/ 2>&1 && cp /tmp/raas_fresh.pdf /home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pdf && ls -lh /home/daytona/workspace/raas-pptx/
RAAS Inhibitors Pharmacology
PDF Document · PDF
RAAS Inhibitors Pharmacology
Presentation · PPTX
It is not opening
~/raas-pptx/RAAS_Inhibitors.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RAAS Inhibitors Pharmacology</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Segoe UI', Calibri, Arial, sans-serif; background: #1a1a2e; color: #1E293B; }
/* NAV */
.top-nav { position: sticky; top: 0; z-index: 100; background: #0B1F4B; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; box-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.top-nav h1 { color: #E8A020; font-size: 14px; font-weight: 700; flex: 1; text-align: center; }
.nav-btn { background: #0D7C7C; color: #fff; border: none; border-radius: 6px; padding: 6px 14px; font-size: 13px; cursor: pointer; white-space: nowrap; }
.nav-btn:disabled { background: #334; color: #666; cursor: default; }
.slide-counter { color: #94a3b8; font-size: 12px; min-width: 50px; text-align: center; }
/* SLIDE CONTAINER */
.slides-wrap { max-width: 900px; margin: 0 auto; }
.slide { display: none; min-height: 100vh; padding: 0 0 24px 0; animation: fadeIn 0.25s ease; }
.slide.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
/* SLIDE HEADER BAR */
.slide-header { background: #0B1F4B; padding: 14px 20px 10px; border-bottom: 4px solid #E8A020; }
.slide-header h2 { color: #fff; font-size: 18px; font-weight: 700; }
.slide-header .subtitle { color: #94a3b8; font-size: 12px; margin-top: 2px; font-style: italic; }
.slide-body { padding: 16px 16px 8px; }
/* TITLE SLIDE */
.title-slide { background: linear-gradient(160deg, #0B1F4B 0%, #1A3E8C 60%, #0D7C7C 100%); min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 40px 20px; }
.title-slide h1 { color: #fff; font-size: 36px; font-weight: 900; line-height: 1.1; }
.title-slide .gold { color: #E8A020; font-size: 28px; margin-top: 8px; }
.title-slide .sub { color: #cbd5e1; font-size: 14px; margin-top: 16px; font-style: italic; }
.title-slide .refs { color: #94a3b8; font-size: 12px; margin-top: 30px; border-top: 1px solid #334; padding-top: 14px; }
/* CARDS */
.card { background: #fff; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.card-title { font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.card p, .card li { font-size: 13px; line-height: 1.6; }
.card ul { padding-left: 18px; }
/* COLOR CARDS */
.card-navy { background: #0B1F4B; color: #fff; }
.card-navy .card-title { color: #E8A020; }
.card-teal { background: #0D7C7C; color: #fff; }
.card-blue { background: #1A3E8C; color: #fff; }
.card-sky { background: #3B8EC8; color: #fff; }
.card-gold { background: #E8A020; color: #1E293B; }
.card-red { background: #C0392B; color: #fff; }
.card-green { background: #1D7A4E; color: #fff; }
.card-lilac { background: #7C3AED; color: #fff; }
.card-orange { background: #E06C2A; color: #fff; }
.card-light { background: #F5F7FA; }
.card-light-blue { background: #EFF6FF; }
.card-light-green { background: #F0FFF4; }
.card-light-purple { background: #F3F0FF; }
/* MECHANISM FLOW */
.flow { display: flex; flex-direction: column; gap: 0; align-items: center; }
.flow-box { background: #1A3E8C; color: #fff; border-radius: 8px; padding: 10px 20px; text-align: center; font-weight: 700; font-size: 13px; width: 100%; max-width: 320px; }
.flow-box.ang2 { background: #0B1F4B; }
.flow-box.at1 { background: #C0392B; }
.flow-arrow { display: flex; align-items: center; justify-content: center; position: relative; width: 100%; max-width: 320px; padding: 2px 0; }
.flow-arrow::after { content: '▼'; color: #E8A020; font-size: 18px; }
.enzyme-label { font-size: 11px; color: #E8A020; font-weight: 700; position: absolute; right: 0; top: 0; }
/* TABLE */
.tbl { width: 100%; border-collapse: collapse; font-size: 11.5px; margin-top: 8px; }
.tbl th { background: #0B1F4B; color: #fff; padding: 7px 6px; text-align: left; font-size: 12px; }
.tbl td { padding: 6px 6px; border-bottom: 1px solid #E2E8F0; vertical-align: top; line-height: 1.45; }
.tbl tr:nth-child(even) td { background: #F5F7FA; }
.tbl tr:nth-child(odd) td { background: #fff; }
.tbl .col-head { background: #EEF2FF; font-weight: 700; color: #0B1F4B; font-size: 12px; }
.tbl .danger { color: #C0392B; font-weight: 600; }
.tbl .good { color: #1D7A4E; font-weight: 600; }
.tbl .warn { color: #E06C2A; font-weight: 600; }
/* GRID */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
@media (max-width: 600px) {
.grid-2 { grid-template-columns: 1fr; }
.grid-3 { grid-template-columns: 1fr; }
}
/* BADGES */
.badge { display: inline-block; border-radius: 4px; padding: 2px 8px; font-size: 11px; font-weight: 700; margin: 2px; }
.badge-red { background: #C0392B; color: #fff; }
.badge-green { background: #1D7A4E; color: #fff; }
.badge-orange { background: #E06C2A; color: #fff; }
.badge-blue { background: #1A3E8C; color: #fff; }
.badge-gold { background: #E8A020; color: #1E293B; }
/* HIGHLIGHT BOX */
.highlight { border-left: 4px solid #E8A020; background: #FFF9E6; padding: 10px 14px; border-radius: 0 8px 8px 0; margin: 10px 0; font-size: 13px; }
.highlight.red { border-color: #C0392B; background: #FFF0F0; }
.highlight.green { border-color: #1D7A4E; background: #F0FFF4; }
.highlight.blue { border-color: #1A3E8C; background: #EFF6FF; }
/* MECHANISM DIAGRAM */
.mech-diagram { background: #F5F7FA; border-radius: 12px; padding: 16px; margin-bottom: 12px; }
.mech-row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; flex-wrap: wrap; }
.mech-node { background: #1A3E8C; color: #fff; border-radius: 8px; padding: 8px 12px; font-size: 12px; font-weight: 700; text-align: center; flex: 1; min-width: 100px; }
.mech-node.active { background: #0B1F4B; }
.mech-node.green { background: #1D7A4E; }
.mech-node.teal { background: #0D7C7C; }
.mech-node.red { background: #C0392B; }
.mech-node.gold { background: #E8A020; color: #1E293B; }
.mech-arrow { color: #E8A020; font-size: 20px; font-weight: 900; flex-shrink: 0; }
.mech-label { font-size: 10px; color: #E06C2A; font-weight: 700; text-align: center; }
/* AT1/AT2 GRID */
.receptor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
@media (max-width: 500px) { .receptor-grid { grid-template-columns: 1fr; } }
/* STAR */
.star { color: #E8A020; }
/* BOTTOM NAVIGATION */
.bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; background: #0B1F4B; display: flex; justify-content: space-around; padding: 10px 0; z-index: 100; border-top: 2px solid #E8A020; }
.bottom-nav button { background: none; border: none; color: #94a3b8; font-size: 11px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 2px 10px; }
.bottom-nav button span { font-size: 18px; }
.bottom-nav button.active-nav { color: #E8A020; }
.spacer { height: 70px; }
/* CONTENTS */
.contents-item { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 8px; padding: 10px 14px; margin-bottom: 8px; box-shadow: 0 1px 4px rgba(0,0,0,0.07); cursor: pointer; border-left: 5px solid #1A3E8C; transition: transform 0.1s; }
.contents-item:active { transform: scale(0.98); }
.contents-num { background: #1A3E8C; color: #fff; border-radius: 50%; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.contents-text { font-size: 13px; font-weight: 600; color: #1E293B; }
/* MCQ CARDS */
.mcq-card { border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
.mcq-q { font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.mcq-a { font-size: 12.5px; color: #fff; font-style: italic; border-top: 1px solid rgba(255,255,255,0.3); padding-top: 8px; }
.mcq-a strong { color: #E8A020; }
/* SCENARIO CARDS */
.scenario { border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; }
.scenario h3 { font-size: 14px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.scenario .badge-label { font-size: 11px; font-weight: 700; color: #E8A020; margin-bottom: 8px; display: block; }
.scenario .section { margin-top: 8px; }
.scenario .section-title { font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.scenario p, .scenario li { font-size: 12px; color: #fff; line-height: 1.5; }
.scenario ul { padding-left: 16px; }
</style>
</head>
<body>
<!-- TOP NAV -->
<div class="top-nav">
<button class="nav-btn" id="prevBtn" onclick="changeSlide(-1)" disabled>◀ Prev</button>
<h1>RAAS Inhibitors</h1>
<span class="slide-counter" id="counter">1 / 16</span>
<button class="nav-btn" id="nextBtn" onclick="changeSlide(1)">Next ▶</button>
</div>
<div class="slides-wrap">
<!-- ═══════════════════════════════════════════════════════ SLIDE 1 – TITLE -->
<div class="slide active" id="slide-1">
<div class="title-slide">
<div style="font-size:48px; margin-bottom:10px;">💊</div>
<h1>RAAS Inhibitors</h1>
<div class="gold">Pharmacology</div>
<div class="sub">Mechanism • Drug Classes • Clinical Uses • High-Yield Exam Tips</div>
<div style="margin-top: 28px; display:flex; gap:10px; flex-wrap:wrap; justify-content:center;">
<span class="badge badge-blue">ACE Inhibitors</span>
<span class="badge badge-blue" style="background:#7C3AED">ARBs</span>
<span class="badge badge-orange">Aliskiren</span>
<span class="badge badge-blue" style="background:#0D7C7C">ARNi</span>
</div>
<div class="refs">📚 References: Goodman & Gilman 14e • Katzung Basic & Clinical Pharmacology 16e • KD Tripathi Essentials of Medical Pharmacology</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 2 – CONTENTS -->
<div class="slide" id="slide-2">
<div class="slide-header"><h2>📋 Contents at a Glance</h2><div class="subtitle">Tap any topic to jump to it</div></div>
<div class="slide-body">
<div class="contents-item" onclick="goToSlide(3)" style="border-color:#3B8EC8"><div class="contents-num" style="background:#3B8EC8">1</div><div class="contents-text">Classical RAAS Cascade</div></div>
<div class="contents-item" onclick="goToSlide(4)" style="border-color:#0D7C7C"><div class="contents-num" style="background:#0D7C7C">2</div><div class="contents-text">Sites of Drug Action (Diagram)</div></div>
<div class="contents-item" onclick="goToSlide(5)" style="border-color:#1A3E8C"><div class="contents-num" style="background:#1A3E8C">3</div><div class="contents-text">ACE Inhibitors – Mechanism & Pharmacology</div></div>
<div class="contents-item" onclick="goToSlide(6)" style="border-color:#C0392B"><div class="contents-num" style="background:#C0392B">4</div><div class="contents-text">ACE Inhibitors – Adverse Effects & Contraindications</div></div>
<div class="contents-item" onclick="goToSlide(7)" style="border-color:#7C3AED"><div class="contents-num" style="background:#7C3AED">5</div><div class="contents-text">ARBs – Angiotensin Receptor Blockers</div></div>
<div class="contents-item" onclick="goToSlide(8)" style="border-color:#0B1F4B"><div class="contents-num" style="background:#0B1F4B">6</div><div class="contents-text">ACEi vs ARBs – Head-to-Head</div></div>
<div class="contents-item" onclick="goToSlide(9)" style="border-color:#E06C2A"><div class="contents-num" style="background:#E06C2A">7</div><div class="contents-text">Direct Renin Inhibitor – Aliskiren</div></div>
<div class="contents-item" onclick="goToSlide(10)" style="border-color:#1D7A4E"><div class="contents-num" style="background:#1D7A4E">8</div><div class="contents-text">ARNi – Sacubitril/Valsartan</div></div>
<div class="contents-item" onclick="goToSlide(11)" style="border-color:#E8A020"><div class="contents-num" style="background:#E8A020; color:#1E293B">9</div><div class="contents-text">Master Comparison – All 4 Classes</div></div>
<div class="contents-item" onclick="goToSlide(12)" style="border-color:#3B8EC8"><div class="contents-num" style="background:#3B8EC8">10</div><div class="contents-text">Clinical Scenarios – Renal Physiology</div></div>
<div class="contents-item" onclick="goToSlide(13)" style="border-color:#C0392B"><div class="contents-num" style="background:#C0392B">11</div><div class="contents-text">Drug Interactions</div></div>
<div class="contents-item" onclick="goToSlide(14)" style="border-color:#1D7A4E"><div class="contents-num" style="background:#1D7A4E">12</div><div class="contents-text">Mnemonics & Exam Pearls</div></div>
<div class="contents-item" onclick="goToSlide(15)" style="border-color:#7C3AED"><div class="contents-num" style="background:#7C3AED">13</div><div class="contents-text">Top 5 MCQ Concepts</div></div>
<div class="contents-item" onclick="goToSlide(16)" style="border-color:#0D7C7C"><div class="contents-num" style="background:#0D7C7C">14</div><div class="contents-text">Key Takeaways</div></div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 3 – RAAS CASCADE -->
<div class="slide" id="slide-3">
<div class="slide-header"><h2>🔄 Classical RAAS Cascade</h2><div class="subtitle">Rate-limiting step = Renin → Angiotensin I</div></div>
<div class="slide-body">
<div class="mech-diagram">
<div class="mech-label">Liver</div>
<div class="flow">
<div class="flow-box" style="background:#64748B">Angiotensinogen (α₂-globulin)</div>
<div class="flow-arrow"><span style="font-size:10px; color:#E06C2A; position:absolute; right:10px;">⭐ RENIN (JG cells – rate-limiting)</span></div>
<div class="flow-box">Angiotensin I (decapeptide)</div>
<div class="flow-arrow"><span style="font-size:10px; color:#0D7C7C; position:absolute; right:10px;">ACE (lung endothelium)</span></div>
<div class="flow-box ang2">Angiotensin II (octapeptide – ACTIVE)</div>
<div class="flow-arrow"></div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%;">
<div class="flow-box at1" style="border-radius:8px; font-size:11px;">AT₁ Receptor</div>
<div class="flow-box" style="background:#1D7A4E; border-radius:8px; font-size:11px;">AT₂ Receptor</div>
</div>
</div>
<div class="highlight" style="margin-top:10px; font-size:11.5px;">⚠️ Non-ACE pathways (chymase, cathepsin G) also make Ang II — explains why ACEi blockade is never 100% complete</div>
</div>
<div class="receptor-grid">
<div class="card card-red">
<div class="card-title">AT₁ Effects (Harmful)</div>
<ul style="font-size:12px; padding-left:16px; line-height:1.7;">
<li>Vasoconstriction ↑ SVR</li>
<li>Aldosterone secretion → Na⁺/H₂O retention</li>
<li>Cardiac & vascular hypertrophy</li>
<li>↑ Sympathetic tone (NE release)</li>
<li>ADH release → water reabsorption</li>
<li>↓ Renin (negative feedback)</li>
</ul>
</div>
<div class="card card-green">
<div class="card-title">AT₂ Effects (Protective)</div>
<ul style="font-size:12px; padding-left:16px; line-height:1.7;">
<li>Vasodilation (↑ NO, ↑ cGMP)</li>
<li>Anti-proliferative / anti-fibrotic</li>
<li>↑ Bradykinin → vasodilation</li>
<li>Upregulated when AT₁ blocked</li>
<li>Counter-balances AT₁ effects</li>
<li>Cardioprotective in disease</li>
</ul>
</div>
</div>
<div class="highlight blue">
💡 <strong>Key Concept:</strong> ARBs block AT₁ → Ang II floods AT₂ → bonus vasodilation + anti-fibrotic effect. This is one pharmacological advantage ARBs have over ACEi.
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 4 – DRUG ACTION SITES -->
<div class="slide" id="slide-4">
<div class="slide-header"><h2>🎯 Sites of Drug Action on RAAS</h2></div>
<div class="slide-body">
<div class="mech-diagram">
<div class="flow" style="position:relative;">
<div style="display:grid; grid-template-columns:1fr auto 1fr; gap:8px; width:100%; align-items:center; margin-bottom:4px;">
<div class="card card-navy" style="padding:8px; font-size:11px; border-radius:8px; text-align:center;">
<strong>β-Blockers</strong><br><span style="font-size:10px; color:#94a3b8">↓ Renin release from JG cells</span>
</div>
<div class="mech-arrow">→</div>
<div class="flow-box" style="background:#64748B; font-size:12px;">Angiotensinogen</div>
</div>
<div style="display:grid; grid-template-columns:1fr auto 1fr; gap:8px; width:100%; align-items:center; margin-bottom:4px;">
<div class="card card-orange" style="padding:8px; font-size:11px; border-radius:8px; text-align:center;">
<strong>Aliskiren (DRI)</strong><br><span style="font-size:10px;">Direct renin inhibitor</span>
</div>
<div style="color:#C0392B; font-size:20px;">✖</div>
<div>
<div class="flow-box" style="font-size:12px;">Angiotensin I</div>
<div style="text-align:center; font-size:10px; color:#E06C2A; font-weight:700; margin:2px 0;">⬇ RENIN (rate-limiting)</div>
</div>
</div>
<div style="display:grid; grid-template-columns:1fr auto 1fr; gap:8px; width:100%; align-items:center; margin-bottom:4px;">
<div class="card card-teal" style="padding:8px; font-size:11px; border-radius:8px; text-align:center;">
<strong>ACE Inhibitors</strong><br><span style="font-size:10px;">Captopril, Enalapril, Lisinopril…</span>
</div>
<div style="color:#C0392B; font-size:20px;">✖</div>
<div>
<div class="flow-box ang2" style="font-size:12px;">Angiotensin II</div>
<div style="text-align:center; font-size:10px; color:#0D7C7C; font-weight:700; margin:2px 0;">⬇ ACE (lung)</div>
</div>
</div>
<div style="display:grid; grid-template-columns:1fr auto 1fr; gap:8px; width:100%; align-items:center; margin-bottom:4px;">
<div class="card card-lilac" style="padding:8px; font-size:11px; border-radius:8px; text-align:center;">
<strong>ARBs</strong><br><span style="font-size:10px;">Losartan, Valsartan…</span>
</div>
<div style="color:#C0392B; font-size:20px;">✖</div>
<div class="flow-box at1" style="font-size:12px;">AT₁ Receptor</div>
</div>
<div style="display:grid; grid-template-columns:1fr auto 1fr; gap:8px; width:100%; align-items:center; margin-bottom:4px;">
<div class="card card-green" style="padding:8px; font-size:11px; border-radius:8px; text-align:center;">
<strong>Aldosterone Antagonists</strong><br><span style="font-size:10px;">Spironolactone, Eplerenone</span>
</div>
<div style="color:#C0392B; font-size:20px;">✖</div>
<div class="flow-box" style="background:#E8A020; color:#1E293B; font-size:12px;">Aldosterone (adrenal cortex)</div>
</div>
</div>
</div>
<div class="card card-sky" style="margin-top:10px;">
<div class="card-title">ARNi – Sacubitril/Valsartan</div>
<p style="font-size:12px;">Blocks <strong>neprilysin</strong> (↑ ANP/BNP/bradykinin) + blocks <strong>AT₁</strong> (valsartan). Dual action for heart failure.</p>
</div>
<div class="highlight red">
<strong>Remember:</strong> Only ACEi also ↑ bradykinin (kininase II block). ARBs, aliskiren, and aldosterone antagonists do NOT affect bradykinin.
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 5 – ACEi MECHANISM -->
<div class="slide" id="slide-5">
<div class="slide-header"><h2>💊 ACE Inhibitors – Mechanism & Pharmacology</h2></div>
<div class="slide-body">
<div class="card card-light-blue">
<div class="card-title" style="color:#0B1F4B;">⚙️ Mechanism (Dual Action)</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:6px;">
<div style="background:#1A3E8C; border-radius:8px; padding:10px; text-align:center;">
<div style="font-size:11px; font-weight:700; color:#E8A020;">Action 1</div>
<div style="font-size:12px; color:#fff; margin-top:4px;">↓ Ang I → Ang II<br><span style="font-size:10px; color:#cbd5e1;">(blocks ACE/kininase II)</span></div>
</div>
<div style="background:#0D7C7C; border-radius:8px; padding:10px; text-align:center;">
<div style="font-size:11px; font-weight:700; color:#E8A020;">Action 2</div>
<div style="font-size:12px; color:#fff; margin-top:4px;">↑ Bradykinin + Substance P<br><span style="font-size:10px; color:#cbd5e1;">(prevents degradation)</span></div>
</div>
</div>
<p style="font-size:11.5px; margin-top:8px; color:#334155;">→ Vasodilation via: reduced AngII <strong>AND</strong> NO/prostacyclin from bradykinin. Proven by: icatibant (bradykinin antagonist) blunts captopril's BP effect.</p>
</div>
<div class="card-title" style="margin:12px 0 6px; font-size:14px;">🧬 Prodrug Status (High-Yield)</div>
<table class="tbl">
<tr><th>Drug</th><th>Prodrug?</th><th>Active Form</th><th>Clearance</th></tr>
<tr><td><strong>Captopril</strong></td><td class="good">NO (–SH)</td><td>Captopril</td><td>Renal</td></tr>
<tr><td><strong>Lisinopril</strong></td><td class="good">NO (lysine)</td><td>Lisinopril</td><td>Renal</td></tr>
<tr><td>Enalapril</td><td class="warn">YES</td><td>Enalaprilat (IV only)</td><td>Renal</td></tr>
<tr><td>Ramipril</td><td class="warn">YES</td><td>Ramiprilat</td><td>Renal</td></tr>
<tr><td>Fosinopril</td><td class="warn">YES</td><td>Fosinoprilat</td><td class="good">Hepatic ★</td></tr>
<tr><td>Moexipril</td><td class="warn">YES</td><td>Moexiprilat</td><td class="good">Hepatic ★</td></tr>
<tr><td>Benazepril, Quinapril, Perindopril, Trandolapril</td><td class="warn">YES</td><td>Active acid</td><td>Renal</td></tr>
</table>
<div class="highlight" style="font-size:11.5px; margin-top:8px;">★ Fosinopril & Moexipril — hepatic clearance. Safer in renal failure.</div>
<div class="card-title" style="margin:12px 0 6px; font-size:14px;">✅ Key Indications</div>
<div class="grid-2">
<div class="card card-blue" style="padding:10px;"><p style="font-size:12px; line-height:1.7;">• Hypertension (1st line)<br>• Heart Failure (HFrEF)<br>• Post-MI (↓ remodeling, ↓ mortality)</p></div>
<div class="card card-green" style="padding:10px;"><p style="font-size:12px; line-height:1.7;">• Diabetic nephropathy<br>• CKD (↓ proteinuria)<br>• Prevention of DM in high CV-risk</p></div>
</div>
<div class="card-title" style="margin:12px 0 6px; font-size:14px;">📊 Hemodynamic Profile</div>
<table class="tbl">
<tr><th>Parameter</th><th>Effect</th></tr>
<tr><td>Heart Rate</td><td class="good">↔ (no reflex tachycardia ✓)</td></tr>
<tr><td>Cardiac Output</td><td>↔</td></tr>
<tr><td>Total Peripheral Resistance</td><td class="good">↓ (main BP effect)</td></tr>
<tr><td>Plasma Renin Activity (PRA)</td><td class="warn">↑ (compensatory reflex)</td></tr>
<tr><td>Aldosterone</td><td class="good">↓</td></tr>
</table>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 6 – ACEi ADVERSE EFFECTS -->
<div class="slide" id="slide-6">
<div class="slide-header"><h2>⚠️ ACEi – Adverse Effects & Contraindications</h2></div>
<div class="slide-body">
<div class="grid-2">
<div class="card card-orange" style="padding:12px;">
<div class="card-title">😤 Dry Cough (5–20%)</div>
<p style="font-size:12px; line-height:1.6;">Bradykinin + Substance P accumulate in lungs → C-fiber stimulation.<br><br>More common in: women, Asians.<br><br><strong>Fix:</strong> Switch to ARB (no bradykinin effect).</p>
</div>
<div class="card card-red" style="padding:12px;">
<div class="card-title">🚨 Angioedema (rare but dangerous)</div>
<p style="font-size:12px; line-height:1.6;">Bradykinin-mediated. Life-threatening laryngeal swelling. Can occur after years of use.<br><br><strong>Fix:</strong> STOP ACEi; give icatibant; switch to ARB.</p>
</div>
<div class="card card-gold" style="padding:12px;">
<div class="card-title">🔋 Hyperkalemia</div>
<p style="font-size:12px; line-height:1.6;">↓ Aldosterone → ↓ K⁺ excretion.<br><br>Risk ↑ with: CKD, DM, K⁺ supplements, K⁺-sparing diuretics, NSAIDs, heparin.</p>
</div>
<div class="card card-red" style="padding:12px;">
<div class="card-title">🫘 Acute Renal Failure</div>
<p style="font-size:12px; line-height:1.6;">Bilateral RAS or solitary kidney RAS: removes efferent arteriolar AngII tone → GFR collapses.<br><br>Monitor creatinine after starting.</p>
</div>
<div class="card card-blue" style="padding:12px;">
<div class="card-title">📉 First-Dose Hypotension</div>
<p style="font-size:12px; line-height:1.6;">Risk if volume-depleted (diuretics, vomiting). Start LOW dose. Hold diuretic 24h before first dose (esp. captopril).</p>
</div>
<div class="card card-navy" style="padding:12px;">
<div class="card-title">🤰 Fetal Toxicity</div>
<p style="font-size:12px; line-height:1.6;">2nd & 3rd trimester: fetal hypotension, oliguria, renal failure, malformations, death.<br><br><span style="color:#C0392B; font-weight:700;">CONTRAINDICATED IN PREGNANCY</span></p>
</div>
</div>
<div class="card" style="margin-top:12px; background:#0B1F4B; border-left:4px solid #C0392B;">
<div class="card-title" style="color:#E8A020;">🚫 Compelling Contraindications</div>
<div style="display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;">
<span class="badge badge-red">Pregnancy (2nd/3rd tri)</span>
<span class="badge badge-red">Bilateral RAS</span>
<span class="badge badge-red">Hyperkalemia</span>
<span class="badge badge-red">Angioedema history</span>
<span class="badge badge-orange">Women of childbearing potential (caution)</span>
</div>
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 7 – ARBs -->
<div class="slide" id="slide-7">
<div class="slide-header"><h2>🔵 ARBs – Angiotensin Receptor Blockers</h2></div>
<div class="slide-body">
<div class="card card-light-purple">
<div class="card-title" style="color:#7C3AED;">⚙️ Mechanism</div>
<p style="font-size:13px;">Selective competitive antagonism at <strong>AT₁ receptors</strong>. Do NOT inhibit ACE → <strong>no cough, no angioedema</strong> (bradykinin unchanged). Blocked AT₁ → AngII accumulates → floods AT₂ → extra NO-mediated vasodilation (bonus).</p>
</div>
<div class="card-title" style="margin:12px 0 6px; font-size:14px;">Members – Mnemonic: <span style="color:#7C3AED; font-weight:800;">LAVE CITO</span></div>
<table class="tbl">
<tr><th>Drug</th><th>Key Feature</th></tr>
<tr><td><strong style="color:#7C3AED;">L</strong>osartan</td><td><span class="badge badge-gold">★ Uricosuric</span> – blocks URAT-1. Active metabolite EXP-3174. Prototype ARB. LIFE trial.</td></tr>
<tr><td><strong style="color:#7C3AED;">A</strong>zilsartan</td><td>Newest; strongest BP lowering</td></tr>
<tr><td><strong style="color:#7C3AED;">V</strong>alsartan</td><td>HFrEF + HTN; component of ARNi (Sacubitril/Valsartan)</td></tr>
<tr><td><strong style="color:#7C3AED;">E</strong>prosartan</td><td>Non-biphenyl tetrazole structure</td></tr>
<tr><td><strong style="color:#7C3AED;">C</strong>andesartan</td><td>Prodrug; long duration; HFrEF benefit</td></tr>
<tr><td><strong style="color:#7C3AED;">I</strong>rbesartan</td><td>No active metabolite; DM nephropathy (IDNT trial)</td></tr>
<tr><td><strong style="color:#7C3AED;">T</strong>elmisartan</td><td>Longest t½ (~24h); PPAR-γ agonism; once daily</td></tr>
<tr><td><strong style="color:#7C3AED;">O</strong>lmesartan</td><td>Potent; rare sprue-like enteropathy</td></tr>
</table>
<div class="highlight" style="margin-top:10px;">
<strong>★ Losartan High-Yield:</strong> Only ARB with uricosuric effect (blocks URAT-1 in proximal tubule) → drug of choice in <strong>hypertension + gout/hyperuricemia</strong>. Active metabolite EXP-3174 is 10–40× more potent.
</div>
<div class="card card-light-blue" style="margin-top:10px;">
<div class="card-title" style="color:#0B1F4B;">📊 Hemodynamic Profile</div>
<p style="font-size:12px; line-height:1.8;">HR ↔ | CO ↔ | TPR <span style="color:#1D7A4E; font-weight:700;">↓</span> | PRA <span style="color:#E06C2A; font-weight:700;">↑</span> (loss of AngII feedback) | Plasma Ang II <span style="color:#E06C2A; font-weight:700;">↑</span> (AT₁ blocked) → stimulates AT₂</p>
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 8 – ACEi vs ARB -->
<div class="slide" id="slide-8">
<div class="slide-header"><h2>⚖️ ACEi vs ARBs – Head-to-Head</h2></div>
<div class="slide-body">
<div style="overflow-x:auto;">
<table class="tbl" style="min-width:500px;">
<tr>
<th style="background:#0B1F4B; width:32%;">Feature</th>
<th style="background:#0D7C7C; width:34%;">ACE Inhibitors</th>
<th style="background:#7C3AED; width:34%;">ARBs</th>
</tr>
<tr><td class="col-head">Target</td><td>ACE (kininase II)</td><td>AT₁ receptor</td></tr>
<tr><td class="col-head">Bradykinin</td><td class="warn">↑↑ (prevents degradation)</td><td class="good">Unchanged</td></tr>
<tr><td class="col-head">Substance P</td><td class="warn">↑</td><td class="good">Unchanged</td></tr>
<tr><td class="col-head">Cough</td><td class="danger">5–20% (common)</td><td class="good">Rare (<1%)</td></tr>
<tr><td class="col-head">Angioedema</td><td class="danger">0.1–0.7%</td><td class="good">~0.1% (less)</td></tr>
<tr><td class="col-head">Plasma Ang II</td><td>↓</td><td class="warn">↑ (AT₁ blocked)</td></tr>
<tr><td class="col-head">PRA</td><td class="warn">↑ (reflex)</td><td class="warn">↑ (reflex)</td></tr>
<tr><td class="col-head">AT₂ stimulation</td><td>Unchanged</td><td class="good">↑↑ (bonus)</td></tr>
<tr><td class="col-head">Aldosterone</td><td class="good">↓</td><td class="good">↓</td></tr>
<tr><td class="col-head">Hyperkalemia</td><td class="danger">Yes</td><td class="danger">Yes (similar)</td></tr>
<tr><td class="col-head">Pregnancy</td><td class="danger">CI (2nd/3rd tri)</td><td class="danger">CI</td></tr>
<tr><td class="col-head">HF outcomes</td><td class="good">1st-line preferred</td><td>Non-inferior; use if ACEi intolerant</td></tr>
<tr><td class="col-head">DM nephropathy</td><td class="good">1st-line</td><td class="good">1st-line (IDNT, RENAAL)</td></tr>
<tr><td class="col-head">Unique feature</td><td>Captopril/Lisinopril not prodrugs</td><td class="warn">Losartan uricosuric</td></tr>
</table>
</div>
<div class="highlight green" style="margin-top:10px;">
<strong>Bottom line:</strong> Initial hopes for ARB superiority over ACEi were NOT fulfilled (ONTARGET). In HFrEF, ACEi remain first-line. ARBs are used when ACEi are not tolerated (usually because of cough).
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 9 – ALISKIREN -->
<div class="slide" id="slide-9">
<div class="slide-header"><h2>🧪 Direct Renin Inhibitor – Aliskiren</h2><div class="subtitle">First orally active DRI approved for hypertension</div></div>
<div class="slide-body">
<div class="card card-orange" style="text-align:center; padding:10px;">
<div style="font-size:13px; font-weight:700;">Aliskiren — attacks the RATE-LIMITING step of RAAS (renin's active site)</div>
</div>
<div class="card card-light" style="margin-top:10px;">
<div class="card-title" style="color:#E06C2A;">⚙️ Mechanism</div>
<ul style="font-size:12.5px; padding-left:18px; line-height:1.7;">
<li>Binds directly to renin's active site → blocks angiotensinogen cleavage</li>
<li>↓ Plasma Renin Activity (PRA) <strong>and</strong> ↓ Ang I, ↓ Ang II, ↓ Aldosterone</li>
<li>Plasma Renin Concentration (PRC) ↑ (compensatory feedback)</li>
<li>Eliminates the PRA rise caused by ACEi, ARBs, and diuretics</li>
<li>Does <strong>NOT</strong> affect bradykinin → No cough, No angioedema</li>
</ul>
</div>
<div class="highlight blue" style="margin:10px 0; font-size:12px;">
<strong>Unique PRA Effect:</strong> ACEi ↑PRA | ARBs ↑PRA | Aliskiren <span style="color:#1D7A4E; font-weight:700;">↓PRA</span> (only one that truly suppresses renin activity)
</div>
<div class="grid-2">
<div class="card card-light-blue">
<div class="card-title" style="color:#1A3E8C;">🧪 Pharmacokinetics</div>
<ul style="font-size:12px; padding-left:16px; line-height:1.7;">
<li>Oral bioavailability <strong>~3%</strong> (F = 0.03)</li>
<li>Classic example: very low-F drug still works</li>
<li>High-fat meal ↓ absorption by 85%</li>
<li>t½ ~24h (once daily dosing)</li>
<li>Excreted unchanged in feces</li>
<li>NOT a prodrug</li>
<li>P-glycoprotein substrate</li>
</ul>
</div>
<div class="card" style="background:#FFF0F0;">
<div class="card-title" style="color:#C0392B;">⚠️ Adverse Effects / Contraindications</div>
<ul style="font-size:12px; padding-left:16px; line-height:1.7;">
<li>Hyperkalemia</li>
<li>First-dose hypotension</li>
<li>Diarrhea (unique to DRI)</li>
<li class="danger"><strong>PREGNANCY – CI</strong></li>
<li class="danger"><strong>Avoid ACEi/ARB combo</strong> (↑ AEs)</li>
<li>No proven mortality benefit</li>
<li>No CV outcomes data (unlike ACEi)</li>
</ul>
</div>
</div>
<div class="highlight red" style="margin-top:10px;">
⚠️ <strong>Dual RAAS blockade (Aliskiren + ACEi or ARB) is CONTRAINDICATED</strong> — no additional benefit + increased adverse effects (hypotension, hyperkalemia, AKI). [Goodman & Gilman 14e]
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 10 – ARNi -->
<div class="slide" id="slide-10">
<div class="slide-header"><h2>💙 ARNi – Sacubitril/Valsartan (Entresto)</h2></div>
<div class="slide-body">
<div class="card card-sky" style="text-align:center; padding:10px; margin-bottom:12px;">
<div style="font-size:13px; font-weight:700;">Angiotensin Receptor–Neprilysin Inhibitor (ARNi)</div>
<div style="font-size:11.5px; margin-top:4px; color:#fff; opacity:0.9;">Co-crystal of Sacubitril (neprilysin inhibitor prodrug) + Valsartan (AT₁ blocker)</div>
</div>
<div class="grid-2">
<div>
<div class="card card-sky" style="padding:10px; margin-bottom:8px; text-align:center;">
<div style="font-size:12px; font-weight:700;">SACUBITRIL (prodrug)</div>
<div style="font-size:20px; color:#E8A020;">↓</div>
<div style="font-size:11px;">LBQ657 (active) — Neprilysin Inhibitor</div>
<div style="font-size:20px; color:#E8A020;">↓</div>
<div style="font-size:11px;">↑ ANP, BNP, Bradykinin<br>(less neprilysin breakdown)</div>
<div style="font-size:20px; color:#E8A020;">↓</div>
<div style="font-size:11px; font-weight:700; color:#E8A020;">Vasodilation + Natriuresis<br>↓ Cardiac fibrosis</div>
</div>
</div>
<div>
<div class="card card-lilac" style="padding:10px; margin-bottom:8px; text-align:center;">
<div style="font-size:12px; font-weight:700;">VALSARTAN (ARB)</div>
<div style="font-size:20px; color:#E8A020;">↓</div>
<div style="font-size:11px;">AT₁ Receptor Blockade</div>
<div style="font-size:20px; color:#E8A020;">↓</div>
<div style="font-size:11px;">↓ AngII effects<br>↑ AT₂ stimulation</div>
<div style="font-size:20px; color:#E8A020;">↓</div>
<div style="font-size:11px; font-weight:700; color:#E8A020;">↓ Afterload & preload<br>↓ Remodeling</div>
</div>
</div>
</div>
<div class="card card-green" style="padding:12px; margin-bottom:10px;">
<div class="card-title">✅ Combined Benefit (PARADIGM-HF Trial)</div>
<div class="grid-2" style="margin-top:6px; gap:6px;">
<p style="font-size:12px; line-height:1.7; color:#fff;">• ↓ Mortality vs enalapril<br>• ↓ HF hospitalizations<br>• ↓ Cardiac fibrosis & LV remodeling</p>
<p style="font-size:12px; line-height:1.7; color:#fff;">• ↑ Quality of life<br>• ↑ Exercise tolerance<br>• Superior to ACEi in HFrEF</p>
</div>
</div>
<div class="card" style="background:#FFF0F0; border-left:4px solid #C0392B; padding:12px;">
<div class="card-title" style="color:#C0392B;">⚠️ Critical Warnings</div>
<ul style="font-size:12.5px; padding-left:16px; line-height:1.8;">
<li><strong>Indication:</strong> HFrEF (EF ≤40%) — NOT approved for hypertension alone</li>
<li class="danger"><strong>NEVER combine with ACE inhibitor</strong> → dual bradykinin accumulation → life-threatening angioedema</li>
<li><strong>Washout:</strong> Must wait <strong>36 hours</strong> after stopping ACEi before starting ARNi</li>
<li class="danger"><strong>Pregnancy — CONTRAINDICATED</strong></li>
<li>Monitor K⁺ and renal function regularly</li>
</ul>
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 11 – MASTER TABLE -->
<div class="slide" id="slide-11">
<div class="slide-header"><h2>📊 Master Comparison – All 4 RAAS Classes</h2></div>
<div class="slide-body">
<div style="overflow-x:auto;">
<table class="tbl" style="min-width:620px; font-size:10.5px;">
<tr>
<th style="background:#0B1F4B; width:18%;">Feature</th>
<th style="background:#0D7C7C; width:22%;">ACE Inhibitors</th>
<th style="background:#7C3AED; width:20%;">ARBs</th>
<th style="background:#E06C2A; width:20%;">Aliskiren (DRI)</th>
<th style="background:#3B8EC8; width:20%;">ARNi (Sacubitril/Val)</th>
</tr>
<tr><td class="col-head">Target</td><td>ACE (kininase II)</td><td>AT₁ receptor</td><td>Renin active site</td><td>Neprilysin + AT₁</td></tr>
<tr><td class="col-head">Bradykinin</td><td class="warn">↑↑</td><td>Unchanged</td><td>Unchanged</td><td class="warn">↑ (neprilysin)</td></tr>
<tr><td class="col-head">Cough</td><td class="danger">5–20%</td><td class="good">Rare (<1%)</td><td class="good">None</td><td>Possible</td></tr>
<tr><td class="col-head">Angioedema</td><td class="danger">0.1–0.7%</td><td class="good">Very rare</td><td class="good">None</td><td>Rare (not with ACEi)</td></tr>
<tr><td class="col-head">PRA</td><td class="warn">↑ (reflex)</td><td class="warn">↑ (reflex)</td><td class="good">↓ (unique!)</td><td class="warn">↑</td></tr>
<tr><td class="col-head">Plasma Ang II</td><td class="good">↓</td><td class="warn">↑ (blocked AT₁)</td><td class="good">↓</td><td class="warn">↑ (valsartan blocks)</td></tr>
<tr><td class="col-head">Aldosterone</td><td class="good">↓</td><td class="good">↓</td><td class="good">↓</td><td class="good">↓</td></tr>
<tr><td class="col-head">Hyperkalemia</td><td class="danger">Risk ✓</td><td class="danger">Risk ✓</td><td class="danger">Risk ✓</td><td class="danger">Risk ✓</td></tr>
<tr><td class="col-head">Pregnancy</td><td class="danger">CI</td><td class="danger">CI</td><td class="danger">CI</td><td class="danger">CI</td></tr>
<tr><td class="col-head">Primary use</td><td>HTN, HF, DM nephropathy</td><td>HTN, HF (ACEi intol)</td><td>HTN only</td><td>HFrEF (NOT HTN alone)</td></tr>
<tr><td class="col-head">Unique fact</td><td>Captopril/Lisinopril = not prodrugs</td><td class="good">Losartan uricosuric</td><td>Lowest F (~3%)</td><td>36h washout from ACEi</td></tr>
</table>
</div>
<div class="highlight red" style="margin-top:12px; font-size:12px;">
<strong>Dual RAAS blockade rule:</strong> ACEi + ARB = No added benefit + ↑ AEs (ONTARGET trial). ACEi/ARB + Aliskiren = CONTRAINDICATED. ARNi + ACEi = CONTRAINDICATED (angioedema risk).
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 12 – CLINICAL SCENARIOS -->
<div class="slide" id="slide-12">
<div class="slide-header"><h2>🏥 Clinical Scenarios – Renal Physiology</h2></div>
<div class="slide-body">
<div class="scenario" style="background:#1D7A4E;">
<h3>🟢 Diabetic Nephropathy</h3>
<span class="badge-label">ACEi / ARB — PREFERRED even if normotensive</span>
<div class="section">
<div class="section-title">Pathophysiology</div>
<p>↑ Intraglomerular pressure (AngII constricts efferent arteriole) → hyperfiltration → proteinuria → glomerulosclerosis → ESRD</p>
</div>
<div class="section">
<div class="section-title">Drug Effect</div>
<ul><li>Dilates efferent arteriole → ↓ intraglomerular pressure</li><li>↓ Proteinuria (even without lowering BP)</li><li>↓ Progression to ESRD</li><li>Recommended even in normotensive diabetics</li></ul>
</div>
</div>
<div class="scenario" style="background:#C0392B;">
<h3>🔴 Bilateral Renal Artery Stenosis</h3>
<span class="badge-label">ACEi / ARB — CONTRAINDICATED</span>
<div class="section">
<div class="section-title">Pathophysiology</div>
<p>Low flow to both kidneys → AngII REQUIRED to constrict efferent arteriole to maintain GFR under low perfusion pressure</p>
</div>
<div class="section">
<div class="section-title">Why Drug Causes Harm</div>
<ul><li>ACEi/ARB removes efferent AngII constriction</li><li>GFR collapses → Acute renal failure</li><li>Creatinine rises sharply after starting drug</li><li>Monitor creatinine 1–2 weeks after starting any RAAS drug</li></ul>
</div>
</div>
<div class="scenario" style="background:#1A3E8C;">
<h3>🔵 Heart Failure (HFrEF)</h3>
<span class="badge-label">ACEi / ARB / ARNi — Core Therapy</span>
<div class="section">
<div class="section-title">Drug Effect</div>
<ul><li>ACEi → ↓ AngII → ↓ afterload + preload</li><li>↓ Aldosterone → ↓ Na/H₂O retention</li><li>↓ Cardiac remodeling + hypertrophy</li><li>ARNi (sacubitril/valsartan) superior to enalapril in HFrEF (PARADIGM-HF)</li></ul>
</div>
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 13 – DRUG INTERACTIONS -->
<div class="slide" id="slide-13">
<div class="slide-header"><h2>💊 Drug Interactions</h2></div>
<div class="slide-body">
<div style="overflow-x:auto;">
<table class="tbl" style="min-width:500px;">
<tr><th>Combination</th><th>Effect</th><th>Risk</th></tr>
<tr>
<td>ACEi + K⁺-sparing diuretics (Spironolactone)</td>
<td>Severe Hyperkalemia</td>
<td><span class="badge badge-red">DANGER</span></td>
</tr>
<tr>
<td>ACEi + NSAIDs</td>
<td>↓ Antihypertensive effect + AKI risk</td>
<td><span class="badge badge-orange">CAUTION</span></td>
</tr>
<tr>
<td>ACEi + K⁺ supplements</td>
<td>Hyperkalemia</td>
<td><span class="badge badge-orange">CAUTION</span></td>
</tr>
<tr>
<td>ACEi + Thiazide (LOW dose)</td>
<td>Enhanced BP lowering (synergistic)</td>
<td><span class="badge badge-green">BENEFIT</span></td>
</tr>
<tr>
<td>ACEi + Thiazide (HIGH dose)</td>
<td>Severe hypotension, volume depletion</td>
<td><span class="badge badge-orange">CAUTION</span></td>
</tr>
<tr>
<td>ARNi + ACE Inhibitor</td>
<td>Life-threatening angioedema</td>
<td><span class="badge badge-red">ABSOLUTE CI</span></td>
</tr>
<tr>
<td>Aliskiren + ACEi or ARB</td>
<td>No benefit + ↑ AEs (hypotension, K⁺, AKI)</td>
<td><span class="badge badge-red">CONTRAINDICATED</span></td>
</tr>
<tr>
<td>ACEi + Lithium</td>
<td>Lithium toxicity (↓ renal Li⁺ clearance)</td>
<td><span class="badge badge-orange">CAUTION</span></td>
</tr>
</table>
</div>
<div class="card card-navy" style="margin-top:12px; padding:12px;">
<div class="card-title" style="color:#E8A020;">💡 Why ACEi + Thiazide is Synergistic</div>
<p style="font-size:12.5px; color:#fff; line-height:1.6;">Normally, diuretic-induced Na⁺ loss → ↑ aldosterone (counter-regulatory escape). ACEi blunts this aldosterone rise → diuretic effect is maintained & potentiated. Even very small thiazide doses greatly improve ACEi efficacy. Conversely, high diuretic doses + ACEi = excessive volume depletion → hypotension/AKI.</p>
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 14 – MNEMONICS -->
<div class="slide" id="slide-14">
<div class="slide-header"><h2>🧠 Mnemonics & Exam Pearls</h2></div>
<div class="slide-body">
<div class="card card-light">
<div class="card-title" style="color:#0B1F4B;">ACEi Side Effects: <span style="color:#E8A020; font-size:16px; font-weight:800;">CAPTOPRIL</span></div>
<table class="tbl" style="margin-top:6px;">
<tr><th style="width:36px; background:#E8A020; color:#1E293B;">C</th><td><strong>C</strong>ough (bradykinin + substance P accumulation)</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">A</th><td><strong>A</strong>ngioedema (life-threatening, bradykinin-mediated)</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">P</th><td><strong>P</strong>otassium ↑ (hyperkalemia)</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">T</th><td><strong>T</strong>eratogenic (CI pregnancy) / Taste disturbance</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">O</th><td>h<strong>O</strong>rrible for bilateral RAS (AKI)</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">P</th><td><strong>P</strong>rodrug (most are) / Proteinuria reduced</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">R</th><td><strong>R</strong>enal failure (bilateral RAS, volume depletion)</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">I</th><td><strong>I</strong>nduced hypotension (1st dose)</td></tr>
<tr><th style="background:#E8A020; color:#1E293B;">L</th><td><strong>L</strong>iver converts prodrugs (except lisinopril/captopril)</td></tr>
</table>
</div>
<div class="card card-light-purple" style="margin-top:10px;">
<div class="card-title" style="color:#7C3AED;">ARB Members: <span style="color:#7C3AED; font-size:16px; font-weight:800;">LAVE CITO</span></div>
<p style="font-size:12.5px; color:#4B5563; margin-top:4px; line-height:1.8;"><strong>L</strong>osartan • <strong>A</strong>zilsartan • <strong>V</strong>alsartan • <strong>E</strong>prosartan • <strong>C</strong>andesartan • <strong>I</strong>rbesartan • <strong>T</strong>elmisartan • <strong>O</strong>lmesartan</p>
</div>
<div style="margin-top:10px;">
<div class="card-title" style="font-size:14px; margin-bottom:8px;">⚡ Must-Know Exam Pearls</div>
<div class="highlight" style="margin-bottom:6px; font-size:12px;"><span class="star">★</span> ACEi that is NOT a prodrug AND has –SH group → <strong>Captopril</strong> (Lisinopril also not a prodrug but no –SH)</div>
<div class="highlight" style="margin-bottom:6px; font-size:12px;"><span class="star">★</span> Only ARB with uricosuric effect → <strong>Losartan</strong> (use in HTN + gout)</div>
<div class="highlight" style="margin-bottom:6px; font-size:12px;"><span class="star">★</span> Only DRI approved for HTN → <strong>Aliskiren</strong> (no CV outcome benefit proven, no cough)</div>
<div class="highlight" style="margin-bottom:6px; font-size:12px;"><span class="star">★</span> ARNi contraindicated WITH ACEi — 36-hour washout needed (double bradykinin = angioedema)</div>
<div class="highlight" style="margin-bottom:6px; font-size:12px;"><span class="star">★</span> ACEi available IV only → <strong>Enalaprilat</strong> (active form of enalapril, for hypertensive emergencies)</div>
<div class="highlight" style="font-size:12px;"><span class="star">★</span> ARB with longest t½ (~24h) + PPAR-γ activity → <strong>Telmisartan</strong></div>
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 15 – MCQs -->
<div class="slide" id="slide-15">
<div class="slide-header"><h2>📝 Top 5 Must-Know MCQ Concepts</h2></div>
<div class="slide-body">
<div class="mcq-card" style="background:#0D7C7C;">
<div class="mcq-q">Q1. Which drug causes cough by accumulating bradykinin + substance P?</div>
<div class="mcq-a">→ <strong>ACE Inhibitor</strong> (NOT ARBs, NOT Aliskiren, NOT ARNi-alone). Bradykinin normally degraded by ACE (kininase II). ACEi prevents this → C-fiber stimulation → cough.</div>
</div>
<div class="mcq-card" style="background:#1A3E8C;">
<div class="mcq-q">Q2. Which ACEi is NOT a prodrug AND has a sulfhydryl (–SH) group?</div>
<div class="mcq-a">→ <strong>Captopril</strong>. Lisinopril is also NOT a prodrug (lysine derivative) but has no –SH group. All others (enalapril, ramipril, etc.) are prodrugs converted in liver.</div>
</div>
<div class="mcq-card" style="background:#C0392B;">
<div class="mcq-q">Q3. ACEi is contraindicated in bilateral RAS because…</div>
<div class="mcq-a">→ Removes efferent arteriolar AngII constriction → <strong>GFR collapses → Acute Renal Failure</strong>. AngII is needed to maintain filtration pressure when both renal arteries are stenosed.</div>
</div>
<div class="mcq-card" style="background:#7C3AED;">
<div class="mcq-q">Q4. What is the unique property of Losartan among all ARBs?</div>
<div class="mcq-a">→ <strong>Uricosuric effect</strong> (blocks URAT-1 transporter in proximal tubule → ↓ uric acid reabsorption). Drug of choice in hypertension + gout/hyperuricemia.</div>
</div>
<div class="mcq-card" style="background:#E06C2A;">
<div class="mcq-q">Q5. Sacubitril/valsartan (ARNi) must NEVER be combined with…</div>
<div class="mcq-a">→ <strong>ACE Inhibitors</strong>. Require 36-hour washout period after stopping ACEi. Reason: neprilysin inhibition + ACE inhibition = double bradykinin accumulation = <strong>life-threatening angioedema</strong>.</div>
</div>
<div class="highlight" style="font-size:12px;">
<strong>Bonus Q:</strong> Which RAAS drug has the lowest oral bioavailability (~3%) yet is clinically effective? → <strong>Aliskiren</strong> (classic pharmacokinetics example in Goodman & Gilman Ch 2).
</div>
</div>
<div class="spacer"></div>
</div>
<!-- ═══════════════════════════════════════════════════ SLIDE 16 – TAKEAWAYS -->
<div class="slide" id="slide-16">
<div class="slide-header" style="background: linear-gradient(135deg, #0B1F4B, #0D7C7C); border-bottom-color:#E8A020;"><h2 style="color:#E8A020;">🎯 Key Takeaways</h2></div>
<div class="slide-body">
<div class="card card-navy" style="margin-bottom:8px; padding:12px; border-left:4px solid #0D7C7C;">
<div class="card-title" style="color:#0D7C7C;">ACE Inhibitors</div>
<p style="font-size:12.5px; color:#fff; line-height:1.6;">Dual action: ↓AngII + ↑bradykinin. Cough & angioedema = bradykinin side effects. Not prodrug: captopril (–SH), lisinopril (lysine). IV-only: enalaprilat. 1st-line: HTN, HFrEF, DM nephropathy, post-MI.</p>
</div>
<div class="card card-navy" style="margin-bottom:8px; padding:12px; border-left:4px solid #7C3AED;">
<div class="card-title" style="color:#7C3AED;">ARBs</div>
<p style="font-size:12.5px; color:#fff; line-height:1.6;">Selective AT₁ block. No cough. Redirect AngII to AT₂ (bonus vasodilation). Losartan = only uricosuric ARB. Not superior to ACEi in outcomes. Use when ACEi intolerant (cough).</p>
</div>
<div class="card card-navy" style="margin-bottom:8px; padding:12px; border-left:4px solid #E06C2A;">
<div class="card-title" style="color:#E06C2A;">Aliskiren (DRI)</div>
<p style="font-size:12.5px; color:#fff; line-height:1.6;">Attacks rate-limiting step. ↓PRA (unique). F = 3% (lowest of all). No cough. No proven CV outcome benefit. Combination with ACEi/ARB CONTRAINDICATED.</p>
</div>
<div class="card card-navy" style="margin-bottom:8px; padding:12px; border-left:4px solid #3B8EC8;">
<div class="card-title" style="color:#3B8EC8;">ARNi (Sacubitril/Valsartan)</div>
<p style="font-size:12.5px; color:#fff; line-height:1.6;">Neprilysin + AT₁ block. Superior to enalapril in HFrEF (PARADIGM-HF). NOT approved for HTN alone. 36-hour washout from ACEi. NEVER combine with ACEi (angioedema).</p>
</div>
<div class="card" style="background:#C0392B; margin-bottom:8px; padding:12px;">
<div class="card-title" style="color:#E8A020;">⚠️ Critical Rules</div>
<ul style="font-size:12px; color:#fff; padding-left:16px; line-height:1.8;">
<li>Bilateral RAS + ACEi/ARB = <strong>Acute Renal Failure</strong> (efferent tone loss)</li>
<li>Dual RAAS blockade = No benefit + ↑ adverse effects (ONTARGET)</li>
<li>All RAAS drugs CONTRAINDICATED in pregnancy</li>
<li>ACEi + K⁺-sparing diuretic = severe hyperkalemia risk</li>
</ul>
</div>
<div class="card card-light" style="text-align:center; padding:10px;">
<div style="font-size:11px; color:#64748B;">📚 References: Goodman & Gilman 14e • Katzung Basic & Clinical Pharmacology 16e • KD Tripathi Essentials of Medical Pharmacology</div>
</div>
</div>
<div class="spacer"></div>
</div>
</div><!-- end slides-wrap -->
<!-- BOTTOM NAV -->
<div class="bottom-nav">
<button onclick="goToSlide(1)" id="nav-home"><span>🏠</span>Home</button>
<button onclick="goToSlide(2)" id="nav-contents"><span>📋</span>Contents</button>
<button onclick="changeSlide(-1)"><span>◀</span>Prev</button>
<button onclick="changeSlide(1)"><span>▶</span>Next</button>
<button onclick="goToSlide(16)" id="nav-end"><span>🎯</span>End</button>
</div>
<script>
let current = 1;
const total = 16;
function showSlide(n) {
document.querySelectorAll('.slide').forEach(s => s.classList.remove('active'));
document.getElementById('slide-' + n).classList.add('active');
document.getElementById('counter').textContent = n + ' / ' + total;
document.getElementById('prevBtn').disabled = (n === 1);
document.getElementById('nextBtn').disabled = (n === total);
window.scrollTo(0, 0);
current = n;
}
function changeSlide(dir) {
const next = current + dir;
if (next >= 1 && next <= total) showSlide(next);
}
function goToSlide(n) { showSlide(n); }
// Swipe support
let touchStartX = 0;
document.addEventListener('touchstart', e => { touchStartX = e.touches[0].clientX; });
document.addEventListener('touchend', e => {
const diff = touchStartX - e.changedTouches[0].clientX;
if (Math.abs(diff) > 50) changeSlide(diff > 0 ? 1 : -1);
});
</script>
</body>
</html>
ls -lh /home/daytona/workspace/raas-pptx/RAAS_Inhibitors.html
RAAS Inhibitors
HTML File · HTML
It is also showing same not opening
raas.htmlUploaded to Google drice
RAAS Inhibitors
HTML File · HTML
Can u provide images of all the slides hete
cp /home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pptx /tmp/raas_slides.pptx && libreoffice --headless --convert-to png /tmp/raas_slides.pptx --outdir /tmp/raas_slides/ 2>&1; echo "EXIT:$?"
ls /tmp/raas_slides/ | sort
file /tmp/raas_slides/raas_slides.png && identify /tmp/raas_slides/raas_slides.png 2>/dev/null | head -5 || python3 -c " from PIL import Image img = Image.open('/tmp/raas_slides/raas_slides.png') print('Size:', img.size) print('Mode:', img.mode) print('Format:', img.format) "
python3 << 'EOF' from pptx import Presentation prs = Presentation('/home/daytona/workspace/raas-pptx/RAAS_Inhibitors_Pharmacology.pptx') print(f"Total slides: {len(prs.slides)}") EOF
# Export each slide individually using LibreOffice with slide number selection mkdir -p /tmp/raas_png for i in $(seq 1 16); do libreoffice --headless --convert-to png --infilter="Impress MS PowerPoint 2007 XML" \ -env:UserInstallation=file:///tmp/lo_user \ "/tmp/raas_slides.pptx" --outdir /tmp/raas_png/ 2>/dev/null break done ls /tmp/raas_png/
# Try exporting PDF first (per-page), then convert each PDF page to PNG with pdftoppm pdftoppm -r 150 -png /tmp/raas_convert.pdf /tmp/raas_pages/slide 2>&1 && ls /tmp/raas_pages/ | head -20
mkdir -p /tmp/raas_pages && pdftoppm -r 150 -png /tmp/raas_fresh.pdf /tmp/raas_pages/slide 2>&1 && ls /tmp/raas_pages/ | head -20
mkdir -p /home/daytona/workspace/raas-pptx/slides && cp /tmp/raas_pages/slide-*.png /home/daytona/workspace/raas-pptx/slides/ && ls -lh /home/daytona/workspace/raas-pptx/slides/















