Ca nasopharynx latest guidelines

Reading File
Finding Sources
Searching PubMed

nasopharyngeal carcinoma treatment guidelines

Searching the Web

nasopharyngeal carcinoma 2024 2025 guidelines NCCN ESMO treatment update

Reading File
Reading Article

PMID: 41701473

Reading Article

PMID: 40907526

Reading Web Page

https://www.oregon.gov/oha/HPA/DSI-HERC/MembersOnly/7.5f%20N…

Reading File
Searching PubMed

nasopharyngeal carcinoma induction chemotherapy immunotherapy PD-1

I now have sufficient information to provide a comprehensive, guideline-based answer. Let me compile everything.

Carcinoma of the Nasopharynx - Latest Guidelines (NCCN v1.2026, SEOM 2025, Lancet Oncology 2025)

Epidemiology & Pathology

NPC is biologically and epidemiologically distinct from other head and neck cancers. It is endemic in Southern China, Southeast Asia, and North Africa, where EBV association is nearly universal. WHO classification:
  • Type I: Keratinizing SCC (rare, non-EBV)
  • Type II: Non-keratinizing differentiated
  • Type III: Non-keratinizing undifferentiated (most common; best response to CRT)

Staging: AJCC 8th Edition

StageCriteria
T1Nasopharynx, oropharynx, or nasal cavity without parapharyngeal involvement
T2Parapharyngeal extension, adjacent soft tissue
T3Bony skull base, cervical vertebrae, pterygoid structures, paranasal sinuses
T4Intracranial, cranial nerve, hypopharynx, orbit, parotid, infratemporal fossa
N1Unilateral cervical, ≤6 cm
N2Bilateral cervical, ≤6 cm
N3>6 cm or supraclavicular
M1Distant metastasis
Baseline workup: MRI nasopharynx + skull base, PET-CT (or CT chest/abdomen), plasma EBV DNA (quantitative), audiometry (pre-cisplatin), dental evaluation.

Treatment by Stage (NCCN v1.2026)

Stage I (T1N0M0)

  • Definitive RT alone - IMRT to 70 Gy (gross disease), 59.4-66 Gy (CTV), 50-54 Gy (elective neck)
  • No chemotherapy indicated
  • 5-year local control: 90-97%

Stage II (T1-2, N1 or T2N0)

  • IMRT ± concurrent cisplatin (40 mg/m² weekly or 100 mg/m² q3w)
  • Concurrent cisplatin is preferred for N1 disease given data showing OS benefit

Locoregionally Advanced (Stage III-IVA/B) - Standard of Care

Current backbone is induction chemotherapy (IC) followed by concurrent CRT:
Preferred induction regimen (NCCN Category 1, based on JUPITER/Sun et al.):
  • Gemcitabine + Cisplatin x 3 cycles → Concurrent cisplatin-based CRT
    • Gemcitabine 1000 mg/m² D1,8 + Cisplatin 80 mg/m² D1, q3w x 3
    • Landmark trial: Zhang et al. NEJM 2019 - IC with GP significantly improved 3-yr failure-free survival (85.3% vs. 76.5%)
Alternative induction:
  • TPF: Docetaxel 60 mg/m² + Cisplatin 60 mg/m² + 5-FU 600 mg/m²/day x 5d, q3w x 3
Concurrent CRT phase:
  • Cisplatin 40 mg/m² weekly or 100 mg/m² q3w + IMRT 70 Gy
  • Carboplatin (AUC 5-6 q3w) if cisplatin contraindicated
Adjuvant chemotherapy: Adjuvant cisplatin + 5-FU was historically used (Intergroup 0099), but its benefit over CRT alone is debated. Post-CRT EBV DNA clearance guides decision (NRG HN001 ongoing). Adjuvant capecitabine (CAPNPC trial) shows benefit in high-risk patients.

Immunotherapy - Major Update (2021-2026)

Recurrent/Metastatic (R/M) NPC - 1st Line

Toripalimab (anti-PD-1) + Gemcitabine/Cisplatin is now FDA-approved and NCCN-listed as preferred:
  • JUPITER-02 trial (Phase III, Nat Med 2021): Toripalimab + GP vs. placebo + GP
    • Median PFS: 11.7 vs 8.0 months (HR 0.52)
    • Final OS data (ESMO Asia 2025): Median OS 64.8 vs. 33.7 months (HR 0.62, p=0.0027); 5-year OS 52.3% vs. 33.9% - a 31-month survival gain
Other approved PD-1 inhibitors in R/M NPC:
  • Camrelizumab + GP (CAPTAIN-1st trial) - OS benefit confirmed
  • Tislelizumab + GP - phase III data
  • Pembrolizumab - NCCN-listed for R/M PD-L1+ or TMB-high (Category 2B)
SEOM-TTCC 2025 guideline: Platinum/gemcitabine + PD-1 inhibitor is the recommended first-line standard for R/M NPC (updated 2025, PMID 41701473).

Immunotherapy in Locally Advanced - Investigational/Emerging

Multiple Phase III trials are ongoing adding PD-1 inhibitors to IC + CRT. As of NCCN v1.2026, immunotherapy in this setting remains investigational (Category 2B at best); not yet standard of care for non-metastatic disease.

Radiotherapy Technical Standards (2025 Lancet Oncology/ASTRO/ESTRO Consensus)

The major Lancet Oncology 2025 joint guideline (PMID 40907526) from CSTRO/ESTRO/ASTRO/CSCO (50 specialists, 17 countries) addresses:
  1. CTV margin design - GTV-to-CTV margin 3-5 mm for primary, 5 mm for nodal
  2. CTV after induction chemotherapy - Delineate based on pre-IC imaging extent; do not reduce GTV based on IC response
  3. Low-risk CTV - Based on anatomic stepwise extension patterns; elective neck coverage standardized
IMRT dose-fractionation (standard):
  • GTV/PTV70: 70 Gy in 33-35 fractions (2.0-2.12 Gy/fx)
  • CTV high risk: 59.4-66 Gy
  • CTV low risk (elective): 50-54 Gy
  • Critical constraints: parotid mean dose <26 Gy (bilateral), brainstem Dmax <54 Gy, spinal cord <45 Gy
A separate consensus on neck CTV delineation was also published (PMID 40907527) in Lancet Oncology 2025.

Recurrent Disease

Locally Recurrent NPC

  • Reirradiation (IMRT/SBRT/proton) - for resectable or small-volume recurrence
  • Salvage endoscopic nasopharyngectomy - for selected T1-2 recurrences; 2024 international guidelines (PMID 39009321) address postoperative management
  • Combined re-irradiation + systemic therapy for unresectable

Metastatic NPC

  • Platinum-based doublet (GP preferred) + PD-1 inhibitor (toripalimab or camrelizumab) - standard first line
  • Second line: Pembrolizumab monotherapy, nivolumab, capecitabine, or gemcitabine re-challenge
  • EBV-directed T-cell therapy (investigational)

Follow-Up

IntervalAction
Every 1-3 months, year 1-2Clinical exam, nasopharyngoscopy
Every 3-6 months, year 3-5Clinical exam
Annually after year 5Clinical exam
Post-treatmentEBV DNA, thyroid function (post-neck RT), audiogram, dental review
ImagingMRI nasopharynx at 3 months post-RT, then as clinically indicated
EBV DNA after treatment completion is the most important prognostic biomarker - persistently elevated or rising levels indicate high relapse risk and potential need for adjuvant/salvage therapy.

Summary Table

StageFirst-Line Treatment
Stage IIMRT alone
Stage IIIMRT ± concurrent cisplatin
Stage III-IVBInduction GP x3 → Concurrent cisplatin + IMRT
R/M, 1st lineGemcitabine + Cisplatin + Toripalimab (or camrelizumab)
R/M, 2nd linePembrolizumab, nivolumab, or clinical trial

Key 2025-2026 Updates:
  1. Toripalimab + GP shows 31-month median OS gain in R/M NPC (JUPITER-02 final OS, ESMO Asia Dec 2025)
  2. Lancet Oncology 2025 joint ASTRO/ESTRO consensus on RT target delineation is the new global standard
  3. SEOM-TTCC 2025 formally endorses PD-1 + chemotherapy as first-line R/M standard
  4. Induction GP remains preferred over IC-TPF for locoregionally advanced NPC (better tolerability, similar efficacy)
  5. Post-IC CTV delineation should use pre-induction imaging extent - not response-adapted
Sources: Cummings Otolaryngology, 7th ed. | NCCN v1.2026 Head and Neck Cancers | SEOM-TTCC 2025 [PMID 41701473] | Lancet Oncol 2025 [PMID 40907526, 40907527] | JUPITER-02 Final OS (ESMO Asia 2025)

Give me the latest updates regarding breast cancer as regards radiation Oncology

Reading File
Finding Sources
Searching PubMed

breast cancer radiotherapy guidelines hypofractionation

Searching the Web

breast cancer radiation oncology 2024 2025 updates ASTRO ESTRO guidelines hypofractionation PMRT

Reading File
Reading Article

PMID: 40955654

Searching PubMed

breast cancer radiotherapy partial breast irradiation ultra-hypofractionation regional nodal

Reading Web Page

https://ecancer.org/en/news/27052-leading-cancer-societies-u…

Reading Article

PMID: 41270649

Searching PubMed

breast cancer radiation omission de-escalation LUMINA PRECISION-F

Searching the Web

FAST-Forward 5 fraction breast radiotherapy 2024 2025 long-term results ASTRO update regional nodal irradiation ALLIANCE

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.

Create a comprehensive radiotherapy protocols reference guide for breast cancer management

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.

Create a comprehensive radiotherapy protocols reference guide for breast cancer management

Finding Sources
Searching PubMed

breast cancer radiotherapy hypofractionation postmastectomy guidelines

Searching the Web

breast cancer radiotherapy protocols 2025 2026 ASTRO NCCN ESTRO hypofractionation PMRT APBI guidelines update

Reading File
Searching PubMed

breast cancer partial breast irradiation APBI FAST-Forward ultra-hypofractionation nodal

Reading Web Page

https://ascopost.com/issues/october-25-2025/new-guideline-re…

Reading File
Searching PubMed

breast cancer radiotherapy 2025 update hypofractionation nodal irradiation FAST-Forward

Searching the Web

FAST-Forward 10 year results 2025 breast cancer ultra-hypofractionation 26Gy 5 fractions DEGRO ESTRO

Reading File
Running Command

mkdir -p /home/daytona/workspace/breast-rt-guide && ls /home/daytona/workspace/breast-rt-guide

Writing File

~/breast-rt-guide/create_guide.js

const {
  Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
  HeadingLevel, AlignmentType, BorderStyle, WidthType, ShadingType,
  VerticalAlign, PageNumber, Header, Footer, PageBreak, TableOfContents,
  UnderlineType
} = require('docx');
const fs = require('fs');

// ── Color palette ──────────────────────────────────────────────
const NAVY   = "1B3A6B";
const TEAL   = "0D7377";
const STEEL  = "2E6DA4";
const LGRAY  = "F0F4F8";
const WHITE  = "FFFFFF";
const DKGRAY = "2C3E50";
const YELLOW = "FFF3CD";

// ── Helper: shaded table cell ──────────────────────────────────
function shCell(text, bg, bold = false, color = "000000", colSpan = 1, vAlign = VerticalAlign.CENTER) {
  return new TableCell({
    columnSpan: colSpan,
    verticalAlign: vAlign,
    shading: { type: ShadingType.SOLID, color: bg, fill: bg },
    margins: { top: 80, bottom: 80, left: 100, right: 100 },
    children: [new Paragraph({
      alignment: AlignmentType.CENTER,
      children: [new TextRun({ text, bold, color, size: 18, font: "Calibri" })]
    })]
  });
}

function cell(text, bold = false, color = "000000", bg = WHITE) {
  return new TableCell({
    shading: { type: ShadingType.SOLID, color: bg, fill: bg },
    margins: { top: 60, bottom: 60, left: 100, right: 100 },
    children: [new Paragraph({
      children: [new TextRun({ text, bold, color, size: 17, font: "Calibri" })]
    })]
  });
}

function hdrCell(text, bg = NAVY) {
  return shCell(text, bg, true, WHITE);
}

// ── Helper: section heading ────────────────────────────────────
function sectionHead(text, level = HeadingLevel.HEADING_1) {
  const colors = {
    [HeadingLevel.HEADING_1]: NAVY,
    [HeadingLevel.HEADING_2]: TEAL,
    [HeadingLevel.HEADING_3]: STEEL,
  };
  const sizes = {
    [HeadingLevel.HEADING_1]: 32,
    [HeadingLevel.HEADING_2]: 26,
    [HeadingLevel.HEADING_3]: 22,
  };
  return new Paragraph({
    heading: level,
    spacing: { before: 300, after: 100 },
    border: level === HeadingLevel.HEADING_1 ? {
      bottom: { style: BorderStyle.SINGLE, size: 8, color: colors[level] }
    } : {},
    children: [new TextRun({
      text,
      bold: true,
      color: colors[level],
      size: sizes[level],
      font: "Calibri"
    })]
  });
}

function body(text, spaceBefore = 80, spaceAfter = 80) {
  return new Paragraph({
    spacing: { before: spaceBefore, after: spaceAfter },
    children: [new TextRun({ text, size: 18, font: "Calibri", color: DKGRAY })]
  });
}

function bullet(text) {
  return new Paragraph({
    bullet: { level: 0 },
    spacing: { before: 40, after: 40 },
    children: [new TextRun({ text, size: 17, font: "Calibri", color: DKGRAY })]
  });
}

function subbullet(text) {
  return new Paragraph({
    bullet: { level: 1 },
    spacing: { before: 30, after: 30 },
    children: [new TextRun({ text, size: 16, font: "Calibri", color: "555555" })]
  });
}

function noteBox(text) {
  return new Table({
    width: { size: 100, type: WidthType.PERCENTAGE },
    margins: { top: 100, bottom: 100 },
    rows: [new TableRow({ children: [
      new TableCell({
        shading: { type: ShadingType.SOLID, color: YELLOW, fill: YELLOW },
        margins: { top: 120, bottom: 120, left: 200, right: 200 },
        children: [new Paragraph({
          children: [
            new TextRun({ text: "⚡ KEY UPDATE: ", bold: true, size: 18, font: "Calibri", color: "7B4F00" }),
            new TextRun({ text, size: 18, font: "Calibri", color: "5A3B00" })
          ]
        })]
      })
    ]})]
  });
}

function spacer(lines = 1) {
  return new Paragraph({ spacing: { before: 80 * lines, after: 80 * lines }, children: [] });
}

// ═══════════════════════════════════════════════════════════════
// TABLES
// ═══════════════════════════════════════════════════════════════

function fractionationTable() {
  const rows = [
    // header
    new TableRow({ tableHeader: true, children: [
      hdrCell("Schedule"),
      hdrCell("Dose & Fractions"),
      hdrCell("Duration"),
      hdrCell("Setting"),
      hdrCell("Key Evidence"),
    ]}),
    // Conventional
    new TableRow({ children: [
      cell("Conventional", true, NAVY, LGRAY),
      cell("50 Gy / 25 fx (2 Gy/fx)"),
      cell("5 weeks"),
      cell("All BCS; rarely used now"),
      cell("Intergroup 0099; historical standard"),
    ]}),
    new TableRow({ children: [
      cell("Conventional + boost", true, NAVY, LGRAY),
      cell("50 Gy + 10–16 Gy boost"),
      cell("6–7 weeks"),
      cell("High-risk tumour bed (<50 y)"),
      cell("EORTC 22881; LYON trial"),
    ]}),
    // Mod hypo
    new TableRow({ children: [
      cell("Moderate Hypofractionation", true, TEAL, "E8F5F5"),
      cell("40.05 Gy / 15 fx (2.67 Gy/fx)", false, "000000", "E8F5F5"),
      cell("3 weeks", false, "000000", "E8F5F5"),
      cell("Standard WBI post-BCS", false, "000000", "E8F5F5"),
      cell("START-A/B, Canadian trial", false, "000000", "E8F5F5"),
    ]}),
    new TableRow({ children: [
      cell("Mod Hypo (alt)", true, TEAL, "E8F5F5"),
      cell("42.5 Gy / 16 fx (2.66 Gy/fx)", false, "000000", "E8F5F5"),
      cell("~3 weeks", false, "000000", "E8F5F5"),
      cell("Standard WBI post-BCS (N America)", false, "000000", "E8F5F5"),
      cell("Canadian RCT (10-yr data)", false, "000000", "E8F5F5"),
    ]}),
    // Ultra hypo
    new TableRow({ children: [
      cell("Ultra-Hypofractionation ★", true, STEEL, WHITE),
      cell("26 Gy / 5 fx (5.2 Gy/fx) — PREFERRED", true),
      cell("1 week"),
      cell("Low-risk WBI post-BCS; elderly; logistic barrier"),
      cell("FAST-Forward (10-yr, ESTRO 2025)"),
    ]}),
    new TableRow({ children: [
      cell("Ultra-Hypo (avoid)", false, "888888"),
      cell("27 Gy / 5 fx — NOT recommended", false, "CC0000"),
      cell("1 week"),
      cell("Higher late toxicity arm in FAST-Forward"),
      cell("FAST-Forward 2020/2025"),
    ]}),
    // SIB boost
    new TableRow({ children: [
      cell("SIB Boost (ultra-hypo)", true, NAVY, LGRAY),
      cell("26 Gy WB + 30 Gy SIB / 5 fx"),
      cell("1 week"),
      cell("Active trials — investigational"),
      cell("NCT07020780 (ongoing)"),
    ]}),
    // APBI
    new TableRow({ children: [
      cell("APBI — EBRT preferred", true, "6A1B9A", "F3E5F5"),
      cell("30 Gy / 5 fx (NCCN preferred)", false, "000000", "F3E5F5"),
      cell("5 fractions EOD", false, "000000", "F3E5F5"),
      cell("Selected low-risk BCS (ASTRO 2023/24 criteria)", false, "000000", "F3E5F5"),
      cell("IMPORT LOW, Florence trial", false, "000000", "F3E5F5"),
    ]}),
    new TableRow({ children: [
      cell("APBI — Brachytherapy", true, "6A1B9A", "F3E5F5"),
      cell("34 Gy / 10 fx BID (HDR), or 45 Gy LDR", false, "000000", "F3E5F5"),
      cell("5 days (HDR)", false, "000000", "F3E5F5"),
      cell("Selected suitable patients", false, "000000", "F3E5F5"),
      cell("NSABP B-39/RTOG 0413", false, "000000", "F3E5F5"),
    ]}),
  ];
  return new Table({
    width: { size: 100, type: WidthType.PERCENTAGE },
    rows,
  });
}

function pmrtIndicationsTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("Clinical Scenario", TEAL),
      hdrCell("PMRT Recommendation", TEAL),
      hdrCell("Notes", TEAL),
    ]}),
    new TableRow({ children: [
      cell("pN2–3 (≥4 nodes)", true, NAVY),
      cell("STRONGLY RECOMMENDED", true, "006400"),
      cell("Standard; reduces recurrence & breast cancer death"),
    ]}),
    new TableRow({ children: [
      cell("pN1 (1–3 nodes)", true, NAVY, LGRAY),
      cell("RECOMMENDED (most patients)", false, "006400", LGRAY),
      cell("Omission acceptable for select low-risk (small ER+ tumour, good biology)", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("pN0 + T3 or T4", true, NAVY),
      cell("RECOMMENDED", false, "006400"),
      cell("T4 = absolute indication; T3 pN0 individualise"),
    ]}),
    new TableRow({ children: [
      cell("pN0 + T1–T2", true, NAVY, LGRAY),
      cell("NOT ROUTINELY recommended", false, "CC0000", LGRAY),
      cell("Consider if: close/positive margins, LVI, young age, triple-negative", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("After NACT — initially cT3–T4 or cN+", true, NAVY),
      cell("RECOMMENDED regardless of pCR", false, "006400"),
      cell("ASTRO/ASCO/SSO 2025: RT per initial clinical stage"),
    ]}),
    new TableRow({ children: [
      cell("After NACT — cT1–2N1, achieves ypN0", true, NAVY, LGRAY),
      cell("CONDITIONAL RECOMMENDATION", false, "B8860B", LGRAY),
      cell("Omission may be considered; discuss multidisciplinary; ongoing trials (NSABP B-51, NRG BR007)", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("After NACT — residual nodal disease (ypN+)", true, NAVY),
      cell("STRONGLY RECOMMENDED", true, "006400"),
      cell("Regardless of initial stage"),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

function pmrtDoseTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("Target", NAVY),
      hdrCell("Preferred Schedule (Mod Hypo)", NAVY),
      hdrCell("Alternative (Conventional)", NAVY),
      hdrCell("Notes", NAVY),
    ]}),
    new TableRow({ children: [
      cell("Chest wall / reconstructed breast", true, NAVY, LGRAY),
      cell("40–42.5 Gy / 15–16 fx", false, "000000", LGRAY),
      cell("50 Gy / 25 fx", false, "000000", LGRAY),
      cell("Mod hypo preferred (ASTRO/ASCO/SSO 2025); RT-CHARM validates in reconstruction", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Regional lymphatics (SC, axilla, IMN)", true, NAVY),
      cell("40–42.5 Gy / 15–16 fx (concurrent)", false),
      cell("50 Gy / 25 fx", false),
      cell("HYPOSIB trials confirm mod hypo feasibility for nodes"),
    ]}),
    new TableRow({ children: [
      cell("IMN (Internal mammary nodes)", true, NAVY, LGRAY),
      cell("Same schedule as above", false, "000000", LGRAY),
      cell("—", false, "000000", LGRAY),
      cell("Individualise: medial tumour, node-positive — weigh cardiac risk; DBCG-IMN, MA.20, EORTC 22922/10925", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Bolus (skin involvement, +margin, LVI)", true, NAVY),
      cell("Use bolus to cover skin", false),
      cell("—", false),
      cell("ASTRO/ASCO/SSO 2025: routine bolus NOT recommended; use selectively"),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

function apbiCriteriaTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("Parameter", "6A1B9A"),
      hdrCell("SUITABLE (ASTRO 2023/24)", "6A1B9A"),
      hdrCell("CAUTIONARY", "6A1B9A"),
      hdrCell("UNSUITABLE", "6A1B9A"),
    ]}),
    new TableRow({ children: [
      cell("Age", true, "000000", LGRAY),
      cell("≥40 years", false, "000000", LGRAY),
      cell("—", false, "000000", LGRAY),
      cell("<40 years", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Tumour size"),
      cell("T1 (≤2 cm invasive) or DCIS ≤3 cm"),
      cell("T2 (2.1–3.0 cm)"),
      cell(">3 cm or T3–T4"),
    ]}),
    new TableRow({ children: [
      cell("Histology", false, "000000", LGRAY),
      cell("Invasive ductal/lobular; DCIS (screen-detected, low–int grade)", false, "000000", LGRAY),
      cell("Pure DCIS high grade", false, "000000", LGRAY),
      cell("—", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Margins"),
      cell("Negative (≥2 mm invasive, ≥3 mm DCIS)"),
      cell("Close (<2 mm)"),
      cell("Positive"),
    ]}),
    new TableRow({ children: [
      cell("ER/PR status", false, "000000", LGRAY),
      cell("ER+ (invasive)", false, "000000", LGRAY),
      cell("ER− invasive", false, "000000", LGRAY),
      cell("—", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Nodal status"),
      cell("pN0 (SN biopsy or ALND)"),
      cell("—"),
      cell("Any nodal positivity"),
    ]}),
    new TableRow({ children: [
      cell("LVI", false, "000000", LGRAY),
      cell("Absent", false, "000000", LGRAY),
      cell("Focal LVI", false, "000000", LGRAY),
      cell("Extensive LVI", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("BRCA status"),
      cell("No known BRCA 1/2 mutation (NCCN 2025)"),
      cell("—"),
      cell("Known BRCA 1/2 mutation"),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

function oarTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("OAR", STEEL),
      hdrCell("Conventional (50 Gy/25fx)", STEEL),
      hdrCell("Mod Hypo (40 Gy/15fx)", STEEL),
      hdrCell("Ultra-Hypo (26 Gy/5fx)", STEEL),
    ]}),
    new TableRow({ children: [
      cell("Heart (mean dose)", true, NAVY, LGRAY),
      cell("≤2 Gy (left-sided)", false, "000000", LGRAY),
      cell("≤2 Gy mean; V25Gy ≤10%", false, "000000", LGRAY),
      cell("V7Gy ≤ specified threshold", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("LAD artery (Dmean)"),
      cell("<10 Gy"),
      cell("<10 Gy"),
      cell("<5 Gy (converted equivalent)"),
    ]}),
    new TableRow({ children: [
      cell("Ipsilateral lung (V20Gy)", false, "000000", LGRAY),
      cell("≤20%", false, "000000", LGRAY),
      cell("≤20%", false, "000000", LGRAY),
      cell("V8Gy ≤15% (EQD2 equivalent)", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Contralateral breast (Dmean)"),
      cell("≤1 Gy"),
      cell("≤1 Gy"),
      cell("≤1 Gy"),
    ]}),
    new TableRow({ children: [
      cell("Oesophagus (Dmax)", false, "000000", LGRAY),
      cell("≤50 Gy", false, "000000", LGRAY),
      cell("≤45 Gy", false, "000000", LGRAY),
      cell("EQD2 equivalent", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Brachial plexus (Dmax)"),
      cell("≤60 Gy"),
      cell("≤52 Gy"),
      cell("EQD2 ≤60 Gy"),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

function rtOmissionTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("Trial / Criteria", "B71C1C"),
      hdrCell("Population", "B71C1C"),
      hdrCell("Findings / Recommendation", "B71C1C"),
    ]}),
    new TableRow({ children: [
      cell("CALGB 9343", true),
      cell("≥70 y, Stage I ER+, tamoxifen"),
      cell("10-yr LRR 2% vs 9% (RT vs no RT); no OS/DM difference. RT omission acceptable in this group."),
    ]}),
    new TableRow({ children: [
      cell("PRIME-II", true, "000000", LGRAY),
      cell("≥65 y, ER+, T1–T2 ≤3 cm, pN0"),
      cell("5-yr LRR 4.1% vs 1.3% (no RT vs RT); no OS benefit. Omission option if patient accepts higher LRR.", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("LUMINA trial"),
      cell("≥55 y, T1N0, luminal A (ER+/PR+, HER2−, Ki67 ≤13.25%), BCS + endocrine therapy"),
      cell("5-yr LRR 2.3% without RT. Supports omission in this highly selected luminal A group."),
    ]}),
    new TableRow({ children: [
      cell("PRECISION-F (ongoing)", true, "000000", LGRAY),
      cell("Low genomic risk (Oncotype/Mammaprint), post-BCS"),
      cell("Investigational — results pending", false, "888888", LGRAY),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

function techniquesTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("Technique", NAVY),
      hdrCell("Indication", NAVY),
      hdrCell("Advantage", NAVY),
    ]}),
    new TableRow({ children: [
      cell("3D-CRT", true, "000000", LGRAY),
      cell("Standard WBI, uncomplicated anatomy", false, "000000", LGRAY),
      cell("Widely available, lower dose to OARs vs 2D", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("IMRT / VMAT", true),
      cell("Complex anatomy, large breasts, nodal RT, post-mastectomy, APBI"),
      cell("Improved homogeneity; reduces hot spots; preferred for APBI (NCCN 2025)"),
    ]}),
    new TableRow({ children: [
      cell("DIBH (Deep Inspiration Breath Hold)", true, "000000", LGRAY),
      cell("Left-sided breast cancer — ASTRO/ASCO/SSO 2025 RECOMMENDED", false, "006400", LGRAY),
      cell("Reduces heart and LAD dose by 30–50%; reduces cardiac events long-term", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Prone positioning", true),
      cell("Large pendulous breasts"),
      cell("Reduces heart/lung dose; improved homogeneity"),
    ]}),
    new TableRow({ children: [
      cell("Surface-guided RT (SGRT)", true, "000000", LGRAY),
      cell("All breast RT, especially DIBH", false, "000000", LGRAY),
      cell("Real-time motion monitoring; improves DIBH reproducibility", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("Proton therapy", true),
      cell("Complex re-irradiation; high cardiac risk patients; bilateral disease"),
      cell("Lower integral dose; superior OAR sparing; NCCN 2025: consider for select high-risk patients"),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

function keyTrialsTable() {
  const rows = [
    new TableRow({ tableHeader: true, children: [
      hdrCell("Trial", TEAL),
      hdrCell("Design", TEAL),
      hdrCell("Key Result", TEAL),
      hdrCell("Impact", TEAL),
    ]}),
    new TableRow({ children: [
      cell("FAST-Forward (2020/2025)", true, NAVY),
      cell("26 Gy/5fx vs 40 Gy/15fx vs 27 Gy/5fx; WBI post-BCS"),
      cell("10-yr: 26 Gy/5fx non-inferior (2.0% vs 3.6% IBTR); less toxicity than 27 Gy arm"),
      cell("Validates 1-week WBI; 26 Gy preferred ultra-hypo schedule"),
    ]}),
    new TableRow({ children: [
      cell("START-A/B", true, NAVY, LGRAY),
      cell("40 Gy/15fx vs 50 Gy/25fx; large UK RCTs"),
      cell("Equivalent local control; less late toxicity with hypofractionation"),
      cell("Established 3-week schedule as standard", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("RT-CHARM (Alliance A221505, ASTRO 2024)", true, NAVY),
      cell("Hypofractionated PMRT vs conventional in reconstruction (n=825)"),
      cell("Hypo non-inferior; fewer complications; 3-week PMRT now validated in reconstruction"),
      cell("Practice-changing for PMRT with reconstruction"),
    ]}),
    new TableRow({ children: [
      cell("MA.20", true, NAVY, LGRAY),
      cell("WBI ± RNI in node-positive/high-risk node-neg BCS"),
      cell("RNI improved DFS, distant DFS; no OS benefit at 10 yr"),
      cell("Supports regional nodal RT in high-risk BCS", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("EORTC 22922/10925", true, NAVY),
      cell("WBI ± IMN+medial SC irradiation"),
      cell("IMN RT improved 10-yr DFS (82.3% vs 80.7%); DM, breast cancer mortality benefit"),
      cell("Supports IMN RT in node-positive medial/central tumours"),
    ]}),
    new TableRow({ children: [
      cell("DBCG-IMN", true, NAVY, LGRAY),
      cell("Right-sided BC + IMN RT vs no IMN RT"),
      cell("IMN RT reduced 8-yr BC mortality (20.9% vs 23.4%); p=0.005"),
      cell("Confirmed IMN RT benefit (right-sided)", false, "000000", LGRAY),
    ]}),
    new TableRow({ children: [
      cell("LUMINA (2023)", true, NAVY),
      cell("≥55 y, T1N0, luminal A, BCS — no RT"),
      cell("5-yr LRR 2.3% without RT"),
      cell("Supports RT omission in ultra-low-risk luminal A"),
    ]}),
    new TableRow({ children: [
      cell("NSABP B-51 / NRG BR007 (ongoing)", true, NAVY, LGRAY),
      cell("NACT → ypN0 → PMRT vs no PMRT"),
      cell("Pending — will define PMRT role after NACT-pCR"),
      cell("Will resolve key uncertainty in 2025/26 guideline", false, "000000", LGRAY),
    ]}),
  ];
  return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows });
}

// ═══════════════════════════════════════════════════════════════
// DOCUMENT ASSEMBLY
// ═══════════════════════════════════════════════════════════════

const doc = new Document({
  title: "Breast Cancer Radiotherapy Protocols Reference Guide",
  description: "Comprehensive clinical reference — 2025/2026 edition",
  styles: {
    default: {
      document: {
        run: { font: "Calibri", size: 18 }
      }
    }
  },
  sections: [{
    headers: {
      default: new Header({
        children: [new Paragraph({
          border: { bottom: { style: BorderStyle.SINGLE, size: 6, color: NAVY } },
          children: [
            new TextRun({ text: "BREAST CANCER RADIOTHERAPY PROTOCOLS  |  2025/2026 EDITION", bold: true, size: 16, color: NAVY, font: "Calibri" }),
            new TextRun({ text: "  (ASTRO/ASCO/SSO · NCCN · ESTRO)", size: 15, color: "888888", font: "Calibri" }),
          ]
        })]
      })
    },
    footers: {
      default: new Footer({
        children: [new Paragraph({
          border: { top: { style: BorderStyle.SINGLE, size: 4, color: TEAL } },
          alignment: AlignmentType.RIGHT,
          children: [
            new TextRun({ text: "Page ", size: 16, color: "888888", font: "Calibri" }),
            new PageNumber(),
            new TextRun({ text: "  |  For clinical use — verify against current institutional and national guidelines", size: 15, color: "888888", font: "Calibri" })
          ]
        })]
      })
    },
    children: [

      // ── COVER ──────────────────────────────────────────────────
      new Table({
        width: { size: 100, type: WidthType.PERCENTAGE },
        rows: [new TableRow({ children: [
          new TableCell({
            shading: { type: ShadingType.SOLID, color: NAVY, fill: NAVY },
            margins: { top: 600, bottom: 600, left: 400, right: 400 },
            children: [
              new Paragraph({
                alignment: AlignmentType.CENTER,
                children: [new TextRun({ text: "BREAST CANCER", bold: true, size: 56, color: WHITE, font: "Calibri" })]
              }),
              new Paragraph({
                alignment: AlignmentType.CENTER,
                children: [new TextRun({ text: "RADIOTHERAPY PROTOCOLS", bold: true, size: 48, color: "A8D8EA", font: "Calibri" })]
              }),
              new Paragraph({
                alignment: AlignmentType.CENTER,
                spacing: { before: 200 },
                children: [new TextRun({ text: "Comprehensive Clinical Reference Guide", size: 28, color: "CCE5FF", font: "Calibri" })]
              }),
              new Paragraph({
                alignment: AlignmentType.CENTER,
                spacing: { before: 100 },
                children: [new TextRun({ text: "2025 / 2026 Edition", bold: true, size: 26, color: "FFD700", font: "Calibri" })]
              }),
              new Paragraph({
                alignment: AlignmentType.CENTER,
                spacing: { before: 200 },
                children: [new TextRun({ text: "Based on: ASTRO · ASCO · SSO · NCCN · ESTRO · DEGRO Guidelines", size: 20, color: "BBDEFB", font: "Calibri" })]
              }),
            ]
          })
        ]})]
      }),

      spacer(2),

      // ── ABBREVIATIONS NOTICE ──────────────────────────────────
      noteBox("ASTRO/ASCO/SSO 2025 PMRT guideline (Jimenez et al., J Clin Oncol 2025) replaces the 2016 guideline. Moderate hypofractionation is now preferred for PMRT. FAST-Forward 10-yr data (ESTRO 2025) confirms 26 Gy/5fx non-inferiority for WBI. ASTRO 2023/24 APBI criteria now include DCIS and lower age threshold (≥40 yr)."),

      spacer(),

      // ═══════════════════════════════════════
      // SECTION 1
      // ═══════════════════════════════════════
      sectionHead("1.  Overview of Adjuvant Radiotherapy in Breast Cancer", HeadingLevel.HEADING_1),

      body("Adjuvant radiotherapy (RT) is a cornerstone of breast cancer management following surgery. Its primary goals are to eradicate residual microscopic disease, reduce locoregional recurrence (LRR), and improve breast cancer-specific survival. The EBCTCG meta-analysis (10,801 patients across 17 RCTs) demonstrated:"),
      bullet("Node-negative BCS: RT reduced 10-yr recurrence from 31% → 15.6% (p<0.00001); 15-yr BC deaths reduced by 3.3%"),
      bullet("Node-positive BCS: RT reduced 10-yr recurrence from 63.7% → 42.5%; 15-yr BC deaths reduced by 8.5%"),
      bullet("PMRT: Reduces 10-yr LRR by ~20% absolute and improves 15-yr overall survival"),
      spacer(),

      sectionHead("2.  Indications for Radiotherapy", HeadingLevel.HEADING_1),

      sectionHead("2.1  After Breast-Conserving Surgery (BCS / Lumpectomy)", HeadingLevel.HEADING_2),
      bullet("WBI is standard after BCS for invasive breast cancer — regardless of age, grade, or receptor status"),
      bullet("Tumour bed boost: Indicated for patients <50 years (absolute); consider 50–70 years with high-grade or close margins"),
      subbullet("Boost dose: 10–16 Gy / 5–8 fx (conventional) or 10 Gy / 4 fx (hypofractionated SIB)"),
      bullet("Regional nodal irradiation (RNI): Add to WBI if pN1–3, high-risk pN0 (T3, LVI, young)"),
      bullet("RT omission: Only in highly selected patients — see Section 6 (De-escalation)"),
      spacer(),

      sectionHead("2.2  After Mastectomy (PMRT)", HeadingLevel.HEADING_2),
      body("ASTRO/ASCO/SSO 2025 Guideline (Jimenez et al., J Clin Oncol 2025):"),
      pmrtIndicationsTable(),
      spacer(),

      sectionHead("2.3  DCIS", HeadingLevel.HEADING_2),
      bullet("WBI is systematically recommended after BCS for DCIS (reduces ipsilateral recurrence ~50%)"),
      bullet("APBI is now acceptable for selected DCIS meeting ASTRO 2023/24 suitable criteria"),
      bullet("RT omission in DCIS: Under study — not routine standard; may consider for low-grade, ≥3 mm margins, screen-detected, elderly patients"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 3
      // ═══════════════════════════════════════
      sectionHead("3.  Dose-Fractionation Schedules", HeadingLevel.HEADING_1),
      body("The following table summarises validated fractionation schedules with current evidence status:"),
      spacer(),
      fractionationTable(),
      spacer(),

      noteBox("FAST-Forward 10-year data (ESTRO 2025): 26 Gy/5fx had lower IBTR (2.0%) than 40 Gy/15fx (3.6%); non-inferiority confirmed. DEGRO 2025 statement: Mod hypo (40 Gy/15fx) remains standard for most patients; ultra-hypo (26 Gy/5fx) preferred for low-risk, elderly, logistically challenged patients. 27 Gy/5fx should NOT be used — higher late toxicity."),

      spacer(),

      // ═══════════════════════════════════════
      // SECTION 4 — PMRT VOLUMES & DOSE
      // ═══════════════════════════════════════
      sectionHead("4.  Post-Mastectomy RT (PMRT) — Volumes, Dose & Techniques", HeadingLevel.HEADING_1),

      sectionHead("4.1  Standard Target Volumes", HeadingLevel.HEADING_2),
      bullet("Chest wall or reconstructed breast (CW/RB): Always included when PMRT is indicated"),
      bullet("Ipsilateral supraclavicular (SC) + infraclavicular nodes: Include when PMRT is given"),
      bullet("Axillary nodes: Include levels I–III if <10 nodes dissected or axillary recurrence risk high; Level I–II if previous ALND with ≥10 nodes"),
      bullet("Internal mammary nodes (IMN): Individualise (see below)"),
      spacer(),
      body("PMRT Dose-Fractionation (ASTRO/ASCO/SSO 2025):"),
      pmrtDoseTable(),
      spacer(),

      sectionHead("4.2  IMN Irradiation — Decision Framework", HeadingLevel.HEADING_2),
      bullet("Consider IMN RT for: medial/central tumour location, ≥4 positive nodes, young age, triple-negative or HER2+ biology"),
      bullet("Evidence: EORTC 22922 + DBCG-IMN — modest DFS and BC mortality benefit"),
      bullet("Weigh against: increased cardiac dose (especially left-sided), pulmonary toxicity, radiation pneumonitis"),
      bullet("ASTRO/ASCO/SSO 2025: IMN RT should be discussed in tumour board; DIBH mandatory for left-sided if IMN is irradiated"),
      spacer(),

      sectionHead("4.3  PMRT with Breast Reconstruction", HeadingLevel.HEADING_2),
      body("RT-CHARM Trial (Alliance A221505, ASTRO Annual Meeting 2024):"),
      bullet("Phase III RCT (n=825): Hypofractionated PMRT (40 Gy/15fx) vs conventional (50 Gy/25fx) with planned reconstruction"),
      bullet("Result: Hypofractionation non-inferior for locoregional control; fewer reconstruction complications"),
      bullet("Conclusion: 3-week hypofractionated PMRT is now the preferred approach even in patients with planned reconstruction"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 5 — APBI
      // ═══════════════════════════════════════
      sectionHead("5.  Accelerated Partial Breast Irradiation (APBI)", HeadingLevel.HEADING_1),

      sectionHead("5.1  Patient Selection Criteria (ASTRO 2023/24 Update)", HeadingLevel.HEADING_2),
      body("ASTRO 2024 updated APBI guidelines lowered the suitable age threshold from 50 to 40 years and added DCIS as eligible. Key criteria:"),
      spacer(),
      apbiCriteriaTable(),
      spacer(),
      noteBox("ASBrS July 2025 updated guidance reaffirms APBI eligibility for carefully selected patients with BRCA-negative status and no BRCA mutation. NCCN v4.2025 lists 30 Gy/5fx EOD as the preferred EBRT-APBI regimen."),
      spacer(),

      sectionHead("5.2  APBI Techniques & Schedules", HeadingLevel.HEADING_2),
      bullet("External beam IMRT/VMAT (preferred, NCCN 2025): 30 Gy in 5 fractions every other day"),
      bullet("3D-CRT APBI: 38.5 Gy / 10 fx BID over 5 days (NSABP B-39 schedule)"),
      bullet("HDR brachytherapy (balloon/multicatheter): 34 Gy / 10 fx BID or 32 Gy / 8 fx BID"),
      bullet("LDR brachytherapy: 45 Gy prescribed to 125I seeds"),
      bullet("Intraoperative RT (IORT — Targit/Intrabeam): 20 Gy single dose — cautionary; higher LRR than EBRT APBI"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 6 — DE-ESCALATION
      // ═══════════════════════════════════════
      sectionHead("6.  Radiotherapy De-escalation and Omission", HeadingLevel.HEADING_1),
      body("RT omission after BCS remains an active research area. The following criteria define patient groups where omission may be appropriate:"),
      spacer(),
      rtOmissionTable(),
      spacer(),
      body("For PMRT omission after NACT see Section 2.2. Key ongoing trials — NSABP B-51 and NRG BR007 — will clarify PMRT omission in ypN0 patients."),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 7 — RT TECHNIQUES
      // ═══════════════════════════════════════
      sectionHead("7.  Radiotherapy Planning Techniques", HeadingLevel.HEADING_1),
      techniquesTable(),
      spacer(),

      sectionHead("7.1  OAR Dose Constraints", HeadingLevel.HEADING_2),
      oarTable(),
      spacer(),
      noteBox("ASTRO/ASCO/SSO 2025: CT-based volumetric planning with 3D-CRT is recommended minimum standard. IMRT advised when 3D-CRT cannot achieve dose constraints. DIBH recommended for all left-sided breast cases receiving PMRT or WBI with nodal fields."),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 8 — NODAL IRRADIATION
      // ═══════════════════════════════════════
      sectionHead("8.  Regional Nodal Irradiation (RNI) — After BCS", HeadingLevel.HEADING_1),
      bullet("MA.20 (NEJM 2015): WBI + RNI vs WBI alone in N1 or high-risk N0 — RNI improved 10-yr DFS (82% vs 77%, p=0.01)"),
      bullet("EORTC 22922: IMN + SC RT improved 10-yr DFS (82.3% vs 80.7%) and reduced BC mortality"),
      bullet("Hypofractionated RNI: IMPORT HIGH (40.05 Gy/15fx) and HYPOSIB trials confirm feasibility — 2025 French RT update recommends this approach"),
      bullet("Avoid elective Level III axillary dissection field if SN-biopsy was performed and <3 nodes positive"),
      bullet("Z11 paradigm: After positive SN biopsy + BCT, RNI to level I–II axilla replaces completion ALND in selected patients"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 9 — SEQUENCE WITH SYSTEMIC Rx
      // ═══════════════════════════════════════
      sectionHead("9.  Sequencing RT with Systemic Therapy", HeadingLevel.HEADING_1),
      bullet("Adjuvant chemotherapy: RT given AFTER completion of chemotherapy (typically 3–4 weeks after last cycle)"),
      bullet("Concurrent chemotherapy + RT: NOT standard for early-stage breast cancer (increased toxicity, no OS benefit)"),
      bullet("Trastuzumab / pertuzumab: Can be given concurrently with RT — no contraindication; monitor LVEF"),
      bullet("CDK4/6 inhibitors: Data limited; consider holding during RT (radiosensitisation concern) — per institutional protocol"),
      bullet("Endocrine therapy (tamoxifen/AI): Can start before, during, or after RT — no clinically meaningful interaction"),
      bullet("Olaparib (BRCA mutation): Avoid concurrent RT until safety data mature; give sequentially"),
      bullet("T-DM1 / T-DXd: RT should be completed before starting; concurrent use associated with pulmonary toxicity — avoid"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 10 — KEY TRIALS
      // ═══════════════════════════════════════
      sectionHead("10.  Landmark Trials Reference Table", HeadingLevel.HEADING_1),
      keyTrialsTable(),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 11 — SPECIAL POPULATIONS
      // ═══════════════════════════════════════
      sectionHead("11.  Special Populations & Situations", HeadingLevel.HEADING_1),

      sectionHead("11.1  Elderly Patients (≥70 years)", HeadingLevel.HEADING_2),
      bullet("CALGB 9343: RT omission acceptable ≥70 yr, Stage I, ER+, on endocrine therapy — shared decision-making"),
      bullet("Ultra-hypofractionation (26 Gy/5fx) preferred to reduce treatment burden"),
      bullet("APBI is an excellent option in suitable elderly patients"),
      spacer(),

      sectionHead("11.2  BRCA Mutation Carriers", HeadingLevel.HEADING_2),
      bullet("RT is NOT contraindicated in BRCA1/2 carriers — prior concerns of excessive radiosensitivity not substantiated in RCTs"),
      bullet("APBI is currently NOT recommended in known BRCA mutation carriers (ASTRO 2023; NCCN 2025)"),
      bullet("Consider bilateral mastectomy counselling (contralateral risk); if BCS chosen, WBI is safe"),
      spacer(),

      sectionHead("11.3  Locally Advanced Breast Cancer (LABC)", HeadingLevel.HEADING_2),
      bullet("Post-NACT: RT is recommended if initial T3–T4 or cN+ regardless of pathological response"),
      bullet("Target volumes based on initial clinical/radiological extent (pre-NACT imaging)"),
      bullet("Inflammatory BC (T4d): PMRT is mandatory after mastectomy + NACT"),
      bullet("Dose: 50 Gy/25fx or 40–42.5 Gy/15–16fx; consider boost to high-risk areas"),
      spacer(),

      sectionHead("11.4  Pregnancy-Associated Breast Cancer", HeadingLevel.HEADING_2),
      bullet("RT is CONTRAINDICATED during pregnancy due to foetal irradiation risk"),
      bullet("Mastectomy preferred in first and second trimester to avoid RT delay"),
      bullet("If BCS performed, delay RT until after delivery"),
      bullet("Shielding does not adequately protect the foetus from scatter — RT must be deferred"),
      spacer(),

      sectionHead("11.5  Re-irradiation / Locally Recurrent Disease", HeadingLevel.HEADING_2),
      bullet("Re-irradiation is feasible in selected patients with local recurrence after prior RT"),
      bullet("Techniques: IMRT, SBRT, proton therapy — individualise based on prior dose, recurrence site, interval"),
      bullet("Minimum 2-year interval from prior RT generally required"),
      bullet("Proton therapy preferred for re-irradiation when available — reduces cumulative dose to OARs"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 12 — TOXICITY
      // ═══════════════════════════════════════
      sectionHead("12.  Management of Radiation Toxicity", HeadingLevel.HEADING_1),

      sectionHead("12.1  Acute Toxicity", HeadingLevel.HEADING_2),
      bullet("Radiation dermatitis: Moisturisers (aqueous cream, aloe vera); for moist desquamation — moist wound dressings, silver-containing creams"),
      bullet("Oesophagitis (nodal fields): Soft diet, antacids, sucralfate; rarely requires RT break"),
      bullet("Fatigue: Exercise therapy during RT; manage anaemia if present"),
      bullet("Pneumonitis (early): Monitor; if symptomatic — prednisolone 1 mg/kg tapering over 6 weeks"),
      spacer(),

      sectionHead("12.2  Late Toxicity", HeadingLevel.HEADING_2),
      bullet("Lymphoedema: Compression, physiotherapy, manual lymphatic drainage; limit axillary dissection + RT when possible"),
      bullet("Radiation pneumonitis / fibrosis: Keep ipsilateral lung V20Gy <20%; monitor with 3-monthly clinical review for 2 years"),
      bullet("Cardiac toxicity: DIBH reduces mean heart dose; monitor cardiac function at 5-yr intervals; statin use if CV risk factors present"),
      bullet("Brachial plexopathy: Rare with modern techniques; keep Dmax <60 Gy (EQD2); physiotherapy if occurs"),
      bullet("Rib fracture: Counsel patients; IMRT reduces hot spots; bisphosphonates if osteoporosis"),
      bullet("Temporal lobe necrosis / brain effects: Not typically applicable to breast RT; relevant if skull base involvement"),
      bullet("Secondary malignancy: Risk very low (<1% at 10 yr) with modern RT; counsel patients; include contralateral breast dose optimisation"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 13 — FOLLOW-UP
      // ═══════════════════════════════════════
      sectionHead("13.  Follow-Up After Radiotherapy", HeadingLevel.HEADING_1),
      bullet("Week 1–2 post-RT: Clinical review for acute skin reaction; wound management"),
      bullet("6 weeks post-RT: Assess acute toxicity resolution; breast oedema, arm mobility"),
      bullet("6 months post-RT: Mammogram baseline (ipsilateral); assess fibrosis, cosmesis"),
      bullet("Annually: Mammogram (ipsilateral + contralateral); clinical breast examination"),
      bullet("Cardiac surveillance: Echocardiogram at 5 yr if significant cardiac dose; ongoing per cardio-oncology guidelines"),
      bullet("Thyroid function: Annual TSH if supraclavicular fields irradiated"),
      bullet("Lung: CXR or CT if pulmonary symptoms develop post-RT to nodal fields"),
      spacer(),

      // ═══════════════════════════════════════
      // SECTION 14 — REFERENCES
      // ═══════════════════════════════════════
      sectionHead("14.  Key References & Guidelines", HeadingLevel.HEADING_1),
      bullet("Jimenez RB et al. Postmastectomy Radiation Therapy: An ASTRO-ASCO-SSO Clinical Practice Guideline. J Clin Oncol. 2025. PMID: 40955654"),
      bullet("Brunt AM et al. FAST-Forward trial: 5-yr data. Lancet. 2020;395:1613–1626. [10-yr data ESTRO 2025; DEGRO statement Strahlenther Onkol 2025]"),
      bullet("START Trialists' Group. START-A and START-B trials. Lancet Oncol. 2008."),
      bullet("Poppe MM et al. RT-CHARM (Alliance A221505). ASTRO Annual Meeting 2024. Int J Radiat Oncol Biol Phys 2024."),
      bullet("Whelan TJ et al. MA.20 trial. N Engl J Med. 2015;373:307–316."),
      bullet("Poortmans PM et al. EORTC 22922. N Engl J Med. 2015;373:317–327."),
      bullet("Overgaard M et al. DBCG-IMN. J Clin Oncol. 2022."),
    ]
  }]
});

Packer.toBuffer(doc).then(buffer => {
  fs.writeFileSync('/home/daytona/workspace/breast-rt-guide/Breast_Cancer_RT_Protocols_Reference_Guide_2025.docx', buffer);
  console.log('SUCCESS: Document created.');
}).catch(err => {
  console.error('ERROR:', err);
  process.exit(1);
});
Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.