Make ppt out of this. Include indian road accident data
India road accident statistics 2023 2024 NCRB MoRTH deaths injuries data
cd /home/daytona/workspace && python3 -c " import pdfplumber pdfs = [ '/homโฆ
mkdir -p /home/daytona/workspace/trauma-ppt && ls /home/daytona/workspace/traumaโฆ
~/trauma-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
pres.title = 'Trauma Management & Indian Road Accident Data';
// โโโ THEME COLORS โโโ
const DARK_BG = "1A2340"; // deep navy
const MID_BG = "243058"; // slightly lighter navy
const ACCENT = "E84B3C"; // emergency red
const ACCENT2 = "F5A623"; // amber
const WHITE = "FFFFFF";
const LIGHT = "D8E0F0";
const GRAY = "8A97B0";
// โโโ HELPER: slide background โโโ
function darkSlide(pres) {
let s = pres.addSlide();
s.background = { color: DARK_BG };
return s;
}
function midSlide(pres) {
let s = pres.addSlide();
s.background = { color: MID_BG };
return s;
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 1 โ TITLE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
// Red accent bar left
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: ACCENT } });
// Red accent bar top
s.addShape(pres.ShapeType.rect, { x: 0.18, y: 0, w: 9.82, h: 0.08, fill: { color: ACCENT } });
// Main title
s.addText("TRAUMA MANAGEMENT", {
x: 0.5, y: 0.8, w: 9, h: 0.85,
fontSize: 44, bold: true, color: WHITE, fontFace: "Calibri",
charSpacing: 4
});
s.addText("& Indian Road Accident Statistics", {
x: 0.5, y: 1.65, w: 9, h: 0.55,
fontSize: 26, color: ACCENT2, fontFace: "Calibri", italic: false
});
// Divider
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 2.3, w: 4.5, h: 0.05, fill: { color: ACCENT } });
// Subtitle description
s.addText("Initial Assessment ยท Hemorrhage Control ยท Resuscitation\nIndia Road Crash Epidemiology ยท Prevention", {
x: 0.5, y: 2.55, w: 9, h: 0.9,
fontSize: 17, color: LIGHT, fontFace: "Calibri", lineSpacingMultiple: 1.4
});
// Source tag
s.addText("Sources: UpToDate (Jun 2026) ยท MoRTH 2024 ยท WHO Global Status Report", {
x: 0.5, y: 5.1, w: 9.3, h: 0.4,
fontSize: 11, color: GRAY, fontFace: "Calibri", italic: true
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 2 โ INDIAN ROAD ACCIDENT OVERVIEW (2024)
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: ACCENT } });
s.addText("๐ฎ๐ณ INDIA ROAD ACCIDENT CRISIS โ 2024 DATA", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
// STAT BOXES row 1
const stats1 = [
{ val: "4.80 L", lbl: "Road Accidents\n(2024)", bg: "8B1A1A" },
{ val: "1.77 L", lbl: "Deaths\n(MoRTH 2024)", bg: "9B2A10" },
{ val: "485", lbl: "Deaths per Day", bg: "7A1E1E" },
{ val: "+2.3%", lbl: "Rise vs 2023", bg: "5A3010" },
];
stats1.forEach((st, i) => {
let x = 0.25 + i * 2.42;
s.addShape(pres.ShapeType.roundRect, { x, y: 0.8, w: 2.2, h: 1.35,
fill: { color: st.bg }, line: { color: ACCENT, width: 1.5 }, rectRadius: 0.08 });
s.addText(st.val, { x, y: 0.88, w: 2.2, h: 0.7,
fontSize: 30, bold: true, color: WHITE, align: "center", fontFace: "Calibri" });
s.addText(st.lbl, { x, y: 1.6, w: 2.2, h: 0.45,
fontSize: 12, color: ACCENT2, align: "center", fontFace: "Calibri" });
});
// Row 2 bullet points
const bullets = [
"India ranks #1 worldwide in road deaths โ ahead of China and the US (World Road Statistics, IRF)",
"India accounts for 11% of global road deaths despite having only 1% of the global vehicle population",
"18-45 age group โ 66.1% of all road accident deaths (prime productive age group)",
"Two-wheelers โ 46.2% of deaths | Pedestrians โ 20.6% of deaths",
"National Highways (only 2.1% of road network) โ 36.6% share in total deaths",
"Over-speeding responsible for 70.3% of all road crash fatalities",
"WHO target: 50% reduction in road deaths by 2030 (SDG 3.6) โ India far off-track",
];
s.addText(bullets.map((b, i) => ({
text: b,
options: { bullet: { type: "bullet", code: "25A0", color: ACCENT },
color: i === 0 || i === 1 ? ACCENT2 : LIGHT,
fontSize: 12.5, bold: i < 2, breakLine: true, paraSpaceAfter: 3 }
})), { x: 0.3, y: 2.28, w: 9.4, h: 3.0, fontFace: "Calibri" });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 3 โ STATE-WISE & SEVERITY DATA
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = midSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: ACCENT } });
s.addText("STATE-WISE ROAD ACCIDENT DATA (2024)", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
// LEFT COLUMN โ top states table
s.addText("Top States by Accidents (2024)", {
x: 0.3, y: 0.8, w: 4.5, h: 0.38,
fontSize: 15, bold: true, color: ACCENT2, fontFace: "Calibri"
});
const tableRows = [
[{ text: "State", options: { bold: true, color: ACCENT2 } },
{ text: "Accidents", options: { bold: true, color: ACCENT2 } },
{ text: "Deaths", options: { bold: true, color: ACCENT2 } }],
["Uttar Pradesh", "~47,000", "~24,600"],
["Tamil Nadu", "~63,000", "~17,000"],
["Madhya Pradesh", "~52,000", "~14,800"],
["Rajasthan", "~30,000", "~14,200"],
["Maharashtra", "~32,000", "~13,500"],
];
s.addTable(tableRows, {
x: 0.3, y: 1.2, w: 4.5, h: 2.8,
colW: [2.1, 1.2, 1.2],
fill: { color: "1E2D50" },
border: { type: "solid", color: "2D4080", pt: 0.8 },
fontFace: "Calibri", fontSize: 12.5, color: WHITE,
align: "center"
});
// RIGHT COLUMN โ severity
s.addText("Accident Severity Index", {
x: 5.1, y: 0.8, w: 4.6, h: 0.38,
fontSize: 15, bold: true, color: ACCENT2, fontFace: "Calibri"
});
const severityData = [
{ state: "Uttar Pradesh", val: "52.4%", note: "Highest โ 1 death / 2 accidents", color: ACCENT },
{ state: "Rajasthan", val: "47.5%", note: "Very high severity", color: "D04020" },
{ state: "Gujarat", val: "49.5%", note: "Slight rise from 48%", color: "C04020" },
{ state: "Telangana", val: "30.6%", note: "Best improvement (-2.8%)", color: "4A9040" },
{ state: "Kerala", val: "~7.6%", note: "Lowest โ best post-crash care", color: "2A7060" },
];
severityData.forEach((d, i) => {
let y = 1.2 + i * 0.56;
s.addShape(pres.ShapeType.roundRect, { x: 5.1, y, w: 4.6, h: 0.5,
fill: { color: "1A2840" }, line: { color: d.color, width: 1.5 }, rectRadius: 0.06 });
s.addText(d.state, { x: 5.2, y: y + 0.04, w: 1.6, h: 0.25,
fontSize: 11.5, bold: true, color: WHITE, fontFace: "Calibri" });
s.addText(d.val, { x: 6.8, y: y + 0.02, w: 0.9, h: 0.3,
fontSize: 16, bold: true, color: d.color, fontFace: "Calibri", align: "center" });
s.addText(d.note, { x: 7.7, y: y + 0.08, w: 1.9, h: 0.3,
fontSize: 9.5, color: GRAY, fontFace: "Calibri", italic: true });
});
// Bottom note
s.addText("Golden Hour loss: 30-40% of deaths occur within 1 hour of crash (delayed trauma care) | Urban-rural enforcement gap persists", {
x: 0.3, y: 5.1, w: 9.4, h: 0.38,
fontSize: 10.5, color: GRAY, fontFace: "Calibri", italic: true
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 4 โ TRAUMA EPIDEMIOLOGY
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: "4A2010" } });
s.addText("TRAUMA EPIDEMIOLOGY โ GLOBAL CONTEXT", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
const items = [
{ icon: "๐", bold: "Leading cause of mortality globally.", rest: " Worldwide road traffic injuries are the #1 cause of death in ages 18-29." },
{ icon: "๐บ๐ธ", bold: "United States:", rest: " Trauma is the leading cause of death in young adults, accounting for 10% of all deaths among men and women." },
{ icon: "๐ฅ", bold: ">50 million patients/year", rest: " receive trauma-related care in the US alone; ~30% of all ICU admissions are trauma-related." },
{ icon: "โก", bold: "Hemorrhage is the #1 preventable cause of trauma death.", rest: " ~1/3 of traumatic deaths result from exsanguination; half result from CNS injury." },
{ icon: "โฑ๏ธ", bold: "Trauma center care:", rest: " Associated with significantly lower morbidity & mortality (10.4% vs 13.8%; RR 0.75)." },
{ icon: "๐ง ", bold: "Traumatic Brain Injury (TBI)", rest: " is the leading cause of trauma death; hemorrhage is second." },
{ icon: "๐", bold: "WHO 2030 SDG 3.6:", rest: " Halve global road deaths. India needs a 50% reduction โ current trajectory is far off-track." },
];
items.forEach((item, i) => {
let y = 0.8 + i * 0.63;
s.addText(item.icon, { x: 0.2, y, w: 0.5, h: 0.5, fontSize: 20, align: "center" });
s.addText([
{ text: item.bold, options: { bold: true, color: ACCENT2 } },
{ text: item.rest, options: { bold: false, color: LIGHT } }
], { x: 0.75, y: y + 0.06, w: 9, h: 0.48, fontSize: 13, fontFace: "Calibri" });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 5 โ CLASSIFICATION OF HEMORRHAGE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: ACCENT } });
s.addText("ATLS CLASSIFICATION OF HEMORRHAGE (11th Ed, 2025)", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
const classes = [
{ cls: "CLASS I", pct: "Up to 15%", hr: "Normal / minimally โ", sbp: "Normal", other: "No change in pulse pressure or RR", bg: "1E4A1E", border: "2A8A2A" },
{ cls: "CLASS II", pct: "15-30%", hr: "100-120 bpm โ", sbp: "Minimal change", other: "โ Pulse pressure, tachypnea (RR 20-24), cool/clammy skin", bg: "4A3A0A", border: "C8941A" },
{ cls: "CLASS III", pct: "30-40%", hr: "โฅ120 bpm (thready)", sbp: "< 90 mmHg", other: "Mental status changes, โ urine output, delayed capillary refill", bg: "4A1A0A", border: ACCENT },
{ cls: "CLASS IV", pct: "> 40%", hr: "> 120 bpm (marked)", sbp: "< 90 mmHg (hypotensive)", other: "Minimal/absent urine, cold/pale skin, narrow pulse pressure (โค25 mmHg)", bg: "6A1A1A", border: "FF2020" },
];
const colLabels = ["", "Blood Loss", "Heart Rate", "Blood Pressure", "Key Signs"];
const colX = [0.18, 1.3, 2.6, 4.0, 5.6];
const colW = [1.1, 1.28, 1.38, 1.58, 4.2];
// Header row
colLabels.forEach((label, ci) => {
s.addText(label, { x: colX[ci], y: 0.72, w: colW[ci], h: 0.32,
fontSize: 11, bold: true, color: ACCENT2, fontFace: "Calibri", align: "center" });
});
classes.forEach((c, i) => {
let y = 1.1 + i * 1.05;
// Row background
s.addShape(pres.ShapeType.roundRect, { x: 0.18, y, w: 9.64, h: 0.98,
fill: { color: c.bg }, line: { color: c.border, width: 1.5 }, rectRadius: 0.06 });
// Class label
s.addText(c.cls, { x: 0.22, y: y + 0.12, w: 1.0, h: 0.5,
fontSize: 14, bold: true, color: c.border, fontFace: "Calibri", align: "center" });
// Data cells
const cells = [c.pct, c.hr, c.sbp, c.other];
cells.forEach((cell, ci) => {
s.addText(cell, { x: colX[ci + 1], y: y + 0.1, w: colW[ci + 1], h: 0.75,
fontSize: 11.5, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", wrap: true });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 6 โ INITIAL ASSESSMENT (ABCDE)
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = midSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: "1A3A6A" } });
s.addText("PRIMARY SURVEY โ ATLS ABCDE APPROACH", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
const steps = [
{ letter: "A", word: "AIRWAY", color: "E84B3C", desc: "Assess & protect airway โ C-spine stabilization. Video laryngoscopy preferred (90% vs 79% first-pass success). Cricothyrotomy kit at bedside for failed airway." },
{ letter: "B", word: "BREATHING", color: "F5A623", desc: "SpOโ >93%. Rule out tension pneumothorax (immediate needle decompression), massive hemothorax, cardiac tamponade. E-FAST is more sensitive than CXR for pneumothorax." },
{ letter: "C", word: "CIRCULATION", color: "4CAF50", desc: "2 large-bore (โฅ16G) IVs antecubital fossa. IO access if IV fails (93% success). Control external hemorrhage. FAST exam. Transfuse type O blood for severe shock." },
{ letter: "D", word: "DISABILITY", color: "2196F3", desc: "Glasgow Coma Scale (GCS), pupillary response, gross motor & sensory function. Spinal immobilization if C-spine injury possible. Avoid hypotension with TBI." },
{ letter: "E", word: "EXPOSURE", color: "9C27B0", desc: "Completely undress patient. Examine entire body including scalp, axillae, perineum, back. Prevent hypothermia โ heat room, warm fluids, warm blankets." },
];
steps.forEach((step, i) => {
let y = 0.75 + i * 0.96;
// Circle for letter
s.addShape(pres.ShapeType.ellipse, { x: 0.2, y: y + 0.12, w: 0.65, h: 0.65,
fill: { color: step.color }, line: { color: WHITE, width: 0.5 } });
s.addText(step.letter, { x: 0.2, y: y + 0.14, w: 0.65, h: 0.55,
fontSize: 22, bold: true, color: WHITE, align: "center", fontFace: "Calibri" });
// Word
s.addText(step.word, { x: 1.0, y: y + 0.08, w: 1.6, h: 0.35,
fontSize: 13, bold: true, color: step.color, fontFace: "Calibri" });
// Description
s.addText(step.desc, { x: 1.0, y: y + 0.4, w: 8.75, h: 0.48,
fontSize: 11.5, color: LIGHT, fontFace: "Calibri", wrap: true });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 7 โ HEMORRHAGE CONTROL
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: ACCENT } });
s.addText("HEMORRHAGE CONTROL", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
// Two columns
// LEFT
s.addText("External Hemorrhage", { x: 0.3, y: 0.75, w: 4.5, h: 0.38,
fontSize: 15, bold: true, color: ACCENT2, fontFace: "Calibri" });
const extBullets = [
"Direct pressure โ primary & preferred method",
"Hemostatic-impregnated dressing + 3 min pressure",
"Tourniquet for amputations/severe extremity injury; record time",
"Junctional tourniquet for shoulder/groin wounds",
"Scalp: lidocaine+epinephrine injection, Raney clips, or running sutures",
"Wound packing with gauze or hemostatic agent",
];
s.addText(extBullets.map((b, i) => ({
text: b,
options: { bullet: { type: "bullet", code: "25CF", color: ACCENT }, color: LIGHT,
fontSize: 12, breakLine: true, paraSpaceAfter: 3 }
})), { x: 0.3, y: 1.15, w: 4.5, h: 3.0, fontFace: "Calibri" });
// RIGHT
s.addText("Non-Compressible Hemorrhage", { x: 5.2, y: 0.75, w: 4.5, h: 0.38,
fontSize: 15, bold: true, color: ACCENT2, fontFace: "Calibri" });
const intBullets = [
"Sites: chest, abdomen, retroperitoneum, pelvis, thigh (up to 1L)",
"FAST / E-FAST: identifies intraperitoneal & pericardial blood",
"Unstable pelvis: circumferential pelvic binder (open-book fractures)",
"REBOA (Resuscitative Endovascular Balloon Occlusion of Aorta): for massive pelvic/abdominal trauma",
"Haemodynamically stable โ CT scan for further workup",
"Unstable โ immediate OR or interventional radiology",
"Early trauma surgery consult is mandatory",
];
s.addText(intBullets.map((b, i) => ({
text: b,
options: { bullet: { type: "bullet", code: "25CF", color: "F5A623" }, color: LIGHT,
fontSize: 12, breakLine: true, paraSpaceAfter: 3 }
})), { x: 5.2, y: 1.15, w: 4.55, h: 3.0, fontFace: "Calibri" });
// Divider
s.addShape(pres.ShapeType.rect, { x: 4.97, y: 0.75, w: 0.06, h: 4.3, fill: { color: ACCENT } });
// Bottom bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.95, w: 10, h: 0.65, fill: { color: "2A1A0A" } });
s.addText("โ Hypotension generally does not manifest until โฅ30% of blood volume is lost โ high index of suspicion required", {
x: 0.3, y: 5.0, w: 9.4, h: 0.5,
fontSize: 12, color: ACCENT2, bold: true, fontFace: "Calibri"
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 8 โ DAMAGE CONTROL RESUSCITATION
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = midSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: "1A3A6A" } });
s.addText("DAMAGE CONTROL RESUSCITATION (DCR)", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
const principles = [
{
num: "1", title: "Minimize IV Crystalloid",
desc: "Give only for hypotension (MAP <60-65 mmHg). Max 500 mL boluses. Limit to <1L total. Crystalloid >1.5L associated with 2ร increased mortality.",
color: "C04020"
},
{
num: "2", title: "Transfuse Early โ Balanced Ratio",
desc: "Whole blood or 1:1:1 ratio of PRBCs : FFP : Platelets. Activate Massive Transfusion Protocol (MTP) early. Type O blood available immediately.",
color: "C08020"
},
{
num: "3", title: "Tranexamic Acid (TXA) โ Within 3 Hours",
desc: "1g IV over 10 min โ 1g over 8 hours (or 2g single bolus). CRASH-2: โ all-cause mortality (14.5โ16%) and bleeding mortality. Benefit ONLY within 3 hours.",
color: "2060A0"
},
{
num: "4", title: "Permissive Hypotension",
desc: "Target SBP 70-90 mmHg (MAP 50-65) for penetrating trauma WITHOUT brain injury. For TBI/SCI: maintain MAP โฅ85 mmHg. European guidelines: SBP 80-90 mmHg.",
color: "206A30"
},
{
num: "5", title: "TEG / ROTEM Guided Treatment",
desc: "Thromboelastography provides faster & more accurate coagulopathy assessment. Guides clotting factor replacement. Reduces unnecessary transfusion.",
color: "602080"
},
];
principles.forEach((p, i) => {
let y = 0.8 + i * 0.94;
s.addShape(pres.ShapeType.ellipse, { x: 0.2, y: y + 0.1, w: 0.6, h: 0.6,
fill: { color: p.color }, line: { color: WHITE, width: 0.5 } });
s.addText(p.num, { x: 0.2, y: y + 0.1, w: 0.6, h: 0.6,
fontSize: 18, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri" });
s.addText(p.title, { x: 0.95, y: y + 0.06, w: 3.2, h: 0.35,
fontSize: 13.5, bold: true, color: ACCENT2, fontFace: "Calibri" });
s.addText(p.desc, { x: 0.95, y: y + 0.4, w: 8.8, h: 0.48,
fontSize: 11.5, color: LIGHT, fontFace: "Calibri", wrap: true });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 9 โ MASSIVE TRANSFUSION PROTOCOL (ABC SCORE)
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: ACCENT } });
s.addText("MASSIVE TRANSFUSION PROTOCOL & ABC SCORE", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
// ABC Score box LEFT
s.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 0.8, w: 4.6, h: 3.0,
fill: { color: "1E1A2E" }, line: { color: ACCENT2, width: 2 }, rectRadius: 0.1 });
s.addText("ABC SCORE (Assessment of Blood Consumption)", {
x: 0.4, y: 0.88, w: 4.2, h: 0.38,
fontSize: 13, bold: true, color: ACCENT2, fontFace: "Calibri"
});
const abcItems = [
"Penetrating mechanism of injury",
"Positive FAST exam (evidence of hemorrhage)",
"SBP โค 90 mmHg",
"Heart rate โฅ 120 bpm",
];
abcItems.forEach((item, i) => {
let y = 1.35 + i * 0.5;
s.addShape(pres.ShapeType.rect, { x: 0.4, y: y - 0.02, w: 0.36, h: 0.36,
fill: { color: ACCENT }, line: { color: ACCENT } });
s.addText(`+1`, { x: 0.4, y: y - 0.02, w: 0.36, h: 0.36,
fontSize: 12, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri" });
s.addText(item, { x: 0.82, y, w: 3.8, h: 0.35,
fontSize: 12.5, color: LIGHT, fontFace: "Calibri" });
});
s.addText("Score โฅ 2 โ Activate MTP\n(Sensitivity 75%, Specificity 86%)", {
x: 0.4, y: 3.5, w: 4.2, h: 0.6,
fontSize: 12.5, bold: true, color: "40FF80", fontFace: "Calibri"
});
// RIGHT โ Transfusion guide
s.addShape(pres.ShapeType.roundRect, { x: 5.2, y: 0.8, w: 4.6, h: 3.0,
fill: { color: "1E1A2E" }, line: { color: "4080C0", width: 2 }, rectRadius: 0.1 });
s.addText("TRANSFUSION GUIDE", {
x: 5.4, y: 0.88, w: 4.2, h: 0.38,
fontSize: 13, bold: true, color: ACCENT2, fontFace: "Calibri"
});
const transfItems = [
{ label: "Severe hemorrhage:", val: "Activate MTP immediately\n6 units PRBCs + 6 FFP + 6 plt (or 1 apheresis plt)" },
{ label: "Moderate hemorrhage:", val: "Same 1:1:1 ratio; transfuse as soon as need recognized" },
{ label: "Hb threshold (non-severe):", val: "< 7 g/dL (or <10 g/dL if ACS risk)" },
{ label: "Platelets:", val: "Transfuse if <50,000/ยตL" },
{ label: "FFP:", val: "If INR > 2" },
{ label: "Cryoprecipitate:", val: "If fibrinogen <150 mg/dL" },
];
transfItems.forEach((item, i) => {
let y = 1.3 + i * 0.52;
s.addText([
{ text: item.label + " ", options: { bold: true, color: ACCENT2 } },
{ text: item.val, options: { color: LIGHT } }
], { x: 5.4, y, w: 4.2, h: 0.5, fontSize: 11.5, fontFace: "Calibri", wrap: true });
});
// Bottom note
s.addText("Massive transfusion traditionally: โฅ10 units PRBCs/24 hrs | Modern definition: โฅ10 units/6 hrs", {
x: 0.3, y: 4.95, w: 9.4, h: 0.48,
fontSize: 11, color: GRAY, italic: true, fontFace: "Calibri"
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 10 โ SPECIAL SCENARIOS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = midSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: "1A3A6A" } });
s.addText("SPECIAL CLINICAL SCENARIOS", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
const scenarios = [
{
title: "๐ง Spinal Cord Injury + Hemorrhage",
content: "Highest priority: control blood loss first. Target MAP โฅ85-90 mmHg (vs 60-65 for other trauma). Add norepinephrine if MAP not achieved after transfusion. Transfer with both blood products and norepinephrine.",
color: "4A1A7A"
},
{
title: "๐ด Older Adult Trauma",
content: "Beta-blockers may mask tachycardia. Baseline hypertension means 'normal' BP may actually be hypotensive. Many on oral anticoagulants โ reverse as appropriate. Decompensate more easily from excess IV fluid or blood loss.",
color: "1A3A5A"
},
{
title: "๐คฐ Pregnant Patient",
content: "Displace uterus to left (>20 wks) to improve cardiac output. Up to 20% blood volume loss before vital sign changes. Obtain obstetrics consult immediately. Continuous fetal heart rate monitoring. Give anti-D immunoglobulin if RhD-negative.",
color: "1A5A3A"
},
{
title: "๐ Anticoagulated Patient",
content: "Warfarin: Vitamin K + PCC (4-factor). Dabigatran: Idarucizumab. Factor Xa inhibitors (rivaroxaban/apixaban): Andexanet alfa or 4F-PCC. LMWH: Protamine sulfate. Avoid 4F-PCC empirically in MTP โ PROCOAG trial showed no mortality benefit, higher thromboembolism (35% vs 24%).",
color: "4A2A0A"
},
];
scenarios.forEach((sc, i) => {
let row = Math.floor(i / 2);
let col = i % 2;
let x = 0.2 + col * 4.9;
let y = 0.75 + row * 2.35;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.6, h: 2.2,
fill: { color: sc.color }, line: { color: "AABBCC", width: 0.8 }, rectRadius: 0.1 });
s.addText(sc.title, { x: x + 0.15, y: y + 0.12, w: 4.3, h: 0.42,
fontSize: 13.5, bold: true, color: ACCENT2, fontFace: "Calibri" });
s.addText(sc.content, { x: x + 0.15, y: y + 0.56, w: 4.3, h: 1.58,
fontSize: 11, color: LIGHT, fontFace: "Calibri", wrap: true, lineSpacingMultiple: 1.2 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 11 โ INDIA: CAUSES & PREVENTION
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: "183060" } });
s.addText("INDIA ROAD ACCIDENTS โ CAUSES & WAY FORWARD", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
});
// Left column: Causes
s.addText("Key Causes (MoRTH 2024)", {
x: 0.3, y: 0.75, w: 4.5, h: 0.38,
fontSize: 15, bold: true, color: ACCENT2, fontFace: "Calibri"
});
const causes = [
{ cause: "Over-speeding", pct: "70.3%" },
{ cause: "Drunk driving", pct: "~4%" },
{ cause: "Red light jumping", pct: "~2%" },
{ cause: "Wrong side driving", pct: "~3%" },
{ cause: "Distracted driving", pct: "~5%" },
{ cause: "Potholes / road defects", pct: "~1.6%" },
{ cause: "Night driving hazards", pct: "Significant" },
];
causes.forEach((c, i) => {
let y = 1.18 + i * 0.5;
// Bar
let barW = Math.min(3.5, (parseFloat(c.pct) / 70) * 3.5 || 0.6);
s.addShape(pres.ShapeType.rect, { x: 0.3, y: y + 0.1, w: barW, h: 0.25,
fill: { color: ACCENT }, line: { color: ACCENT } });
s.addText(`${c.cause} (${c.pct})`, { x: 0.3, y, w: 4.4, h: 0.42,
fontSize: 12, color: LIGHT, fontFace: "Calibri" });
});
// Divider
s.addShape(pres.ShapeType.rect, { x: 4.97, y: 0.75, w: 0.06, h: 4.7, fill: { color: "3060A0" } });
// Right column: Way forward
s.addText("Way Forward โ Key Interventions", {
x: 5.2, y: 0.75, w: 4.5, h: 0.38,
fontSize: 15, bold: true, color: ACCENT2, fontFace: "Calibri"
});
const interventions = [
"๐จ Enforce speed limits โ camera-based, automated penalties",
"๐ฅ Strengthen Golden Hour care: expand trauma centers on NH corridors",
"๐ Good Samaritan Law awareness to encourage bystander first aid",
"๐ก๏ธ Mandatory helmets, seatbelts โ increase conviction rate",
"๐ Crash data integration: close MoRTHโNCRB 14,600 deaths data gap",
"๐ฃ๏ธ Black-spot elimination on National Highways",
"๐ฑ Intelligent Traffic Management Systems in cities",
"๐ Road safety education in schools & for new drivers",
];
s.addText(interventions.map((b) => ({
text: b,
options: { bullet: false, color: LIGHT, fontSize: 12, breakLine: true, paraSpaceAfter: 4 }
})), { x: 5.2, y: 1.15, w: 4.55, h: 4.2, fontFace: "Calibri" });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 12 โ KEY TAKEAWAYS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
let s = darkSlide(pres);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.65, fill: { color: ACCENT } });
s.addText("KEY TAKEAWAYS", {
x: 0.3, y: 0.1, w: 9.4, h: 0.45,
fontSize: 22, bold: true, color: WHITE, fontFace: "Calibri", margin: 0, charSpacing: 3
});
const takeaways = [
{ emoji: "๐ฉธ", text: "Hemorrhage is the #1 preventable cause of trauma death โ rapid control and early transfusion save lives." },
{ emoji: "โฑ๏ธ", text: "TXA must be given within 3 hours of injury (1g IV + 1g over 8h). After 3 hours, NO benefit." },
{ emoji: "๐", text: "Whole blood or 1:1:1 (PRBCs:FFP:Platelets) is the standard for massive hemorrhage resuscitation." },
{ emoji: "๐ซ", text: "Minimize crystalloid โ >1.5L crystalloid is associated with doubled mortality in trauma patients." },
{ emoji: "๐ฎ๐ณ", text: "India: 1.77 lakh deaths/year (2024), 485/day. #1 globally. 18-45 age group = 66% of all deaths." },
{ emoji: "๐๏ธ", text: "Over-speeding (70.3%) and two-wheelers (46.2%) dominate India's road death causes." },
{ emoji: "๐ฅ", text: "Only 2.1% of India's roads are National Highways, yet they account for 36.6% of road deaths." },
{ emoji: "๐ฏ", text: "India is far off-track for the WHO SDG 3.6 target of 50% reduction in road deaths by 2030." },
];
takeaways.forEach((t, i) => {
let y = 0.75 + i * 0.6;
s.addText(t.emoji, { x: 0.25, y, w: 0.5, h: 0.5, fontSize: 20, align: "center" });
s.addText(t.text, { x: 0.85, y: y + 0.06, w: 9.0, h: 0.48,
fontSize: 12.5, color: i < 4 ? LIGHT : ACCENT2, fontFace: "Calibri", wrap: true });
});
}
// โโโ WRITE FILE โโโ
const outputPath = "/home/daytona/workspace/trauma-ppt/Trauma_Management_India_Road_Accidents.pptx";
pres.writeFile({ fileName: outputPath })
.then(() => console.log(`โ
Saved: ${outputPath}`))
.catch(err => { console.error("Error:", err); process.exit(1); });
cd /home/daytona/workspace/trauma-ppt && node create_ppt.js
ls -lh /home/daytona/workspace/trauma-ppt/Trauma_Management_India_Road_Accidentsโฆ
Trauma Management India Road Accidents
Presentation ยท PPTX
| Slide | Content |
|---|---|
| 1 | Title slide |
| 2 | ๐ฎ๐ณ India Road Accident Crisis 2024 โ 4 stat boxes + 7 key bullets |
| 3 | State-wise data table + Severity Index (UP worst, Kerala best) |
| 4 | Global Trauma Epidemiology |
| 5 | ATLS Hemorrhage Classification โ Classes IโIV (color-coded) |
| 6 | Primary Survey โ ABCDE approach |
| 7 | Hemorrhage Control (external + non-compressible) |
| 8 | Damage Control Resuscitation โ 5 key principles |
| 9 | Massive Transfusion Protocol + ABC Score |
| 10 | Special Scenarios (SCI, elderly, pregnant, anticoagulated patients) |
| 11 | India Causes + Way Forward / Prevention |
| 12 | Key Takeaways |
Create 40-45 slides with international level
Create 40-45 slides in international level
With pictures and themes
node /home/daytona/skills/shared/scripts/fetch_images.js \ "https://images.unsโฆ
# Try fetching images with curl and save locally mkdir -p /home/daytona/workspacโฆ
# Generate rich SVG-based images locally using Python (no network needed) mkdir โฆ
python3 << 'PYEOF' from PIL import Image, ImageDraw, ImageFont import os, math โฆ
python3 << 'PYEOF' from PIL import Image, ImageDraw, ImageFont import os OUT = โฆ