Prepare slide for brachytherapy role for physio theraphy in Cervical cancer
brachytherapy cervical cancer intracavitary applicator tandem ring
physiotherapy rehabilitation after cervical cancer pelvic floor exercises
mkdir -p /home/daytona/workspace/brachytherapy-cervical-ppt && ls /home/daytona/workspace/
~/brachytherapy-cervical-ppt/create_presentation.js
const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Brachytherapy Role in Physiotherapy for Cervical Cancer";
pres.author = "Orris Medical AI";
// ─── Color Palette ─────────────────────────────────────────────────────────────
const TEAL = "006D77"; // dominant deep teal
const TEAL_DARK = "004E57"; // darker teal for header bands
const TEAL_MED = "218089"; // medium teal for accents
const TEAL_LIGHT = "83C5BE"; // light teal for dividers
const CREAM = "EDF6F9"; // near-white slide background
const SAND = "FFDDD2"; // warm accent (highlight boxes)
const ORANGE_ACC = "E29578"; // orange accent
const WHITE = "FFFFFF";
const DARK_TEXT = "1A1A2E";
const GRAY_TEXT = "4A5568";
// ─── Reusable helpers ───────────────────────────────────────────────────────────
function addStyledSlide(titleText, subtitleText) {
const slide = pres.addSlide();
// Full background
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: CREAM },
line: { color: CREAM }
});
// Top header band
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 1.1,
fill: { color: TEAL_DARK },
line: { color: TEAL_DARK }
});
// Teal accent stripe
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 1.1, w: 10, h: 0.08,
fill: { color: TEAL_LIGHT },
line: { color: TEAL_LIGHT }
});
// Title text
slide.addText(titleText, {
x: 0.4, y: 0.1, w: 9.2, h: 0.9,
fontSize: 26, bold: true, color: WHITE, fontFace: "Calibri",
valign: "middle", margin: 0
});
if (subtitleText) {
slide.addText(subtitleText, {
x: 0.4, y: 1.2, w: 9.2, h: 0.4,
fontSize: 13, color: TEAL, fontFace: "Calibri", italic: true, margin: 0
});
}
return slide;
}
function addBulletBox(slide, items, x, y, w, h, bgColor, textColor, fontSize) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h,
fill: { color: bgColor || WHITE },
line: { color: TEAL_LIGHT, pt: 1 },
rectRadius: 0.08,
shadow: { type: "outer", color: "000000", blur: 4, offset: 2, angle: 135, opacity: 0.08 }
});
const textItems = items.map((item, i) => {
if (item.startsWith("##")) {
return {
text: item.replace("##", "").trim(),
options: { bold: true, color: TEAL_DARK, fontSize: (fontSize || 13) + 1, breakLine: true }
};
}
return {
text: item,
options: { bullet: { code: "25CF", color: ORANGE_ACC }, color: textColor || DARK_TEXT, fontSize: fontSize || 13, breakLine: i < items.length - 1 }
};
});
slide.addText(textItems, {
x: x + 0.15, y: y + 0.1, w: w - 0.3, h: h - 0.2,
valign: "top", fontFace: "Calibri"
});
}
function addIconBox(slide, iconChar, label, desc, x, y) {
// Card bg
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w: 2.8, h: 1.8,
fill: { color: WHITE }, line: { color: TEAL_LIGHT, pt: 1 }, rectRadius: 0.1,
shadow: { type: "outer", color: "000000", blur: 6, offset: 2, angle: 135, opacity: 0.1 }
});
// Icon bg circle
slide.addShape(pres.shapes.OVAL, {
x: x + 0.95, y: y + 0.12, w: 0.9, h: 0.9,
fill: { color: SAND }, line: { color: ORANGE_ACC, pt: 1 }
});
slide.addText(iconChar, { x: x + 0.95, y: y + 0.13, w: 0.9, h: 0.85, fontSize: 22, align: "center", valign: "middle", fontFace: "Segoe UI Emoji" });
slide.addText(label, { x: x + 0.1, y: y + 1.08, w: 2.6, h: 0.32, fontSize: 11.5, bold: true, color: TEAL_DARK, align: "center", fontFace: "Calibri" });
slide.addText(desc, { x: x + 0.1, y: y + 1.38, w: 2.6, h: 0.35, fontSize: 10, color: GRAY_TEXT, align: "center", fontFace: "Calibri" });
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE SLIDE
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = pres.addSlide();
// Full teal background
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: TEAL_DARK }, line: { color: TEAL_DARK }
});
// Diagonal accent
slide.addShape(pres.shapes.RECTANGLE, {
x: 6.5, y: 0, w: 3.5, h: 5.625,
fill: { color: TEAL_MED }, line: { color: TEAL_MED }
});
// Vertical accent line
slide.addShape(pres.shapes.RECTANGLE, {
x: 6.3, y: 0, w: 0.15, h: 5.625,
fill: { color: TEAL_LIGHT }, line: { color: TEAL_LIGHT }
});
// Decorative circles
slide.addShape(pres.shapes.OVAL, { x: 7.2, y: 0.3, w: 1.4, h: 1.4, fill: { color: TEAL_DARK, transparency: 40 }, line: { color: TEAL_DARK } });
slide.addShape(pres.shapes.OVAL, { x: 8.1, y: 3.8, w: 1.8, h: 1.8, fill: { color: TEAL_DARK, transparency: 40 }, line: { color: TEAL_DARK } });
// Top label
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.4, y: 0.45, w: 2.8, h: 0.35,
fill: { color: ORANGE_ACC }, line: { color: ORANGE_ACC }
});
slide.addText("ONCOLOGY PHYSIOTHERAPY", {
x: 0.4, y: 0.45, w: 2.8, h: 0.35,
fontSize: 9, color: WHITE, bold: true, align: "center", valign: "middle", fontFace: "Calibri"
});
// Main title
slide.addText("Brachytherapy", {
x: 0.4, y: 1.05, w: 5.7, h: 0.9,
fontSize: 38, bold: true, color: WHITE, fontFace: "Calibri", valign: "bottom"
});
slide.addText("Role in Physiotherapy", {
x: 0.4, y: 1.85, w: 5.7, h: 0.65,
fontSize: 28, bold: false, color: TEAL_LIGHT, fontFace: "Calibri"
});
slide.addText("for Cervical Cancer", {
x: 0.4, y: 2.4, w: 5.7, h: 0.65,
fontSize: 28, bold: true, color: SAND, fontFace: "Calibri"
});
// Divider line
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.4, y: 3.2, w: 5.5, h: 0.04,
fill: { color: ORANGE_ACC }, line: { color: ORANGE_ACC }
});
slide.addText("Comprehensive Management & Rehabilitation", {
x: 0.4, y: 3.35, w: 5.5, h: 0.4,
fontSize: 13, color: CREAM, fontFace: "Calibri", italic: true
});
slide.addText("April 2026", {
x: 0.4, y: 5.1, w: 2, h: 0.3,
fontSize: 10, color: TEAL_LIGHT, fontFace: "Calibri"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — OVERVIEW OF CERVICAL CANCER & RADIATION
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Cervical Cancer: Overview & Radiation Rationale", "Background & Clinical Context");
// Two-column layout
addBulletBox(slide, [
"## Epidemiology",
"4th most common female malignancy worldwide",
"Squamous cell carcinoma: ~70-80% of cases",
"Adenocarcinoma: ~20-25% of cases",
"5-year survival: ~70% stage I, ~60% stage II, ~45% stage III"
], 0.3, 1.65, 4.5, 2.6, WHITE, DARK_TEXT, 12);
addBulletBox(slide, [
"## Why Radiation?",
"Radiotherapy can treat ALL stages of cervical cancer",
"Comparable outcomes to surgery for early-stage disease",
"Allows organ preservation (vs. radical surgery)",
"Chemoradiation is standard for advanced disease (IIB–IV)",
"EBRT + Brachytherapy: cornerstone of curative intent"
], 5.0, 1.65, 4.65, 2.6, WHITE, DARK_TEXT, 12);
// Bottom info bar
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 4.5, w: 9.4, h: 0.85,
fill: { color: TEAL }, line: { color: TEAL }, rectRadius: 0.06
});
slide.addText("Key Principle: External beam radiation (EBRT) reduces tumor bulk → Brachytherapy delivers high-dose boost directly to residual tumor", {
x: 0.5, y: 4.55, w: 9.0, h: 0.72,
fontSize: 12.5, color: WHITE, fontFace: "Calibri", bold: false, valign: "middle"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — WHAT IS BRACHYTHERAPY?
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("What is Brachytherapy?", "Radiation from Within");
// Definition box
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.65, w: 9.4, h: 0.75,
fill: { color: TEAL }, line: { color: TEAL }
});
slide.addText([
{ text: "Definition: ", options: { bold: true, color: SAND } },
{ text: "A form of radiation therapy where a radioactive source is placed onto or inside the treatment volume (tumour). Dose falls off rapidly (inverse square law), sparing healthy tissues.", options: { color: WHITE } }
], { x: 0.5, y: 1.68, w: 9.0, h: 0.68, fontSize: 12.5, fontFace: "Calibri", valign: "middle" });
// 3 key feature cards
const features = [
["📍", "Localised Action", "Radiation confined\nnear the source"],
["🔢", "Inverse Square Law", "Dose drops sharply\nwith distance"],
["💊", "High-Dose Delivery", "Very high doses\nto tumour target"],
["⚕️", "OAR Sparing", "Bladder & rectum\nprotected"]
];
const startX = [0.3, 2.75, 5.2, 7.65];
features.forEach((f, i) => {
addIconBox(slide, f[0], f[1], f[2], startX[i], 2.6);
});
// Bottom note
slide.addText("Greek: brachy = short distance | Isotope: Iridium-192 (HDR) most common in modern practice", {
x: 0.4, y: 5.12, w: 9.2, h: 0.35,
fontSize: 10.5, color: TEAL_MED, italic: true, fontFace: "Calibri", align: "center"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — TYPES OF BRACHYTHERAPY
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Types of Brachytherapy for Cervical Cancer", "Techniques & Delivery Methods");
// LDR box
addBulletBox(slide, [
"## LDR — Low Dose Rate",
"Dose rate < 0.4 Gy/hour",
"Isotope: Cesium-137 (Cs-137)",
"Inpatient admission required (1-3 days)",
"Patient immobilized during treatment",
"DVT prophylaxis and radiation shielding needed",
"Largely replaced by HDR in modern practice"
], 0.3, 1.65, 4.5, 2.8, WHITE, DARK_TEXT, 12);
// HDR box
addBulletBox(slide, [
"## HDR — High Dose Rate",
"Dose rate > 12 Gy/hour",
"Isotope: Iridium-192 (Ir-192) via remote afterloader",
"Outpatient — treatment takes only minutes",
"4–5 fractions over the treatment course",
"No prolonged immobilization",
"Modern standard: image-guided (CT/MRI)"
], 5.0, 1.65, 4.65, 2.8, WHITE, DARK_TEXT, 12);
// Interstitial note
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 4.62, w: 9.4, h: 0.75,
fill: { color: SAND }, line: { color: ORANGE_ACC, pt: 1 }
});
slide.addText([
{ text: "Interstitial Brachytherapy: ", options: { bold: true, color: TEAL_DARK } },
{ text: "Hollow needles implanted directly into the tumour — used for bulky/irregular tumours where intracavitary applicators cannot achieve adequate coverage.", options: { color: DARK_TEXT } }
], { x: 0.5, y: 4.65, w: 9.0, h: 0.68, fontSize: 12, fontFace: "Calibri", valign: "middle" });
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — TREATMENT PROTOCOL
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Brachytherapy Treatment Protocol", "Sequence, Dosimetry & Planning");
// Timeline arrows
const steps = [
{ label: "EBRT", sub: "25-28 fractions\n5 weeks pelvic radiation" },
{ label: "Week 4", sub: "Brachytherapy\nintroduced concurrently" },
{ label: "Applicator\nPlacement", sub: "Tandem + ring/ovoid\nunder anesthesia" },
{ label: "3D Imaging", sub: "CT or MRI with\napplicators in situ" },
{ label: "HDR\nFraction", sub: "Remote Ir-192\nsource delivery" }
];
const boxW = 1.75;
const startX = 0.25;
const gap = 0.12;
const y = 1.75;
const h = 1.4;
steps.forEach((s, i) => {
const x = startX + i * (boxW + gap);
// Arrow shape bg
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w: boxW, h,
fill: { color: i % 2 === 0 ? TEAL : TEAL_MED },
line: { color: TEAL_DARK },
rectRadius: 0.07
});
slide.addText(s.label, {
x: x + 0.05, y: y + 0.1, w: boxW - 0.1, h: 0.5,
fontSize: 13, bold: true, color: WHITE, align: "center", fontFace: "Calibri"
});
slide.addText(s.sub, {
x: x + 0.05, y: y + 0.6, w: boxW - 0.1, h: 0.75,
fontSize: 10, color: CREAM, align: "center", fontFace: "Calibri"
});
// Arrow connector
if (i < steps.length - 1) {
slide.addShape(pres.shapes.RIGHT_ARROW, {
x: x + boxW, y: y + 0.55, w: gap + 0.05, h: 0.3,
fill: { color: ORANGE_ACC }, line: { color: ORANGE_ACC }
});
}
});
// Dosimetry box
addBulletBox(slide, [
"## Modern 3D Image-Guided Adaptive Brachytherapy (IGABT)",
"HR-CTV D90: 8,500–9,500 cGy cumulative (GEC-ESTRO guidelines)",
"Bladder constraint: D2cc < 90 Gy EQD2 | Rectum/Sigmoid: D2cc < 75 Gy EQD2",
"Imaging at each insertion: plan adapted to tumour shrinkage",
"Tumour control dose depends on tumour volume"
], 0.3, 3.3, 9.4, 2.05, WHITE, DARK_TEXT, 12);
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — PHYSIOTHERAPY ROLE: OVERVIEW
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Role of Physiotherapy in Brachytherapy", "Pre-, Peri- and Post-Treatment Rehabilitation");
// Phase banner
const phases = [
{ label: "PRE-TREATMENT", color: TEAL_DARK, sub: "Assessment &\nConditioning" },
{ label: "DURING BT", color: TEAL_MED, sub: "Comfort &\nSafety" },
{ label: "ACUTE POST", color: ORANGE_ACC, sub: "Early Rehab\n& Education" },
{ label: "LONG-TERM", color: TEAL, sub: "Chronic Sequelae\nManagement" }
];
phases.forEach((p, i) => {
const x = 0.3 + i * 2.38;
slide.addShape(pres.shapes.RECTANGLE, {
x, y: 1.65, w: 2.2, h: 0.5,
fill: { color: p.color }, line: { color: p.color }
});
slide.addText(p.label, { x, y: 1.65, w: 2.2, h: 0.5, fontSize: 10.5, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri" });
slide.addShape(pres.shapes.RECTANGLE, {
x, y: 2.15, w: 2.2, h: 0.6,
fill: { color: CREAM }, line: { color: p.color, pt: 1 }
});
slide.addText(p.sub, { x: x + 0.05, y: 2.15, w: 2.1, h: 0.6, fontSize: 10, color: p.color, align: "center", valign: "middle", fontFace: "Calibri", bold: true });
});
// Core roles
addBulletBox(slide, [
"## Key Physiotherapy Domains",
"Pelvic floor rehabilitation: strengthening and coordination after radiation damage",
"Lymphoedema management: compression therapy for lower limb/genital oedema",
"Vaginal stenosis prevention: education on use of vaginal dilators post-RT",
"Pain management: manual therapy, TENS, heat/cold modalities",
"Functional mobility and fatigue management",
"Bladder & bowel dysfunction rehabilitation (incontinence, urgency)"
], 0.3, 2.95, 9.4, 2.4, WHITE, DARK_TEXT, 12);
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — PELVIC FLOOR REHABILITATION
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Pelvic Floor Rehabilitation Post-Brachytherapy", "Targeting Radiation-Induced Pelvic Dysfunction");
addBulletBox(slide, [
"## Radiation Effects on Pelvic Floor",
"Radiation-induced vasculitis and fibrosis → pelvic floor weakness",
"Bladder fistula rate: 1.4–5.3% after pelvic RT",
"Other serious toxicity (stricture, stenosis): 6.4–8.1%",
"Vaginal fibrosis and stenosis — especially in postmenopausal patients"
], 0.3, 1.65, 4.5, 2.5, WHITE, DARK_TEXT, 12);
addBulletBox(slide, [
"## Physiotherapy Interventions",
"Kegel (pelvic floor muscle) exercises: progressive resistance programme",
"Biofeedback-assisted pelvic floor training",
"Vaginal dilator programme: prevents stenosis, maintains sexual function",
"Bladder retraining protocols for urgency/frequency",
"Bowel management: dietary advice + core stabilisation",
"Coordinate with multidisciplinary team (oncologist, nurse specialist)"
], 5.0, 1.65, 4.65, 2.5, WHITE, DARK_TEXT, 12);
// Acute vs chronic box
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 4.32, w: 4.5, h: 1.02,
fill: { color: SAND }, line: { color: ORANGE_ACC, pt: 1 }
});
slide.addText([
{ text: "ACUTE (during/after RT): ", options: { bold: true, color: TEAL_DARK } },
{ text: "Diarrhoea, bladder cramps, nausea, frequency — managed with dietary modification, antispasmodics, physio support", options: { color: DARK_TEXT } }
], { x: 0.45, y: 4.35, w: 4.2, h: 0.96, fontSize: 11, fontFace: "Calibri", valign: "middle" });
slide.addShape(pres.shapes.RECTANGLE, {
x: 5.0, y: 4.32, w: 4.65, h: 1.02,
fill: { color: TEAL }, line: { color: TEAL_DARK, pt: 1 }
});
slide.addText([
{ text: "CHRONIC (months–years post-RT): ", options: { bold: true, color: SAND } },
{ text: "Fibrosis, fistulae, lymphoedema — require ongoing physio, specialist MDT, and sometimes surgical management", options: { color: WHITE } }
], { x: 5.15, y: 4.35, w: 4.35, h: 0.96, fontSize: 11, fontFace: "Calibri", valign: "middle" });
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — LYMPHOEDEMA & MOBILITY
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Lymphoedema Management & Functional Mobility", "Secondary Physiotherapy Priorities");
// Left column
addBulletBox(slide, [
"## Lower Limb Lymphoedema",
"Pelvic node irradiation disrupts lymphatic drainage",
"Affects up to 30% of patients after pelvic RT + lymphadenectomy",
"Complete Decongestive Therapy (CDT):",
" → Manual lymphatic drainage (MLD)",
" → Multilayer compression bandaging",
" → Therapeutic exercises",
" → Skin and nail care"
], 0.3, 1.65, 4.5, 3.1, WHITE, DARK_TEXT, 11.5);
// Right column
addBulletBox(slide, [
"## Fatigue & Functional Rehabilitation",
"Cancer-related fatigue: most common patient complaint",
"Graded aerobic exercise programme (walking, cycling)",
"Resistance training: lower limb and core strengthening",
"Energy conservation strategies and activity pacing",
"Hip flexor and iliopsoas stretching post-pelvic RT",
"Gait retraining if lymphoedema affects mobility",
"Return-to-work & activity-of-daily-life planning"
], 5.0, 1.65, 4.65, 3.1, WHITE, DARK_TEXT, 11.5);
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 4.92, w: 9.4, h: 0.45,
fill: { color: TEAL_MED }, line: { color: TEAL_MED }
});
slide.addText("Evidence base: Supervised exercise programmes reduce fatigue, improve QoL and functional outcomes in gynaecological cancer survivors", {
x: 0.4, y: 4.94, w: 9.2, h: 0.4,
fontSize: 11, color: WHITE, fontFace: "Calibri", italic: true, valign: "middle"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — RADIATION COMPLICATIONS & PHYSIO ROLE
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Managing Radiation Complications", "Physiotherapy Contribution to Side-Effect Management");
// 3-column complication cards
const cols = [
{
title: "Radiation Proctopathy",
color: TEAL_DARK,
items: [
"Rectal bleeding post-pelvic RT",
"Bowel urgency & incontinence",
"Physio role: bowel retraining",
"Pelvic floor coordination training",
"MDT with gastroenterologist",
"Dietary fibre modification education"
]
},
{
title: "Bladder Dysfunction",
color: TEAL_MED,
items: [
"Urgency, frequency, incontinence",
"Radiation cystitis symptoms",
"Physio role: bladder diary keeping",
"Bladder retraining schedule",
"Pelvic floor muscle training",
"Biofeedback for sphincter control"
]
},
{
title: "Vaginal Stenosis & Sexual Health",
color: ORANGE_ACC,
items: [
"Fibrosis → vaginal narrowing",
"Sexual dysfunction common post-RT",
"Physio role: dilator therapy programme",
"Pelvic floor relaxation techniques",
"Patient education on lubricants",
"Sexual health counselling referral"
]
}
];
cols.forEach((col, i) => {
const x = 0.3 + i * 3.22;
slide.addShape(pres.shapes.RECTANGLE, {
x, y: 1.65, w: 3.0, h: 0.42,
fill: { color: col.color }, line: { color: col.color }
});
slide.addText(col.title, {
x, y: 1.65, w: 3.0, h: 0.42,
fontSize: 11.5, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri"
});
addBulletBox(slide, col.items, x, 2.07, 3.0, 3.25, WHITE, DARK_TEXT, 11);
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — POSITIONING & IMMOBILISATION DURING BT
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Physiotherapy During Brachytherapy Procedures", "Patient Positioning, Comfort & DVT Prevention");
addBulletBox(slide, [
"## During LDR Brachytherapy (Inpatient)",
"Patient immobilised for 1–3 days with applicators in situ",
"DVT prophylaxis: LMWH, compression stockings, ankle exercises",
"Physiotherapist role: supervised gentle ankle pumps & isometrics",
"Pressure ulcer prevention: repositioning within permitted range",
"Respiratory exercises: deep breathing, coughing techniques",
"Psychological support: managing anxiety during confinement"
], 0.3, 1.65, 4.5, 3.25, WHITE, DARK_TEXT, 12);
addBulletBox(slide, [
"## During HDR Brachytherapy (Outpatient)",
"Treatment takes only minutes — minimal immobilisation",
"Pre-procedure: relaxation techniques to reduce anxiety",
"Post-procedure: assist patient to mobilise safely",
"Nausea & discomfort: TENS, positioning advice",
"Pain management after applicator placement",
"Education on what to expect between fractions",
"Home exercise programme maintenance during treatment"
], 5.0, 1.65, 4.65, 3.25, WHITE, DARK_TEXT, 12);
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 5.07, w: 9.4, h: 0.33,
fill: { color: TEAL }, line: { color: TEAL }
});
slide.addText("Intraoperative real-time ultrasound guidance during tandem placement: Reduces uterine perforation (~9% risk) — physiotherapist assists with patient positioning", {
x: 0.45, y: 5.08, w: 9.1, h: 0.3,
fontSize: 10.5, color: WHITE, fontFace: "Calibri", valign: "middle"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — MULTIDISCIPLINARY TEAM
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = addStyledSlide("Multidisciplinary Team & Physiotherapy Integration", "The Physio as Core MDT Member");
// Central circle
slide.addShape(pres.shapes.OVAL, {
x: 3.9, y: 2.1, w: 2.2, h: 1.4,
fill: { color: TEAL_DARK }, line: { color: TEAL_DARK }
});
slide.addText("PATIENT\n& MDT", {
x: 3.9, y: 2.1, w: 2.2, h: 1.4,
fontSize: 13, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri"
});
// Surrounding roles
const roles = [
{ x: 0.2, y: 1.65, label: "Radiation\nOncologist", sub: "EBRT & BT planning,\ndose prescription" },
{ x: 3.8, y: 1.35, label: "Medical\nPhysicist", sub: "Dosimetry, inverse\nsquare law calcs" },
{ x: 7.3, y: 1.65, label: "Gynaecologic\nOncologist", sub: "Surgery, staging,\nstent placement" },
{ x: 0.2, y: 3.6, label: "Physiotherapist", sub: "Rehab, pelvic floor,\nlymphoedema, mobility" },
{ x: 3.8, y: 4.15, label: "Oncology\nNurse", sub: "Care co-ordination,\npatient education" },
{ x: 7.3, y: 3.6, label: "Psycho-\nOncologist", sub: "Anxiety, depression,\nsexual health" }
];
roles.forEach(r => {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: r.x, y: r.y, w: 2.3, h: 1.15,
fill: { color: r.label.includes("Physio") ? SAND : WHITE },
line: { color: r.label.includes("Physio") ? ORANGE_ACC : TEAL_LIGHT, pt: r.label.includes("Physio") ? 2 : 1 },
rectRadius: 0.08
});
slide.addText(r.label, {
x: r.x + 0.05, y: r.y + 0.08, w: 2.2, h: 0.45,
fontSize: 11.5, bold: true, color: r.label.includes("Physio") ? TEAL_DARK : TEAL, align: "center", fontFace: "Calibri"
});
slide.addText(r.sub, {
x: r.x + 0.05, y: r.y + 0.53, w: 2.2, h: 0.58,
fontSize: 9.5, color: GRAY_TEXT, align: "center", fontFace: "Calibri"
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 12 — SUMMARY & KEY TAKEAWAYS
// ═══════════════════════════════════════════════════════════════════════════════
{
const slide = pres.addSlide();
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: TEAL_DARK }, line: { color: TEAL_DARK }
});
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 1.05,
fill: { color: TEAL }, line: { color: TEAL }
});
slide.addText("Summary & Key Takeaways", {
x: 0.4, y: 0.1, w: 9.2, h: 0.85,
fontSize: 26, bold: true, color: WHITE, valign: "middle", fontFace: "Calibri"
});
const points = [
["01", "Brachytherapy is ESSENTIAL", "Intracavitary/interstitial BT delivers the crucial dose boost to the cervical tumour — modern 3D IGABT has halved toxicity vs. 2D"],
["02", "Physiotherapy spans the continuum", "From pre-treatment conditioning to long-term chronic side-effect management — physio is involved at every stage"],
["03", "Pelvic floor is central", "Radiation causes fibrosis, incontinence, stenosis — targeted PFMT and dilator therapy prevent significant disability"],
["04", "Lymphoedema demands specialist care", "CDT (MLD + compression + exercise) must be initiated early; affects up to 30% post-pelvic RT"],
["05", "MDT collaboration is non-negotiable", "Physiotherapist must work with radiation oncologist, gynaecologist, and nurse to deliver safe, timely rehabilitation"]
];
points.forEach((p, i) => {
const y = 1.2 + i * 0.85;
// Number badge
slide.addShape(pres.shapes.OVAL, {
x: 0.3, y: y + 0.12, w: 0.55, h: 0.55,
fill: { color: ORANGE_ACC }, line: { color: ORANGE_ACC }
});
slide.addText(p[0], {
x: 0.3, y: y + 0.12, w: 0.55, h: 0.55,
fontSize: 12, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri"
});
slide.addText(p[1] + ": ", {
x: 1.0, y: y + 0.14, w: 8.7, h: 0.3,
fontSize: 12.5, bold: true, color: SAND, fontFace: "Calibri"
});
slide.addText(p[2], {
x: 1.0, y: y + 0.42, w: 8.7, h: 0.36,
fontSize: 11, color: CREAM, fontFace: "Calibri"
});
});
slide.addText("Source: Berek & Novak's Gynecology | Grainger & Allison's Diagnostic Radiology | Berek & Novak's Gynecology, pp. 2252–2265", {
x: 0.3, y: 5.28, w: 9.4, h: 0.25,
fontSize: 8.5, color: TEAL_LIGHT, italic: true, fontFace: "Calibri", align: "center"
});
}
// ─── Write file ─────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/brachytherapy-cervical-ppt/Brachytherapy_Cervical_Cancer_Physiotherapy.pptx" })
.then(() => console.log("✅ Presentation saved successfully!"))
.catch(err => { console.error("❌ Error:", err); process.exit(1); });
cd /home/daytona/workspace/brachytherapy-cervical-ppt && node create_presentation.js
ls -lh /home/daytona/workspace/brachytherapy-cervical-ppt/
Brachytherapy Cervical Cancer Physiotherapy
Presentation · PPTX
| Slide | Title |
|---|---|
| 1 | Title Slide — Brachytherapy Role in Physiotherapy for Cervical Cancer |
| 2 | Cervical Cancer Overview & Radiation Rationale — epidemiology, why radiation |
| 3 | What is Brachytherapy? — definition, inverse square law, dose localisation |
| 4 | Types of Brachytherapy — LDR vs HDR vs Interstitial |
| 5 | Treatment Protocol — EBRT → BT sequence, 3D IGABT dosimetry, GEC-ESTRO guidelines |
| 6 | Role of Physiotherapy: Overview — Pre/Peri/Post phases, key domains |
| 7 | Pelvic Floor Rehabilitation — radiation effects, Kegel training, vaginal dilators, biofeedback |
| 8 | Lymphoedema & Functional Mobility — CDT, cancer fatigue, graded exercise |
| 9 | Managing Radiation Complications — proctopathy, bladder dysfunction, vaginal stenosis |
| 10 | Physiotherapy During BT Procedures — DVT prevention during LDR, comfort during HDR |
| 11 | Multidisciplinary Team — Physiotherapist's role within the full MDT |
| 12 | Summary & Key Takeaways — 5 core messages |
Prepare presenation for brachytherapy in Cervical cancer for physio theraphy role
Brachytherapy Cervical Cancer Physiotherapy
Presentation · PPTX
| # | Slide Topic |
|---|---|
| 1 | Title Slide |
| 2 | Cervical Cancer Overview & Radiation Rationale |
| 3 | What is Brachytherapy? |
| 4 | Types — LDR vs HDR vs Interstitial |
| 5 | Treatment Protocol & 3D IGABT Dosimetry |
| 6 | Physiotherapy Role Overview (Pre/Peri/Post phases) |
| 7 | Pelvic Floor Rehabilitation |
| 8 | Lymphoedema & Functional Mobility |
| 9 | Managing Radiation Complications |
| 10 | Physiotherapy During BT Procedures (DVT, positioning) |
| 11 | Multidisciplinary Team Integration |
| 12 | Summary & Key Takeaways |
additional slides focus for physiotherapist role -add more Evidence based article