Carbapenam

| Drug | Trade Name | Key Feature |
|---|---|---|
| Imipenem/cilastatin | Primaxin | First carbapenem; requires cilastatin to prevent renal degradation |
| Meropenem | Merrem | Does not require cilastatin; less seizurogenic |
| Ertapenem | Invanz | Once-daily dosing; no Pseudomonas coverage |
| Doripenem | Doribax | Greatest Pseudomonas activity; no longer available in USA |

| Feature | Details |
|---|---|
| Route | IV (all); ertapenem also IM (mixed with 1% lidocaine due to irritation) |
| Distribution | Penetrate well into body tissues and fluids, including CSF (except ertapenem); meropenem reaches therapeutic CSF levels even without meningeal inflammation |
| Elimination | Renal (glomerular filtration); dose adjustment required in renal insufficiency |
| Half-life | Imipenem ~1 hr; meropenem ~1 hr; ertapenem ~4 hr |
| Imipenem dosing | 0.25-0.5 g IV q6-8h |
| Meropenem dosing | 0.5-1 g IV q8h |
| Ertapenem dosing | 1 g IV/IM once daily |
| Combination | Active Against |
|---|---|
| Meropenem-vaborbactam (Vabomere) | KPC-producing Enterobacterales |
| Imipenem-cilastatin-relebactam (Recarbrio) | KPC-producing Enterobacterales, hospital/VAP |
| Ceftazidime-avibactam | KPC, AmpC, OXA-48 (not MBL) |
| Cefiderocol | All classes including MBL |
| Inhibitor | Class A (KPC) | Class B (MBL) | Class C (AmpC) | Class D (OXA) |
|---|---|---|---|---|
| Vaborbactam | + | - | - | - |
| Relebactam | + | - | + | +/- |
| Avibactam | + | - | + | +/- |
NSAIDs drugs lipincott create a a good dedign pic
A detailed medical pharmacology infographic poster about NSAIDs (Nonsteroidal Anti-Inflammatory Drugs) based on Lippincott Pharmacology. Dark navy blue and teal color scheme with clean professional medical design. Include the following clearly organized sections with icons: TITLE at top: "NSAIDs — Nonsteroidal Anti-Inflammatory Drugs" with subtitle "Lippincott Pharmacology" Section 1 - MECHANISM OF ACTION: COX inhibition pathway diagram showing: Arachidonic Acid → COX-1 / COX-2 → Prostaglandins → Pain / Inflammation / Fever. Aspirin = IRREVERSIBLE acetylation of COX. Other NSAIDs = reversible inhibition. Section 2 - CLASSIFICATION (two columns): • Non-selective COX inhibitors: Aspirin, Ibuprofen, Naproxen, Indomethacin, Ketorolac, Diclofenac, Piroxicam, Meloxicam • Selective COX-2 inhibitors: Celecoxib Section 3 - THREE MAJOR THERAPEUTIC ACTIONS (3 badge icons): 🔴 Anti-inflammatory | 🟡 Analgesic | 🔵 Antipyretic Section 4 - PHARMACOKINETICS: • Oral absorption: good; some IV/IM (Ketorolac) • Protein binding: high (albumin) • Metabolism: hepatic • Excretion: renal Section 5 - ADVERSE EFFECTS (red warning style): • GI: ulceration, bleeding (↓ PGE2 → ↓ mucus/HCO3) • Renal: ↓ GFR, Na/water retention, hyperkalemia • CV: ↑ thrombosis risk (COX-2 selective > non-selective) • Aspirin sensitivity: bronchospasm, nasal polyps • Reye syndrome: aspirin in children with viral illness • Platelet inhibition: aspirin = irreversible; others = reversible Section 6 - ASPIRIN SPECIAL USES (gold highlight box): • Low dose (81mg): antiplatelet — prevents MI/stroke (inhibits TXA2) • High dose: anti-inflammatory (RA, gout) Section 7 - CONTRAINDICATIONS: • Peptic ulcer disease | Renal insufficiency | 3rd trimester pregnancy (premature closure of ductus arteriosus) | Aspirin in children (Reye syndrome) Clean bold typography, color-coded sections, subtle icons, professional medical poster layout on a dark background.

Create a PPTX presentation on NSAID drug interactions and monitoring
mkdir -p /home/daytona/workspace/nsaid-pptx && ls /home/daytona/workspace/nsaid-pptx
~/nsaid-pptx/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "NSAIDs: Drug Interactions & Monitoring";
pres.author = "Lippincott Pharmacology";
// ─── COLOR PALETTE ───────────────────────────────────────────────
const C = {
navy: "0D1B2A", // dominant dark bg
teal: "1B998B", // accent / headers
amber: "F4A261", // warning / highlight
red: "E63946", // danger / adverse
white: "FFFFFF",
silver: "D0D8E4", // body text on dark
midgray: "2D3E50", // card bg
lightbg: "EEF2F7", // slide bg (light slides)
darktext:"1A1A2E", // text on light
green: "2DC653", // safe/ok
purple: "7B2D8B", // special note
};
// ─── HELPERS ─────────────────────────────────────────────────────
function titleBar(slide, text, sub) {
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 10, h: 1.05,
fill: { color: C.teal },
});
slide.addText(text, {
x: 0.3, y: 0.08, w: 9.4, h: 0.6,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", margin: 0,
});
if (sub) {
slide.addText(sub, {
x: 0.3, y: 0.67, w: 9.4, h: 0.3,
fontSize: 12, color: C.navy, fontFace: "Calibri", margin: 0, italic: true,
});
}
}
function card(slide, x, y, w, h, fillColor) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: fillColor || C.midgray },
line: { color: C.teal, width: 1.5 },
rectRadius: 0.12,
});
}
function sectionLabel(slide, text, x, y, w, color) {
slide.addShape(pres.ShapeType.rect, {
x, y, w, h: 0.32,
fill: { color: color || C.teal },
});
slide.addText(text, {
x, y, w, h: 0.32,
fontSize: 11, bold: true, color: C.white,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0,
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// Full background
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.navy} });
// Decorative accent bars
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:0.18, h:5.625, fill:{color: C.teal} });
s.addShape(pres.ShapeType.rect, { x:9.82, y:0, w:0.18, h:5.625, fill:{color: C.amber} });
s.addShape(pres.ShapeType.rect, { x:0.18, y:4.8, w:9.64, h:0.12, fill:{color: C.teal} });
// Pill icon area
s.addShape(pres.ShapeType.ellipse, { x:0.6, y:0.8, w:1.2, h:1.2, fill:{color: C.teal} });
s.addText("💊", { x:0.6, y:0.8, w:1.2, h:1.2, fontSize:36, align:"center", valign:"middle" });
s.addText("NSAIDs", {
x:2, y:0.7, w:7.5, h:0.85,
fontSize:46, bold:true, color:C.teal, fontFace:"Calibri", margin:0,
});
s.addText("Drug Interactions & Monitoring", {
x:2, y:1.55, w:7.5, h:0.65,
fontSize:26, bold:false, color:C.amber, fontFace:"Calibri", margin:0,
});
s.addText("Nonsteroidal Anti-Inflammatory Drugs", {
x:2, y:2.2, w:7.5, h:0.4,
fontSize:14, color:C.silver, fontFace:"Calibri", margin:0,
});
// Divider line
s.addShape(pres.ShapeType.rect, { x:2, y:2.72, w:6.5, h:0.04, fill:{color: C.teal} });
// Topics preview
const topics = [
"Mechanism of Action & COX Selectivity",
"Key Drug Interactions",
"Adverse Effects & Safety Profile",
"Special Populations & Contraindications",
"Monitoring Parameters",
];
topics.forEach((t, i) => {
s.addShape(pres.ShapeType.rect, { x:2, y:2.88+i*0.42, w:0.06, h:0.26, fill:{color:C.amber} });
s.addText(t, {
x:2.15, y:2.86+i*0.42, w:6.5, h:0.32,
fontSize:12, color:C.silver, fontFace:"Calibri", margin:0,
});
});
s.addText("Source: Lippincott Illustrated Reviews: Pharmacology", {
x:0.3, y:5.25, w:9.4, h:0.25,
fontSize:9, color:C.teal, fontFace:"Calibri", italic:true, margin:0,
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 2 – MECHANISM & COX SELECTIVITY
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.lightbg} });
titleBar(s, "Mechanism of Action & COX Selectivity", "Foundation for understanding interactions");
// LEFT: pathway diagram
card(s, 0.2, 1.2, 4.4, 4.1, "FFFFFF");
sectionLabel(s, "COX INHIBITION PATHWAY", 0.2, 1.2, 4.4, C.navy);
const pathway = [
{ label: "Membrane Phospholipids", color: C.navy },
{ label: "↓ Phospholipase A2", color: C.midgray },
{ label: "Arachidonic Acid", color: C.teal },
{ label: "↓ COX-1 / COX-2 ← NSAIDs BLOCK HERE", color: C.red },
{ label: "Prostaglandins / TXA2 / PGI2", color: C.amber },
];
pathway.forEach((p, i) => {
s.addShape(pres.ShapeType.rect, { x:0.4, y:1.65+i*0.56, w:3.9, h:0.42, fill:{color:p.color}, rectRadius:0.06 });
s.addText(p.label, {
x:0.4, y:1.65+i*0.56, w:3.9, h:0.42,
fontSize:10.5, color:C.white, bold: p.color===C.red, fontFace:"Calibri",
align:"center", valign:"middle", margin:0,
});
});
// outcomes
const outcomes = [
{ t:"Pain ↓", c:C.green }, { t:"Fever ↓", c:C.teal }, { t:"Inflammation ↓", c:C.amber },
{ t:"GI Mucosa ↓ (COX-1)", c:C.red }, { t:"Platelet Aggregation ↓", c:C.red },
];
outcomes.forEach((o, i) => {
s.addShape(pres.ShapeType.roundRect, { x:0.4+i%3*1.35, y:4.48+(i>2?0.42:0), w:1.22, h:0.35, fill:{color:o.c}, rectRadius:0.08 });
s.addText(o.t, { x:0.4+i%3*1.35, y:4.48+(i>2?0.42:0), w:1.22, h:0.35, fontSize:8.5, color:C.white, bold:true, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
});
// RIGHT: selectivity table
card(s, 4.8, 1.2, 4.95, 4.1, "FFFFFF");
sectionLabel(s, "COX SELECTIVITY OF KEY NSAIDs", 4.8, 1.2, 4.95, C.purple);
const drugs = [
{ name:"Aspirin", sel:"COX-1 >> COX-2", type:"Non-selective (irreversible)", tag:"IRREVERSIBLE", tc:C.red },
{ name:"Ibuprofen", sel:"COX-1 = COX-2", type:"Non-selective", tag:"SHORT-ACTING", tc:C.teal },
{ name:"Naproxen", sel:"COX-1 = COX-2", type:"Non-selective", tag:"LONG-ACTING", tc:C.teal },
{ name:"Indomethacin", sel:"COX-1 > COX-2", type:"Non-selective (potent)", tag:"POTENT", tc:C.amber },
{ name:"Ketorolac", sel:"COX-1 > COX-2", type:"Non-selective", tag:"SHORT USE ONLY", tc:C.amber },
{ name:"Diclofenac", sel:"COX-2 > COX-1", type:"Mild COX-2 preference", tag:"TOPICAL AVAIL.", tc:C.green },
{ name:"Meloxicam", sel:"COX-2 > COX-1", type:"Mild COX-2 preference", tag:"ONCE DAILY", tc:C.green },
{ name:"Celecoxib", sel:"COX-2 selective", type:"Selective COX-2", tag:"SELECTIVE", tc:C.green },
];
// Header row
["Drug", "Selectivity", "Tag"].forEach((h, i) => {
s.addShape(pres.ShapeType.rect, { x:4.85+[0,1.55,3.3][i], y:1.55, w:[1.5,1.75,1.35][i], h:0.28, fill:{color:C.navy} });
s.addText(h, { x:4.85+[0,1.55,3.3][i], y:1.55, w:[1.5,1.75,1.35][i], h:0.28, fontSize:9, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
});
drugs.forEach((d, i) => {
const rowBg = i%2===0 ? "F0F4F8" : "FFFFFF";
s.addShape(pres.ShapeType.rect, { x:4.85, y:1.86+i*0.38, w:4.85, h:0.36, fill:{color:rowBg} });
s.addText(d.name, { x:4.87, y:1.88+i*0.38, w:1.48, h:0.32, fontSize:9.5, bold:true, color:C.darktext, fontFace:"Calibri", margin:2 });
s.addText(d.sel, { x:6.42, y:1.88+i*0.38, w:1.72, h:0.32, fontSize:8.5, color:C.darktext, fontFace:"Calibri", margin:2 });
s.addShape(pres.ShapeType.roundRect, { x:8.2, y:1.93+i*0.38, w:1.35, h:0.24, fill:{color:d.tc}, rectRadius:0.06 });
s.addText(d.tag, { x:8.2, y:1.93+i*0.38, w:1.35, h:0.24, fontSize:7.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 3 – KEY DRUG INTERACTIONS (Part 1)
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.navy} });
titleBar(s, "Key Drug Interactions — Part 1", "NSAIDs interact with many common medications");
const interactions = [
{
drug: "Warfarin / Anticoagulants",
icon: "🩸",
mechanism: "NSAIDs inhibit platelet aggregation (↓ TXA2) + may displace warfarin from protein binding",
effect: "↑ Bleeding risk — major hemorrhage",
severity: "MAJOR",
sc: C.red,
mgmt: "Avoid combination; if unavoidable, monitor INR closely & use lowest NSAID dose for shortest duration",
},
{
drug: "Aspirin + Other NSAIDs",
icon: "⚠️",
mechanism: "NSAIDs (e.g. ibuprofen) compete with aspirin for COX-1 binding site",
effect: "Blocks aspirin's irreversible antiplatelet effect — reduces cardioprotection",
severity: "MAJOR",
sc: C.red,
mgmt: "Take aspirin ≥30 min BEFORE other NSAID; use enteric-coated aspirin with caution",
},
{
drug: "Antihypertensives (ACEi, ARBs, Diuretics, β-blockers)",
icon: "💓",
mechanism: "NSAIDs ↓ PGE2/PGI2 → Na+/water retention → ↑ BP; blunt vasodilatory prostaglandins",
effect: "Reduced antihypertensive efficacy; risk of acute kidney injury (triple whammy: ACEi + diuretic + NSAID)",
severity: "MODERATE",
sc: C.amber,
mgmt: "Monitor BP & renal function; avoid NSAID use in HF; counsel patients to report edema/weight gain",
},
{
drug: "Lithium",
icon: "⚡",
mechanism: "NSAIDs ↓ renal prostaglandins → ↓ renal Li+ excretion",
effect: "↑ Serum lithium levels → lithium toxicity (tremor, confusion, arrhythmia)",
severity: "MAJOR",
sc: C.red,
mgmt: "Monitor lithium serum levels; sulindac and aspirin have least effect; avoid if possible",
},
];
interactions.forEach((inter, i) => {
const col = i % 2 === 0 ? 0.15 : 5.1;
const row = Math.floor(i / 2);
const yBase = 1.2 + row * 2.12;
card(s, col, yBase, 4.85, 1.95, C.midgray);
// Drug name header
s.addShape(pres.ShapeType.rect, { x:col, y:yBase, w:4.85, h:0.38, fill:{color:C.teal} });
s.addText(inter.icon + " " + inter.drug, {
x:col+0.08, y:yBase, w:3.6, h:0.38,
fontSize:11, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", margin:0,
});
// Severity badge
s.addShape(pres.ShapeType.roundRect, { x:col+3.72, y:yBase+0.06, w:1.05, h:0.26, fill:{color:inter.sc}, rectRadius:0.06 });
s.addText(inter.severity, {
x:col+3.72, y:yBase+0.06, w:1.05, h:0.26,
fontSize:8, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0,
});
s.addText([
{ text: "Mechanism: ", options: { bold:true, color:C.amber } },
{ text: inter.mechanism },
], { x:col+0.12, y:yBase+0.44, w:4.6, h:0.35, fontSize:8.5, color:C.silver, fontFace:"Calibri", margin:0 });
s.addText([
{ text: "Effect: ", options: { bold:true, color:C.red } },
{ text: inter.effect },
], { x:col+0.12, y:yBase+0.78, w:4.6, h:0.35, fontSize:8.5, color:C.silver, fontFace:"Calibri", margin:0 });
s.addText([
{ text: "Management: ", options: { bold:true, color:C.green } },
{ text: inter.mgmt },
], { x:col+0.12, y:yBase+1.15, w:4.6, h:0.38, fontSize:8, color:C.silver, fontFace:"Calibri", margin:0 });
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 4 – KEY DRUG INTERACTIONS (Part 2)
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.navy} });
titleBar(s, "Key Drug Interactions — Part 2", "Additional clinically significant interactions");
const interactions = [
{
drug: "Methotrexate",
icon: "🧬",
mechanism: "NSAIDs ↓ renal tubular secretion of methotrexate (compete for same transporter)",
effect: "↑ Methotrexate toxicity — bone marrow suppression, mucositis, nephrotoxicity",
severity: "MAJOR",
sc: C.red,
mgmt: "Avoid combination; if used, monitor CBC, renal function, and methotrexate levels closely",
},
{
drug: "SSRIs / SNRIs",
icon: "🧠",
mechanism: "SSRIs inhibit platelet serotonin uptake → impaired platelet activation + NSAID antiplatelet effect",
effect: "Synergistic ↑ GI bleeding risk (3-15x greater than NSAID alone)",
severity: "MODERATE",
sc: C.amber,
mgmt: "Consider GI prophylaxis (PPI) if combination unavoidable; monitor for signs of GI bleeding",
},
{
drug: "Corticosteroids",
icon: "💊",
mechanism: "Both ↓ GI mucosal protective prostaglandins via different mechanisms",
effect: "Additive GI ulceration and bleeding risk",
severity: "MODERATE",
sc: C.amber,
mgmt: "Co-prescribe PPI or misoprostol; use lowest steroid and NSAID doses; avoid in elderly",
},
{
drug: "CYP2C9 Inhibitors (Fluconazole, Amiodarone)",
icon: "🔬",
mechanism: "CYP2C9 inhibitors ↓ metabolism of celecoxib (and some other NSAIDs)",
effect: "↑ Celecoxib plasma levels → amplified adverse effects (CV, GI, renal)",
severity: "MODERATE",
sc: C.amber,
mgmt: "Reduce celecoxib dose by 50% when combined with CYP2C9 inhibitors; monitor for toxicity",
},
{
drug: "Cyclosporine / Tacrolimus",
icon: "🫀",
mechanism: "NSAIDs + calcineurin inhibitors have additive renal vasoconstrictive and nephrotoxic effects",
effect: "Acute kidney injury; ↑ cyclosporine toxicity; hyperkalemia",
severity: "MAJOR",
sc: C.red,
mgmt: "Avoid concurrent use; monitor renal function (serum Cr, BUN, eGFR) and electrolytes regularly",
},
{
drug: "Probenecid",
icon: "💉",
mechanism: "Probenecid inhibits renal tubular excretion of many NSAIDs (especially ketorolac, indomethacin)",
effect: "↑ NSAID plasma levels → prolonged half-life and enhanced adverse effects",
severity: "MODERATE",
sc: C.amber,
mgmt: "Avoid combination with ketorolac; reduce NSAID doses; monitor closely for toxicity signs",
},
];
interactions.forEach((inter, i) => {
const col = i % 2 === 0 ? 0.15 : 5.1;
const row = Math.floor(i / 2);
const yBase = 1.2 + row * 1.42;
card(s, col, yBase, 4.85, 1.32, C.midgray);
s.addShape(pres.ShapeType.rect, { x:col, y:yBase, w:4.85, h:0.32, fill:{color:C.teal} });
s.addText(inter.icon + " " + inter.drug, {
x:col+0.08, y:yBase, w:3.5, h:0.32,
fontSize:10, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", margin:0,
});
s.addShape(pres.ShapeType.roundRect, { x:col+3.72, y:yBase+0.04, w:1.05, h:0.24, fill:{color:inter.sc}, rectRadius:0.06 });
s.addText(inter.severity, {
x:col+3.72, y:yBase+0.04, w:1.05, h:0.24,
fontSize:7.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0,
});
s.addText([
{ text: "Mechanism: ", options: { bold:true, color:C.amber } },
{ text: inter.mechanism },
], { x:col+0.1, y:yBase+0.35, w:4.65, h:0.27, fontSize:8, color:C.silver, fontFace:"Calibri", margin:0 });
s.addText([
{ text: "Effect: ", options: { bold:true, color:C.red } },
{ text: inter.effect },
], { x:col+0.1, y:yBase+0.62, w:4.65, h:0.25, fontSize:8, color:C.silver, fontFace:"Calibri", margin:0 });
s.addText([
{ text: "Management: ", options: { bold:true, color:C.green } },
{ text: inter.mgmt },
], { x:col+0.1, y:yBase+0.88, w:4.65, h:0.32, fontSize:7.5, color:C.silver, fontFace:"Calibri", margin:0 });
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 5 – ADVERSE EFFECTS PROFILE
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.lightbg} });
titleBar(s, "Adverse Effects Profile", "Basis for drug interactions & monitoring targets");
const sections = [
{
title: "GASTROINTESTINAL", icon: "🔴", color: C.red, x:0.2, y:1.15, w:3.0,
points: [
"Most common adverse effects",
"COX-1 inhibition ↓ PGE2/PGI2 → ↓ mucus & ↑ gastric acid",
"Risk: dyspepsia → peptic ulcers → GI bleeding/perforation",
"Higher COX-1 selectivity = higher GI risk",
"Take with food or fluids",
"Prevention: PPI (preferred) or misoprostol (PGE1 analog)",
"Celecoxib has ↓ GI risk (COX-2 selective) — benefit lost if aspirin added",
],
},
{
title: "RENAL", icon: "🟡", color: C.amber, x:3.4, y:1.15, w:3.0,
points: [
"↓ PGE2/PGI2 → ↓ renal blood flow",
"Na+/water retention → edema, ↑ BP",
"Risk of acute kidney injury (especially: elderly, HF, CKD, volume-depleted)",
"↓ Efficacy of antihypertensives & diuretics",
"'Triple whammy': ACEi + diuretic + NSAID → AKI",
"Hyperkalemia (↓ aldosterone-stimulating prostaglandins)",
"Monitor: serum Cr, BUN, eGFR, electrolytes, urine output",
],
},
{
title: "CARDIOVASCULAR", icon: "🔵", color: C.purple, x:6.6, y:1.15, w:3.2,
points: [
"COX-2 selective NSAIDs (celecoxib): ↓ PGI2 without ↓ TXA2 → prothrombotic state",
"↑ Risk: MI, stroke, hypertension",
"Non-selective NSAIDs: similar CV risk",
"NSAIDs carry FDA Black Box Warning for CV risk",
"Contraindicated post-CABG surgery",
"Use lowest effective dose, shortest duration",
"Monitor: BP, signs of fluid retention, chest pain",
],
},
];
sections.forEach(sec => {
card(s, sec.x, sec.y, sec.w, 4.2, "FFFFFF");
sectionLabel(s, sec.icon + " " + sec.title, sec.x, sec.y, sec.w, sec.color);
sec.points.forEach((pt, j) => {
s.addText([
{ text: "• ", options: { bold:true, color:sec.color } },
{ text: pt },
], {
x: sec.x + 0.1, y: sec.y + 0.44 + j * 0.52,
w: sec.w - 0.2, h: 0.48,
fontSize: 8.8, color: C.darktext, fontFace: "Calibri", margin: 0,
wrap: true,
});
});
});
// Bottom: other adverse effects bar
s.addShape(pres.ShapeType.rect, { x:0.2, y:5.12, w:9.6, h:0.38, fill:{color:C.navy} });
s.addText("OTHER: Hepatotoxicity (rare) | Hypersensitivity / Aspirin-induced asthma (nasal polyps + eosinophilia) | Reye syndrome (aspirin in children with viral illness) | Prolonged bleeding time", {
x:0.2, y:5.12, w:9.6, h:0.38, fontSize:8, color:C.silver, fontFace:"Calibri", align:"center", valign:"middle", margin:4,
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 6 – SPECIAL POPULATIONS & CONTRAINDICATIONS
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.navy} });
titleBar(s, "Special Populations & Contraindications", "When NSAIDs require dose adjustment, extra caution, or avoidance");
const pops = [
{
label: "PREGNANCY", icon: "🤰",
color: C.red,
points: [
"3rd trimester: CONTRAINDICATED",
"Premature closure of ductus arteriosus",
"Oligohydramnios (↓ fetal renal blood flow)",
"1st/2nd trimester: use with caution",
"Aspirin low-dose: used for pre-eclampsia prevention",
],
},
{
label: "PEDIATRICS", icon: "👶",
color: C.amber,
points: [
"ASPIRIN: CONTRAINDICATED in children <19 yrs with viral illness",
"Risk of Reye syndrome (fulminating hepatitis + cerebral edema)",
"Ibuprofen: safe for fever/pain in children ≥6 months",
"Naproxen: approved for JIA in children ≥2 years",
],
},
{
label: "ELDERLY", icon: "👴",
color: C.amber,
points: [
"↑ Risk of GI bleeding, peptic ulcer disease",
"↑ Risk of AKI and electrolyte disturbances",
"↑ CV risk",
"Use lowest effective dose; avoid long-term use (Beers Criteria)",
"GI prophylaxis (PPI) routinely recommended",
],
},
{
label: "RENAL IMPAIRMENT", icon: "🫘",
color: C.red,
points: [
"CKD stages 3-5: avoid NSAIDs if possible",
"↓ Renal prostaglandins → worsening GFR",
"Risk of AKI, hyperkalemia, fluid retention",
"If used: reduce dose, monitor eGFR and K+ frequently",
"Sulindac: slightly renal-sparing (prodrug activated in liver)",
],
},
{
label: "HEPATIC IMPAIRMENT", icon: "🩺",
color: C.amber,
points: [
"NSAIDs metabolized by liver (CYP450, mainly CYP2C9)",
"Severe hepatic disease: avoid NSAIDs",
"Celecoxib: reduce dose by 50% in moderate hepatic impairment; avoid in severe",
"Risk of ↑ plasma levels and enhanced toxicity",
],
},
{
label: "CARDIOVASCULAR DISEASE", icon: "❤️",
color: C.red,
points: [
"Post-CABG surgery: CONTRAINDICATED (all NSAIDs)",
"Active angina, recent MI, HF: avoid or use with extreme caution",
"COX-2 selective agents: highest CV risk",
"If CV patient requires NSAID: naproxen may be safest option",
"Do not substitute celecoxib for aspirin cardioprotection",
],
},
];
pops.forEach((pop, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.12 + col * 3.3;
const y = 1.18 + row * 2.16;
card(s, x, y, 3.18, 2.0, C.midgray);
s.addShape(pres.ShapeType.rect, { x, y, w:3.18, h:0.34, fill:{color:pop.color} });
s.addText(pop.icon + " " + pop.label, {
x:x+0.08, y, w:3.0, h:0.34,
fontSize:10.5, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", margin:0,
});
pop.points.forEach((pt, j) => {
s.addText([
{ text: "• ", options:{ bold:true, color:pop.color } },
{ text: pt },
], {
x:x+0.1, y:y+0.38+j*0.31, w:3.0, h:0.29,
fontSize:8, color:C.silver, fontFace:"Calibri", margin:0, wrap:true,
});
});
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 7 – MONITORING PARAMETERS
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.lightbg} });
titleBar(s, "Monitoring Parameters", "Systematic approach to safe NSAID therapy");
// LEFT: Monitoring table
card(s, 0.15, 1.15, 5.6, 4.3, "FFFFFF");
sectionLabel(s, "CLINICAL & LABORATORY MONITORING", 0.15, 1.15, 5.6, C.navy);
const monRows = [
{ param: "Renal Function", tests: "Serum Cr, BUN, eGFR", freq: "Baseline; 1-2 wks after start; q3-6 months", flag:C.amber },
{ param: "Electrolytes", tests: "Na+, K+, Cl−", freq: "Baseline; especially in HF/CKD; repeat PRN", flag:C.amber },
{ param: "Blood Pressure", tests: "Routine BP measurement", freq: "Baseline + at each follow-up visit", flag:C.amber },
{ param: "GI Symptoms", tests: "Clinical assessment", freq: "At every visit; instruct patient to report melena, hematemesis", flag:C.red },
{ param: "CBC", tests: "Complete Blood Count", freq: "Baseline; periodically for long-term use (anemia from GI blood loss)", flag:C.teal },
{ param: "LFTs", tests: "AST, ALT, ALP", freq: "Baseline if pre-existing liver disease; repeat if symptomatic", flag:C.teal },
{ param: "INR / Coag", tests: "PT, INR (if on warfarin)", freq: "Within 3-5 days of NSAID initiation; then per anticoag protocol", flag:C.red },
{ param: "Lithium Level", tests: "Serum lithium", freq: "5-7 days after starting NSAID; target 0.6-1.2 mEq/L", flag:C.red },
{ param: "Pain/Efficacy", tests: "VAS / NRS pain scale", freq: "At each visit; reassess need to continue therapy", flag:C.green },
];
// Header
["Parameter", "Test/Assessment", "Frequency"].forEach((h, i) => {
s.addShape(pres.ShapeType.rect, { x:0.2+[0,1.35,3.12][i], y:1.48, w:[1.1,1.72,2.38][i], h:0.28, fill:{color:C.teal} });
s.addText(h, { x:0.2+[0,1.35,3.12][i], y:1.48, w:[1.1,1.72,2.38][i], h:0.28, fontSize:8.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
});
monRows.forEach((r, i) => {
const bg = i%2===0 ? "F0F4F8" : "FFFFFF";
s.addShape(pres.ShapeType.rect, { x:0.2, y:1.79+i*0.36, w:5.5, h:0.34, fill:{color:bg} });
s.addShape(pres.ShapeType.rect, { x:0.2, y:1.82+i*0.36, w:0.07, h:0.28, fill:{color:r.flag} });
s.addText(r.param, { x:0.3, y:1.81+i*0.36, w:1.02, h:0.32, fontSize:8.5, bold:true, color:C.darktext, fontFace:"Calibri", margin:1 });
s.addText(r.tests, { x:1.32, y:1.81+i*0.36, w:1.75, h:0.32, fontSize:8, color:C.darktext, fontFace:"Calibri", margin:1 });
s.addText(r.freq, { x:3.1, y:1.81+i*0.36, w:2.5, h:0.32, fontSize:7.5, color:C.darktext, fontFace:"Calibri", margin:1, wrap:true });
});
// RIGHT: Monitoring in special contexts
card(s, 5.95, 1.15, 3.9, 2.05, "FFFFFF");
sectionLabel(s, "GI PROTECTION STRATEGY", 5.95, 1.15, 3.9, C.red);
const giPts = [
"Misoprostol (PGE1 analog): ↓ gastric acid, ↑ mucus — but SE: diarrhea",
"PPIs (omeprazole, pantoprazole): preferred for NSAID ulcer prevention",
"H2 blockers: second-line option",
"Risk factors requiring prophylaxis: age >65, history of PUD, concurrent anticoagulants/steroids, H. pylori infection",
"Celecoxib: lower GI risk but this benefit disappears when aspirin is co-administered",
];
giPts.forEach((pt, j) => {
s.addText([
{ text:"• ", options:{ bold:true, color:C.red } },
{ text:pt },
], { x:6.05, y:1.55+j*0.32, w:3.7, h:0.3, fontSize:8, color:C.darktext, fontFace:"Calibri", margin:0, wrap:true });
});
card(s, 5.95, 3.28, 3.9, 2.17, "FFFFFF");
sectionLabel(s, "PATIENT COUNSELLING POINTS", 5.95, 3.28, 3.9, C.teal);
const counselPts = [
"Always take with food or a full glass of water",
"Do not exceed recommended dose or duration",
"Avoid alcohol — increases GI bleeding risk",
"Report: dark/tarry stools, blood in urine, chest pain, sudden weight gain",
"NSAIDs can raise BP — monitor regularly",
"Inform all prescribers about NSAID use",
"Avoid in last 3 months of pregnancy",
];
counselPts.forEach((pt, j) => {
s.addText([
{ text:"✓ ", options:{ bold:true, color:C.green } },
{ text:pt },
], { x:6.05, y:3.68+j*0.28, w:3.7, h:0.26, fontSize:8, color:C.darktext, fontFace:"Calibri", margin:0, wrap:true });
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 8 – INTERACTION SEVERITY SUMMARY TABLE
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color: C.navy} });
titleBar(s, "Drug Interaction Severity — Quick Reference", "Clinical summary of all key NSAID interactions");
const rows = [
{ drug:"Warfarin", sev:"MAJOR", mechanism:"↓ Platelet aggregation + protein displacement", outcome:"↑ Bleeding", action:"Avoid / Monitor INR", sc:C.red },
{ drug:"Aspirin (combo)", sev:"MAJOR", mechanism:"Competitive COX-1 binding", outcome:"Loss of cardioprotection", action:"Take aspirin 30 min before NSAID", sc:C.red },
{ drug:"Methotrexate", sev:"MAJOR", mechanism:"↓ Renal tubular secretion of MTX", outcome:"MTX toxicity", action:"Avoid / Monitor CBC + renal", sc:C.red },
{ drug:"Lithium", sev:"MAJOR", mechanism:"↓ Renal Li+ excretion", outcome:"Li+ toxicity", action:"Monitor serum Li+ levels", sc:C.red },
{ drug:"Cyclosporine/Tacrolimus", sev:"MAJOR", mechanism:"Additive nephrotoxicity", outcome:"AKI, hyperkalemia", action:"Avoid / Monitor renal & K+", sc:C.red },
{ drug:"ACEi / ARBs / Diuretics", sev:"MODERATE", mechanism:"Na+/water retention, ↓ PG vasodilation", outcome:"↑ BP, AKI (triple whammy)", action:"Monitor BP + renal function", sc:C.amber },
{ drug:"SSRIs / SNRIs", sev:"MODERATE", mechanism:"Synergistic antiplatelet effect", outcome:"GI bleeding ↑ 3-15x", action:"Add PPI prophylaxis", sc:C.amber },
{ drug:"Corticosteroids", sev:"MODERATE", mechanism:"Additive ↓ GI mucosa protection", outcome:"Peptic ulcer, GI bleed", action:"PPI or misoprostol co-therapy", sc:C.amber },
{ drug:"CYP2C9 Inhibitors", sev:"MODERATE", mechanism:"↓ Celecoxib metabolism", outcome:"↑ Celecoxib levels", action:"Reduce celecoxib dose by 50%", sc:C.amber },
{ drug:"Probenecid", sev:"MODERATE", mechanism:"↓ Renal tubular excretion of NSAIDs", outcome:"↑ NSAID plasma levels", action:"Reduce NSAID dose; avoid ketorolac", sc:C.amber },
];
// Header
const headers = ["Interacting Drug", "Severity", "Mechanism", "Clinical Outcome", "Management"];
const widths = [1.6, 0.9, 2.5, 1.8, 2.85];
let xPos = 0.1;
headers.forEach((h, i) => {
s.addShape(pres.ShapeType.rect, { x:xPos, y:1.1, w:widths[i], h:0.35, fill:{color:C.teal} });
s.addText(h, { x:xPos, y:1.1, w:widths[i], h:0.35, fontSize:9, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
xPos += widths[i] + 0.03;
});
rows.forEach((r, i) => {
const bg = i%2===0 ? "223344" : "1A2A38";
xPos = 0.1;
s.addShape(pres.ShapeType.rect, { x:0.1, y:1.48+i*0.39, w:9.7, h:0.37, fill:{color:bg} });
const cells = [r.drug, r.sev, r.mechanism, r.outcome, r.action];
cells.forEach((cell, ci) => {
if (ci === 1) {
s.addShape(pres.ShapeType.roundRect, { x:xPos+0.05, y:1.52+i*0.39, w:0.8, h:0.27, fill:{color:r.sc}, rectRadius:0.06 });
s.addText(cell, { x:xPos+0.05, y:1.52+i*0.39, w:0.8, h:0.27, fontSize:7.5, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
} else {
s.addText(cell, { x:xPos+0.04, y:1.5+i*0.39, w:widths[ci]-0.08, h:0.35, fontSize:8, color:C.silver, fontFace:"Calibri", margin:1, wrap:true, bold:ci===0 });
}
xPos += widths[ci] + 0.03;
});
});
// Legend
s.addShape(pres.ShapeType.roundRect, { x:0.1, y:5.38, w:0.75, h:0.18, fill:{color:C.red}, rectRadius:0.04 });
s.addText("MAJOR", { x:0.1, y:5.38, w:0.75, h:0.18, fontSize:7, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
s.addText("= Avoid combination or requires intensive monitoring", { x:0.9, y:5.38, w:3.5, h:0.18, fontSize:7.5, color:C.silver, fontFace:"Calibri", margin:0 });
s.addShape(pres.ShapeType.roundRect, { x:4.5, y:5.38, w:0.85, h:0.18, fill:{color:C.amber}, rectRadius:0.04 });
s.addText("MODERATE", { x:4.5, y:5.38, w:0.85, h:0.18, fontSize:7, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
s.addText("= Use with caution; monitor closely and adjust dose as needed", { x:5.4, y:5.38, w:4.4, h:0.18, fontSize:7.5, color:C.silver, fontFace:"Calibri", margin:0 });
}
// ════════════════════════════════════════════════════════════════
// SLIDE 9 – CONCLUSION / SUMMARY
// ════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.navy} });
// Accent
s.addShape(pres.ShapeType.rect, { x:0, y:0, w:0.22, h:5.625, fill:{color:C.teal} });
s.addShape(pres.ShapeType.rect, { x:9.78, y:0, w:0.22, h:5.625, fill:{color:C.amber} });
s.addText("Key Takeaways", {
x:0.5, y:0.35, w:9, h:0.6, fontSize:30, bold:true, color:C.teal, fontFace:"Calibri", margin:0,
});
s.addShape(pres.ShapeType.rect, { x:0.5, y:1.0, w:8.5, h:0.04, fill:{color:C.teal} });
const takeaways = [
{ icon:"⚠️", title:"Interactions are mechanism-based:", text:"NSAIDs affect prostaglandins, platelet function, protein binding, and renal drug excretion — making them interact with anticoagulants, antihypertensives, lithium, MTX, SSRIs, and immunosuppressants." },
{ icon:"🩺", title:"Monitor renal & GI function routinely:", text:"Serum Cr, eGFR, electrolytes and GI symptom assessment are the most critical monitoring parameters — especially in elderly, CKD, and HF patients." },
{ icon:"💊", title:"GI protection is often mandatory:", text:"PPI therapy (preferred over misoprostol) should be co-prescribed for high-risk patients on chronic NSAIDs — particularly with concomitant corticosteroids, anticoagulants, or age >65." },
{ icon:"💓", title:"Aspirin interaction is clinically important:", text:"Ibuprofen and other NSAIDs can block aspirin's irreversible COX-1 binding — give aspirin ≥30 min before taking any other NSAID to preserve cardioprotection." },
{ icon:"🚫", title:"Absolute contraindications to remember:", text:"NSAIDs post-CABG, aspirin in children with viral illness (Reye syndrome), NSAIDs in 3rd trimester (ductus arteriosus), and severe renal/hepatic impairment." },
{ icon:"📋", title:"Celecoxib requires special attention:", text:"Its CYP2C9 metabolism means fluconazole/amiodarone can double plasma levels. GI safety advantage is lost if aspirin is added. CV risk remains." },
];
takeaways.forEach((t, i) => {
const col = i%2 === 0 ? 0.4 : 5.2;
const row = Math.floor(i/2);
const y = 1.15 + row * 1.45;
card(s, col, y, 4.6, 1.3, C.midgray);
s.addText(t.icon, { x:col+0.1, y:y+0.1, w:0.5, h:0.5, fontSize:22, margin:0 });
s.addText(t.title, {
x:col+0.65, y:y+0.1, w:3.85, h:0.32,
fontSize:10, bold:true, color:C.amber, fontFace:"Calibri", margin:0,
});
s.addText(t.text, {
x:col+0.65, y:y+0.42, w:3.85, h:0.78,
fontSize:8.5, color:C.silver, fontFace:"Calibri", margin:0, wrap:true,
});
});
s.addText("Source: Lippincott Illustrated Reviews: Pharmacology, 8th Edition", {
x:0.5, y:5.42, w:9, h:0.18, fontSize:8, color:C.teal, fontFace:"Calibri", italic:true, align:"right", margin:0,
});
}
// ─── WRITE FILE ───────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/nsaid-pptx/NSAIDs_Drug_Interactions_Monitoring.pptx" })
.then(() => console.log("✅ PPTX saved successfully."))
.catch(err => console.error("❌ Error:", err));
cd /home/daytona/workspace/nsaid-pptx && node build.js 2>&1
ls -lh /home/daytona/workspace/nsaid-pptx/NSAIDs_Drug_Interactions_Monitoring.pptx
NSAIDs Drug Interactions Monitoring
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 - Title | Cover slide with topic overview |
| 2 - Mechanism & COX Selectivity | COX pathway diagram + selectivity table for all major NSAIDs (aspirin through celecoxib) |
| 3 - Drug Interactions Part 1 | Warfarin, Aspirin+NSAIDs, Antihypertensives, Lithium - with mechanism, effect, severity badge & management |
| 4 - Drug Interactions Part 2 | Methotrexate, SSRIs/SNRIs, Corticosteroids, CYP2C9 inhibitors, Cyclosporine, Probenecid |
| 5 - Adverse Effects Profile | GI, Renal, Cardiovascular effects in color-coded columns |
| 6 - Special Populations | Pregnancy, Pediatrics, Elderly, Renal/Hepatic impairment, CVD - 6 cards with specific guidance |
| 7 - Monitoring Parameters | Full monitoring table (renal, GI, CBC, LFTs, INR, lithium levels) + GI protection strategy + patient counselling |
| 8 - Quick Reference Table | All 10 interactions in one severity-coded table (MAJOR/MODERATE) |
| 9 - Key Takeaways | 6 clinical pearls summarizing the whole presentation |