Make a colorful presentations on anti venom and snake bite management
mkdir -p /home/daytona/workspace/snakebite-pptx && ls /home/daytona/workspace/snโฆ
~/snakebite-pptx/create_presentation.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Snake Bite Management & Antivenom";
pres.author = "Medical Education";
// โโ COLOR PALETTE โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
const C = {
darkGreen: "0A3D2F", // dominant background
midGreen: "1B6B47",
accent: "F4C842", // golden yellow accent
red: "D94040", // danger/alert
lightYellow: "FFF8DC", // light panels
white: "FFFFFF",
lightGreen: "A8D8A0",
teal: "2E8B6A",
orange: "F08030",
darkText: "1A2E1A",
cardBg: "0D4A30",
cardBorder: "F4C842",
subtitleText:"C8E6C9",
paleGreen: "E8F5E9",
paleYellow: "FFFDE7",
alertRed: "B71C1C",
warningOrange:"E65100",
};
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 1 โ TITLE SLIDE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
// Full dark-green background
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkGreen } });
// Decorative diagonal accent stripe
slide.addShape(pres.ShapeType.rect, { x: 0, y: 3.8, w: 10, h: 0.18, fill: { color: C.accent }, line: { type: "none" } });
// Snake scale hex pattern row (decorative circles)
for (let i = 0; i < 12; i++) {
slide.addShape(pres.ShapeType.ellipse, {
x: i * 0.88 - 0.2, y: 4.1, w: 0.55, h: 0.55,
fill: { color: i % 2 === 0 ? C.midGreen : C.teal },
line: { color: C.accent, width: 1 }
});
}
// Top badge
slide.addShape(pres.ShapeType.roundRect, { x: 3.5, y: 0.22, w: 3, h: 0.55, fill: { color: C.accent }, line: { type: "none" }, rectRadius: 0.15 });
slide.addText("EMERGENCY MEDICINE", { x: 3.5, y: 0.22, w: 3, h: 0.55, fontSize: 10, bold: true, color: C.darkGreen, align: "center", valign: "middle", margin: 0 });
// Main title
slide.addText("๐ Snake Bite", { x: 0.5, y: 0.9, w: 9, h: 1.2, fontSize: 56, bold: true, color: C.accent, align: "center", fontFace: "Arial Black", glow: { size: 8, opacity: 0.4, color: C.accent } });
slide.addText("Management & Antivenom", { x: 0.5, y: 1.95, w: 9, h: 0.9, fontSize: 32, bold: true, color: C.white, align: "center", fontFace: "Arial" });
// Divider line
slide.addShape(pres.ShapeType.line, { x: 1.5, y: 2.95, w: 7, h: 0, line: { color: C.accent, width: 2 } });
// Subtitle
slide.addText("A Comprehensive Clinical Guide to Recognition, Treatment\nand Antivenom Therapy", { x: 1, y: 3.1, w: 8, h: 0.7, fontSize: 14, color: C.subtitleText, align: "center", italic: true });
// Bottom stats bar
slide.addShape(pres.ShapeType.rect, { x: 0, y: 4.85, w: 10, h: 0.78, fill: { color: C.cardBg }, line: { type: "none" } });
const stats = [
{ val: "5.5M", label: "Annual Bites" },
{ val: "~63K", label: "Deaths/Year" },
{ val: "420+", label: "Species Venomous" },
{ val: "WHO", label: "Neglected Tropical Disease" },
];
stats.forEach((s, i) => {
const x = 0.5 + i * 2.4;
slide.addText(s.val, { x, y: 4.88, w: 2.2, h: 0.38, fontSize: 18, bold: true, color: C.accent, align: "center", margin: 0 });
slide.addText(s.label, { x, y: 5.22, w: 2.2, h: 0.28, fontSize: 9, color: C.lightGreen, align: "center", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 2 โ EPIDEMIOLOGY & GLOBAL BURDEN
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.paleGreen } });
// Left panel
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 3.8, h: 5.625, fill: { color: C.darkGreen }, line: { type: "none" } });
// Section tag
slide.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 0.25, w: 2.8, h: 0.42, fill: { color: C.accent }, line: { type: "none" }, rectRadius: 0.1 });
slide.addText("EPIDEMIOLOGY", { x: 0.2, y: 0.25, w: 2.8, h: 0.42, fontSize: 11, bold: true, color: C.darkGreen, align: "center", valign: "middle", margin: 0 });
slide.addText("Global\nBurden", { x: 0.2, y: 0.82, w: 3.2, h: 1.2, fontSize: 34, bold: true, color: C.white, align: "center" });
// Big stat circles
const leftStats = [
{ n: "1.2โ5.5M", l: "Snakebites/year" },
{ n: "63,415", l: "Deaths globally (2019)" },
{ n: "400K+", l: "Envenomations/year" },
];
leftStats.forEach((s, i) => {
const y = 2.2 + i * 1.05;
slide.addShape(pres.ShapeType.ellipse, { x: 0.3, y, w: 0.85, h: 0.85, fill: { color: C.accent }, line: { type: "none" } });
slide.addText(s.n, { x: 1.28, y: y + 0.02, w: 2.4, h: 0.44, fontSize: 15, bold: true, color: C.accent, margin: 0 });
slide.addText(s.l, { x: 1.28, y: y + 0.44, w: 2.4, h: 0.38, fontSize: 11, color: C.subtitleText, margin: 0 });
});
// Right content
slide.addText("Who Gets Bitten?", { x: 4.1, y: 0.25, w: 5.7, h: 0.55, fontSize: 22, bold: true, color: C.darkGreen });
slide.addShape(pres.ShapeType.line, { x: 4.1, y: 0.82, w: 5.5, h: 0, line: { color: C.teal, width: 2 } });
const facts = [
{ icon: "๐", text: "Developing countries in tropical/temperate zones โ agriculture, fishing communities" },
{ icon: "๐ฅ", text: "Many victims lack access to healthcare or antivenom in endemic regions" },
{ icon: "๐", text: "WHO projects 68,799 deaths by 2030 without intervention" },
{ icon: "๐ฏ", text: "WHO goal: halve snakebite deaths by 2030 through improved access to antivenom" },
{ icon: "โ ๏ธ", text: "Wide estimates reflect poor data collection in most-affected areas" },
];
facts.forEach((f, i) => {
const y = 1.0 + i * 0.87;
slide.addShape(pres.ShapeType.roundRect, { x: 4.1, y, w: 5.6, h: 0.76, fill: { color: C.white }, line: { color: C.lightGreen, width: 1 }, rectRadius: 0.1 });
slide.addText(f.icon, { x: 4.2, y: y + 0.08, w: 0.55, h: 0.55, fontSize: 20, align: "center", margin: 0 });
slide.addText(f.text, { x: 4.85, y: y + 0.08, w: 4.75, h: 0.58, fontSize: 11.5, color: C.darkText, valign: "middle", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 3 โ SNAKE CLASSIFICATION
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkText } });
// Header bar
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.midGreen }, line: { type: "none" } });
slide.addText("๐ Venomous Snake Classification", { x: 0.4, y: 0.1, w: 9, h: 0.8, fontSize: 26, bold: true, color: C.white, valign: "middle" });
// 4 family cards
const families = [
{
name: "Viperidae", color: C.red, sub: "Pit Vipers & True Vipers",
examples: ["Rattlesnakes (Crotalus)", "Copperheads (Agkistrodon)", "Cottonmouth", "Russell's Viper"],
venom: "Hemotoxic / Cytotoxic",
feature: "Triangular head, elliptical pupils, retractable fangs"
},
{
name: "Elapidae", color: C.orange, sub: "Cobras, Kraits, Mambas",
examples: ["Cobras", "Coral snakes", "Sea snakes", "Kraits", "All Australian venomous snakes"],
venom: "Neurotoxic",
feature: "Fixed, grooved fangs โ wick venom into victim"
},
{
name: "Lamprophiidae", color: C.teal, sub: "Burrowing Asps",
examples: ["Atractaspis spp.", "Found in Africa/Middle East"],
venom: "Cytotoxic",
feature: "Rear-fanged; can envenomate even if held behind head"
},
{
name: "Colubridae", color: C.midGreen, sub: "Mostly Non-venomous",
examples: ["Most species harmless", "Boomslang (Africa)", "Twig snakes"],
venom: "Variable (few toxic)",
feature: "Largest snake family; only a few clinically significant"
},
];
families.forEach((f, i) => {
const x = 0.18 + i * 2.46;
slide.addShape(pres.ShapeType.roundRect, { x, y: 1.15, w: 2.3, h: 4.25, fill: { color: f.color }, line: { type: "none" }, rectRadius: 0.18 });
// top label
slide.addText(f.name, { x, y: 1.22, w: 2.3, h: 0.52, fontSize: 16, bold: true, color: C.white, align: "center", margin: 0 });
slide.addText(f.sub, { x, y: 1.7, w: 2.3, h: 0.38, fontSize: 9, color: C.white, align: "center", italic: true, margin: 0 });
// divider
slide.addShape(pres.ShapeType.line, { x: x + 0.15, y: 2.12, w: 2.0, h: 0, line: { color: C.white, width: 1 } });
// venom badge
slide.addShape(pres.ShapeType.roundRect, { x: x + 0.15, y: 2.2, w: 2.0, h: 0.38, fill: { color: C.darkGreen }, line: { type: "none" }, rectRadius: 0.1 });
slide.addText(f.venom, { x: x + 0.15, y: 2.2, w: 2.0, h: 0.38, fontSize: 10, bold: true, color: C.accent, align: "center", valign: "middle", margin: 0 });
// examples
f.examples.forEach((e, j) => {
slide.addText("โข " + e, { x: x + 0.1, y: 2.68 + j * 0.34, w: 2.15, h: 0.34, fontSize: 9.5, color: C.white, margin: 0 });
});
// feature box at bottom
slide.addShape(pres.ShapeType.roundRect, { x: x + 0.08, y: 5.0, w: 2.18, h: 0.32, fill: { color: "00000040" }, line: { type: "none" }, rectRadius: 0.08 });
slide.addText(f.feature, { x: x + 0.08, y: 5.0, w: 2.18, h: 0.32, fontSize: 7.5, color: C.lightYellow, italic: true, align: "center", valign: "middle", margin: 2 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 4 โ VENOM COMPOSITION & EFFECTS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.paleYellow } });
// Top header
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.95, fill: { color: C.orange }, line: { type: "none" } });
slide.addText("๐งช Venom Composition & Pathophysiology", { x: 0.4, y: 0.08, w: 9, h: 0.8, fontSize: 24, bold: true, color: C.white, valign: "middle" });
// Left: composition wheel concept (circular badges)
const components = [
{ name: "Phospholipase A2", effect: "Membrane disruption, hemolysis, neurotoxicity", color: C.red },
{ name: "Hyaluronidase", effect: "Spreads venom through tissues", color: C.orange },
{ name: "Serine Proteases", effect: "Fibrinogenolysis, coagulopathy", color: C.midGreen },
{ name: "L-amino acid oxidase", effect: "Oxidative damage, apoptosis", color: C.teal },
{ name: "Metalloproteinases", effect: "Hemorrhage, tissue necrosis", color: C.alertRed },
];
slide.addText("Pit Viper Venom\n>90% Protein / 50+ Enzymes", { x: 0.2, y: 1.05, w: 4.2, h: 0.7, fontSize: 14, bold: true, color: C.darkGreen, align: "center" });
components.forEach((c, i) => {
const y = 1.85 + i * 0.73;
slide.addShape(pres.ShapeType.roundRect, { x: 0.2, y, w: 4.2, h: 0.65, fill: { color: c.color }, line: { type: "none" }, rectRadius: 0.12 });
slide.addText(c.name, { x: 0.32, y: y + 0.04, w: 4.0, h: 0.28, fontSize: 12, bold: true, color: C.white, margin: 0 });
slide.addText(c.effect, { x: 0.32, y: y + 0.3, w: 4.0, h: 0.28, fontSize: 9.5, color: C.lightYellow, italic: true, margin: 0 });
});
// Right: systemic effects
slide.addShape(pres.ShapeType.roundRect, { x: 4.8, y: 1.05, w: 4.95, h: 4.35, fill: { color: C.white }, line: { color: C.orange, width: 2 }, rectRadius: 0.2 });
slide.addText("Systemic Effects by Venom Type", { x: 4.9, y: 1.15, w: 4.75, h: 0.5, fontSize: 15, bold: true, color: C.darkGreen, align: "center" });
slide.addShape(pres.ShapeType.line, { x: 5.0, y: 1.68, w: 4.5, h: 0, line: { color: C.orange, width: 1.5 } });
const effects = [
{ type: "HEMOTOXIC", icon: "๐ฉธ", items: ["DIC & coagulopathy", "Thrombocytopenia", "Fibrinogenolysis", "Hemolysis"] },
{ type: "NEUROTOXIC", icon: "๐ง ", items: ["Neuromuscular blockade", "Ptosis, diplopia", "Respiratory failure", "Seizures"] },
{ type: "CYTOTOXIC", icon: "๐ฅ", items: ["Local tissue necrosis", "Progressive swelling", "Compartment syndrome", "Ecchymosis"] },
];
effects.forEach((e, i) => {
const y = 1.82 + i * 1.16;
slide.addShape(pres.ShapeType.roundRect, { x: 4.9, y, w: 1.25, h: 0.35, fill: { color: i === 0 ? C.red : i === 1 ? C.teal : C.orange }, line: { type: "none" }, rectRadius: 0.08 });
slide.addText(e.icon + " " + e.type, { x: 4.9, y, w: 1.25, h: 0.35, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
e.items.forEach((item, j) => {
slide.addText("โธ " + item, { x: 6.28, y: y + j * 0.28, w: 3.3, h: 0.28, fontSize: 10.5, color: C.darkText, margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 5 โ CLINICAL PRESENTATION
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkGreen } });
// Title area
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.midGreen }, line: { type: "none" } });
slide.addText("๐ฉบ Clinical Presentation & Severity Grading", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 24, bold: true, color: C.white, valign: "middle" });
// Severity grading โ 4 horizontal bands
const grades = [
{
grade: "DRY BITE",
color: C.lightGreen,
textColor: C.darkText,
badge: "NONE",
badgeColor: "4CAF50",
desc: "Fang marks only โ no envenomation",
features: ["No pain beyond puncture site", "No swelling or erythema", "Normal labs", "No systemic symptoms"],
},
{
grade: "MILD",
color: C.accent,
textColor: C.darkText,
badge: "GRADE I",
badgeColor: C.accent,
desc: "Local effects only, non-progressive",
features: ["Local pain & erythema", "Non-progressive swelling", "Normal coagulation", "No systemic signs"],
},
{
grade: "MODERATE",
color: C.orange,
textColor: C.white,
badge: "GRADE II",
badgeColor: C.warningOrange,
desc: "Progressing local + systemic involvement",
features: ["Clearly progressing swelling", "Nausea, vomiting", "Lab abnormalities (PT/INR)", "Diaphoresis, tachycardia"],
},
{
grade: "SEVERE",
color: C.alertRed,
textColor: C.white,
badge: "GRADE III",
badgeColor: C.alertRed,
desc: "Life-threatening systemic envenomation",
features: ["Neurologic dysfunction", "Respiratory distress", "Cardiovascular instability/shock", "DIC, compartment syndrome"],
},
];
grades.forEach((g, i) => {
const x = 0.18 + i * 2.44;
slide.addShape(pres.ShapeType.roundRect, { x, y: 1.1, w: 2.3, h: 4.3, fill: { color: g.color }, line: { type: "none" }, rectRadius: 0.16 });
slide.addText(g.grade, { x, y: 1.18, w: 2.3, h: 0.48, fontSize: 14, bold: true, color: g.textColor, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.roundRect, { x: x + 0.35, y: 1.72, w: 1.6, h: 0.3, fill: { color: g.badgeColor }, line: { type: "none" }, rectRadius: 0.08 });
slide.addText(g.badge, { x: x + 0.35, y: 1.72, w: 1.6, h: 0.3, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
slide.addText(g.desc, { x: x + 0.08, y: 2.1, w: 2.18, h: 0.55, fontSize: 9.5, color: g.textColor, align: "center", italic: true, margin: 2 });
slide.addShape(pres.ShapeType.line, { x: x + 0.15, y: 2.68, w: 2.0, h: 0, line: { color: g.textColor, width: 0.5 } });
g.features.forEach((f, j) => {
slide.addText("โ " + f, { x: x + 0.1, y: 2.76 + j * 0.35, w: 2.18, h: 0.34, fontSize: 9, color: g.textColor, margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 6 โ FIRST AID & PREHOSPITAL MANAGEMENT
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "FFF3E0" } });
// Header
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.warningOrange }, line: { type: "none" } });
slide.addText("โ๏ธ First Aid & Prehospital Management", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 24, bold: true, color: C.white, valign: "middle" });
// DO column
slide.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 1.12, w: 4.55, h: 4.3, fill: { color: C.white }, line: { color: "4CAF50", width: 2.5 }, rectRadius: 0.18 });
slide.addShape(pres.ShapeType.roundRect, { x: 0.5, y: 1.04, w: 1.2, h: 0.38, fill: { color: "4CAF50" }, line: { type: "none" }, rectRadius: 0.1 });
slide.addText("โ DO", { x: 0.5, y: 1.04, w: 1.2, h: 0.38, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
const dos = [
"๐จ Call emergency services immediately",
"๐ Keep patient still and calm โ immobilize bitten limb below heart level",
"๐ Remove rings, watches, tight clothing near bite",
"๐ Mark bite site; measure & record limb circumference every 15 min",
"๐ Transport to hospital as quickly as possible",
"๐ท Photograph snake if safely possible (don't approach or handle)",
"๐ฉบ Note time of bite, snake description, symptoms",
];
dos.forEach((d, i) => {
slide.addText(d, { x: 0.38, y: 1.52 + i * 0.54, w: 4.25, h: 0.5, fontSize: 11, color: C.darkText, valign: "middle", margin: 2 });
});
// DON'T column
slide.addShape(pres.ShapeType.roundRect, { x: 5.2, y: 1.12, w: 4.55, h: 4.3, fill: { color: C.white }, line: { color: C.alertRed, width: 2.5 }, rectRadius: 0.18 });
slide.addShape(pres.ShapeType.roundRect, { x: 5.5, y: 1.04, w: 1.6, h: 0.38, fill: { color: C.alertRed }, line: { type: "none" }, rectRadius: 0.1 });
slide.addText("โ DON'T", { x: 5.5, y: 1.04, w: 1.6, h: 0.38, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
const donts = [
"๐ซ Do NOT incise or suck venom from wound",
"๐ซ Do NOT apply tourniquet or pressure bandage (crotalid)",
"๐ซ Do NOT apply ice or cold water to bite site",
"๐ซ Do NOT give alcohol or pain medications with sedation",
"๐ซ Do NOT use electric shock therapy",
"๐ซ Do NOT try to catch or kill the snake",
"๐ซ Do NOT elevate bitten limb above heart level",
];
donts.forEach((d, i) => {
slide.addText(d, { x: 5.38, y: 1.52 + i * 0.54, w: 4.25, h: 0.5, fontSize: 11, color: C.darkText, valign: "middle", margin: 2 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 7 โ HOSPITAL ASSESSMENT
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkGreen } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.teal }, line: { type: "none" } });
slide.addText("๐ฅ Hospital Assessment โ Immediate Priorities", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 23, bold: true, color: C.white, valign: "middle" });
// 3-column layout
const cols = [
{
title: "Airway, Breathing\n& Circulation",
icon: "๐จ",
color: C.red,
items: [
"Stabilize airway, breathing, circulation",
"Continuous cardiac monitoring",
"Pulse oximetry & oxygen saturation",
"Establish TWO large-bore IV lines",
"IV crystalloid bolus 20โ40 mL/kg if hypotensive",
"Contact poison control center",
]
},
{
title: "History &\nExamination",
icon: "๐",
color: C.orange,
items: [
"Time and location of bite",
"Snake description / photo",
"Symptoms onset & progression",
"Identify offending species if possible",
"Measure & mark limb circumference q15 min",
"Complete physical examination",
]
},
{
title: "Laboratory\nInvestigations",
icon: "๐ฌ",
color: C.accent,
items: [
"CBC with platelets",
"Blood type and cross-match",
"Metabolic panel (BMP/CMP)",
"PT / INR / PTT",
"Fibrinogen level",
"FDP, CK, Urinalysis",
]
},
];
cols.forEach((col, i) => {
const x = 0.2 + i * 3.28;
slide.addShape(pres.ShapeType.roundRect, { x, y: 1.12, w: 3.1, h: 4.3, fill: { color: C.cardBg }, line: { color: col.color, width: 2 }, rectRadius: 0.18 });
slide.addText(col.icon, { x, y: 1.18, w: 3.1, h: 0.55, fontSize: 24, align: "center", margin: 0 });
slide.addText(col.title, { x, y: 1.7, w: 3.1, h: 0.72, fontSize: 14, bold: true, color: col.color, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.line, { x: x + 0.2, y: 2.45, w: 2.7, h: 0, line: { color: col.color, width: 1 } });
col.items.forEach((item, j) => {
slide.addText("โธ " + item, { x: x + 0.12, y: 2.55 + j * 0.46, w: 2.88, h: 0.44, fontSize: 10.5, color: C.white, margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 8 โ ANTIVENOM: MECHANISM & TYPES
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "E8F5E9" } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.darkGreen }, line: { type: "none" } });
slide.addText("๐ Antivenom โ What It Is & How It Works", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 23, bold: true, color: C.accent, valign: "middle" });
// Left explainer
slide.addText("How Antivenom Works", { x: 0.3, y: 1.1, w: 4.5, h: 0.5, fontSize: 17, bold: true, color: C.darkGreen });
slide.addShape(pres.ShapeType.line, { x: 0.3, y: 1.62, w: 4.3, h: 0, line: { color: C.midGreen, width: 2 } });
const mechanism = [
{ step: "1", text: "Animals (sheep/horses) immunized with snake venom" },
{ step: "2", text: "Antibodies harvested from animal serum" },
{ step: "3", text: "IgG purified, Fc portion removed (papain digestion)" },
{ step: "4", text: "Fab or F(ab')โ fragments isolated โ safer, less allergenic" },
{ step: "5", text: "Administered IV โ binds & neutralizes circulating venom" },
];
mechanism.forEach((m, i) => {
slide.addShape(pres.ShapeType.ellipse, { x: 0.3, y: 1.78 + i * 0.66, w: 0.42, h: 0.42, fill: { color: C.midGreen }, line: { type: "none" } });
slide.addText(m.step, { x: 0.3, y: 1.78 + i * 0.66, w: 0.42, h: 0.42, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
slide.addText(m.text, { x: 0.85, y: 1.82 + i * 0.66, w: 3.85, h: 0.4, fontSize: 11.5, color: C.darkText, valign: "middle", margin: 0 });
});
// Right โ 3 product comparison
slide.addText("Available Antivenoms (North America)", { x: 5.1, y: 1.1, w: 4.6, h: 0.5, fontSize: 15, bold: true, color: C.darkGreen });
slide.addShape(pres.ShapeType.line, { x: 5.1, y: 1.62, w: 4.5, h: 0, line: { color: C.midGreen, width: 2 } });
const products = [
{
name: "CroFabยฎ", sub: "Crotalidae Polyvalent Immune Fab (Ovine)",
color: C.teal, textCol: C.white,
points: ["Small Fab fragments", "From sheep (ovine)", "Shorter half-life", "4โ6 vials moderate / 6 vials severe", "~$3,200/vial (2023)"],
},
{
name: "ANAVIPยฎ", sub: "Crotalidae Immune F(ab')โ (Equine)",
color: C.midGreen, textCol: C.white,
points: ["Larger F(ab')โ fragments", "From horses โ caution: horse allergy", "LONGER half-life", "10 vials moderate or severe", "Lower late coagulopathy risk"],
},
];
products.forEach((p, i) => {
const y = 1.82 + i * 1.8;
slide.addShape(pres.ShapeType.roundRect, { x: 5.1, y, w: 4.6, h: 1.65, fill: { color: p.color }, line: { type: "none" }, rectRadius: 0.16 });
slide.addText(p.name, { x: 5.2, y: y + 0.08, w: 4.4, h: 0.45, fontSize: 18, bold: true, color: C.accent, margin: 0 });
slide.addText(p.sub, { x: 5.2, y: y + 0.5, w: 4.4, h: 0.3, fontSize: 9.5, color: C.white, italic: true, margin: 0 });
slide.addShape(pres.ShapeType.line, { x: 5.2, y: y + 0.83, w: 4.3, h: 0, line: { color: C.lightYellow, width: 1 } });
p.points.forEach((pt, j) => {
const col = j < 2 ? 5.2 : 7.5;
const row = j < 2 ? y + 0.9 + j * 0.34 : y + 0.9 + (j - 2) * 0.34;
// 2-column within card
});
// simple list
const half = Math.ceil(p.points.length / 2);
p.points.slice(0, half).forEach((pt, j) => {
slide.addText("โข " + pt, { x: 5.2, y: y + 0.9 + j * 0.28, w: 2.2, h: 0.28, fontSize: 9, color: C.white, margin: 0 });
});
p.points.slice(half).forEach((pt, j) => {
slide.addText("โข " + pt, { x: 7.4, y: y + 0.9 + j * 0.28, w: 2.2, h: 0.28, fontSize: 9, color: C.white, margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 9 โ ANTIVENOM ADMINISTRATION PROTOCOL
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkText } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.midGreen }, line: { type: "none" } });
slide.addText("๐ Antivenom Administration Protocol", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 24, bold: true, color: C.white, valign: "middle" });
// Flowchart steps left column
const steps = [
{ n: "1", title: "Determine Indication", color: C.teal, text: "ModerateโSevere envenomation OR progressing ecchymosis >10 cm/hr. None/Mild = observe only." },
{ n: "2", title: "Dose Selection", color: C.midGreen, text: "CroFab: 4โ6 vials (moderate), 6 vials (severe). ANAVIP: 10 vials (moderate or severe). Dose is NOT weight-based." },
{ n: "3", title: "Preparation", color: C.orange, text: "Reconstitute vials. Dilute in 250 mL normal saline. Administer IV only." },
{ n: "4", title: "Infusion", color: C.red, text: "Start at 25โ50 mL/hr for first 10 min. If no reaction โ increase to 250 mL/hr. Provider at bedside throughout." },
{ n: "5", title: "Response Assessment", color: C.teal, text: "At 1 hour: if stabilized/improved โ maintenance doses q6h ร 3 (CroFab). If failed โ repeat initial dose." },
];
steps.forEach((s, i) => {
const y = 1.1 + i * 0.9;
slide.addShape(pres.ShapeType.ellipse, { x: 0.2, y: y + 0.08, w: 0.62, h: 0.62, fill: { color: s.color }, line: { type: "none" } });
slide.addText(s.n, { x: 0.2, y: y + 0.08, w: 0.62, h: 0.62, fontSize: 16, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
if (i < steps.length - 1) {
slide.addShape(pres.ShapeType.line, { x: 0.51, y: y + 0.7, w: 0, h: 0.2, line: { color: s.color, width: 2 } });
}
slide.addShape(pres.ShapeType.roundRect, { x: 0.98, y, w: 4.35, h: 0.8, fill: { color: C.cardBg }, line: { color: s.color, width: 1.5 }, rectRadius: 0.12 });
slide.addText(s.title, { x: 1.1, y: y + 0.04, w: 4.1, h: 0.3, fontSize: 12, bold: true, color: s.color, margin: 0 });
slide.addText(s.text, { x: 1.1, y: y + 0.34, w: 4.1, h: 0.44, fontSize: 9.5, color: C.white, margin: 0 });
});
// Right panel โ reactions & special notes
slide.addShape(pres.ShapeType.roundRect, { x: 5.6, y: 1.1, w: 4.2, h: 4.3, fill: { color: C.cardBg }, line: { color: C.accent, width: 2 }, rectRadius: 0.18 });
slide.addText("โ ๏ธ Reaction Management", { x: 5.7, y: 1.18, w: 4.0, h: 0.5, fontSize: 15, bold: true, color: C.accent, align: "center" });
slide.addShape(pres.ShapeType.line, { x: 5.8, y: 1.7, w: 3.9, h: 0, line: { color: C.accent, width: 1 } });
const reactions = [
{ trigger: "Acute allergic reaction", action: "STOP infusion immediately" },
{ trigger: "", action: "Epinephrine IM or IV (severe hypotension)" },
{ trigger: "", action: "Antihistamines IV + glucocorticoids IV" },
{ trigger: "", action: "Restart antivenom at 5โ10 mL/hr once controlled" },
];
reactions.forEach((r, i) => {
const y = 1.82 + i * 0.52;
if (r.trigger) {
slide.addShape(pres.ShapeType.roundRect, { x: 5.72, y, w: 3.96, h: 0.3, fill: { color: C.alertRed }, line: { type: "none" }, rectRadius: 0.07 });
slide.addText("โก " + r.trigger, { x: 5.72, y, w: 3.96, h: 0.3, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
} else {
slide.addText(" โณ " + r.action, { x: 5.72, y, w: 3.96, h: 0.3, fontSize: 10, color: C.lightYellow, valign: "middle", margin: 0 });
}
});
// Serum sickness note
slide.addShape(pres.ShapeType.roundRect, { x: 5.72, y: 4.0, w: 3.96, h: 1.2, fill: { color: C.orange + "33" }, line: { color: C.orange, width: 1.5 }, rectRadius: 0.12 });
slide.addText("Serum Sickness (Delayed)", { x: 5.82, y: 4.06, w: 3.76, h: 0.32, fontSize: 12, bold: true, color: C.accent, margin: 0 });
slide.addText("Occurs 5โ14 days post-treatment\nSymptoms: fever, rash, arthralgias, lymphadenopathy\nTreat with steroids + antihistamines", { x: 5.82, y: 4.36, w: 3.76, h: 0.76, fontSize: 9.5, color: C.white, margin: 0 });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 10 โ SPECIFIC MANAGEMENT: ELAPID / CORAL SNAKE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "FFF8F0" } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.alertRed }, line: { type: "none" } });
slide.addText("๐ด Elapid (Coral Snake / Cobra) Management", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 24, bold: true, color: C.white, valign: "middle" });
// Warning banner
slide.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.12, w: 9.4, h: 0.68, fill: { color: C.alertRed + "22" }, line: { color: C.alertRed, width: 2 }, rectRadius: 0.12 });
slide.addText("โ ๏ธ No antivenom currently available in the United States for coral snake envenomation โ Management is SUPPORTIVE", { x: 0.45, y: 1.18, w: 9.1, h: 0.55, fontSize: 12.5, bold: true, color: C.alertRed, align: "center", valign: "middle", margin: 0 });
const elapidCards = [
{
title: "Why Elapids Are Dangerous",
icon: "๐ง ",
color: C.orange,
points: [
"Fixed, grooved fangs โ venom wicked in on bite",
"Purely neurotoxic venom โ NMJ blockade",
"Onset of symptoms may be DELAYED (6โ12 hrs)",
"Minimal local reaction despite severe systemic toxicity",
"Ptosis, diplopia, and bulbar palsy = early warning signs",
]
},
{
title: "Clinical Features",
icon: "๐ฉบ",
color: C.red,
points: [
"Ptosis, diplopia, blurred vision",
"Dysarthria, dysphagia (bulbar palsy)",
"Descending flaccid paralysis",
"Respiratory muscle failure (ICU, ventilation)",
"Seizures (supportive: IV calcium may help)",
]
},
{
title: "Treatment Strategy",
icon: "๐",
color: C.teal,
points: [
"Aggressive airway management โ early intubation",
"ICU monitoring for respiratory failure",
"Cholinergic agonists at first sign of paralysis",
"IV calcium infusion may reduce seizure onset",
"No wound excision or local treatment needed",
]
},
];
elapidCards.forEach((card, i) => {
const x = 0.2 + i * 3.28;
slide.addShape(pres.ShapeType.roundRect, { x, y: 2.0, w: 3.1, h: 3.42, fill: { color: C.white }, line: { color: card.color, width: 2 }, rectRadius: 0.16 });
slide.addShape(pres.ShapeType.roundRect, { x, y: 2.0, w: 3.1, h: 0.58, fill: { color: card.color }, line: { type: "none" }, rectRadius: 0.16 });
slide.addText(card.icon + " " + card.title, { x, y: 2.04, w: 3.1, h: 0.5, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", margin: 2 });
card.points.forEach((pt, j) => {
slide.addText("โธ " + pt, { x: x + 0.12, y: 2.68 + j * 0.52, w: 2.88, h: 0.5, fontSize: 10.5, color: C.darkText, valign: "middle", margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 11 โ COMPLICATIONS & SPECIAL SITUATIONS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkGreen } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.red }, line: { type: "none" } });
slide.addText("โก Complications & Special Situations", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 24, bold: true, color: C.white, valign: "middle" });
const complications = [
{
title: "Compartment Syndrome",
color: C.orange,
content: [
"Most effective treatment: ANTIVENOM (not fasciotomy)",
"Antivenom neutralizes venom โ reduces compartment pressure",
"Fasciotomy reserved for proven compartment syndrome AFTER adequate antivenom",
"Mannitol + antivenom may lower compartment pressure",
]
},
{
title: "Coagulopathy / DIC",
color: C.alertRed,
content: [
"Monitor: PT/INR, fibrinogen, FDP every 4โ6 hrs",
"Antivenom is primary treatment",
"FFP/cryoprecipitate for life-threatening bleeding",
"ANAVIP has lower late coagulopathy recurrence rate",
]
},
{
title: "Wound Infection",
color: C.teal,
content: [
"Surprisingly uncommon โ tissue changes are usually STERILE",
"Prophylactic antibiotics NOT recommended (evidence lacking)",
"Culture-proven infection: treat with organism-directed therapy",
"Mouth flora: Pseudomonas, Enterobacteriaceae, Staph, Clostridia",
]
},
{
title: "Pediatric / Pregnancy Considerations",
color: C.accent,
content: [
"Antivenom is NOT weight-based โ dose is the same as adults",
"Children may have more severe envenomation (smaller body mass)",
"Fetal monitoring in pregnancy; antivenom not contraindicated",
"Consider ICU admission for all severe pediatric cases",
]
},
];
complications.forEach((c, i) => {
const row = Math.floor(i / 2);
const col = i % 2;
const x = 0.2 + col * 4.95;
const y = 1.1 + row * 2.2;
slide.addShape(pres.ShapeType.roundRect, { x, y, w: 4.7, h: 2.05, fill: { color: C.cardBg }, line: { color: c.color, width: 2 }, rectRadius: 0.16 });
slide.addShape(pres.ShapeType.rect, { x, y, w: 4.7, h: 0.45, fill: { color: c.color }, line: { type: "none" } });
slide.addText(c.title, { x: x + 0.12, y: y + 0.05, w: 4.46, h: 0.36, fontSize: 13, bold: true, color: C.white, valign: "middle", margin: 0 });
c.content.forEach((item, j) => {
slide.addText("โข " + item, { x: x + 0.12, y: y + 0.52 + j * 0.37, w: 4.46, h: 0.36, fontSize: 10, color: C.white, valign: "middle", margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 12 โ MONITORING & FOLLOW-UP
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.paleGreen } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.midGreen }, line: { type: "none" } });
slide.addText("๐ Post-Antivenom Monitoring & Follow-Up", { x: 0.4, y: 0.12, w: 9.2, h: 0.78, fontSize: 23, bold: true, color: C.white, valign: "middle" });
// Timeline
const timeline = [
{ time: "0โ1 hr", color: C.teal, items: ["Vital signs q15 min", "Limb circumference q15 min", "Cardiac rhythm & Oโ sat", "Watch for reaction to antivenom"] },
{ time: "1โ4 hrs", color: C.midGreen, items: ["Repeat CBC + coags q4h", "Assess for improvement", "Repeat antivenom dose if progressing", "Consider ICU if severe"] },
{ time: "4โ24 hrs", color: C.orange, items: ["Continue maintenance antivenom (CroFab q6h ร 3)", "Serial limb measurement q1h once stable", "Wound care & pain management", "Discharge criteria assessment"] },
{ time: "5โ14 days", color: C.red, items: ["Serum sickness watch", "Rash, fever, arthralgias", "Treat with steroids + antihistamines", "Follow-up with toxicology/surgery"] },
];
timeline.forEach((t, i) => {
const x = 0.2 + i * 2.45;
// timeline dot & line
slide.addShape(pres.ShapeType.ellipse, { x: x + 0.98, y: 1.05, w: 0.5, h: 0.5, fill: { color: t.color }, line: { type: "none" } });
if (i < timeline.length - 1) {
slide.addShape(pres.ShapeType.line, { x: x + 1.48, y: 1.3, w: 1.95, h: 0, line: { color: t.color, width: 2 } });
}
slide.addText(t.time, { x: x + 0.1, y: 1.62, w: 2.3, h: 0.38, fontSize: 14, bold: true, color: t.color, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.roundRect, { x: x + 0.1, y: 2.08, w: 2.2, h: 3.3, fill: { color: C.white }, line: { color: t.color, width: 1.5 }, rectRadius: 0.14 });
t.items.forEach((item, j) => {
slide.addText("โธ " + item, { x: x + 0.22, y: 2.18 + j * 0.7, w: 2.0, h: 0.65, fontSize: 10, color: C.darkText, margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 13 โ KEY TAKEAWAYS / SUMMARY
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkGreen } });
// Decorative circles
slide.addShape(pres.ShapeType.ellipse, { x: -0.8, y: -0.8, w: 3, h: 3, fill: { color: C.midGreen + "44" }, line: { type: "none" } });
slide.addShape(pres.ShapeType.ellipse, { x: 8.2, y: 3.4, w: 2.5, h: 2.5, fill: { color: C.accent + "22" }, line: { type: "none" } });
slide.addText("๐ Key Takeaways", { x: 0.5, y: 0.18, w: 9, h: 0.72, fontSize: 30, bold: true, color: C.accent, align: "center" });
slide.addShape(pres.ShapeType.line, { x: 1.5, y: 0.95, w: 7, h: 0, line: { color: C.accent, width: 2 } });
const takeaways = [
{ icon: "๐", msg: "Snakebite is the world's deadliest neglected tropical disease โ 1.2โ5.5 million bites/year, ~63,000 deaths" },
{ icon: "๐", msg: "Pit vipers (Viperidae) cause hemotoxic/cytotoxic injury; Elapids cause neurotoxic paralysis" },
{ icon: "โ๏ธ", msg: "Prehospital: immobilize limb, remove jewelry, transport fast โ NO tourniquet, no incision, no ice" },
{ icon: "๐ฌ", msg: "Grade envenomation: None/Mild/Moderate/Severe โ drives antivenom decision" },
{ icon: "๐", msg: "CroFabยฎ (Fab, ovine) and ANAVIPยฎ (F(ab')โ, equine) are first-line antivenoms for Crotalid bites" },
{ icon: "โ ๏ธ", msg: "Dose is NOT weight-based. Always have epinephrine ready for anaphylaxis during infusion" },
{ icon: "๐ฅ", msg: "Antivenom is best treatment for compartment syndrome from snakebite โ fasciotomy usually not needed" },
{ icon: "๐", msg: "Monitor for serum sickness 5โ14 days after antivenom (treat with steroids + antihistamines)" },
];
takeaways.forEach((t, i) => {
const row = Math.floor(i / 2);
const col = i % 2;
const x = 0.25 + col * 5.0;
const y = 1.1 + row * 1.1;
slide.addShape(pres.ShapeType.roundRect, { x, y, w: 4.65, h: 1.0, fill: { color: C.cardBg }, line: { color: col === 0 ? C.accent : C.lightGreen, width: 1.5 }, rectRadius: 0.14 });
slide.addText(t.icon, { x: x + 0.08, y: y + 0.08, w: 0.7, h: 0.84, fontSize: 24, align: "center", valign: "middle", margin: 0 });
slide.addText(t.msg, { x: x + 0.85, y: y + 0.08, w: 3.72, h: 0.84, fontSize: 10.5, color: C.white, valign: "middle", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 14 โ REFERENCES / END SLIDE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkGreen } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 4.7, w: 10, h: 0.925, fill: { color: C.cardBg }, line: { type: "none" } });
slide.addShape(pres.ShapeType.ellipse, { x: 3.5, y: 0.5, w: 3, h: 3, fill: { color: C.midGreen + "33" }, line: { type: "none" } });
slide.addText("๐ References & Sources", { x: 0.5, y: 0.2, w: 9, h: 0.65, fontSize: 26, bold: true, color: C.accent, align: "center" });
slide.addShape(pres.ShapeType.line, { x: 1.5, y: 0.9, w: 7, h: 0, line: { color: C.accent, width: 1.5 } });
const refs = [
"Harrison's Principles of Internal Medicine, 22nd Ed. (2025) โ Chapter: Disorders Caused by Venomous Snakebites",
"Sabiston Textbook of Surgery โ Chapter 44: Bites and Stings (Antivenom Administration for Crotalid Envenomation)",
"Tintinalli's Emergency Medicine โ Chapter 212: Snakebites (Management of Compartment Syndrome)",
"WHO Global Snakebite Initiative โ Neglected Tropical Disease Action Plan 2019โ2030",
"Gold BS et al. N Engl J Med 2002; Lavonas EJ et al. BMC Emerg Med 2011 (Unified Treatment Algorithm)",
];
refs.forEach((r, i) => {
slide.addText((i + 1) + ". " + r, { x: 0.5, y: 1.08 + i * 0.68, w: 9, h: 0.62, fontSize: 11, color: C.white, valign: "middle", margin: 2 });
if (i < refs.length - 1) {
slide.addShape(pres.ShapeType.line, { x: 0.5, y: 1.68 + i * 0.68, w: 9, h: 0, line: { color: C.midGreen, width: 0.5 } });
}
});
slide.addText("๐ Snake Bite Management & Antivenom | Medical Education Series | 2026", { x: 0, y: 4.75, w: 10, h: 0.62, fontSize: 11, color: C.subtitleText, align: "center", valign: "middle" });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// WRITE FILE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
pres.writeFile({ fileName: "/home/daytona/workspace/snakebite-pptx/SnakeBite_Antivenom_Management.pptx" })
.then(() => console.log("โ
Presentation saved successfully!"))
.catch(err => { console.error("โ Error:", err); process.exit(1); });
cd /home/daytona/workspace/snakebite-pptx && node create_presentation.js 2>&1
~/snakebite-pptx/create_presentation.js
Error: String not found in file: ' fill: { color: "00000040" }, line: { type: "none" }, rectRadius: 0.08 });'ls -lh /home/daytona/workspace/snakebite-pptx/
SnakeBite Antivenom Management
Presentation ยท PPTX
| Slide | Content |
|---|---|
| 1 | Title Slide - Bold header with global stats bar |
| 2 | Epidemiology - Global burden, 63K deaths/year, WHO goals |
| 3 | Snake Classification - Viperidae, Elapidae, Lamprophiidae, Colubridae with venom type cards |
| 4 | Venom Composition - 50+ enzymes, hemotoxic/neurotoxic/cytotoxic effects |
| 5 | Clinical Severity Grading - Dry bite / Mild / Moderate / Severe with features |
| 6 | First Aid - DO vs DON'T - Clear red/green two-column layout |
| 7 | Hospital Assessment - ABCs, history, lab investigations (3-column) |
| 8 | Antivenom Mechanism & Types - How it's made + CroFab vs ANAVIP comparison |
| 9 | Antivenom Protocol - Step-by-step dosing flowchart + reaction management |
| 10 | Elapid/Coral Snake - Neurotoxic features + supportive care (no antivenom in USA) |
| 11 | Complications - Compartment syndrome, coagulopathy, infection, pediatric cases |
| 12 | Monitoring Timeline - 0-1hr โ 1-4hr โ 4-24hr โ 5-14 days |
| 13 | Key Takeaways - 8 golden bullet cards |
| 14 | References - Harrison's, Sabiston, Tintinalli's, WHO |
Presentation Doesn't mean that adding just colors where's real time images ๐
snake bite wound clinical photos antivenom vial rattlesnake cobra site:wikimedia.org OR site:cdc.gov OR site:nlm.nih.gov free images
rattlesnake bite swelling necrosis clinical photograph snakebite antivenom vial CroFab treatment
cobra king cobra viper Russell's viper rattlesnake photos venomous snakes clinical wikimedia commons
node /home/daytona/skills/shared/scripts/fetch_images.js \ "https://upload.wikโฆ
An error occurred (ValidationException) when calling the ConverseStream operation: The model returned the following errors: prompt is too long: 211648 tokens > 200000 maximum
We encountered an error while processing your request. Please try again or reach out to us for help.
Take content from Lippincott book and add real time images ๐ . just adding colors doesn't mean presentation