Make a academic correct PPT for ms orthopaedic conference with eloborate surgical procedure and images
cd /home/daytona/workspace/attachments/a81643ef-6d93-4213-b1c4-1faba6a1fb25/ && python3 -c " import pdfplumber with pdfplumber.open('9161465d-a967-4a1a-a8cb-ee286fe7e998.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): print(f'\\n=== PAGE {i+1} ===') text = page.extract_text() if text: print(text[:3000]) "
BDSF biplane double supported screw fixation femoral neck fracture surgical technique images
femoral neck fracture Garden classification cannulated screw fixation X-ray images orthopaedic
mkdir -p /home/daytona/workspace/bdsf-ppt/images && cd /home/daytona/workspace/bdsf-ppt && python3 -c " import fitz # PyMuPDF import os pdf_path = '/home/daytona/workspace/attachments/a81643ef-6d93-4213-b1c4-1faba6a1fb25/9161465d-a967-4a1a-a8cb-ee286fe7e998.pdf' doc = fitz.open(pdf_path) img_count = 0 for page_num in range(len(doc)): page = doc[page_num] images = page.get_images(full=True) print(f'Page {page_num+1}: {len(images)} images') for img_idx, img in enumerate(images): xref = img[0] pix = fitz.Pixmap(doc, xref) if pix.n < 5: # GRAY or RGB out_path = f'/home/daytona/workspace/bdsf-ppt/images/page{page_num+1}_img{img_idx+1}.png' pix.save(out_path) print(f' Saved: {out_path} ({pix.width}x{pix.height})') img_count += 1 else: # CMYK pix2 = fitz.Pixmap(fitz.csRGB, pix) out_path = f'/home/daytona/workspace/bdsf-ppt/images/page{page_num+1}_img{img_idx+1}.png' pix2.save(out_path) print(f' Saved CMYK->RGB: {out_path} ({pix.width}x{pix.height})') img_count += 1 pix = None print(f'\\nTotal images extracted: {img_count}') "
mkdir -p /home/daytona/workspace/bdsf-ppt/images && cd /home/daytona/workspace/bdsf-ppt && python3 -c " import pdfplumber import os pdf_path = '/home/daytona/workspace/attachments/a81643ef-6d93-4213-b1c4-1faba6a1fb25/9161465d-a967-4a1a-a8cb-ee286fe7e998.pdf' with pdfplumber.open(pdf_path) as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): imgs = page.images print(f'Page {i+1}: {len(imgs)} images found') for j, img in enumerate(imgs): print(f' img {j}: {img}') "
cd /home/daytona/workspace/bdsf-ppt && python3 -c " import pdfplumber import io from PIL import Image as PILImage pdf_path = '/home/daytona/workspace/attachments/a81643ef-6d93-4213-b1c4-1faba6a1fb25/9161465d-a967-4a1a-a8cb-ee286fe7e998.pdf' with pdfplumber.open(pdf_path) as pdf: pages_with_images = [3, 4, 6] # 0-indexed pages 4, 5, 7 for pg_idx in pages_with_images: page = pdf.pages[pg_idx] imgs = page.images for j, img in enumerate(imgs): stream = img['stream'] data = stream.get_data() try: pil_img = PILImage.open(io.BytesIO(data)) out_path = f'/home/daytona/workspace/bdsf-ppt/images/fig{pg_idx+1}_{j+1}.png' pil_img.save(out_path) print(f'Saved {out_path}: {pil_img.size} {pil_img.mode}') except Exception as e: print(f'Error on page {pg_idx+1} img {j}: {e}') # Try saving raw bytes out_path = f'/home/daytona/workspace/bdsf-ppt/images/fig{pg_idx+1}_{j+1}.jpg' with open(out_path, 'wb') as f: f.write(data) print(f'Saved raw as {out_path}') "
# Download web images for BDSF technique and Garden classification cd /home/daytona/workspace/bdsf-ppt/images && \ node /home/daytona/skills/shared/scripts/fetch_images.js \ "https://www.researchgate.net/publication/307682591/figure/fig1/AS:406399529046016@1473904606253/The-new-method-of-Biplane-Double-supported-Screw-Fixation-BDSF-a-A-P-view-b.png" \ "https://www.researchgate.net/publication/322897375/figure/fig1/AS:736756286631938@1552667795920/A-D-The-Garden-classification-is-shown-in-the-drawings-and-corresponding-radiographs-for.png" \ "https://journalmsr.com/content/136/2025/9/2/img/JMSR-9-236-g001.png" \ "https://www.researchgate.net/publication/307682591/figure/fig2/AS:406399529046017@1473904606304/Biplane-Double-supported-Screw-Fixation-BDSF-a-scheme-The-mean-distances-Redrawn.png" \ > web_images.json 2>&1 echo "Exit: $?" head -c 500 web_images.json
# Try downloading just 2 smaller images using curl with shorter timeout cd /home/daytona/workspace/bdsf-ppt/images curl -s --max-time 15 "https://assets.cureus.com/uploads/figure/file/1253531/article_river_86e46fa083e211ef97579df960f7a435-FIGURE-1.png" -o garden_class.png && echo "garden saved: $(wc -c < garden_class.png) bytes" || echo "garden failed" curl -s --max-time 15 "https://journalmsr.com/content/136/2025/9/2/img/JMSR-9-236-g001.png" -o bdsf_technique.png && echo "bdsf saved: $(wc -c < bdsf_technique.png) bytes" || echo "bdsf failed" ls -la /home/daytona/workspace/bdsf-ppt/images/
~/bdsf-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
const fs = require("fs");
const path = require("path");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Jishnu Prakash Baruah, Abhinab Gogoi, Kumar Madhurya Pratim";
pres.title = "Treatment of Displaced Fracture Neck of Femur: CFIX vs BDSF";
// ─── COLOUR PALETTE ─────────────────────────────────────────────
const NAVY = "0A2342"; // dominant dark bg
const BLUE = "1565C0"; // section headers
const TEAL = "00838F"; // accent / subheadings
const GOLD = "F9A825"; // highlight / numbers
const LGRAY = "ECF0F1"; // light bg blocks
const WHITE = "FFFFFF";
const TEXT = "1A1A2E"; // dark text on light bg
const RED = "C62828"; // warning / complication
const GREEN = "2E7D32"; // success / good outcome
// Helper: read image to base64
function imgBase64(relPath) {
const full = path.join("/home/daytona/workspace/bdsf-ppt/images", relPath);
if (!fs.existsSync(full)) return null;
const ext = path.extname(full).toLowerCase().replace(".", "");
const mime = ext === "jpg" || ext === "jpeg" ? "jpeg" : "png";
const data = fs.readFileSync(full).toString("base64");
return `image/${mime};base64,${data}`;
}
// ─── SLIDE HELPERS ──────────────────────────────────────────────
function addSlideHeader(slide, title, subtitle) {
// Dark navy top bar
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: "100%", h: 1.1,
fill: { color: NAVY }
});
slide.addText(title, {
x: 0.3, y: 0.05, w: 9.2, h: 0.75,
fontSize: 24, bold: true, color: WHITE,
fontFace: "Calibri", valign: "middle", margin: 0
});
if (subtitle) {
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 1.1, w: "100%", h: 0.35,
fill: { color: TEAL }
});
slide.addText(subtitle, {
x: 0.3, y: 1.12, w: 9.4, h: 0.31,
fontSize: 13, color: WHITE, italic: true,
fontFace: "Calibri", valign: "middle", margin: 0
});
}
}
function addFooter(slide) {
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 5.25, w: "100%", h: 0.375,
fill: { color: NAVY }
});
slide.addText("Indian Journal of Orthopaedics | Baruah JP, Gogoi A, Pratim KM | 2026 | BDSF vs CFIX - Displaced Fracture Neck of Femur", {
x: 0.2, y: 5.27, w: 9.6, h: 0.33,
fontSize: 8, color: LGRAY, italic: true,
fontFace: "Calibri", valign: "middle", margin: 0
});
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE SLIDE
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// Full dark background
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: NAVY } });
// Top accent bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.12, fill: { color: GOLD } });
// Bottom accent bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.5, w: "100%", h: 0.12, fill: { color: GOLD } });
// Vertical side accent
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: "100%", fill: { color: TEAL } });
// Conference badge
s.addShape(pres.ShapeType.rect, {
x: 7.5, y: 0.25, w: 2.2, h: 0.55,
fill: { color: TEAL }, line: { color: GOLD, pt: 1.5 }
});
s.addText("MS ORTHOPAEDIC CONFERENCE", {
x: 7.5, y: 0.25, w: 2.2, h: 0.55,
fontSize: 7.5, bold: true, color: WHITE,
fontFace: "Calibri", align: "center", valign: "middle", margin: 2
});
// Main title
s.addText("Treatment of Displaced Fracture\nNeck of Femur", {
x: 0.35, y: 0.9, w: 9.0, h: 1.6,
fontSize: 34, bold: true, color: WHITE,
fontFace: "Calibri", align: "left", valign: "middle"
});
// Subtitle
s.addShape(pres.ShapeType.rect, { x: 0.35, y: 2.5, w: 8.5, h: 0.06, fill: { color: GOLD } });
s.addText("Conventional Parallel Screws (CFIX) vs Biplane Double-Supported Screws (BDSF)", {
x: 0.35, y: 2.6, w: 9.0, h: 0.5,
fontSize: 16, bold: false, color: GOLD,
fontFace: "Calibri", align: "left"
});
s.addText("A Prospective Comparative Study • n = 60 Patients", {
x: 0.35, y: 3.15, w: 9.0, h: 0.38,
fontSize: 13, color: LGRAY, italic: true, fontFace: "Calibri"
});
// Authors
s.addText([
{ text: "Jishnu Prakash Baruah", options: { bold: true } },
{ text: " | " },
{ text: "Abhinab Gogoi", options: { bold: true } },
{ text: " | " },
{ text: "Kumar Madhurya Pratim", options: { bold: true } },
], {
x: 0.35, y: 3.6, w: 9.0, h: 0.4,
fontSize: 13, color: WHITE, fontFace: "Calibri"
});
s.addText("Department of Orthopaedics • Indian Journal of Orthopaedics, 2026", {
x: 0.35, y: 4.05, w: 9.0, h: 0.35,
fontSize: 11, color: LGRAY, fontFace: "Calibri"
});
// Stats bar
const stats = [
{ v: "60", l: "Patients" },
{ v: "2 yrs", l: "Follow-up" },
{ v: "93%", l: "Union (BDSF)" },
{ v: "HHS 85", l: "at 1-Month" },
];
const sw = 2.2;
stats.forEach((st, i) => {
const sx = 0.35 + i * (sw + 0.1);
s.addShape(pres.ShapeType.rect, {
x: sx, y: 4.55, w: sw, h: 0.8,
fill: { color: BLUE }, line: { color: TEAL, pt: 1 }
});
s.addText(st.v, {
x: sx, y: 4.57, w: sw, h: 0.4,
fontSize: 22, bold: true, color: GOLD,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s.addText(st.l, {
x: sx, y: 4.97, w: sw, h: 0.28,
fontSize: 10, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
});
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 2 — INTRODUCTION & PROBLEM STATEMENT
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Introduction", "The Unsolved Fracture — Intracapsular Femoral Neck Fracture");
const points = [
{ icon: "▶", text: "Intracapsular fracture neck of femur remains the \"unsolved fracture\" — high rates of non-union, AVN and fixation failure persist despite advances in implants." },
{ icon: "▶", text: "Conventional parallel cannulated screw fixation (CFIX) reports failure in 20–42% of cases due to inadequate cortical support and inability to resist shear forces." },
{ icon: "▶", text: "The gold standard for displaced fractures in the elderly is arthroplasty; however, no clear consensus exists for the biologically active adult population (18–65 years)." },
{ icon: "▶", text: "Filipov's BDSF technique (2013) uses 3 medially diverging cannulated screws — two buttressed on the calcar — providing biplane, double-cortical support at the femoral neck." },
{ icon: "▶", text: "Biomechanical cadaver studies confirm BDSF increases fixation strength by 44% compared with CFIX and reduces interfragmentary motion." },
];
let yy = 1.6;
points.forEach((p) => {
s.addShape(pres.ShapeType.rect, {
x: 0.3, y: yy, w: 9.4, h: 0.62,
fill: { color: LGRAY }, line: { color: TEAL, pt: 1 }
});
s.addText([
{ text: p.icon + " ", options: { color: TEAL, bold: true, fontSize: 14 } },
{ text: p.text, options: { color: TEXT, fontSize: 12 } }
], {
x: 0.35, y: yy + 0.04, w: 9.3, h: 0.55,
fontFace: "Calibri", valign: "middle", margin: 4
});
yy += 0.72;
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 3 — ANATOMY & BIOMECHANICS OF FEMORAL NECK
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Anatomy & Biomechanics", "Why Femoral Neck Fractures Fail — Key Concepts");
// Left column — text
const left = [
{ title: "Bony Architecture", body: "Angular spiral shape of the proximal femur creates powerful bending and torsional shear forces across the femoral neck during load bearing." },
{ title: "Vascular Anatomy", body: "Retinacular vessels (medial femoral circumflex a.) are disrupted by displacement → AVN risk. Intraosseous vascularity re-establishes only with anatomical reduction and stable fixation." },
{ title: "Calcar Femorale", body: "Dense cortical bone at the inferior-posterior neck. Key buttress against shear. Under-utilised in conventional parallel screw constructs." },
{ title: "Pauwels Classification", body: "Type I (<30°): compressive forces dominant. Type II (30–50°): mixed. Type III (>50°): shear forces dominant — highest failure risk with parallel screws." },
];
let yy = 1.55;
left.forEach((item) => {
s.addShape(pres.ShapeType.rect, {
x: 0.25, y: yy, w: 5.5, h: 0.85,
fill: { color: LGRAY }, line: { color: BLUE, pt: 1 }
});
s.addText(item.title, {
x: 0.32, y: yy + 0.04, w: 5.4, h: 0.28,
fontSize: 12, bold: true, color: BLUE, fontFace: "Calibri", margin: 2
});
s.addText(item.body, {
x: 0.32, y: yy + 0.3, w: 5.4, h: 0.52,
fontSize: 10.5, color: TEXT, fontFace: "Calibri", margin: 2, valign: "top"
});
yy += 0.95;
});
// Right column — Garden classification image
const gardenImg = imgBase64("garden_class.png");
if (gardenImg) {
s.addImage({ data: gardenImg, x: 5.95, y: 1.35, w: 3.7, h: 3.5 });
}
s.addShape(pres.ShapeType.rect, {
x: 5.95, y: 4.85, w: 3.7, h: 0.35,
fill: { color: TEAL }
});
s.addText("Garden Classification of Femoral Neck Fractures (I–IV)", {
x: 5.95, y: 4.85, w: 3.7, h: 0.35,
fontSize: 9, color: WHITE, italic: true, align: "center",
fontFace: "Calibri", valign: "middle", margin: 2
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 4 — BDSF: PRINCIPLE & BIOMECHANICS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "BDSF — Principle & Biomechanics", "Biplane Double-Supported Screw Fixation (Filipov, 2013)");
// Left: BDSF technique image
const bdsfImg = imgBase64("bdsf_technique.png");
if (bdsfImg) {
s.addImage({ data: bdsfImg, x: 0.25, y: 1.35, w: 4.2, h: 3.55 });
}
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 4.9, w: 4.2, h: 0.32, fill: { color: TEAL } });
s.addText("BDSF screw configuration — AP & Lateral views", {
x: 0.25, y: 4.9, w: 4.2, h: 0.32,
fontSize: 9, color: WHITE, italic: true,
align: "center", fontFace: "Calibri", valign: "middle", margin: 1
});
// Right: principles
const principles = [
{ heading: "3 Medially Diverging Screws", body: "Unlike parallel CFIX, screws diverge from a single lateral entry zone toward the femoral head." },
{ heading: "Calcar Double-Support", body: "Two screws (distal + middle) are buttressed along the calcar — the strongest cortical region. Provides resistance to varus collapse and shear." },
{ heading: "Inferior Obtuse 'Spiral' Screw", body: "The distal screw follows an anterior spiral curve touching inferior AND posterior cortex — providing biplanar cortical support." },
{ heading: "+44% Fixation Strength", body: "Biomechanically proven to increase construct stability by 44% over conventional three-parallel-screw technique (cadaveric study, Filipov)." },
{ heading: "Allows Early Weight-Bearing", body: "The increased axial stiffness allows tip-toe weight bearing at day 3 and partial WB at 1 week in cognitively intact patients." },
];
let yy = 1.35;
principles.forEach((p, i) => {
s.addShape(pres.ShapeType.rect, {
x: 4.7, y: yy, w: 0.32, h: 0.7,
fill: { color: i % 2 === 0 ? BLUE : TEAL }
});
s.addText((i+1).toString(), {
x: 4.7, y: yy, w: 0.32, h: 0.7,
fontSize: 14, bold: true, color: WHITE,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s.addShape(pres.ShapeType.rect, {
x: 5.05, y: yy, w: 4.65, h: 0.7,
fill: { color: LGRAY }, line: { color: i % 2 === 0 ? BLUE : TEAL, pt: 1 }
});
s.addText(p.heading, {
x: 5.1, y: yy + 0.02, w: 4.55, h: 0.26,
fontSize: 11, bold: true, color: i % 2 === 0 ? BLUE : TEAL,
fontFace: "Calibri", margin: 2
});
s.addText(p.body, {
x: 5.1, y: yy + 0.28, w: 4.55, h: 0.38,
fontSize: 9.5, color: TEXT, fontFace: "Calibri", margin: 2, valign: "top"
});
yy += 0.77;
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 5 — SURGICAL TECHNIQUE: PRE-OPERATIVE PLANNING
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Surgical Technique — Pre-operative Planning", "Patient Selection, Positioning & Reduction");
// Step boxes
const steps = [
{
num: "01",
title: "INDICATIONS",
color: BLUE,
items: ["Garden Stage I–IV femoral neck fractures in adults 18–65 years", "Neglected cases without neck resorption", "Absence of pre-existing arthritis or pathological fracture"]
},
{
num: "02",
title: "CONTRA-INDICATIONS",
color: RED,
items: ["Poly-trauma interfering with rehabilitation", "Basal neck fractures", "Pathological fractures", "Inferior comminution with Pauwels III (lateral to midcervical line) → consider fixed-angle implant"]
},
{
num: "03",
title: "POSITIONING & SET-UP",
color: TEAL,
items: ["Supine on fracture table", "Traction boot applied to injured limb", "Perineal post placed for counter-traction", "Image intensifier (C-arm) positioned for AP and Lateral views of hip"]
},
{
num: "04",
title: "FRACTURE REDUCTION",
color: GREEN,
items: [
"Primary: Closed reduction — axial traction + gentle internal rotation (Whitman manoeuvre) or Leadbetter technique",
"If non-anatomical: Positive buttress / Gottfried non-anatomic reduction (inferior cortical buttress) — adequate stability without anatomical reduction",
"If still unreduced: Open reduction via anterior Smith–Peterson approach",
"Acceptable reduction: Valgus angulation <15°; No varus; Posterior tilt <20°"
]
},
];
const colW = 4.6;
steps.forEach((step, i) => {
const cx = i < 2 ? 0.2 : 5.0;
const cy = i % 2 === 0 ? 1.5 : 3.25;
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: colW, h: 1.65,
fill: { color: WHITE }, line: { color: step.color, pt: 2 }
});
// Step number badge
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: 0.55, h: 0.42,
fill: { color: step.color }
});
s.addText(step.num, {
x: cx, y: cy, w: 0.55, h: 0.42,
fontSize: 14, bold: true, color: WHITE,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s.addText(step.title, {
x: cx + 0.6, y: cy + 0.05, w: colW - 0.7, h: 0.35,
fontSize: 12, bold: true, color: step.color, fontFace: "Calibri", margin: 2
});
// Items
const bulletItems = step.items.map((it, idx) => ({
text: it,
options: { bullet: { type: "bullet", indent: 10 }, breakLine: idx < step.items.length - 1, fontSize: 9.5, color: TEXT }
}));
s.addText(bulletItems, {
x: cx + 0.1, y: cy + 0.45, w: colW - 0.2, h: 1.15,
fontFace: "Calibri", valign: "top", margin: 4
});
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 6 — BDSF SURGICAL STEPS (DETAILED)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "BDSF — Detailed Surgical Steps", "Step-by-Step Intraoperative Technique (Filipov Modified)");
const steps = [
{
n: "Step 1", color: NAVY,
title: "Skin Incision",
body: "Double-stitch skin incision (~4.4 cm) made on the lateral thigh. Fascia lata incised. Stripping of periosteum from lateral cortex over 3–4 cm."
},
{
n: "Step 2", color: BLUE,
title: "Distal (Inferior-Obtuse) Guidewire",
body: "Entry point at the median line of stripped lateral cortex, 4–7 cm below the lower border of greater trochanter (or 2–4 cm below middle wire entry). Directed at 150–165° to diaphyseal axis with POSTERIOR inclination. Advances toward calcar, spirals anteriorly to reach dorsal third of femoral head — creates 'V' shape on lateral, 'F' shape on AP view."
},
{
n: "Step 3", color: TEAL,
title: "Middle (Inferior-Parallel) Guidewire",
body: "Entry 2–4 cm proximal to distal wire. Angle: 135–140° to diaphyseal axis, directed anteriorly-inferiorly. Parallels distal screw in AP but diverges in lateral view. Both distal and middle wires are buttressed on the calcar — this is the 'double-support.'"
},
{
n: "Step 4", color: GREEN,
title: "Superior (Cranial) Guidewire",
body: "Entry: posterior third of lateral cortex, 1.5–2.0 cm above the middle wire entry. Parallel to middle wire. Directed toward the superior quadrant of the femoral head. Subchondral position confirmed on both AP and lateral fluoroscopy."
},
{
n: "Step 5", color: GOLD,
title: "Drilling & Screw Insertion",
body: "Distal screw: drill perpendicular to shaft first, then progressively oblique (hole over-drilled to reduce subtrochanteric fracture risk). Cannulated screws of appropriate length inserted over guidewires. NOTE: Distal screw inserted WITHOUT compression to preserve biplanar support."
},
{
n: "Step 6", color: RED,
title: "Verification & Wound Closure",
body: "Confirm all three screws in satisfactory position on AP and lateral fluoroscopy. Check calcar support of distal two screws. Fascia closed with interrupted sutures, skin with mattress sutures. Sterile dressing applied."
},
];
const bw = 4.6;
steps.forEach((step, i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const cx = col === 0 ? 0.2 : 5.1;
const cy = 1.55 + row * 1.27;
const bh = 1.2;
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: bw, h: bh,
fill: { color: LGRAY }, line: { color: step.color, pt: 1.5 }
});
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: bw, h: 0.32,
fill: { color: step.color }
});
s.addText(`${step.n} · ${step.title}`, {
x: cx + 0.08, y: cy + 0.02, w: bw - 0.1, h: 0.28,
fontSize: 11, bold: true, color: WHITE,
fontFace: "Calibri", valign: "middle", margin: 2
});
s.addText(step.body, {
x: cx + 0.08, y: cy + 0.34, w: bw - 0.12, h: bh - 0.38,
fontSize: 9.5, color: TEXT, fontFace: "Calibri",
valign: "top", margin: 2
});
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 7 — CFIX SURGICAL STEPS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Conventional Parallel Screw Fixation (CFIX)", "Minimally Invasive Percutaneous Technique");
const steps2 = [
{ n: "01", color: BLUE, title: "Positioning & Reduction", body: "Patient supine on fracture table. Closed reduction by Whitman manoeuvre (traction + internal rotation). Reduction confirmed on AP and Lateral C-arm views." },
{ n: "02", color: TEAL, title: "Guidewire Placement — Inverted Triangle", body: "Single 2.79 cm skin incision. Three guidewires placed percutaneously in standard inverted-triangle (or other parallel) configuration. Inferior wire positioned along calcar in AP view. All wires parallel in both AP and lateral projections." },
{ n: "03", color: GREEN, title: "Screw Length Measurement", body: "Cannulated depth gauge passed over each wire. Screw length = distance from lateral cortex to subchondral bone – 5 mm. Typically 60–100 mm depending on femur size." },
{ n: "04", color: NAVY, title: "Screw Insertion", body: "Over-drilling of the lateral cortex for the proximal screws. Partially-threaded 6.5 mm or 7.3 mm cannulated cancellous screws inserted with compression. Lag effect compresses fracture surfaces." },
{ n: "05", color: GOLD, title: "Fluoroscopic Verification", body: "Check screw positions — all within the femoral head, no joint penetration, tips 5–10 mm from articular surface. Confirm fracture compression has occurred without loss of reduction." },
{ n: "06", color: RED, title: "Post-operative Protocol", body: "Tip-toe touch WB day 3. Partial WB 1 week in compliant patients. Full WB only after radiological union. Follow-up at 1, 3, 6 months then 6-monthly up to 24 months." },
];
const bw = 4.6;
steps2.forEach((step, i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const cx = col === 0 ? 0.2 : 5.1;
const cy = 1.55 + row * 1.27;
const bh = 1.2;
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: bw, h: bh,
fill: { color: LGRAY }, line: { color: step.color, pt: 1.5 }
});
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: bw, h: 0.32,
fill: { color: step.color }
});
s.addText(`Step ${step.n} · ${step.title}`, {
x: cx + 0.08, y: cy + 0.02, w: bw - 0.1, h: 0.28,
fontSize: 11, bold: true, color: WHITE,
fontFace: "Calibri", valign: "middle", margin: 2
});
s.addText(step.body, {
x: cx + 0.08, y: cy + 0.34, w: bw - 0.12, h: bh - 0.38,
fontSize: 9.5, color: TEXT, fontFace: "Calibri",
valign: "top", margin: 2
});
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 8 — CLINICAL CASE: CFIX (Fig 1 from paper)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Case Study — CFIX Group", "48-Year-Old Male, Left Femoral Neck Fracture Treated with CFIX");
const caseImg = imgBase64("fig4_1.png");
if (caseImg) {
s.addImage({ data: caseImg, x: 0.2, y: 1.35, w: 6.5, h: 3.6 });
}
// Right panel: case summary
const casePoints = [
{ label: "Patient", val: "48M, Left FNF, Garden III" },
{ label: "Mechanism", val: "Low-energy fall" },
{ label: "Fixation", val: "3× Conventional parallel cancellous screws (CFIX)" },
{ label: "Incision", val: "Single skin incision (~2.8 cm)" },
{ label: "Outcome", val: "Union achieved; implant removed at 18 months" },
{ label: "Follow-up", val: "Good hip function at 6 months (Fig F, G)" },
];
s.addShape(pres.ShapeType.rect, {
x: 6.85, y: 1.35, w: 2.9, h: 3.6,
fill: { color: LGRAY }, line: { color: BLUE, pt: 1.5 }
});
s.addText("CASE SUMMARY", {
x: 6.85, y: 1.35, w: 2.9, h: 0.38,
fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0,
});
s.addShape(pres.ShapeType.rect, { x: 6.85, y: 1.35, w: 2.9, h: 0.38, fill: { color: BLUE } });
s.addText("CASE SUMMARY", {
x: 6.85, y: 1.35, w: 2.9, h: 0.38,
fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0,
});
let yy = 1.78;
casePoints.forEach((cp) => {
s.addText(cp.label + ":", {
x: 6.92, y: yy, w: 2.75, h: 0.22,
fontSize: 9.5, bold: true, color: BLUE, fontFace: "Calibri", margin: 2
});
s.addText(cp.val, {
x: 6.92, y: yy + 0.2, w: 2.75, h: 0.27,
fontSize: 9, color: TEXT, fontFace: "Calibri", margin: 2
});
s.addShape(pres.ShapeType.line, {
x: 6.92, y: yy + 0.48, w: 2.7, h: 0,
line: { color: TEAL, pt: 0.5 }
});
yy += 0.52;
});
s.addText("A: Incision · B,C: Pre-op X-ray · D,E: 3-Month Post-op · F,G: 6-Month Function · H,I: Implant Removal at 18M", {
x: 0.2, y: 4.97, w: 9.5, h: 0.25,
fontSize: 8.5, color: TEAL, italic: true, fontFace: "Calibri", align: "center"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 9 — CLINICAL CASE: BDSF (Fig 2 from paper)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Case Study — BDSF Group", "57-Year-Old Male, Left Femoral Neck Fracture Treated with BDSF");
const bdsfCaseImg = imgBase64("fig5_1.png");
if (bdsfCaseImg) {
s.addImage({ data: bdsfCaseImg, x: 0.2, y: 1.35, w: 6.5, h: 3.6 });
}
const casePoints2 = [
{ label: "Patient", val: "57M, Left FNF, Garden IV" },
{ label: "Mechanism", val: "Self-fall from standing" },
{ label: "Fixation", val: "BDSF — biplane double-supported screws" },
{ label: "Incision", val: "Double-stitch incision (~4.4 cm)" },
{ label: "Union Time", val: "~12 weeks (faster than CFIX avg)" },
{ label: "Follow-up", val: "Excellent function at 6M; stable at 2 years" },
];
s.addShape(pres.ShapeType.rect, {
x: 6.85, y: 1.35, w: 2.9, h: 3.6,
fill: { color: LGRAY }, line: { color: GREEN, pt: 1.5 }
});
s.addShape(pres.ShapeType.rect, { x: 6.85, y: 1.35, w: 2.9, h: 0.38, fill: { color: GREEN } });
s.addText("CASE SUMMARY", {
x: 6.85, y: 1.35, w: 2.9, h: 0.38,
fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0,
});
let yy = 1.78;
casePoints2.forEach((cp) => {
s.addText(cp.label + ":", {
x: 6.92, y: yy, w: 2.75, h: 0.22,
fontSize: 9.5, bold: true, color: GREEN, fontFace: "Calibri", margin: 2
});
s.addText(cp.val, {
x: 6.92, y: yy + 0.2, w: 2.75, h: 0.27,
fontSize: 9, color: TEXT, fontFace: "Calibri", margin: 2
});
s.addShape(pres.ShapeType.line, {
x: 6.92, y: yy + 0.48, w: 2.7, h: 0,
line: { color: TEAL, pt: 0.5 }
});
yy += 0.52;
});
s.addText("A: Incision · B,C: Pre-op X-ray · D,E: 3-Month Post-op · F,G: 6-Month Function · H,I: 2-Year Follow-up", {
x: 0.2, y: 4.97, w: 9.5, h: 0.25,
fontSize: 8.5, color: TEAL, italic: true, fontFace: "Calibri", align: "center"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 10 — METHODOLOGY
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Study Methodology", "Prospective Comparative Study — 2 Years");
const boxes = [
{ title: "Study Design", color: BLUE, icon: "📋",
items: ["Prospective comparative study", "Duration: 2 years", "n = 60 patients (30 BDSF + 30 CFIX)", "Quasi-randomized allocation (alternating assignment)"] },
{ title: "Inclusion Criteria", color: GREEN, icon: "✓",
items: ["Displaced intracapsular FNF", "Neglected cases — no neck resorption", "Age: 18–65 years"] },
{ title: "Exclusion Criteria", color: RED, icon: "✗",
items: ["Poly-trauma interfering with rehab", "Basal neck fractures", "Pathological fractures", "Ipsilateral acetabular fractures", "Pre-existing hip arthritis"] },
{ title: "Outcome Measures", color: TEAL, icon: "📊",
items: ["Primary: Modified Harris Hip Score (HHS)", "Secondary: Serial hip X-rays (AP + Lateral)", "Follow-up: 1M, 3M, 6M, then 6-monthly to 24M", "Radiological union = bridging callus on 3+ cortices"] },
];
const bw = 4.55;
boxes.forEach((box, i) => {
const cx = i < 2 ? 0.2 : 5.05;
const cy = i % 2 === 0 ? 1.52 : 3.38;
const bh = 1.65;
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: bw, h: bh,
fill: { color: LGRAY }, line: { color: box.color, pt: 2 }
});
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: bw, h: 0.4,
fill: { color: box.color }
});
s.addText(box.title, {
x: cx + 0.08, y: cy + 0.04, w: bw - 0.15, h: 0.33,
fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri",
valign: "middle", margin: 2
});
const items = box.items.map((it, idx) => ({
text: it,
options: { bullet: { type: "bullet" }, breakLine: idx < box.items.length - 1, fontSize: 10, color: TEXT }
}));
s.addText(items, {
x: cx + 0.1, y: cy + 0.45, w: bw - 0.2, h: bh - 0.5,
fontFace: "Calibri", valign: "top", margin: 3
});
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 11 — DEMOGRAPHICS & BASELINE DATA
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Demographics & Baseline Characteristics", "Comparable Groups at Baseline — No Significant Differences Except Incision Length");
// Table
const tableData = [
["Parameter", "Group A — BDSF (n=30)", "Group B — CFIX (n=30)", "p-value"],
["Age (mean ± SD, years)", "57.23 ± 7.64", "56.17 ± 10.07", "NS"],
["Sex (M/F)", "17M / 13F", "13M / 17F", "NS"],
["Self-fall", "29 (96.67%)", "28 (93.33%)", "NS"],
["Road Traffic Accident", "1 (3.33%)", "2 (6.67%)", "NS"],
["Garden III / IV", "7 / 23", "10 / 20", "NS"],
["Time to Surgery (days)", "6.93 ± 9.03", "6.60 ± 3.63", "NS"],
["Incision Length (cm)", "4.40 ± 0.51", "2.79 ± 0.47", "< 0.05 *"],
["Op Duration (mins)", "57.93 ± 7.98", "55.93 ± 3.49", "NS"],
["Blood Loss (ml)", "21.63 ± 1.81", "21.23 ± 2.39", "NS"],
];
const colW = [3.2, 2.5, 2.5, 1.4];
const rowH = 0.35;
const startX = 0.2;
const startY = 1.55;
tableData.forEach((row, ri) => {
row.forEach((cell, ci) => {
const cx2 = startX + colW.slice(0, ci).reduce((a, b) => a + b, 0);
const cy2 = startY + ri * rowH;
const isHeader = ri === 0;
const isAlt = ri % 2 === 0 && !isHeader;
const isSig = typeof cell === "string" && cell.includes("*");
s.addShape(pres.ShapeType.rect, {
x: cx2, y: cy2, w: colW[ci], h: rowH,
fill: { color: isHeader ? NAVY : isSig ? "FFF9C4" : isAlt ? LGRAY : WHITE },
line: { color: TEAL, pt: 0.5 }
});
s.addText(cell, {
x: cx2 + 0.05, y: cy2 + 0.03, w: colW[ci] - 0.1, h: rowH - 0.06,
fontSize: ci === 0 ? 10 : 10,
bold: isHeader || isSig,
color: isHeader ? WHITE : isSig ? RED : TEXT,
fontFace: "Calibri", valign: "middle", margin: 2,
align: ci === 0 ? "left" : "center"
});
});
});
s.addText("* Statistically significant | NS = Not Significant | Comparable groups confirm internal validity of the comparison", {
x: 0.2, y: 5.0, w: 9.5, h: 0.23,
fontSize: 9, color: TEAL, italic: true, fontFace: "Calibri"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 12 — FUNCTIONAL OUTCOMES (HHS)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Functional Outcomes — Modified Harris Hip Score (HHS)", "BDSF Shows Significantly Superior Early Functional Recovery");
// Big stat boxes
const periods = [
{ time: "1 MONTH", bdsf: "85.28", cfix: "72.20", sig: "p < 0.05", bCategory: "92% Good", cCategory: "70% Fair / 26% Poor" },
{ time: "3 MONTHS", bdsf: "87.80", cfix: "82.07", sig: "p < 0.05", bCategory: "68% Excellent / 24% Good", cCategory: "80% Good / 20% Fair" },
{ time: "6 MONTHS", bdsf: "87.23", cfix: "84.50", sig: "p = NS", bCategory: "Comparable outcomes", cCategory: "Comparable outcomes" },
];
let startY = 1.45;
periods.forEach((p, i) => {
// Period label
s.addShape(pres.ShapeType.rect, {
x: 0.2, y: startY, w: 1.5, h: 2.2 + (i === 0 ? 0 : 0),
fill: { color: NAVY }
});
s.addText(p.time, {
x: 0.2, y: startY, w: 1.5, h: 1.1,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 4
});
s.addShape(pres.ShapeType.rect, {
x: 0.2, y: startY + 1.1, w: 1.5, h: 0.45,
fill: { color: p.sig.includes("NS") ? TEAL : GOLD }
});
s.addText(p.sig, {
x: 0.2, y: startY + 1.1, w: 1.5, h: 0.45,
fontSize: 11, bold: true, color: WHITE,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
// BDSF box
s.addShape(pres.ShapeType.rect, {
x: 1.85, y: startY, w: 3.75, h: 1.55,
fill: { color: p.sig.includes("NS") ? LGRAY : "E8F5E9" },
line: { color: GREEN, pt: 2 }
});
s.addText("GROUP A — BDSF", {
x: 1.85, y: startY + 0.05, w: 3.75, h: 0.28,
fontSize: 10, bold: true, color: GREEN, fontFace: "Calibri", align: "center", margin: 2
});
s.addText("HHS " + p.bdsf, {
x: 1.85, y: startY + 0.3, w: 3.75, h: 0.65,
fontSize: 32, bold: true, color: GREEN, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(p.bCategory, {
x: 1.85, y: startY + 1.05, w: 3.75, h: 0.4,
fontSize: 10, color: TEXT, fontFace: "Calibri", align: "center", italic: true, margin: 2
});
// CFIX box
s.addShape(pres.ShapeType.rect, {
x: 5.8, y: startY, w: 3.85, h: 1.55,
fill: { color: LGRAY },
line: { color: BLUE, pt: 2 }
});
s.addText("GROUP B — CFIX", {
x: 5.8, y: startY + 0.05, w: 3.85, h: 0.28,
fontSize: 10, bold: true, color: BLUE, fontFace: "Calibri", align: "center", margin: 2
});
s.addText("HHS " + p.cfix, {
x: 5.8, y: startY + 0.3, w: 3.85, h: 0.65,
fontSize: 32, bold: true, color: BLUE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(p.cCategory, {
x: 5.8, y: startY + 1.05, w: 3.85, h: 0.4,
fontSize: 10, color: TEXT, fontFace: "Calibri", align: "center", italic: true, margin: 2
});
startY += 1.65;
});
s.addText("Key Insight: BDSF demonstrates significantly superior early functional outcomes (1M and 3M). Both groups converge at 6 months, suggesting BDSF advantage is in early stability and rehabilitation — not long-term superiority once united.", {
x: 0.2, y: startY, w: 9.5, h: 0.35,
fontSize: 9.5, color: RED, italic: true, fontFace: "Calibri"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 13 — RADIOLOGICAL OUTCOMES & UNION
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Radiological Outcomes — Union Rates & Time to Union", "BDSF Achieves Significantly Faster Union — 12.55 vs 14.68 Weeks");
// Union rate bars (visual)
// BDSF bar
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.52, w: 4.6, h: 1.65, fill: { color: LGRAY }, line: { color: GREEN, pt: 2 } });
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.52, w: 4.6, h: 0.38, fill: { color: GREEN } });
s.addText("GROUP A — BDSF", { x: 0.2, y: 1.52, w: 4.6, h: 0.38, fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("93.33%", { x: 0.2, y: 1.9, w: 4.6, h: 0.72, fontSize: 42, bold: true, color: GREEN, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("Union Rate (28/30 cases)", { x: 0.2, y: 2.62, w: 4.6, h: 0.4, fontSize: 11, color: TEXT, fontFace: "Calibri", align: "center", italic: true, margin: 2 });
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 3.02, w: 4.6, h: 0.12, fill: { color: GREEN } });
// CFIX bar
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.52, w: 4.65, h: 1.65, fill: { color: LGRAY }, line: { color: BLUE, pt: 2 } });
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.52, w: 4.65, h: 0.38, fill: { color: BLUE } });
s.addText("GROUP B — CFIX", { x: 5.1, y: 1.52, w: 4.65, h: 0.38, fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("90.00%", { x: 5.1, y: 1.9, w: 4.65, h: 0.72, fontSize: 42, bold: true, color: BLUE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("Union Rate (27/30 cases) — Not Significant", { x: 5.1, y: 2.62, w: 4.65, h: 0.4, fontSize: 11, color: TEXT, fontFace: "Calibri", align: "center", italic: true, margin: 2 });
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 3.02, w: 4.65, h: 0.12, fill: { color: BLUE } });
// Time to union
const toBoxes = [
{ label: "BDSF — Avg Union", val: "12.55 wks", color: GREEN, sub: "Kalia et al. reported 10 weeks" },
{ label: "CFIX — Avg Union", val: "14.68 wks", color: BLUE, sub: "Literature: 16–17 weeks conventionally" },
{ label: "Difference", val: "p < 0.05", color: RED, sub: "Statistically significant advantage for BDSF" },
{ label: "LLD > 1 cm", val: "10% vs 23%", color: GOLD, sub: "Less limb-length discrepancy in BDSF group" },
];
let sx = 0.2;
toBoxes.forEach((b) => {
s.addShape(pres.ShapeType.rect, {
x: sx, y: 3.22, w: 2.35, h: 1.55,
fill: { color: WHITE }, line: { color: b.color, pt: 2 }
});
s.addShape(pres.ShapeType.rect, { x: sx, y: 3.22, w: 2.35, h: 0.35, fill: { color: b.color } });
s.addText(b.label, {
x: sx + 0.05, y: 3.22, w: 2.25, h: 0.35,
fontSize: 9.5, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 1
});
s.addText(b.val, {
x: sx + 0.05, y: 3.57, w: 2.25, h: 0.6,
fontSize: 20, bold: true, color: b.color, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(b.sub, {
x: sx + 0.05, y: 4.17, w: 2.25, h: 0.5,
fontSize: 8.5, color: TEXT, fontFace: "Calibri",
align: "center", italic: true, margin: 2
});
sx += 2.45;
});
s.addText("All failure cases: Garden IV fractures with posterior comminution. No AVN detected within available follow-up (AVN may manifest at 2–3 years — ongoing surveillance recommended).", {
x: 0.2, y: 4.95, w: 9.5, h: 0.28,
fontSize: 9, color: RED, italic: true, fontFace: "Calibri"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 14 — COMPLICATIONS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Complications", "Comparable Complication Profiles — with Radiological Case Examples");
// Left: complications table
const compData = [
["Complication", "BDSF\n(Group A)", "CFIX\n(Group B)", "Management"],
["Non-union / Fixation failure", "—", "1", "Revision hemi-arthroplasty"],
["Pseudo-arthrosis", "2", "2", "Revision hemi-arthroplasty"],
["Subtrochanteric fracture", "1*", "—", "Screw removal + PFLCP"],
["Screw back-out ≥ 20 mm", "1", "1", "Revision hemi-arthroplasty"],
["Screw migration into joint", "1", "—", "Revision hemi-arthroplasty"],
["Superficial infection", "1", "1", "Oral antibiotics"],
["Deep infection", "—", "1", "Screw removal after union"],
["Avascular Necrosis (AVN)", "0", "0", "Surveillance ongoing"],
["Total failures (non-union + fixation)", "6.67%", "10.0%", "NS (p > 0.05)"],
];
const colW2 = [3.4, 0.9, 0.9, 2.5];
const startX2 = 0.15;
const startY2 = 1.52;
const rowH2 = 0.37;
compData.forEach((row, ri) => {
row.forEach((cell, ci) => {
const cx = startX2 + colW2.slice(0, ci).reduce((a, b) => a + b, 0);
const cy = startY2 + ri * rowH2;
const isHeader = ri === 0;
const isTotal = ri === compData.length - 1;
const isBold = isHeader || isTotal;
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: colW2[ci], h: rowH2,
fill: { color: isHeader ? NAVY : isTotal ? "FFF9C4" : ri % 2 === 0 ? LGRAY : WHITE },
line: { color: TEAL, pt: 0.5 }
});
s.addText(cell, {
x: cx + 0.04, y: cy + 0.02, w: colW2[ci] - 0.08, h: rowH2 - 0.04,
fontSize: ci === 0 ? 9.5 : 9.5, bold: isBold,
color: isHeader ? WHITE : isTotal ? RED : cell === "0" ? GREEN : cell === "—" ? GREEN : TEXT,
fontFace: "Calibri", valign: "middle", margin: 1,
align: ci === 0 ? "left" : "center"
});
});
});
// Right: complication image
const compImg = imgBase64("fig7_1.png");
if (compImg) {
s.addImage({ data: compImg, x: 7.95, y: 1.52, w: 1.75, h: 3.3 });
}
s.addShape(pres.ShapeType.rect, { x: 7.95, y: 4.82, w: 1.75, h: 0.38, fill: { color: TEAL } });
s.addText("Fig 3: A,B Subtrochanteric Fx; C,D Revision Hemi; E,F CFIX Failure", {
x: 7.95, y: 4.82, w: 1.75, h: 0.38,
fontSize: 7.5, color: WHITE, italic: true, fontFace: "Calibri",
align: "center", valign: "middle", margin: 2
});
s.addText("* Subtrochanteric fracture at 10 weeks in BDSF group — FNF had already united. Treated with PFLCP. All failures: Garden IV + posterior comminution.", {
x: 0.15, y: 5.0, w: 7.7, h: 0.25,
fontSize: 8.5, color: RED, italic: true, fontFace: "Calibri"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 15 — DISCUSSION
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Discussion", "Contextualising BDSF within the Existing Evidence");
const points = [
{ icon: "◉", color: BLUE, head: "Historical Basis", body: "Low-angle calcar-supported fixation dates to Burns & Youngs (1942), Dickson (1953), and Küntscher — BDSF formalises and optimises these principles." },
{ icon: "◉", color: GREEN, head: "Early Union Advantage", body: "BDSF union at 12.55 wks vs CFIX 14.68 wks (p<0.05). Kalia et al. reported 10-week union with BDSF vs conventional 16–17 weeks. Earlier union enables earlier full weight-bearing." },
{ icon: "◉", color: TEAL, head: "Functional Recovery", body: "Statistically superior HHS at 1M and 3M; groups converge at 6M. BDSF advantage is early stability — it does NOT confer long-term functional superiority after union." },
{ icon: "◉", color: GOLD, head: "Comparable Overall Union & Complications", body: "93.3% vs 90.0% union; 6.67% vs 10% non-union — no statistical significance. Limb-length discrepancy >1 cm lower with BDSF (10% vs 23%)." },
{ icon: "◉", color: NAVY, head: "BDSF vs Modern Implants", body: "Recent data (FNS, cephallomedullary systems) show comparable outcomes, but BDSF uses standard implants at lower cost — advantage in resource-limited settings." },
{ icon: "◉", color: RED, head: "Technical Demands", body: "Indian series highlight difficulty achieving ideal biplanar screw trajectory. BDSF is technically demanding — training and fluoroscopic expertise are prerequisites. Not a replacement, but a promising alternative." },
];
const cols = 2;
const bw = 4.6;
const bh = 1.08;
points.forEach((p, i) => {
const col = i % cols;
const row = Math.floor(i / cols);
const cx = col === 0 ? 0.2 : 5.1;
const cy = 1.52 + row * (bh + 0.1);
s.addShape(pres.ShapeType.rect, { x: cx, y: cy, w: bw, h: bh, fill: { color: LGRAY }, line: { color: p.color, pt: 1.5 } });
s.addShape(pres.ShapeType.rect, { x: cx, y: cy, w: 0.42, h: bh, fill: { color: p.color } });
s.addText(p.icon, {
x: cx, y: cy, w: 0.42, h: bh,
fontSize: 16, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s.addText(p.head, {
x: cx + 0.48, y: cy + 0.04, w: bw - 0.55, h: 0.28,
fontSize: 11, bold: true, color: p.color, fontFace: "Calibri", margin: 2
});
s.addText(p.body, {
x: cx + 0.48, y: cy + 0.3, w: bw - 0.55, h: 0.74,
fontSize: 9.5, color: TEXT, fontFace: "Calibri", margin: 2, valign: "top"
});
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 16 — LIMITATIONS & FUTURE DIRECTIONS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Limitations & Future Directions", "Transparent Reporting for Academic Rigour");
// Limitations
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.5, w: 4.65, h: 0.38, fill: { color: RED } });
s.addText("STUDY LIMITATIONS", {
x: 0.2, y: 1.5, w: 4.65, h: 0.38,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
const lims = [
"Intraoperative variation — not all BDSF cases achieved ideal biplanar configuration; reflects real-world clinical practice.",
"No formal bone quality assessment (DEXA scan) — osteoporosis was not controlled for, a key factor in fixation failure.",
"Follow-up < 24 months in a proportion — late AVN (which presents 2–3 years post-fixation) may be underestimated.",
"Quasi-randomization (alternating assignment) — not a true RCT; potential selection bias despite comparable baseline data.",
"Small sample size (n=60) — study may be underpowered to detect differences in complication rates.",
];
const limItems = lims.map((l, i) => ({ text: l, options: { bullet: { type: "bullet" }, breakLine: i < lims.length - 1, fontSize: 10, color: TEXT } }));
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.88, w: 4.65, h: 2.8, fill: { color: LGRAY }, line: { color: RED, pt: 1 } });
s.addText(limItems, { x: 0.28, y: 1.92, w: 4.5, h: 2.72, fontFace: "Calibri", valign: "top", margin: 4 });
// Future
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.5, w: 4.65, h: 0.38, fill: { color: GREEN } });
s.addText("FUTURE DIRECTIONS", {
x: 5.1, y: 1.5, w: 4.65, h: 0.38,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
const futures = [
"Powered multi-centre RCT with ≥ 200 patients and ≥ 24-month follow-up including MRI for AVN detection.",
"Pre-operative DEXA scanning to stratify by bone density and assess its effect on fixation failure.",
"Finite-element analysis comparing BDSF vs FNS (Femoral Neck System) to guide implant choice in Pauwels III fractures.",
"Standardized BDSF training programme and learning-curve analysis for Indian and developing-country surgeons.",
"Patient-reported outcome measures (PROMs) and quality-of-life assessment beyond Harris Hip Score.",
];
const futureItems = futures.map((f, i) => ({ text: f, options: { bullet: { type: "bullet" }, breakLine: i < futures.length - 1, fontSize: 10, color: TEXT } }));
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.88, w: 4.65, h: 2.8, fill: { color: LGRAY }, line: { color: GREEN, pt: 1 } });
s.addText(futureItems, { x: 5.18, y: 1.92, w: 4.5, h: 2.72, fontFace: "Calibri", valign: "top", margin: 4 });
// Bottom note
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 4.82, w: 9.55, h: 0.4, fill: { color: NAVY } });
s.addText("These limitations do not invalidate the findings — they provide a roadmap for confirmatory evidence and refined surgical protocols.", {
x: 0.2, y: 4.82, w: 9.55, h: 0.4,
fontSize: 10, color: GOLD, fontFace: "Calibri", italic: true,
align: "center", valign: "middle", margin: 4
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 17 — CONCLUSION
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: NAVY } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: GOLD } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.52, w: "100%", h: 0.1, fill: { color: GOLD } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.1, h: "100%", fill: { color: TEAL } });
s.addText("CONCLUSION", {
x: 0.35, y: 0.18, w: 9.0, h: 0.55,
fontSize: 28, bold: true, color: WHITE, fontFace: "Calibri", charSpacing: 6
});
s.addShape(pres.ShapeType.rect, { x: 0.35, y: 0.72, w: 3.5, h: 0.06, fill: { color: GOLD } });
const conclusions = [
{ num: "1", text: "BDSF achieves significantly faster union (12.55 vs 14.68 weeks, p<0.05), enabling earlier full weight-bearing and reduced rehabilitation time.", color: GOLD },
{ num: "2", text: "Significantly superior early functional outcomes at 1 month (HHS 85.28 vs 72.20) and 3 months (87.80 vs 82.07) with BDSF — groups converge by 6 months.", color: TEAL },
{ num: "3", text: "Overall union rates comparable (93.33% vs 90.00%), with no statistically significant difference in complication rates between groups.", color: "81D4FA" },
{ num: "4", text: "BDSF may be a promising fixation alternative for displaced intracapsular femoral neck fractures, particularly in resource-limited settings using standard implants.", color: GREEN.replace("2E7D32", "A5D6A7") || "A5D6A7" },
{ num: "5", text: "Technical demands of BDSF must not be underestimated — surgeon training, fluoroscopic expertise, and patient selection are essential for success.", color: "EF9A9A" },
];
let cy = 0.9;
conclusions.forEach((c) => {
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: cy, w: 0.42, h: 0.78,
fill: { color: c.color }
});
s.addText(c.num, {
x: 0.35, y: cy, w: 0.42, h: 0.78,
fontSize: 22, bold: true, color: NAVY, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(c.text, {
x: 0.85, y: cy + 0.04, w: 8.8, h: 0.7,
fontSize: 13, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 4
});
cy += 0.88;
});
s.addText("Indian Journal of Orthopaedics, 2026 • Baruah JP, Gogoi A, Pratim KM • DOI: 10.1007/s43465-026-01830-1", {
x: 0.35, y: 5.2, w: 9.2, h: 0.28,
fontSize: 9, color: LGRAY, italic: true, fontFace: "Calibri", align: "center"
});
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 18 — REFERENCES
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addSlideHeader(s, "Key References", "Selected Bibliography — Full List in Published Article");
const refs = [
"1. Parker MJ, Gurusamy KS. Internal fixation implants for intracapsular hip fractures. Cochrane Database Syst Rev. 2001.",
"2. Filipov O. BDSF at femoral neck fractures — principle and clinical outcomes. J IMAB. 2013;19(1):423–428.",
"3. Filipov O. BDSF principles, method, and outcomes. J IMAB. 2015.",
"4. Filipov OB. Biplane double-supported screw fixation: surgical technique. JAAOS. 2019;27:e507–e515. doi:10.5435/JAAOS-D-17-00117",
"5. Tang Z et al. Biomechanical study of BDSF based on Pauwels angle: FEA. Front Bioeng Biotechnol. 2024;12:1358181.",
"6. Ramadanov N et al. Factors influencing complications of femoral neck fractures by cannulated screw fixation. Sci Rep. 2020.",
"7. Haidukewych GJ et al. Operative treatment of femoral neck fractures aged 15–50. JBJS Am. 2004;86(8):1711–1716.",
"8. Garden RS. Low angle fixation in fractures of the femoral neck. JBJS. 1961;43(4):647–663.",
"9. Galal S, Nagy M. Non-parallel screw fixation for femoral neck fractures in young adults. J Clin Orthop Trauma. 2017;8(3):220–224.",
"10. Sami A et al. Biplane double-supported screw fixation in femoral neck fractures. Indian J Orthop. 2022.",
"11. Zhu Z et al. Biomechanical study of internal fixation for FNF: FEA based on reduction quality. Front Bioeng. 2025;30(13):1678294.",
"12. He C et al. FNS vs cannulated screws for Pauwels III FNF in young patients. BMC Musculoskelet Disord. 2021;22(1):994.",
];
const half = Math.ceil(refs.length / 2);
const leftRefs = refs.slice(0, half);
const rightRefs = refs.slice(half);
const refItems1 = leftRefs.map((r, i) => ({ text: r, options: { breakLine: i < leftRefs.length - 1, fontSize: 9.5, color: TEXT } }));
const refItems2 = rightRefs.map((r, i) => ({ text: r, options: { breakLine: i < rightRefs.length - 1, fontSize: 9.5, color: TEXT } }));
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.5, w: 4.65, h: 3.55, fill: { color: LGRAY }, line: { color: TEAL, pt: 1 } });
s.addText(refItems1, { x: 0.28, y: 1.55, w: 4.5, h: 3.45, fontFace: "Calibri", valign: "top", margin: 3 });
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.5, w: 4.65, h: 3.55, fill: { color: LGRAY }, line: { color: TEAL, pt: 1 } });
s.addText(refItems2, { x: 5.18, y: 1.55, w: 4.5, h: 3.45, fontFace: "Calibri", valign: "top", margin: 3 });
addFooter(s);
}
// ─── SAVE ────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/bdsf-ppt/BDSF_vs_CFIX_FNF_Conference.pptx" })
.then(() => console.log("PPT saved successfully!"))
.catch(err => { console.error("Error:", err); process.exit(1); });
cd /home/daytona/workspace/bdsf-ppt && node create_ppt.js
ls -lh /home/daytona/workspace/bdsf-ppt/BDSF_vs_CFIX_FNF_Conference.pptx
BDSF vs CFIX FNF Conference
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide - Study title, authors, 4 headline stats in a banner bar |
| 2 | Introduction - "Unsolved fracture" problem statement, CFIX failure rates, BDSF rationale |
| 3 | Anatomy & Biomechanics - Calcar anatomy, vascular supply, Pauwels classification + Garden classification image |
| 4 | BDSF Principle - 3-diverging-screw construct, calcar double-support, +44% fixation strength + BDSF technique image |
| 5 | Pre-operative Planning - Indications, contraindications, positioning, fracture reduction (Whitman/Leadbetter/Smith-Peterson) |
| 6 | BDSF - Detailed Surgical Steps (6 steps) - Entry point coordinates, guide-wire angles (150-165° distal, 135-140° middle, cranial), drilling technique, "V" on lateral / "F" on AP verification |
| 7 | CFIX Surgical Steps (6 steps) - Inverted triangle configuration, screw length measurement, lag compression technique |
| 8 | Clinical Case: CFIX - 48M Garden III, full radiological series (actual PDF Fig 1 images embedded) |
| 9 | Clinical Case: BDSF - 57M Garden IV, full radiological series (actual PDF Fig 2 images embedded) |
| 10 | Methodology - Study design, inclusion/exclusion criteria, outcome measures (HHS + serial X-rays) |
| 11 | Demographics table - Full baseline comparison, highlighted significant difference in incision length |
| 12 | Functional Outcomes (HHS) - Large-format score comparisons at 1M, 3M, 6M with significance flags |
| 13 | Radiological Outcomes - 93.33% vs 90% union rates, 12.55 vs 14.68 weeks, LLD comparison |
| 14 | Complications table - All 7 complication types, management, + (Fig 3 images embedded) |
| 15 | Discussion - 6 key discussion points contextualising against published literature |
| 16 | Limitations & Future Directions - 5 limitations + 5 future research directions |
| 17 | Conclusion (dark slide) - 5 numbered, colour-coded take-home messages |
| 18 | References - 12 key citations in two-column layout |
Kindly modify above slide following
Slide 1 - only title with presenter name
~/bdsf-ppt/create_ppt.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/bdsf-ppt/create_ppt.js'
cd /home/daytona/workspace/bdsf-ppt && node create_ppt.js
BDSF vs CFIX FNF Conference
Presentation · PPTX
Objective of this study
Add images from blood supply and classification slide and also make slides simple (title and content)
femoral head blood supply medial femoral circumflex artery retinacular vessels anatomy diagram
Garden classification femoral neck fracture Pauwels classification diagram orthopaedic
cd /home/daytona/workspace/bdsf-ppt/images && \ curl -s --max-time 15 "https://boneandspine.com/wp-content/uploads/2011/10/femoral-neck-supply.jpg" -o blood_supply.jpg && echo "blood_supply: $(wc -c < blood_supply.jpg) bytes" || echo "failed" && \ curl -s --max-time 15 "https://www.researchgate.net/publication/391721359/figure/fig5/AS:11431281438823863@1747221309208/A-Blood-flow-of-the-femoral-head-Blood-supply-from-the-medial-circumflex-artery-is.png" -o blood_supply2.png && echo "blood_supply2: $(wc -c < blood_supply2.png) bytes" || echo "failed" && \ curl -s --max-time 15 "https://www.researchgate.net/publication/342427288/figure/fig1/AS:906124723240962@1593048377554/Pauwels-classification.png" -o pauwels.png && echo "pauwels: $(wc -c < pauwels.png) bytes" || echo "failed" && \ curl -s --max-time 15 "https://assets.cureus.com/uploads/figure/file/1253531/article_river_86e46fa083e211ef97579df960f7a435-FIGURE-1.png" -o garden_class.png && echo "garden: $(wc -c < garden_class.png) bytes" || echo "failed"
cd /home/daytona/workspace/bdsf-ppt/images && \ curl -s --max-time 20 -L "https://upload.wikimedia.org/wikipedia/commons/c/c5/Circumflex_femoral_arteries.png" -o blood_supply_wiki.png && echo "wiki: $(wc -c < blood_supply_wiki.png) bytes" && \ curl -s --max-time 20 -L "https://www.physio-pedia.com/images/thumb/b/ba/Hip_fracture_classification.png/300px-Hip_fracture_classification.png" -o hip_classification.png && echo "hip_class: $(wc -c < hip_classification.png) bytes" && \ curl -s --max-time 20 -L "https://www.carepatron.com/files/pauwels-classification.jpg" -o pauwels2.jpg && echo "pauwels2: $(wc -c < pauwels2.jpg) bytes"
~/bdsf-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
const fs = require("fs");
const path = require("path");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Jishnu Prakash Baruah, Abhinab Gogoi, Kumar Madhurya Pratim";
pres.title = "Treatment of Displaced Fracture Neck of Femur: CFIX vs BDSF";
// ─── COLOUR PALETTE ─────────────────────────────────────────────
const NAVY = "0A2342";
const BLUE = "1565C0";
const TEAL = "00838F";
const GOLD = "F9A825";
const LGRAY = "ECF0F1";
const WHITE = "FFFFFF";
const TEXT = "212121";
const RED = "C62828";
const GREEN = "2E7D32";
// ─── IMAGE HELPER ────────────────────────────────────────────────
function imgBase64(relPath) {
const full = path.join("/home/daytona/workspace/bdsf-ppt/images", relPath);
if (!fs.existsSync(full)) return null;
const ext = path.extname(full).toLowerCase().replace(".", "");
const mime = ext === "jpg" || ext === "jpeg" ? "jpeg" : "png";
const data = fs.readFileSync(full).toString("base64");
return `image/${mime};base64,${data}`;
}
// ─── SLIDE HELPERS ───────────────────────────────────────────────
// Simple clean header: navy bar + title only
function addHeader(slide, title) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.9, fill: { color: NAVY } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0.9, w: "100%", h: 0.08, fill: { color: GOLD } });
slide.addText(title, {
x: 0.3, y: 0, w: 9.4, h: 0.9,
fontSize: 26, bold: true, color: WHITE,
fontFace: "Calibri", valign: "middle", margin: 0
});
}
function addFooter(slide) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.28, w: "100%", h: 0.34, fill: { color: NAVY } });
slide.addText("Baruah JP, Gogoi A, Pratim KM | Indian Journal of Orthopaedics 2026 | BDSF vs CFIX — Displaced FNF", {
x: 0.2, y: 5.3, w: 9.6, h: 0.3,
fontSize: 8, color: LGRAY, italic: true, fontFace: "Calibri", valign: "middle", margin: 0
});
}
// Bullet list helper — returns array for addText
function bullets(items, opts = {}) {
const fs_ = opts.fontSize || 15;
const col = opts.color || TEXT;
return items.map((t, i) => ({
text: t,
options: {
bullet: { type: "bullet", indent: 12 },
breakLine: i < items.length - 1,
fontSize: fs_,
color: col,
paraSpaceAfter: 4
}
}));
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE (clean: title + presenter only)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: NAVY } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: GOLD } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.52, w: "100%", h: 0.1, fill: { color: GOLD } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.1, h: "100%", fill: { color: TEAL } });
s.addText("Treatment of Displaced Fracture\nNeck of Femur", {
x: 0.35, y: 0.9, w: 9.2, h: 2.1,
fontSize: 40, bold: true, color: WHITE,
fontFace: "Calibri", align: "center", valign: "middle"
});
s.addShape(pres.ShapeType.rect, { x: 2.5, y: 3.1, w: 5.0, h: 0.07, fill: { color: GOLD } });
s.addText("Conventional Parallel Screws (CFIX) vs Biplane Double-Supported Screws (BDSF)", {
x: 0.35, y: 3.22, w: 9.2, h: 0.45,
fontSize: 14, color: GOLD, fontFace: "Calibri", align: "center"
});
s.addText("Presenter: Dr. Kumar Madhurya Pratim", {
x: 0.35, y: 3.85, w: 9.2, h: 0.5,
fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri", align: "center"
});
s.addText("Department of Orthopaedics • Indian Journal of Orthopaedics, 2026", {
x: 0.35, y: 4.45, w: 9.2, h: 0.38,
fontSize: 12, color: LGRAY, italic: true, fontFace: "Calibri", align: "center"
});
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 2 — INTRODUCTION
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Introduction");
s.addText(bullets([
"Intracapsular fracture neck of femur — the \"unsolved fracture\" — remains a challenge to orthopaedic surgeons",
"High complication rates: non-union, avascular necrosis (AVN), and fixation failure despite advances in implants",
"Conventional parallel cancellous screw fixation (CFIX) fails in 20–42% of cases",
"Gold standard for displaced FNF in elderly: arthroplasty — but no consensus for adults aged 18–65 years",
"Filipov (2013) introduced BDSF: 3 medially diverging cannulated screws, two buttressed on the calcar — providing biplane double-cortical support",
"Biomechanical cadaveric studies confirm BDSF increases fixation strength by 44% compared to CFIX",
"Comparative clinical data between BDSF and CFIX remain limited — this study aims to fill that gap",
]), {
x: 0.4, y: 1.1, w: 9.2, h: 4.1,
fontFace: "Calibri", valign: "top", margin: 6
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 3 — OBJECTIVES
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Objectives");
// Primary objective box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.1, w: 9.4, h: 0.58, fill: { color: NAVY }, line: { color: GOLD, pt: 1.5 } });
s.addText("PRIMARY OBJECTIVE: To compare clinical and radiological outcomes of BDSF vs CFIX in adults with displaced intracapsular fracture neck of femur", {
x: 0.38, y: 1.12, w: 9.2, h: 0.54,
fontSize: 13, bold: true, color: GOLD, fontFace: "Calibri", valign: "middle", margin: 4
});
s.addText(bullets([
"Functional outcome — compare Modified Harris Hip Score (HHS) at 1 month, 3 months, 6 months and up to 24 months",
"Radiological outcome — compare union rates and time to union using serial AP and Lateral hip X-rays",
"Complication profile — document non-union, pseudo-arthrosis, AVN, implant failure and infection in both groups",
"Evaluate whether calcar-supported biplanar BDSF construct translates into earlier weight-bearing and superior early stability",
"Fill the gap in comparative clinical literature directly contrasting CFIX with the BDSF technique",
]), {
x: 0.4, y: 1.78, w: 9.2, h: 3.45,
fontFace: "Calibri", valign: "top", margin: 6
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 4 — BLOOD SUPPLY OF FEMORAL HEAD
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Blood Supply of the Femoral Head");
// Left: bullet points
s.addText(bullets([
"Primary supply: Deep branch of the Medial Femoral Circumflex Artery (MFCA)",
"MFCA courses posterior to the femoral neck → divides into superior & inferior retinacular vessels",
"Superior retinacular vessels are the dominant supply to the femoral head",
"Lateral femoral circumflex artery: minor contribution via anterior ascending branch",
"Artery of ligamentum teres (obturator a.): negligible contribution in adults",
"Displacement → tears retinacular vessels → disrupts blood supply → AVN",
"Risk of AVN directly proportional to degree of displacement (Garden III/IV highest risk)",
"Stable anatomical fixation essential to allow revascularisation and union",
], { fontSize: 13 }), {
x: 0.35, y: 1.08, w: 5.35, h: 4.15,
fontFace: "Calibri", valign: "top", margin: 6
});
// Right: blood supply image
const bsImg = imgBase64("blood_supply_wiki.png");
if (bsImg) {
s.addImage({ data: bsImg, x: 5.85, y: 1.05, w: 3.8, h: 3.6 });
}
s.addShape(pres.ShapeType.rect, { x: 5.85, y: 4.65, w: 3.8, h: 0.32, fill: { color: TEAL } });
s.addText("Circumflex femoral arteries — primary blood supply to the femoral head", {
x: 5.85, y: 4.65, w: 3.8, h: 0.32,
fontSize: 9, color: WHITE, italic: true, fontFace: "Calibri",
align: "center", valign: "middle", margin: 2
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 5 — GARDEN & PAUWELS CLASSIFICATION
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Classification of Femoral Neck Fractures");
// ── Garden Classification ──
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 1.05, w: 4.8, h: 0.38, fill: { color: BLUE } });
s.addText("Garden Classification (based on AP radiograph)", {
x: 0.25, y: 1.05, w: 4.8, h: 0.38,
fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
const gardenRows = [
["Grade I", "Incomplete / valgus impacted — non-displaced", "~7% AVN"],
["Grade II", "Complete — non-displaced", "~15% AVN"],
["Grade III", "Complete — incompletely displaced", "~37% AVN"],
["Grade IV", "Complete — fully displaced, no bony contact", "~40% AVN"],
];
const gColW = [1.1, 2.6, 1.05];
const gColors = [GREEN, GREEN, "E65100", RED];
gardenRows.forEach((row, ri) => {
const ry = 1.47 + ri * 0.44;
gColW.forEach((cw, ci) => {
const cx = 0.25 + gColW.slice(0, ci).reduce((a, b) => a + b, 0);
s.addShape(pres.ShapeType.rect, {
x: cx, y: ry, w: cw, h: 0.42,
fill: { color: ri % 2 === 0 ? LGRAY : WHITE },
line: { color: TEAL, pt: 0.5 }
});
s.addText(row[ci], {
x: cx + 0.05, y: ry + 0.02, w: cw - 0.1, h: 0.38,
fontSize: ci === 2 ? 10 : 11,
bold: ci === 0,
color: ci === 0 ? gColors[ri] : TEXT,
fontFace: "Calibri", valign: "middle", margin: 2
});
});
});
// Garden image
const gardenImg = imgBase64("garden_class.png");
if (gardenImg) {
s.addImage({ data: gardenImg, x: 0.25, y: 3.26, w: 4.8, h: 1.95 });
}
// ── Pauwels Classification ──
s.addShape(pres.ShapeType.rect, { x: 5.3, y: 1.05, w: 4.45, h: 0.38, fill: { color: NAVY } });
s.addText("Pauwels Classification (based on fracture line angle)", {
x: 5.3, y: 1.05, w: 4.45, h: 0.38,
fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
const pawRows = [
["Type I", "< 30°", "Compressive forces dominant — most stable"],
["Type II", "30 – 50°", "Mixed forces — intermediate stability"],
["Type III", "> 50°", "Shear forces dominant — highest failure risk"],
];
const pColW = [0.9, 0.9, 2.6];
const pColors = [GREEN, "E65100", RED];
pawRows.forEach((row, ri) => {
const ry = 1.47 + ri * 0.44;
pColW.forEach((cw, ci) => {
const cx = 5.3 + pColW.slice(0, ci).reduce((a, b) => a + b, 0);
s.addShape(pres.ShapeType.rect, {
x: cx, y: ry, w: cw, h: 0.42,
fill: { color: ri % 2 === 0 ? LGRAY : WHITE },
line: { color: TEAL, pt: 0.5 }
});
s.addText(row[ci], {
x: cx + 0.04, y: ry + 0.02, w: cw - 0.08, h: 0.38,
fontSize: 11, bold: ci === 0,
color: ci === 0 ? pColors[ri] : TEXT,
fontFace: "Calibri", valign: "middle", margin: 2
});
});
});
// Pauwels image
const pawImg = imgBase64("pauwels2.jpg");
if (pawImg) {
s.addImage({ data: pawImg, x: 5.3, y: 2.45, w: 4.45, h: 2.76 });
}
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 6 — METHODOLOGY
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Methodology");
// Two columns
// Left
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.08, w: 4.55, h: 0.36, fill: { color: BLUE } });
s.addText("Study Design", {
x: 0.3, y: 1.08, w: 4.55, h: 0.36,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(bullets([
"Prospective comparative study — 2 years",
"n = 60 patients (Group A: BDSF n=30 | Group B: CFIX n=30)",
"Quasi-randomized: alternating assignment",
"Ethics approval: AMC/EC/PG/2490 (Sep 2019)",
], { fontSize: 13 }), {
x: 0.3, y: 1.47, w: 4.55, h: 1.5,
fontFace: "Calibri", valign: "top", margin: 5
});
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.0, w: 4.55, h: 0.36, fill: { color: GREEN } });
s.addText("Inclusion Criteria", {
x: 0.3, y: 3.0, w: 4.55, h: 0.36,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(bullets([
"Displaced intracapsular FNF",
"Neglected cases — no neck resorption",
"Age: 18 – 65 years",
], { fontSize: 13 }), {
x: 0.3, y: 3.39, w: 4.55, h: 1.18,
fontFace: "Calibri", valign: "top", margin: 5
});
// Right
s.addShape(pres.ShapeType.rect, { x: 5.15, y: 1.08, w: 4.55, h: 0.36, fill: { color: RED } });
s.addText("Exclusion Criteria", {
x: 5.15, y: 1.08, w: 4.55, h: 0.36,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(bullets([
"Poly-trauma interfering with rehabilitation",
"Basal neck fractures",
"Pathological fractures",
"Ipsilateral acetabular fractures",
"Pre-existing hip arthritis",
], { fontSize: 13 }), {
x: 5.15, y: 1.47, w: 4.55, h: 1.78,
fontFace: "Calibri", valign: "top", margin: 5
});
s.addShape(pres.ShapeType.rect, { x: 5.15, y: 3.28, w: 4.55, h: 0.36, fill: { color: TEAL } });
s.addText("Outcome Measures", {
x: 5.15, y: 3.28, w: 4.55, h: 0.36,
fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri",
align: "center", valign: "middle", margin: 0
});
s.addText(bullets([
"Modified Harris Hip Score (HHS) — 1M, 3M, 6M, up to 24M",
"Serial hip X-rays (AP + Lateral)",
"Follow-up: 1M, 3M, 6M then 6-monthly to 24 months",
], { fontSize: 13 }), {
x: 5.15, y: 3.67, w: 4.55, h: 1.18,
fontFace: "Calibri", valign: "top", margin: 5
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 7 — OPERATIVE TECHNIQUE: BDSF
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Operative Technique — BDSF");
s.addText(bullets([
"Patient supine on fracture table; closed reduction by Whitman manoeuvre (traction + internal rotation) or Leadbetter technique",
"If unreduced: Positive buttress / Gottfried non-anatomic (inferior cortical buttress) reduction — or open reduction via Smith-Peterson approach",
"Double-stitch skin incision (~4.4 cm); periosteal strip of lateral cortex over 3–4 cm",
"Distal guidewire: entry 4–7 cm below GT; angle 150–165° to diaphyseal axis with posterior inclination → spirals anteriorly along calcar to dorsal third of femoral head — 'V' on lateral, 'F' on AP view",
"Middle guidewire: entry 2–4 cm proximal to distal wire; angle 135–140° anteriorly-inferiorly — both distal and middle wires buttressed on calcar (the 'double support')",
"Superior guidewire: posterior third of lateral cortex, 1.5–2.0 cm above middle wire; parallel to middle wire toward superior quadrant of femoral head",
"Distal screw: drill perpendicular first, then progressively oblique; over-drill to reduce subtrochanteric fracture risk",
"Distal screw inserted WITHOUT compression to preserve biplanar cortical support",
], { fontSize: 12.5 }), {
x: 0.35, y: 1.05, w: 9.3, h: 4.22,
fontFace: "Calibri", valign: "top", margin: 6
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 8 — OPERATIVE TECHNIQUE: CFIX
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Operative Technique — CFIX (Conventional Parallel Screws)");
s.addText(bullets([
"Patient supine on fracture table; closed reduction by Whitman manoeuvre",
"Single skin incision (~2.79 cm); percutaneous approach",
"Three guidewires placed in standard inverted-triangle (parallel) configuration",
"Inferior wire placed along calcar in AP view; all wires parallel in both AP and lateral projections",
"Cannulated depth gauge used to measure screw length (lateral cortex to subchondral bone – 5 mm)",
"6.5 mm or 7.3 mm partially-threaded cannulated cancellous screws inserted with compression — lag effect compresses fracture surfaces",
"Screw positions confirmed on AP and lateral fluoroscopy; tips 5–10 mm from articular surface, no joint penetration",
"Tip-toe weight-bearing day 3; partial WB at 1 week; full WB only after radiological union",
], { fontSize: 12.5 }), {
x: 0.35, y: 1.05, w: 9.3, h: 4.22,
fontFace: "Calibri", valign: "top", margin: 6
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 9 — BDSF PRINCIPLE (with image)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "BDSF — Biomechanical Principle");
s.addText(bullets([
"3 medially diverging cannulated screws (unlike parallel screws in CFIX)",
"Two screws (distal + middle) buttressed on the calcar — the strongest cortical region",
"Inferior obtuse screw follows an anterior spiral curve: touches both inferior AND posterior cortex → biplanar double cortical support",
"+44% fixation strength vs conventional three-parallel-screw construct (cadaveric study, Filipov)",
"Increases axial stiffness and reduces interfragmentary motion → earlier weight-bearing possible",
"Historical basis: low-angle calcar fixation concepts described by Burns & Youngs (1942), Dickson (1953), Küntscher",
], { fontSize: 13 }), {
x: 0.35, y: 1.08, w: 5.25, h: 4.15,
fontFace: "Calibri", valign: "top", margin: 6
});
const bdsfImg = imgBase64("bdsf_technique.png");
if (bdsfImg) {
s.addImage({ data: bdsfImg, x: 5.75, y: 1.05, w: 3.95, h: 3.85 });
}
s.addShape(pres.ShapeType.rect, { x: 5.75, y: 4.9, w: 3.95, h: 0.3, fill: { color: TEAL } });
s.addText("BDSF screw configuration — AP and lateral views", {
x: 5.75, y: 4.9, w: 3.95, h: 0.3,
fontSize: 9, color: WHITE, italic: true, fontFace: "Calibri",
align: "center", valign: "middle", margin: 2
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 10 — CASE: CFIX (Fig 1)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Case — CFIX Group");
// Caption text
s.addText("48-year-old male, left femoral neck fracture, treated with conventional parallel screw fixation (CFIX)", {
x: 0.3, y: 1.0, w: 9.4, h: 0.38,
fontSize: 13, color: NAVY, bold: true, fontFace: "Calibri", margin: 2
});
const caseImg = imgBase64("fig4_1.png");
if (caseImg) {
s.addImage({ data: caseImg, x: 0.3, y: 1.42, w: 9.4, h: 3.72 });
}
s.addText("A: Single incision | B,C: Pre-op X-ray | D,E: 3-month post-op | F,G: Function at 6 months | H,I: Implant removal at 18 months", {
x: 0.3, y: 5.15, w: 9.4, h: 0.25,
fontSize: 9, color: TEAL, italic: true, fontFace: "Calibri", align: "center"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 11 — CASE: BDSF (Fig 2)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Case — BDSF Group");
s.addText("57-year-old male, left femoral neck fracture (Garden IV), treated with Biplane Double-Supported Screw Fixation (BDSF)", {
x: 0.3, y: 1.0, w: 9.4, h: 0.38,
fontSize: 13, color: NAVY, bold: true, fontFace: "Calibri", margin: 2
});
const bdsfCaseImg = imgBase64("fig5_1.png");
if (bdsfCaseImg) {
s.addImage({ data: bdsfCaseImg, x: 0.3, y: 1.42, w: 9.4, h: 3.72 });
}
s.addText("A: Double-stitch incision | B,C: Pre-op X-ray | D,E: 3-month post-op | F,G: Function at 6 months | H,I: 2-year follow-up", {
x: 0.3, y: 5.15, w: 9.4, h: 0.25,
fontSize: 9, color: TEAL, italic: true, fontFace: "Calibri", align: "center"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 12 — DEMOGRAPHICS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Demographics & Baseline Characteristics");
const rows = [
["Parameter", "Group A — BDSF (n=30)", "Group B — CFIX (n=30)", "p-value"],
["Age (mean ± SD, yrs)", "57.23 ± 7.64", "56.17 ± 10.07", "NS"],
["Sex (M / F)", "17 / 13", "13 / 17", "NS"],
["Self-fall", "29 (96.67%)", "28 (93.33%)", "NS"],
["Road traffic accident", "1 (3.33%)", "2 (6.67%)", "NS"],
["Garden III / IV", "7 / 23", "10 / 20", "NS"],
["Time to surgery (days)", "6.93 ± 9.03", "6.60 ± 3.63", "NS"],
["Incision length (cm)", "4.40 ± 0.51", "2.79 ± 0.47", "< 0.05 *"],
["Op duration (mins)", "57.93 ± 7.98", "55.93 ± 3.49", "NS"],
["Blood loss (ml)", "21.63 ± 1.81", "21.23 ± 2.39", "NS"],
];
const colW = [3.3, 2.5, 2.5, 1.3];
const startX = 0.3, startY = 1.07, rowH = 0.39;
rows.forEach((row, ri) => {
row.forEach((cell, ci) => {
const cx = startX + colW.slice(0, ci).reduce((a, b) => a + b, 0);
const cy = startY + ri * rowH;
const isHeader = ri === 0;
const isSig = cell.includes("*");
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: colW[ci], h: rowH,
fill: { color: isHeader ? NAVY : isSig ? "FFF3CD" : ri % 2 === 0 ? LGRAY : WHITE },
line: { color: "BDBDBD", pt: 0.5 }
});
s.addText(cell, {
x: cx + 0.05, y: cy + 0.02, w: colW[ci] - 0.1, h: rowH - 0.04,
fontSize: 11, bold: isHeader || isSig,
color: isHeader ? WHITE : isSig ? RED : TEXT,
fontFace: "Calibri", valign: "middle", margin: 2,
align: ci === 0 ? "left" : "center"
});
});
});
s.addText("* Statistically significant | NS = Not Significant | Groups are comparable at baseline", {
x: 0.3, y: 4.97, w: 9.4, h: 0.25,
fontSize: 9.5, color: TEAL, italic: true, fontFace: "Calibri"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 13 — FUNCTIONAL OUTCOMES (HHS)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Functional Outcomes — Modified Harris Hip Score");
// HHS comparison table
const hrows = [
["Time-point", "BDSF Mean HHS", "CFIX Mean HHS", "p-value", "BDSF Category", "CFIX Category"],
["1 Month", "85.28 ± 3.33", "72.20 ± 4.44", "< 0.05 *", "92% Good", "70% Fair / 26% Poor"],
["3 Months", "87.80 ± 10.54", "82.07 ± 6.55", "< 0.05 *", "68% Excellent / 24% Good", "80% Good / 20% Fair"],
["6 Months", "87.23 ± 17.38", "84.50 ± 39.34", "NS", "Comparable", "Comparable"],
];
const hColW = [1.35, 1.6, 1.6, 1.1, 2.1, 2.1];
const hStart = 0.25, hStartY = 1.07, hRowH = 0.52;
hrows.forEach((row, ri) => {
row.forEach((cell, ci) => {
const cx = hStart + hColW.slice(0, ci).reduce((a, b) => a + b, 0);
const cy = hStartY + ri * hRowH;
const isHeader = ri === 0;
const isSig = cell.includes("*");
const isNS = cell === "NS";
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: hColW[ci], h: hRowH,
fill: { color: isHeader ? NAVY : isSig ? "E8F5E9" : ri % 2 === 0 ? LGRAY : WHITE },
line: { color: "BDBDBD", pt: 0.5 }
});
s.addText(cell, {
x: cx + 0.04, y: cy + 0.03, w: hColW[ci] - 0.08, h: hRowH - 0.06,
fontSize: isHeader ? 10 : 11, bold: isHeader || isSig,
color: isHeader ? WHITE : isSig ? GREEN : isNS ? TEAL : TEXT,
fontFace: "Calibri", valign: "middle", margin: 2, align: "center"
});
});
});
// Key insight box
s.addShape(pres.ShapeType.rect, {
x: 0.25, y: 3.22, w: 9.5, h: 0.68,
fill: { color: "E8F5E9" }, line: { color: GREEN, pt: 1.5 }
});
s.addText([
{ text: "Key Finding: ", options: { bold: true, color: GREEN } },
{ text: "BDSF shows significantly superior early functional recovery at 1 month and 3 months. Both groups converge by 6 months — the advantage of BDSF is early stability and faster rehabilitation, not long-term superiority.", options: { color: TEXT } }
], {
x: 0.35, y: 3.24, w: 9.3, h: 0.64,
fontSize: 12.5, fontFace: "Calibri", valign: "middle", margin: 4
});
s.addText(bullets([
"Average union time: BDSF 12.55 weeks vs CFIX 14.68 weeks (p < 0.05)",
"Earlier union in BDSF → earlier full weight-bearing → superior early HHS",
"Limb-length discrepancy > 1 cm: 10% BDSF vs 23% CFIX (less shortening with BDSF)",
], { fontSize: 12 }), {
x: 0.35, y: 3.98, w: 9.3, h: 1.25,
fontFace: "Calibri", valign: "top", margin: 5
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 14 — UNION RATES
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Radiological Outcomes — Union Rates");
// Big union boxes
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 4.55, h: 2.1, fill: { color: "E8F5E9" }, line: { color: GREEN, pt: 2 } });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 4.55, h: 0.42, fill: { color: GREEN } });
s.addText("GROUP A — BDSF", { x: 0.3, y: 1.05, w: 4.55, h: 0.42, fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("93.33%", { x: 0.3, y: 1.47, w: 4.55, h: 1.0, fontSize: 50, bold: true, color: GREEN, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("Union Rate (28 / 30 cases)", { x: 0.3, y: 2.47, w: 4.55, h: 0.42, fontSize: 12, color: TEXT, fontFace: "Calibri", align: "center", italic: true, margin: 2 });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 2.85, w: 4.55, h: 0.35, fill: { color: GREEN } });
s.addText("Avg union: 12.55 ± 1.99 weeks", { x: 0.3, y: 2.85, w: 4.55, h: 0.35, fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.rect, { x: 5.15, y: 1.05, w: 4.55, h: 2.1, fill: { color: LGRAY }, line: { color: BLUE, pt: 2 } });
s.addShape(pres.ShapeType.rect, { x: 5.15, y: 1.05, w: 4.55, h: 0.42, fill: { color: BLUE } });
s.addText("GROUP B — CFIX", { x: 5.15, y: 1.05, w: 4.55, h: 0.42, fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("90.00%", { x: 5.15, y: 1.47, w: 4.55, h: 1.0, fontSize: 50, bold: true, color: BLUE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText("Union Rate (27 / 30 cases) — not significant", { x: 5.15, y: 2.47, w: 4.55, h: 0.42, fontSize: 12, color: TEXT, fontFace: "Calibri", align: "center", italic: true, margin: 2 });
s.addShape(pres.ShapeType.rect, { x: 5.15, y: 2.85, w: 4.55, h: 0.35, fill: { color: BLUE } });
s.addText("Avg union: 14.68 ± 5.25 weeks", { x: 5.15, y: 2.85, w: 4.55, h: 0.35, fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText(bullets([
"Time to union significantly faster with BDSF (12.55 vs 14.68 weeks, p < 0.05)",
"All failure cases: Garden IV fractures with posterior comminution — fracture pattern the main predictor",
"No avascular necrosis detected within available follow-up (AVN may manifest at 2–3 years — surveillance ongoing)",
], { fontSize: 13 }), {
x: 0.35, y: 3.3, w: 9.3, h: 1.92,
fontFace: "Calibri", valign: "top", margin: 5
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 15 — COMPLICATIONS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Complications");
const compRows = [
["Complication", "BDSF", "CFIX", "Management"],
["Non-union / Fixation failure", "—", "1", "Revision hemi-arthroplasty"],
["Pseudo-arthrosis", "2", "2", "Revision hemi-arthroplasty"],
["Subtrochanteric fracture", "1 *", "—", "Screw removal + PFLCP"],
["Screw back-out ≥ 20 mm", "1", "1", "Revision hemi-arthroplasty"],
["Screw migration into joint", "1", "—", "Revision hemi-arthroplasty"],
["Superficial infection", "1", "1", "Oral antibiotics"],
["Deep infection", "—", "1", "Screw removal after union"],
["AVN", "0", "0", "Surveillance ongoing"],
["Total failure rate", "6.67%", "10.0%", "p = NS"],
];
const ccW = [3.55, 0.9, 0.9, 2.65];
const csX = 0.25, csY = 1.07, crH = 0.38;
compRows.forEach((row, ri) => {
row.forEach((cell, ci) => {
const cx = csX + ccW.slice(0, ci).reduce((a, b) => a + b, 0);
const cy = csY + ri * crH;
const isHdr = ri === 0;
const isTotal = ri === compRows.length - 1;
s.addShape(pres.ShapeType.rect, {
x: cx, y: cy, w: ccW[ci], h: crH,
fill: { color: isHdr ? NAVY : isTotal ? "FFF3CD" : ri % 2 === 0 ? LGRAY : WHITE },
line: { color: "BDBDBD", pt: 0.5 }
});
s.addText(cell, {
x: cx + 0.04, y: cy + 0.02, w: ccW[ci] - 0.08, h: crH - 0.04,
fontSize: 11, bold: isHdr || isTotal,
color: isHdr ? WHITE : isTotal ? RED : cell === "0" || cell === "—" ? GREEN : TEXT,
fontFace: "Calibri", valign: "middle", margin: 2,
align: ci === 0 ? "left" : "center"
});
});
});
// Complication image (Fig 3)
const compImg = imgBase64("fig7_1.png");
if (compImg) {
s.addImage({ data: compImg, x: 8.1, y: 1.07, w: 1.65, h: 3.22 });
}
s.addText("* Subtrochanteric fracture at 10 weeks — FNF had already united. Treated with PFLCP.", {
x: 0.25, y: 4.87, w: 9.5, h: 0.3,
fontSize: 9.5, color: RED, italic: true, fontFace: "Calibri"
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 16 — DISCUSSION
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Discussion");
s.addText(bullets([
"BDSF formalises historical low-angle calcar-supported fixation (Burns & Youngs 1942, Dickson 1953, Küntscher) with optimised 3D screw geometry",
"Earlier union (12.55 vs 14.68 wks) → earlier full weight-bearing — consistent with Kalia et al. who reported 10-week union with BDSF",
"Superior HHS at 1M and 3M reflects early construct stability — advantage is in rehabilitation speed, not long-term outcome once healed",
"Overall union and complication rates comparable — fracture pattern (Garden IV + posterior comminution) the main predictor of failure, regardless of implant",
"LLD > 1 cm less common with BDSF (10% vs 23%) — calcar support reduces neck shortening",
"No AVN in either group within follow-up — late AVN remains possible; MRI at 24 months recommended",
"BDSF uses standard implants at lower cost vs FNS — advantage in resource-limited settings (Indian context)",
"Technically demanding: ideal biplanar trajectory not achieved in all cases in Indian series — training and fluoroscopic expertise mandatory",
], { fontSize: 12.5 }), {
x: 0.35, y: 1.05, w: 9.3, h: 4.22,
fontFace: "Calibri", valign: "top", margin: 6
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 17 — LIMITATIONS
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "Limitations");
s.addText(bullets([
"Intraoperative variation — not all BDSF cases achieved ideal biplanar configuration; reflects real-world practice but may underestimate the true effect of BDSF",
"No formal bone quality assessment (DEXA scan) — osteoporosis not controlled for; key factor in fixation failure",
"Follow-up < 24 months in a proportion of patients — late AVN (presents 2–3 years post-fixation) may be underestimated",
"Quasi-randomization (alternating assignment) — not a true RCT; potential selection bias despite comparable baseline characteristics",
"Small sample size (n = 60) — study may be underpowered to detect statistically significant differences in complication rates",
"Single-centre study — results may not be generalisable to all surgical environments and patient populations",
], { fontSize: 14 }), {
x: 0.35, y: 1.05, w: 9.3, h: 4.22,
fontFace: "Calibri", valign: "top", margin: 6
});
addFooter(s);
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 18 — CONCLUSION (dark slide)
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: NAVY } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: GOLD } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.52, w: "100%", h: 0.1, fill: { color: GOLD } });
s.addText("Conclusion", {
x: 0.3, y: 0.1, w: 9.4, h: 0.75,
fontSize: 28, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", charSpacing: 4
});
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.85, w: 3.5, h: 0.07, fill: { color: GOLD } });
const concs = [
{ n: "1", text: "BDSF achieves significantly faster union (12.55 vs 14.68 weeks, p<0.05), enabling earlier full weight-bearing", color: GOLD },
{ n: "2", text: "Significantly superior early functional outcomes at 1 month (HHS 85.28 vs 72.20) and 3 months (87.80 vs 82.07) with BDSF — groups converge at 6 months", color: "80DEEA" },
{ n: "3", text: "Overall union rates comparable (93.33% vs 90.00%) — no significant difference in complication rates between groups", color: "A5D6A7" },
{ n: "4", text: "BDSF is a promising, cost-effective fixation alternative for displaced intracapsular FNF using standard implants", color: "CE93D8" },
{ n: "5", text: "Technical demands of BDSF must not be underestimated — surgeon training and fluoroscopic expertise are essential prerequisites", color: "FFAB91" },
];
let cy = 1.0;
concs.forEach((c) => {
s.addShape(pres.ShapeType.rect, { x: 0.3, y: cy, w: 0.45, h: 0.72, fill: { color: c.color } });
s.addText(c.n, { x: 0.3, y: cy, w: 0.45, h: 0.72, fontSize: 20, bold: true, color: NAVY, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText(c.text, { x: 0.85, y: cy + 0.04, w: 8.85, h: 0.65, fontSize: 13.5, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 4 });
cy += 0.82;
});
s.addText("Indian Journal of Orthopaedics, 2026 • DOI: 10.1007/s43465-026-01830-1", {
x: 0.3, y: 5.2, w: 9.4, h: 0.28,
fontSize: 9, color: LGRAY, italic: true, fontFace: "Calibri", align: "center"
});
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 19 — REFERENCES
// ═══════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: WHITE } });
addHeader(s, "References");
const refs = [
"1. Parker MJ, Gurusamy KS. Internal fixation implants for intracapsular hip fractures. Cochrane Database Syst Rev. 2001.",
"2. Filipov O. BDSF at femoral neck fractures — principle and clinical outcomes. J IMAB. 2013;19(1):423–428.",
"3. Filipov OB. BDSF surgical technique and notes. JAAOS. 2019;27:e507–e515.",
"4. Tang Z et al. Biomechanical study of BDSF based on Pauwels angle: FEA. Front Bioeng Biotechnol. 2024;12:1358181.",
"5. Ramadanov N et al. Factors influencing complications of FNF by cannulated screw fixation. Sci Rep. 2020.",
"6. Haidukewych GJ et al. Operative treatment of FNF aged 15–50. JBJS Am. 2004;86(8):1711–1716.",
"7. Garden RS. Low angle fixation in fractures of the femoral neck. JBJS. 1961;43(4):647–663.",
"8. Galal S, Nagy M. Non-parallel screw fixation for FNF in young adults. J Clin Orthop Trauma. 2017;8(3):220–224.",
"9. Sami A et al. Biplane double-supported screw fixation in femoral neck fractures. Indian J Orthop. 2022.",
"10. Zhu Z et al. Biomechanical study of internal fixation for FNF: FEA. Front Bioeng. 2025;30(13):1678294.",
"11. He C et al. FNS vs cannulated screws for Pauwels III FNF. BMC Musculoskelet Disord. 2021;22(1):994.",
"12. Su M et al. FNS + cannulated screw in femoral neck fractures. BMC Musculoskelet Disord. 2023;24(1):823.",
];
const half = Math.ceil(refs.length / 2);
const refItems1 = refs.slice(0, half).map((r, i) => ({ text: r, options: { breakLine: i < half - 1, fontSize: 11, color: TEXT } }));
const refItems2 = refs.slice(half).map((r, i) => ({ text: r, options: { breakLine: i < refs.length - half - 1, fontSize: 11, color: TEXT } }));
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 1.05, w: 4.65, h: 4.18, fill: { color: LGRAY }, line: { color: TEAL, pt: 1 } });
s.addText(refItems1, { x: 0.35, y: 1.1, w: 4.45, h: 4.08, fontFace: "Calibri", valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.05, w: 4.65, h: 4.18, fill: { color: LGRAY }, line: { color: TEAL, pt: 1 } });
s.addText(refItems2, { x: 5.2, y: 1.1, w: 4.45, h: 4.08, fontFace: "Calibri", valign: "top", margin: 4 });
addFooter(s);
}
// ─── SAVE ────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/bdsf-ppt/BDSF_vs_CFIX_FNF_Conference.pptx" })
.then(() => console.log("PPT saved successfully!"))
.catch(err => { console.error("Error:", err); process.exit(1); });
cp /home/daytona/workspace/bdsf-ppt/create_ppt.js /home/daytona/workspace/bdsf-ppt/create_ppt_backup.js && echo "backed up"