take Cummings as reference and explain about about anterior skull base approaches

Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Loading Image
Loading Image
I now have extensive content from Cummings. Here is a comprehensive, well-organized explanation:

Anterior Skull Base Approaches

Based on Cummings Otolaryngology Head and Neck Surgery

Anatomy of the Anterior Skull Base

The anterior skull base is formed by the cribriform plate medially and the ethmoidal roof laterally. The cribriform plate may be only 0.1–0.2 mm thick and often lies much lower than the ethmoidal roof. The lateral lamella of the cribriform plate connects to the ethmoidal roof and is particularly thin and vulnerable.
Keros Classification — categorizes the depth of the olfactory groove:
TypeDepthRisk
I1–3 mmLowest
II4–7 mmModerate
III8–16 mmHighest (thin, steeply inclined lateral lamella)
Key surgical landmarks include:
  • Anterior ethmoidal artery — lies posterior to the frontal recess, sometimes "slings" down as a pedicle within the ethmoid; retraction into the orbit causes acute orbital hematoma and blindness
  • Posterior ethmoidal artery — lies just anterior to the sphenoid sinus
  • The skull base is highest anteriorly and slopes downward posteriorly — dissection should proceed from posterior to anterior once the skull base is identified

Overview of Surgical Approaches

Cummings categorizes approaches on a spectrum from purely intracranial (neurosurgical) to purely extracranial (endonasal endoscopic), with most contemporary procedures combining both:
"For anterior cranial base lesions, the most commonly used open approaches employ some form of frontal craniotomy (unilaterally or bilaterally) with some form of transfacial exposure (transnasal, transmaxillary, or transorbital)."
The major approaches fall into three broad categories:

1. Open Craniotomy-Based Approaches

Anterior Craniofacial Resection (ACR)

The traditional workhorse for sinonasal malignancies invading the anterior cranial fossa (squamous cell carcinoma, esthesioneuroblastoma, adenocarcinoma).
Combines:
  • Bifrontal craniotomy (intracranial component — neurosurgeon)
  • Transfacial exposure (extracranial component — usually lateral rhinotomy ± contralateral Lynch incision, or midfacial degloving)
Steps:
  1. Transfacial exposure first — periosteum elevated from nasal bones and medial/inferior orbit; naso-lacrimal duct identified and transected; anterior and posterior ethmoidal arteries cauterized/clipped
  2. Bifrontal craniotomy — if large frontal sinus, an osteoplastic flap is used; if small, a frontal bone flap with bur holes above the hairline
  3. Frontal lobe elevation — dura incised and olfactory nerves severed at the cribriform plate; dural closure made watertight (temporal fascia, fascia lata, or pericranium)
  4. Planum exposure — dura elevated to expose orbital roofs and planum sphenoidale; if disease involves the planum, optic canals are unroofed to protect intracranial optic nerves
  5. En bloc ethmoidectomy with osteotomies using sagittal saw; orbital exenteration added if orbital soft tissue invasion confirmed
Bicoronal Incision Technical Note:
  • Placed in the true coronal plane at the level of the top of the helix (or slightly anterior)
  • Preserves anterior branches of the superficial temporal artery
  • High placement maximizes length of vascularized pericranial flap available for reconstruction
  • Lateral elevation in subgaleal plane, with an interfascial incision at the temporal lines to protect the frontal branch of the facial nerve
CSF/brain swelling management: lumbar drain, controlled hyperventilation (PCO₂ 25–30 mmHg), mannitol, corticosteroids, withdrawal of 25–50 mL CSF intraoperatively.

Keyhole / Supraorbital Craniotomy

A minimally invasive open technique based on the concept that a small, tailored craniotomy can access deep-seated pathology with limited brain retraction.
  • Craniotomy centered anterolaterally at the orbital roof/anterior fossa floor
  • Incisions: transciliary, supraciliary, upper blepharoplasty, or transpalpebral
  • Orbital osteotomy (Raza modification): increases visualization, limits frontal lobe retraction, expands working space; transpalpebral incision avoids frontalis palsy
  • Access: anterior fossa, parasellar region, interpeduncular cistern
  • Advantages: no facial scar, minimal brain retraction, wide exposure

2. Craniofacial Disassembly Techniques (Historical / Selected Cases)

Derived from plastic surgery for congenital craniofacial corrections; adapted for skull base by systematically dismantling the craniofacial skeleton to expose the skull base from below the neuraxis, reducing brain retraction:
  • Le Fort I and II osteotomies, maxillary splitting
  • Removal of the frontonasal unit
  • Midfacial degloving with sublabial incisions
These remain in use for very large or very complex tumors but have largely been supplanted by endoscopic techniques.

3. Endoscopic Endonasal Approaches (EEA)

Expanded by Kassam et al. (University of Pittsburgh, 2005) to the full ventral skull base — from crista galli to foramen magnum. This is now the most dynamic area of growth in anterior skull base surgery.
Documented advantages: No facial scars, decreased trauma to normal tissue, decreased hospital length of stay, improved quality of life, diminished morbidity.

Sagittal Plane Modules for Anterior Skull Base

Fig. 176.17 — Sagittal CT showing the three anterior skull base EEA modules:
Sagittal CT of skull base showing the three anterior EEA modules: Transfrontal (pink), Transcribriform (yellow), Transplanum/Transtuberculum (teal)
ModuleArea of AccessBone RemovedCN at RiskCommon PathologiesKey Complications
Transfrontal (sagittal)Posterior table & floor of frontal sinusPosterior table of frontal sinusMucocele, frontal osteoma, nasal dermoid, erosive inflammatory diseaseCSF leak, orbital hematoma, frontal recess stenosis
Transcribriform (sagittal)Crista galli → planum sphenoidaleCribriform plate, crista galliOlfactory (I)Olfactory groove meningiomas, esthesioneuroblastoma, encephaloceles, CSF leak, sinonasal tumorsCSF leak, anterior cerebral artery bleed, anosmia, orbital hematoma
Transplanum / Transtuberculum (sagittal)Suprasellar region, posterior anterior cranial basePlanum sphenoidale, tuberculum, optic strut, medial clinoidOptic nerve/chiasm (II)Planum meningiomas, suprasellar pituitary adenoma, craniopharyngioma, optic nerve gliomaCSF leak, ICA/ophthalmic artery bleed, cavernous sinus bleed, DI, optic nerve injury

Coronal Plane Modules

ModuleArea of AccessCN at RiskPathologies
SupraorbitalOrbital roofOptic nerveFibro-osseous lesions
TransorbitalIntraconal lesions inferomedial to optic nerveOptic nerveHemangiomas, schwannomas

EEA Surgical Setup

Each module begins with bilateral exposure creating a single rectangular cavity in the sphenoid sinus via: right middle turbinectomy → removal of sphenoid rostrum → lateralization of left middle turbinate → bilateral sphenoidectomy extended to medial pterygoid plates → resection of ~1–2 cm of posterior nasal septum.

4. Algorithm for Approach Selection

Fig. 176.18 — Naunheim et al. algorithm:
Algorithm for surgical approach to the anterior skull base — Naunheim et al.
Key decision points:
  • Tumor involves overlying skin, nasal bones, frontal bone, or orbital soft tissue?
    • No → endoscopic approach feasible
      • No intracranial extension → Endoscopic alone
      • Intracranial extension, medial to orbital wall, adequate nasoseptal flap → Endoscopic alone
      • Intracranial extension, extension lateral to medial orbital wall → Endoscopic + Craniotomy
    • Yes → open transfacial required
      • No intracranial extension → Transfacial
      • Intracranial extension → Transfacial + Craniotomy

Contraindications to Purely Endonasal Approach

  • Involvement of nasal bones or anterior table of frontal sinus
  • Overlying skin of nasal dorsum or frontal sinus
  • Orbital involvement requiring exenteration
  • Need for vascular reconstruction
  • Relative: expected very long operative duration

Summary Table: Anterior Skull Base Approaches

ApproachAccessBest ForAdvantage
Anterior craniofacial resectionBifrontal craniotomy + transfacialSCC, esthesioneuroblastoma, adenocarcinoma with anterior fossa invasionWide exposure, en bloc resection
Supraorbital/keyhole craniotomySmall anterolateral craniotomyAnterior fossa, parasellar lesionsMinimal retraction, cosmetic
Craniofacial disassemblyFacial osteotomies + craniotomyVery large/complex tumorsWide inferior exposure
EEA TranscribriformEndonasalOlfactory groove meningioma, esthesioneuroblastomaNo facial scar, minimal morbidity
EEA Transplanum/TranstuberculumEndonasalPlanum meningioma, craniopharyngiomaSuprasellar access without retraction
EEA TransfrontalEndonasalMucocele, osteoma, nasal dermoidAvoids external incision

Sources: Cummings Otolaryngology Head and Neck Surgery, 7th ed., Ch. 44 (pp. 873–973) and Ch. 176 (pp. 3360–3368).

also add trans sphenoid approach to anterior skull base

Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Loading Image
Loading Image
Excellent — I now have the full Cummings content on the transsphenoidal approach. Here is the complete addendum:

Transsphenoidal Approach to the Anterior Skull Base

Cummings Otolaryngology, Ch. 177 — Transnasal Surgical Approaches to the Skull Base (pp. 3390–3392)

Overview

The transsphenoidal approach is the central endonasal corridor to the anterior skull base. The sphenoid sinus serves as the focal point for multiple extended approaches: transsellar/parasellar, transclival, and petrous apical. As Cummings states:
"The great majority of the transnasal endoscopic skull base operations directly involve the sphenoid sinus, which is the focal point for several of the surgical approaches."
All transsphenoidal routes begin with a large pedicled nasoseptal flap based on the vascular pedicle of the sphenopalatine foramen — this is the primary reconstruction tool at closure.

Methods of Sphenoid Sinus Access

Four access techniques to the sphenoid sinus have been described, each suited to different situations:

1. Direct Transnasal Access

  • Performed through one nostril
  • Septoplasty first if nasal cavity is narrow
  • Superior turbinate removed with through-cutting forceps; posterior middle turbinate also removed if access remains narrow
  • Sphenoid ostium identified → opened with micro-Kerrison punch → enlarged inferiorly (avoiding the septal artery on the anterior wall)
  • Both sphenoid sinuses exposed: anterior wall, rostrum, and all intersinus septa resected with semicutting or diamond burs
Indications: Lesions of the roof of nasal cavity (without ethmoid involvement), nasopharyngeal lesions, isolated sphenoid sinus disease
Fig. 177.11 — Opening the sphenoid sinus anterior wall via Kerrison micropunch through the direct transnasal approach
Fig. 177.12 — Endoscopic view of the posterior sphenoid sinus wall after intersinus septum resection, showing ICA, optic-carotid recess (OCR), optic nerves (ON), planum sphenoidale (PS), sella, and clivus

2. Transseptal Access

  • Provides midline access through the nasal septum — specifically designed to avoid the lateral sphenoid wall, ICA, and optic nerve
  • Submucoperichondrial/submucoperiosteal infiltration with ropivacaine 0.75% + epinephrine 1:100,000 (hydraulic dissection)
  • Vertical hemi-transfixion incision at the caudal septal edge → septal flaps elevated (as in septoplasty)
  • Osseocartilaginous junction disarticulated; posterior septal bone resected with Jansen-Middleton forceps
  • Mucoperiosteum of anterior sphenoid wall elevated bilaterally; sphenoidotomy made with Kerrison punch enlarged with 5-mm diamond bur — large enough for simultaneous 4-mm endoscope + instrument
Indications: Pituitary adenomas, sellar and parasellar lesions, clival lesions

3. Transseptal-Transnasal (Binostril) Access (Stamm et al., 2008)

  • Enables two-surgeon, four-hand technique without septal perforation
  • Middle turbinates compressed and outfractured laterally
  • Septal hemi-transfixion incision made → nasoseptal flap harvested on one side and stored in nasopharynx
  • Contralateral septal mucosa kept intact (Fig. 177.15)
  • Creates a wide bilateral working corridor through both nostrils simultaneously
Advantage: Less nasal mucosal injury compared to bilateral direct transnasal approach; optimized for complex two-surgeon endoscopic resections

4. Transnasal + Transethmoid Access

  • Combines nasal and ethmoid corridors
  • Used when disease involves both ethmoid and sphenoid sinuses, the ethmoid roof, or orbits

Transsellar and Parasellar Phase (Pituitary Fossa Opening)

After wide sphenoidotomy, the key anatomic landmarks on the posterior sphenoid wall are identified:
  • ICA prominences (bilateral)
  • Optic nerve canal prominences (bilateral)
  • Optic-carotid recesses (OCR)
  • Planum sphenoidale (superiorly)
  • Clivus (inferiorly)
  • Floor of the sella turcica (centrally)
Steps:
  1. All intersinus septa resected with strong through-cutting forceps
  2. Mucoperiosteum over sellar floor displaced laterally and preserved for reconstruction
  3. Wide sellar bone resection with diamond bur + Kerrison punch — from ICA to ICA (lateral) and from planum to clivus (superoinferiorly)
  4. U-shaped dural incision made after confirming locations of cavernous sinuses, superior/inferior intercavernous sinuses, and ICAs
  5. Dura removed with attached tumor fragments (sent for histopathology)
  6. Tumor resection begins laterally using 45° angled endoscope + curved suction; dissection is more important than curettage
  7. Arachnoid (diaphragma sellae) = limit of superior/posterior dissection
Hemostasis: Warm saline irrigation, Spongostan, Surgicel packing

Closure and Reconstruction

CSF Leak StatusReconstruction
No CSF leakMucoperiosteum replaced; nasoseptal flap returned to original position
Low-flow CSF leakNasoseptal flap alone seals the defect
Large defect / high-flow leakTriple-F technique: fat + fascia lata + nasoseptal flap (multilayer)
Spongostan powder + Gelfoam + antibiotic-soaked gauze applied → Rapid Rhino insufflate packing for 3 days.

Extended Transsphenoidal Modules

The transsphenoidal corridor can be extended to reach additional anterior skull base regions:
ExtensionTargetKey Pathology
TransclivalClivus, retroclival region, cavernous sinus, petrous apexChordoma, clival meningioma, petrous apex cholesterol granuloma
Transcribriform (unilateral)Olfactory groove (one side), ethmoid roofEsthesioneuroblastoma, sinonasal malignancy with intradural extension; preserves contralateral olfaction
Transcribriform (bilateral)Full cribriform/olfactory groove + frontal sinus (Draf III required)Bilateral malignancy; limits: medial orbital wall laterally, frontal sinus anteriorly, sphenoid posteriorly
Transtuberculum-TransplanumPlanum sphenoidale, tuberculum sellae, suprasellar cisternPlanum meningioma, craniopharyngioma, Rathke pouch cyst, optic nerve glioma, suprasellar pituitary adenoma
For the transclival approach, the EEA has replaced most earlier anterior approaches (transseptal, transmaxillary, transpalatal, transmandibular) for midline clival lesions — the main advantage being a sterile operative field that reduces CSF leak and infection risk versus transoral routes.

Summary: Approach Selection by Target

Target RegionPreferred Transsphenoidal Route
Sella (pituitary adenoma)Transseptal or binostril transsphenoidal
Parasellar / cavernous sinusTranssphenoidal-transsellar extended laterally
Suprasellar (planum meningioma)Transtuberculum-transplanum
Olfactory grooveTranscribriform (uni- or bilateral)
Clivus / petrous apexTransclival/transphenoidal with petrous apex drilling
Frontal sinus / nasal dermoidTransfrontal (Draf III combined)

Source: Cummings Otolaryngology Head and Neck Surgery, 7th ed., Ch. 177, pp. 3390–3394.

make pdf

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/anterior-skull-base

Writing File

~/anterior-skull-base/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, Image, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus.flowables import HRFlowable
import urllib.request
import os
import io

OUTPUT = "/home/daytona/workspace/anterior-skull-base/Anterior_Skull_Base_Approaches_Cummings.pdf"
IMG_DIR = "/home/daytona/workspace/anterior-skull-base/images"
os.makedirs(IMG_DIR, exist_ok=True)

# Download images
images = {
    "sagittal_modules.png": "https://cdn.orris.care/cdss_images/c696cc974bffc3c7e774a6c8b3316291fffc78b41d315076dddb569777a77724.png",
    "approach_algorithm.png": "https://cdn.orris.care/cdss_images/110bf8746fa7c17aac9377778b12e6c3c22363a12fdb582fb671f7c3693bc099.png",
    "kerrison_sphenoid.png": "https://cdn.orris.care/cdss_images/93bf77a96696693a6434842dd1bcc9418e99b4893ae100cc133767f9af86df89.png",
    "endoscopic_sphenoid.png": "https://cdn.orris.care/cdss_images/96399cce4b4067737a9c3326117cd432332eb9713acde242e02bb118884750d7.png",
}

for fname, url in images.items():
    fpath = os.path.join(IMG_DIR, fname)
    if not os.path.exists(fpath):
        try:
            urllib.request.urlretrieve(url, fpath)
            print(f"Downloaded {fname}")
        except Exception as e:
            print(f"Failed {fname}: {e}")

# ── Styles ────────────────────────────────────────────────────────────────────
PAGE_W, PAGE_H = A4
MARGIN = 2 * cm

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=MARGIN, rightMargin=MARGIN,
    topMargin=2.2 * cm, bottomMargin=2 * cm,
    title="Anterior Skull Base Approaches – Cummings",
    author="Orris Medical Reference"
)

styles = getSampleStyleSheet()
BASE_FONT = "Helvetica"

def sty(name, parent="Normal", **kw):
    return ParagraphStyle(name, parent=styles[parent], fontName=BASE_FONT, **kw)

TITLE_STYLE  = sty("DocTitle",  fontSize=20, leading=26, alignment=TA_CENTER,
                   textColor=colors.HexColor("#1a3a5c"), spaceAfter=6)
SUBTITLE_STYLE = sty("Subtitle", fontSize=11, leading=15, alignment=TA_CENTER,
                      textColor=colors.HexColor("#4a6fa5"), spaceAfter=4)
SOURCE_STYLE = sty("Source", fontSize=9, leading=12, alignment=TA_CENTER,
                   textColor=colors.HexColor("#666666"), spaceAfter=14, fontName="Helvetica-Oblique")
H1_STYLE     = sty("H1", fontSize=14, leading=18, spaceBefore=16, spaceAfter=6,
                   textColor=colors.HexColor("#1a3a5c"), fontName="Helvetica-Bold")
H2_STYLE     = sty("H2", fontSize=12, leading=16, spaceBefore=12, spaceAfter=4,
                   textColor=colors.HexColor("#2e5fa3"), fontName="Helvetica-Bold")
H3_STYLE     = sty("H3", fontSize=10.5, leading=14, spaceBefore=8, spaceAfter=3,
                   textColor=colors.HexColor("#3a7abf"), fontName="Helvetica-Bold")
BODY_STYLE   = sty("Body", fontSize=9.5, leading=14, spaceAfter=6, alignment=TA_JUSTIFY)
BULLET_STYLE = sty("Bullet", fontSize=9.5, leading=14, spaceAfter=3,
                   leftIndent=14, firstLineIndent=0)
QUOTE_STYLE  = sty("Quote", fontSize=9, leading=13, spaceAfter=6,
                   leftIndent=20, rightIndent=20, fontName="Helvetica-Oblique",
                   textColor=colors.HexColor("#444444"), spaceBefore=4)
CAPTION_STYLE = sty("Caption", fontSize=8.5, leading=12, alignment=TA_CENTER,
                    textColor=colors.HexColor("#555555"), fontName="Helvetica-Oblique", spaceAfter=8)

def h1(text): return Paragraph(text, H1_STYLE)
def h2(text): return Paragraph(text, H2_STYLE)
def h3(text): return Paragraph(text, H3_STYLE)
def body(text): return Paragraph(text, BODY_STYLE)
def bullet(text): return Paragraph(f"• {text}", BULLET_STYLE)
def quote(text): return Paragraph(f'"{text}"', QUOTE_STYLE)
def caption(text): return Paragraph(text, CAPTION_STYLE)
def sp(h=6): return Spacer(1, h)
def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#cccccc"), spaceAfter=6, spaceBefore=6)

def img(fname, w_cm=14, caption_text=""):
    path = os.path.join(IMG_DIR, fname)
    if not os.path.exists(path):
        return [body(f"[Image not available: {fname}]")]
    elems = [Image(path, width=w_cm*cm, height=None)]
    if caption_text:
        elems.append(caption(caption_text))
    return elems

def make_table(headers, rows, col_widths=None):
    data = [headers] + rows
    if col_widths is None:
        available = PAGE_W - 2 * MARGIN
        col_widths = [available / len(headers)] * len(headers)
    table = Table(data, colWidths=col_widths, repeatRows=1)
    style = TableStyle([
        ('BACKGROUND', (0,0), (-1,0), colors.HexColor("#1a3a5c")),
        ('TEXTCOLOR',  (0,0), (-1,0), colors.white),
        ('FONTNAME',   (0,0), (-1,0), 'Helvetica-Bold'),
        ('FONTSIZE',   (0,0), (-1,0), 8.5),
        ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor("#f0f4fa"), colors.white]),
        ('FONTNAME',   (0,1), (-1,-1), 'Helvetica'),
        ('FONTSIZE',   (0,1), (-1,-1), 8),
        ('ALIGN',      (0,0), (-1,-1), 'LEFT'),
        ('VALIGN',     (0,0), (-1,-1), 'TOP'),
        ('GRID',       (0,0), (-1,-1), 0.3, colors.HexColor("#aaaaaa")),
        ('TOPPADDING', (0,0), (-1,-1), 4),
        ('BOTTOMPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING', (0,0), (-1,-1), 5),
        ('RIGHTPADDING', (0,0), (-1,-1), 5),
    ])
    table.setStyle(style)
    return table

def wrap_table_cells(data):
    """Wrap all cells in Paragraph objects for text wrapping."""
    result = []
    for row in data:
        result.append([Paragraph(str(c), ParagraphStyle("tc", fontName="Helvetica", fontSize=8, leading=11)) for c in row])
    return result

def wrap_header_cells(headers):
    return [Paragraph(str(h), ParagraphStyle("th", fontName="Helvetica-Bold", fontSize=8.5, leading=12, textColor=colors.white)) for h in headers]

def make_table2(headers, rows, col_widths=None):
    """Table with wrapped text cells."""
    available = PAGE_W - 2 * MARGIN
    if col_widths is None:
        col_widths = [available / len(headers)] * len(headers)
    data = [wrap_header_cells(headers)] + wrap_table_cells(rows)
    table = Table(data, colWidths=col_widths, repeatRows=1)
    style = TableStyle([
        ('BACKGROUND',    (0,0), (-1,0), colors.HexColor("#1a3a5c")),
        ('ROWBACKGROUNDS',(0,1), (-1,-1), [colors.HexColor("#f0f4fa"), colors.white]),
        ('ALIGN',         (0,0), (-1,-1), 'LEFT'),
        ('VALIGN',        (0,0), (-1,-1), 'TOP'),
        ('GRID',          (0,0), (-1,-1), 0.3, colors.HexColor("#aaaaaa")),
        ('TOPPADDING',    (0,0), (-1,-1), 4),
        ('BOTTOMPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING',   (0,0), (-1,-1), 5),
        ('RIGHTPADDING',  (0,0), (-1,-1), 5),
    ])
    table.setStyle(style)
    return table

# ── Build story ────────────────────────────────────────────────────────────────
story = []

# ── TITLE PAGE ────────────────────────────────────────────────────────────────
story += [
    sp(30),
    Paragraph("Anterior Skull Base Approaches", TITLE_STYLE),
    Paragraph("A Comprehensive Reference Based on Cummings Otolaryngology", SUBTITLE_STYLE),
    Paragraph("Cummings Otolaryngology Head and Neck Surgery, 7th Edition", SOURCE_STYLE),
    hr(),
    sp(10),
]

# ── SECTION 1: ANATOMY ────────────────────────────────────────────────────────
story.append(h1("1. Anatomy of the Anterior Skull Base"))
story.append(body(
    "The anterior skull base is formed by the <b>cribriform plate medially</b> and the <b>ethmoidal roof laterally</b>. "
    "The cribriform plate may be only 0.1–0.2 mm thick and often lies much lower than the ethmoidal roof. "
    "The lateral lamella of the cribriform plate connects to the ethmoidal roof and is particularly thin and vulnerable to iatrogenic injury."
))
story.append(sp(4))
story.append(h2("Keros Classification — Depth of Olfactory Groove"))

keros_headers = ["Type", "Depth", "Anatomic Feature", "Risk of Injury"]
keros_rows = [
    ["Type I", "1–3 mm", "Shallow olfactory groove", "Lowest"],
    ["Type II", "4–7 mm", "Moderate depth", "Intermediate"],
    ["Type III", "8–16 mm", "Deep groove; thin, steeply inclined lateral lamella", "Highest — greatest vulnerability during ESS"],
]
story.append(make_table2(keros_headers, keros_rows, [1.5*cm, 2*cm, 8*cm, 4.5*cm]))
story.append(sp(8))

story.append(h2("Key Surgical Landmarks"))
for b in [
    "<b>Anterior ethmoidal artery</b> — lies posterior to the frontal recess; can 'sling' downward within the ethmoid space. Retraction into the orbit causes acute orbital hematoma and blindness.",
    "<b>Posterior ethmoidal artery</b> — lies just anterior to the sphenoid sinus in the skull base.",
    "<b>Skull base slope</b> — highest anteriorly, slopes downward posteriorly. Dissection should proceed from posterior to anterior once the skull base is identified.",
    "<b>Asymmetric cribriform heights</b> — can occur bilaterally; ratio of posterior ethmoid height to maxillary sinus height helps predict skull base level.",
]:
    story.append(bullet(b))
story.append(sp(4))

# ── SECTION 2: OVERVIEW ───────────────────────────────────────────────────────
story.append(h1("2. Overview of Approaches"))
story.append(quote(
    "For anterior cranial base lesions, the most commonly used open approaches employ some form of frontal "
    "craniotomy (unilaterally or bilaterally) with some form of transfacial exposure (transnasal, transmaxillary, or transorbital)."
))
story.append(body(
    "Surgical approaches to the anterior skull base span a spectrum from purely intracranial (neurosurgical) to purely "
    "extracranial (endonasal endoscopic), with most contemporary procedures combining both components. "
    "Purely endoscopic endonasal approaches have revolutionized anterior skull base surgery over the past two decades, "
    "in many cases replacing traditional open craniofacial approaches."
))

# ── SECTION 3: OPEN APPROACHES ────────────────────────────────────────────────
story.append(PageBreak())
story.append(h1("3. Open Craniotomy-Based Approaches"))

story.append(h2("3.1  Anterior Craniofacial Resection (ACR)"))
story.append(body(
    "The traditional workhorse for sinonasal malignancies invading the anterior cranial fossa. "
    "ACR combines <b>bifrontal craniotomy</b> (intracranial component) with <b>transfacial exposure</b> — "
    "most often lateral rhinotomy ± contralateral Lynch incision, or midfacial degloving."
))
story.append(h3("Indications"))
for b in [
    "Squamous cell carcinoma of the sinonasal tract with anterior fossa invasion",
    "Esthesioneuroblastoma (olfactory neuroblastoma)",
    "Adenocarcinoma of the sinonasal tract",
    "Other sinonasal malignancies with cribriform / anterior fossa involvement",
    "Orbital exenteration added when tumor invades orbital soft tissues",
]:
    story.append(bullet(b))
story.append(sp(4))

story.append(h3("Operative Steps"))
steps = [
    ("Step 1 — Transfacial Exposure", "Periosteum elevated from nasal bones and medial/inferior orbit. Naso-lacrimal duct identified and transected distally. Anterior and posterior ethmoidal arteries identified and cauterized/clipped. Contralateral Lynch incision made for bilateral ethmoidectomy."),
    ("Step 2 — Bifrontal Craniotomy", "If large frontal sinus: osteoplastic flap to avoid bur holes in forehead. If small: frontal bone flap with bur holes above hairline. Lower horizontal bone cut kept within 1 cm of superior orbital rims to minimize brain retraction."),
    ("Step 3 — Brain Relaxation", "25–50 mL CSF withdrawn via lumbar drain. Controlled hyperventilation (PCO₂ 25–30 mmHg). Mannitol and/or corticosteroids as adjuncts."),
    ("Step 4 — Frontal Lobe Elevation", "Dura incised; olfactory nerves severed at cribriform plate. CSF leakage controlled with dural patch (temporal fascia, fascia lata, or pericranium). Dura elevated to expose orbital roofs and planum sphenoidale."),
    ("Step 5 — Posterior Margin", "If disease confined to cribriform: planum entered with cutting bur/osteotome. If planum must be removed: intracranial optic nerves unroofed via optic canal decompression before sphenoid osteotomy."),
    ("Step 6 — En Bloc Resection", "Ethmoidectomy completed with sagittal saw osteotomies. Orbital exenteration added if intraoperative confirmation of orbital soft tissue invasion."),
]
for title, detail in steps:
    story.append(KeepTogether([
        Paragraph(f"<b>{title}</b>", ParagraphStyle("step", parent=styles["Normal"],
            fontName="Helvetica-Bold", fontSize=9.5, leading=14, spaceBefore=6, spaceAfter=2,
            textColor=colors.HexColor("#2e5fa3"))),
        body(detail),
    ]))

story.append(h3("Bicoronal Incision — Technical Notes"))
for b in [
    "Placed in true coronal plane at level of top of helix (or slightly anterior)",
    "Preserves anterior branches of the superficial temporal artery",
    "High placement maximizes length of vascularized pericranial flap available for reconstruction",
    "Central scalp flap: subgaleal plane (if pericranial flap planned) or subperiosteal if not",
    "Lateral to temporal lines: subgaleal plane just above deep temporal fascia",
    "Interfascial incision at temporal lines protects the frontal branch of the facial nerve",
]:
    story.append(bullet(b))
story.append(sp(6))

story.append(h2("3.2  Supraorbital / Keyhole Craniotomy"))
story.append(body(
    "A minimally invasive open technique based on the concept that a <b>small, tailored craniotomy</b> can access "
    "deep-seated anterior fossa pathology with limited brain retraction. Craniotomy centered anterolaterally "
    "at the orbital roof/anterior fossa floor."
))
story.append(h3("Incision Options"))
for b in [
    "Transciliary incision",
    "Supraciliary incision",
    "Upper blepharoplasty crease",
    "Transpalpebral incision (Raza modification) — avoids frontalis palsy, cosmetically superior",
]:
    story.append(bullet(b))
story.append(h3("Orbital Osteotomy (Raza Modification)"))
for b in [
    "Increases visualization of anterior fossa, parasellar region, interpeduncular cistern",
    "Limits frontal lobe retraction",
    "Expands working space compared to craniotomy alone",
]:
    story.append(bullet(b))
story.append(sp(6))

story.append(h2("3.3  Craniofacial Disassembly Techniques"))
story.append(body(
    "Derived from plastic surgery for congenital craniofacial corrections. These techniques systematically dismantle "
    "the craniofacial skeleton to expose the skull base <i>from below the neuraxis</i>, significantly reducing brain retraction. "
    "Now largely supplanted by endoscopic approaches but remain in use for very large or complex tumors."
))
for b in [
    "Le Fort I and II osteotomies",
    "Maxillary splitting",
    "Removal of the frontonasal unit",
    "Midfacial degloving with sublabial incisions",
    "Facial translocation approaches",
]:
    story.append(bullet(b))

# ── SECTION 4: ENDOSCOPIC APPROACHES ─────────────────────────────────────────
story.append(PageBreak())
story.append(h1("4. Endoscopic Endonasal Approaches (EEA)"))
story.append(body(
    "Expanded by Kassam et al. (University of Pittsburgh, 2005) to the full ventral skull base — from crista galli "
    "to foramen magnum. The EEA is now the most dynamic area of growth in anterior skull base surgery. "
    "Access to the central skull base from the frontal sinus to C2 and from the sella to the jugular foramen is possible."
))
story.append(h3("Documented Advantages"))
for b in [
    "No facial scars",
    "Decreased trauma to normal tissue",
    "Decreased hospital length of stay",
    "Improved quality of life",
    "Diminished overall morbidity",
]:
    story.append(bullet(b))
story.append(sp(6))

story.append(h2("4.1  Sagittal Plane Modules — Anterior Skull Base"))
story.append(body(
    "Three modules proceed in stepwise succession rostrally along the sagittal axis. "
    "Each begins with bilateral sphenoid exposure creating a single rectangular cavity."
))
story.append(sp(4))
story += img("sagittal_modules.png", w_cm=12,
    caption_text="Fig. 176.17 — Sagittal CT showing the three anterior EEA modules: Transfrontal (pink), Transcribriform (yellow), Transplanum/Transtuberculum (teal). [Cummings Otolaryngology, Ch. 176]")
story.append(sp(8))

eea_headers = ["Module", "Area of Access", "Bone Removed", "CN at Risk", "Common Pathologies", "Key Complications"]
eea_rows = [
    ["Transfrontal\n(sagittal)",
     "Posterior table & floor of frontal sinus",
     "Posterior table of frontal sinus",
     "—",
     "Mucocele, frontal osteoma, nasal dermoid, erosive inflammatory disease",
     "CSF leak, orbital hematoma, frontal recess stenosis"],
    ["Transcribriform\n(sagittal)",
     "Crista galli → planum sphenoidale",
     "Cribriform plate, crista galli",
     "CN I (olfactory)",
     "Olfactory groove meningiomas, esthesioneuroblastoma, encephaloceles, CSF leak, sinonasal tumors",
     "CSF leak, anterior cerebral artery bleed, anosmia, orbital hematoma"],
    ["Transplanum /\nTranstuberculum\n(sagittal)",
     "Suprasellar region, posterior anterior cranial base",
     "Planum sphenoidale, tuberculum, optic strut, medial clinoid",
     "CN II (optic nerve/chiasm)",
     "Planum meningiomas, suprasellar pituitary adenoma, craniopharyngioma, optic nerve glioma",
     "CSF leak, ICA/ophthalmic artery bleed, cavernous sinus bleed, DI, optic nerve injury"],
]
avail = PAGE_W - 2*MARGIN
eea_widths = [avail*0.13, avail*0.14, avail*0.15, avail*0.10, avail*0.27, avail*0.21]
story.append(make_table2(eea_headers, eea_rows, eea_widths))
story.append(sp(10))

story.append(h2("4.2  Coronal Plane Modules"))
cp_headers = ["Module", "Area of Access", "CN at Risk", "Common Pathologies", "Key Complications"]
cp_rows = [
    ["Supraorbital", "Orbital roof", "CN II (optic)", "Benign fibro-osseous lesions", ""],
    ["Transorbital", "Intraconal lesions inferomedial to optic nerve", "CN II (optic)", "Hemangiomas, schwannomas", "Vision loss, EOM injury/diplopia, globe injury, CSF leak"],
]
cp_widths = [avail*0.14, avail*0.22, avail*0.12, avail*0.27, avail*0.25]
story.append(make_table2(cp_headers, cp_rows, cp_widths))
story.append(sp(10))

story.append(h2("4.3  EEA Surgical Setup"))
story.append(body(
    "Each module begins with <b>bilateral sphenoid exposure</b> creating a single rectangular working cavity, accomplished in sequence:"
))
for b in [
    "Right middle turbinectomy",
    "Disarticulation and removal of sphenoid rostrum",
    "Lateralization of left middle turbinate",
    "Bilateral sphenoidectomy — lateral margins extended to medial pterygoid plates",
    "Resection of ~1–2 cm of posterior nasal septum",
]:
    story.append(bullet(b))
story.append(sp(6))

story.append(h2("4.4  Contraindications to Purely Endonasal Approach"))
story.append(body("<b>Absolute contraindications:</b>"))
for b in [
    "Involvement of nasal bones or anterior table of frontal sinus",
    "Overlying skin of nasal dorsum or frontal sinus",
    "Orbital involvement requiring exenteration",
]:
    story.append(bullet(b))
story.append(body("<b>Relative contraindications:</b>"))
for b in [
    "Need for vascular reconstruction",
    "Expected very long operative duration",
    "Tumor involvement of superficial tissues",
]:
    story.append(bullet(b))
story.append(sp(6))

story.append(h2("4.5  Approach Selection Algorithm"))
story.append(body(
    "The algorithm below (Naunheim et al., J Neurol Surg B 2016, redrawn in Cummings Fig. 176.18) guides approach selection based on "
    "tumor characteristics:"
))
story.append(sp(4))
story += img("approach_algorithm.png", w_cm=13,
    caption_text="Fig. 176.18 — Algorithm for surgical approach to the anterior skull base (Naunheim et al., redrawn in Cummings Otolaryngology, Ch. 176)")
story.append(sp(6))

# ── SECTION 5: TRANSSPHENOIDAL ────────────────────────────────────────────────
story.append(PageBreak())
story.append(h1("5. Transsphenoidal Approach to the Anterior Skull Base"))
story.append(body(
    "The transsphenoidal approach is the <b>central endonasal corridor</b> to the anterior skull base. "
    "The sphenoid sinus serves as the focal point for multiple extended approaches: transsellar/parasellar, transclival, and petrous apical. "
    "All transsphenoidal routes begin with a <b>large pedicled nasoseptal flap</b> based on the vascular pedicle of the "
    "sphenopalatine foramen — the primary reconstruction tool at closure."
))
story.append(sp(6))

story.append(h2("5.1  Methods of Sphenoid Sinus Access"))

story.append(h3("A. Direct Transnasal Access"))
story.append(body(
    "Performed through one nostril. Septoplasty performed first if nasal cavity is narrow. "
    "Superior turbinate removed with through-cutting forceps; posterior middle turbinate also removed if access remains narrow. "
    "Sphenoid ostium identified → opened with micro-Kerrison punch → enlarged inferiorly (avoiding the septal artery on the anterior wall). "
    "Both sphenoid sinuses exposed: anterior wall, rostrum, and all intersinus septa resected with semicutting or diamond burs."
))
story.append(body("<b>Indications:</b> Lesions of the nasal cavity roof (without ethmoid involvement), nasopharyngeal lesions, isolated sphenoid sinus disease."))
story.append(sp(4))
story += img("kerrison_sphenoid.png", w_cm=10,
    caption_text="Fig. 177.11 — Opening the sphenoid sinus anterior wall via Kerrison micropunch through the direct transnasal approach. [Cummings Otolaryngology, Ch. 177]")
story.append(sp(4))
story += img("endoscopic_sphenoid.png", w_cm=10,
    caption_text="Fig. 177.12 — Endoscopic view of posterior sphenoid sinus wall showing ICA, optic-carotid recess (OCR), optic nerves (ON), planum sphenoidale (PS), sella, and clivus. [Cummings Otolaryngology, Ch. 177]")
story.append(sp(6))

story.append(h3("B. Transseptal Access"))
story.append(body(
    "Provides <b>midline access</b> through the nasal septum — designed to avoid the lateral sphenoid wall, ICA, and optic nerve. "
    "Submucoperichondrial/submucoperiosteal infiltration with ropivacaine 0.75% + epinephrine 1:100,000 (hydraulic dissection). "
    "Vertical hemi-transfixion incision at caudal septal edge → septal flaps elevated as in septoplasty. "
    "Osseocartilaginous junction disarticulated; posterior septal bone resected with Jansen-Middleton forceps. "
    "Sphenoidotomy made with Kerrison punch enlarged with 5-mm diamond bur — large enough for simultaneous 4-mm endoscope + instrument."
))
story.append(body("<b>Indications:</b> Pituitary adenomas, sellar and parasellar lesions, clival lesions."))
story.append(sp(6))

story.append(h3("C. Transseptal-Transnasal (Binostril) Access"))
story.append(body(
    "Described by Stamm et al. (2008). Enables <b>two-surgeon, four-hand</b> technique without septal perforation. "
    "Middle turbinates compressed and outfractured laterally. Septal hemi-transfixion incision → nasoseptal flap harvested "
    "on one side and stored in nasopharynx. Contralateral septal mucosa kept intact. "
    "Creates wide bilateral working corridor through both nostrils simultaneously."
))
story.append(body("<b>Advantage:</b> Less nasal mucosal injury than bilateral direct transnasal approach; optimal for complex two-surgeon endoscopic resections."))
story.append(sp(6))

story.append(h3("D. Transnasal + Transethmoid Access"))
story.append(body(
    "Combines nasal and ethmoid corridors. Used when disease involves both ethmoid and sphenoid sinuses, the ethmoid roof, or orbits."
))
story.append(sp(8))

story.append(h2("5.2  Transsellar and Parasellar Phase"))
story.append(body(
    "After wide sphenoidotomy, key anatomic landmarks on the posterior sphenoid wall are identified before dural opening:"
))
for b in [
    "ICA prominences (bilateral)",
    "Optic nerve canal prominences (bilateral)",
    "Optic-carotid recesses (OCR)",
    "Planum sphenoidale (superiorly)",
    "Clivus (inferiorly)",
    "Floor of the sella turcica (centrally)",
]:
    story.append(bullet(b))
story.append(sp(4))
story.append(h3("Steps for Pituitary Fossa Opening"))
pf_steps = [
    ("1", "All intersinus septa resected with strong through-cutting forceps"),
    ("2", "Mucoperiosteum over sellar floor displaced laterally and preserved for reconstruction"),
    ("3", "Wide sellar bone resection with diamond bur + Kerrison punch — from ICA to ICA (lateral) and from planum to clivus (superoinferiorly)"),
    ("4", "U-shaped dural incision after confirming locations of cavernous sinuses, intercavernous sinuses, and bilateral ICAs"),
    ("5", "Dura removed with attached tumor fragments (sent for histopathology)"),
    ("6", "Tumor resection begins laterally using 45° angled endoscope + curved suction; dissection is more important than curettage"),
    ("7", "Arachnoid (diaphragma sellae) = limit of superior/posterior dissection"),
]:
    story.append(bullet(f"<b>Step {s[0]}:</b> {s[1]}" for s in [("", "")])
    )

# Fix the step iteration
story = story[:-1]  # remove last bad entry
for num, detail in pf_steps:
    story.append(bullet(f"<b>Step {num}:</b> {detail}"))
story.append(sp(6))

story.append(h3("Hemostasis"))
story.append(body("Warm saline irrigation, Spongostan, Surgicel packing."))
story.append(sp(6))

story.append(h2("5.3  Closure and Reconstruction"))
recon_headers = ["CSF Leak Status", "Reconstruction Strategy"]
recon_rows = [
    ["No CSF leak", "Mucoperiosteum replaced; nasoseptal flap returned to original position"],
    ["Low-flow CSF leak", "Nasoseptal flap alone seals the defect"],
    ["Large defect / high-flow leak", "Triple-F technique: Fat + Fascia lata + nasoseptal Flap (multilayer). Spongostan + Gelfoam + antibiotic-soaked gauze. Rapid Rhino insufflate packing × 3 days"],
]
story.append(make_table2(recon_headers, recon_rows, [avail*0.28, avail*0.72]))
story.append(sp(10))

story.append(h2("5.4  Extended Transsphenoidal Modules"))
ext_headers = ["Extension", "Target", "Key Pathology"]
ext_rows = [
    ["Transclival", "Clivus, retroclival region, cavernous sinus, petrous apex", "Chordoma, clival meningioma, petrous apex cholesterol granuloma"],
    ["Transcribriform (unilateral)", "Olfactory groove (one side), ethmoid roof", "Esthesioneuroblastoma, sinonasal malignancy; preserves contralateral olfaction"],
    ["Transcribriform (bilateral)", "Full cribriform/olfactory groove + frontal sinus (Draf III required)", "Bilateral malignancy; limits: medial orbital wall, frontal sinus, sphenoid sinus"],
    ["Transtuberculum–Transplanum", "Planum sphenoidale, tuberculum sellae, suprasellar cistern", "Planum meningioma, craniopharyngioma, Rathke pouch cyst, optic nerve glioma, suprasellar adenoma"],
]
story.append(make_table2(ext_headers, ext_rows, [avail*0.22, avail*0.36, avail*0.42]))
story.append(sp(10))

# ── SECTION 6: SUMMARY TABLE ──────────────────────────────────────────────────
story.append(PageBreak())
story.append(h1("6. Summary: All Anterior Skull Base Approaches"))
sum_headers = ["Approach", "Access", "Best For", "Key Advantage"]
sum_rows = [
    ["Anterior craniofacial resection", "Bifrontal craniotomy + transfacial (lateral rhinotomy / midfacial degloving)", "SCC, esthesioneuroblastoma, adenocarcinoma with anterior fossa invasion", "Wide exposure; en bloc oncologic resection"],
    ["Supraorbital / Keyhole craniotomy", "Small anterolateral craniotomy (transciliary / transpalpebral)", "Anterior fossa, parasellar, interpeduncular cistern lesions", "Minimal brain retraction; cosmetic incision"],
    ["Craniofacial disassembly", "Facial osteotomies (Le Fort I/II, maxillary split) + craniotomy", "Very large or complex tumors", "Wide inferior exposure; reduces brain retraction"],
    ["EEA — Transfrontal", "Endonasal", "Mucocele, frontal osteoma, nasal dermoid, erosive disease", "No facial scar; avoids external incision"],
    ["EEA — Transcribriform", "Endonasal", "Olfactory groove meningioma, esthesioneuroblastoma", "No facial scar; minimal morbidity"],
    ["EEA — Transplanum / Transtuberculum", "Endonasal", "Planum meningioma, craniopharyngioma", "Suprasellar access without brain retraction"],
    ["Transsphenoidal — Transsellar / Parasellar", "Endonasal (transseptal, direct transnasal, or binostril)", "Pituitary adenoma, sellar/parasellar lesions", "Workhorse pituitary approach; minimal morbidity"],
    ["Transsphenoidal — Transclival", "Endonasal via sphenoid + clivus drilling", "Chordoma, clival meningioma, cholesterol granuloma", "Midline sterile corridor; replaces most transoral routes"],
    ["Transsphenoidal — Transcribriform (EEA)", "Endonasal via ethmoid + cribriform", "Sinonasal malignancy with intradural extension (unilateral: preserves olfaction)", "No facial incision; controlled dural resection possible"],
    ["Transtuberculum–Transplanum (EEA)", "Endonasal via sphenoid + planum drilling", "Planum meningioma, craniopharyngioma, Rathke cyst", "Direct suprasellar access without craniotomy"],
]
story.append(make_table2(sum_headers, sum_rows, [avail*0.20, avail*0.22, avail*0.30, avail*0.28]))
story.append(sp(10))

story.append(h2("Approach Selection by Target Region"))
sel_headers = ["Target Region", "Preferred Approach"]
sel_rows = [
    ["Sella / pituitary adenoma", "Transsphenoidal (transseptal or binostril)"],
    ["Parasellar / cavernous sinus", "Transsphenoidal-transsellar extended laterally"],
    ["Suprasellar (planum meningioma)", "Transtuberculum-transplanum EEA"],
    ["Olfactory groove (meningioma, esthesioneuroblastoma)", "Transcribriform EEA or ACR (if large/complex)"],
    ["Sinonasal malignancy + anterior fossa invasion (medial)", "EEA transcribriform ± craniotomy"],
    ["Sinonasal malignancy + skin / nasal bone involvement", "ACR (transfacial + bifrontal craniotomy)"],
    ["Clivus / petrous apex lesion", "Transclival / transphenoidal EEA"],
    ["Frontal sinus mucocele / osteoma", "Transfrontal EEA"],
    ["Deep anterior fossa / parasellar (no nasal involvement)", "Supraorbital keyhole craniotomy"],
    ["Very large tumors / orbital exenteration required", "ACR with craniofacial disassembly"],
]
story.append(make_table2(sel_headers, sel_rows, [avail*0.42, avail*0.58]))
story.append(sp(14))

# Footer source
story.append(hr())
story.append(Paragraph(
    "<i>Source: Cummings Otolaryngology Head and Neck Surgery, 7th Edition — "
    "Chapter 44 (pp. 873–973), Chapter 176 (pp. 3359–3390), Chapter 177 (pp. 3390–3394).</i>",
    ParagraphStyle("footer", fontName="Helvetica-Oblique", fontSize=8.5, leading=12,
                   alignment=TA_CENTER, textColor=colors.HexColor("#666666"))
))

# ── Build PDF ─────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF written to: {OUTPUT}")
Running Command

cd /home/daytona/workspace/anterior-skull-base && python generate_pdf.py 2>&1

Editing File

~/anterior-skull-base/generate_pdf.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/anterior-skull-base/generate_pdf.py'
Running Command

cd /home/daytona/workspace/anterior-skull-base && python generate_pdf.py 2>&1

Editing File

~/anterior-skull-base/generate_pdf.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/anterior-skull-base/generate_pdf.py'
Running Command

cd /home/daytona/workspace/anterior-skull-base && python generate_pdf.py 2>&1

Editing File

~/anterior-skull-base/generate_pdf.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/anterior-skull-base/generate_pdf.py'
Running Command

cd /home/daytona/workspace/anterior-skull-base && python generate_pdf.py 2>&1

The PDF is ready. Here's your download link:

Anterior Skull Base Approaches Cummings

PDF Document · PDF

What's included in the PDF:
  1. Anatomy — Keros classification table, key surgical landmarks (ethmoidal arteries, skull base slope)
  2. Overview of Approaches — spectrum from open to endoscopic
  3. Open Craniotomy-Based Approaches — Anterior craniofacial resection (full step-by-step), supraorbital/keyhole craniotomy, craniofacial disassembly
  4. Endoscopic Endonasal Approaches (EEA) — Sagittal plane modules table, coronal plane modules, surgical setup, contraindications
  5. Transsphenoidal Approach — All four access methods (direct transnasal, transseptal, binostril, transethmoid), transsellar/parasellar phase with operative steps, closure/reconstruction table (Triple-F technique), extended modules table
  6. Summary Tables — All approaches at a glance, approach selection by target region
  7. 4 intraoperative/radiologic figures from Cummings embedded with captions
This is a shared conversation. Sign in to Orris to start your own chat.