I assisted from trendelenberg operation with flush ligation I dont really know what i witnessed, but i just simply assisted , from groin they made an incision and inserted a tube and removed a vein and called it flush ligation Later some perforator regions were also involved

Reading File
Finding Sources
Finding Sources
Searching the Web

Trendelenburg operation flush ligation varicose veins surgery steps perforators

Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Reading File
Reading File
Loading Image
Loading Image
Now I have everything needed. Here is a thorough breakdown of what you witnessed:

Trendelenburg Operation with Flush Ligation - What You Witnessed

The Big Picture

You assisted in the open surgical treatment of varicose veins. The operation is named after Friedrich Trendelenburg, who advanced the procedure in 1890 after recognizing that the root cause of varicose veins is abnormal backflow (reflux) of blood at the saphenofemoral junction (SFJ) - where the great saphenous vein meets the femoral vein in the groin.
Varicose veins form because the valves in the leg veins fail. Blood that should flow upward toward the heart instead falls back (refluxes) down, causing high pressure in the superficial veins, which dilate and become tortuous (twisted and rope-like).

Anatomy You Need to Know

  • Great Saphenous Vein (GSV) - the longest vein in the body, running from the foot all the way up the medial (inner) side of the leg and thigh to the groin
  • Saphenofemoral Junction (SFJ) - where the GSV drains into the femoral vein, just below the inguinal ligament in the groin
  • Perforator veins - short connecting veins that pierce the deep fascia and link the superficial veins (like the GSV) to the deep veins of the leg

Step-by-Step: What Happened in Theatre

1. The Groin Incision

An oblique incision was made at the level of the inguinal (groin) crease, lateral to the pubic tubercle. This gives access to the SFJ.

2. Dissecting Out the GSV Tributaries

The GSV was traced up to where it meets the femoral vein. At this junction, there are typically six tributaries that branch off:
LocationTributaries
LateralSuperficial inferior epigastric vein; superficial circumflex iliac vein
MedialSuperficial external pudendal vein; deep external pudendal vein
DistalAnterior accessory of the GSV; posteromedial thigh vein
These tributaries were each ligated (tied off) distally, one by one.

3. The Flush Ligation (the key step)

After dividing the tributaries, a flush SFJ ligation was performed. This means:
  • The GSV was tied off right at its junction with the femoral vein - leaving no stump
  • "Flush" = the ligation point is flush with (level to) the femoral vein wall
  • This is important because leaving a stump of GSV behind at the SFJ is a major cause of recurrence - the stump can re-canalize or sprout new abnormal veins (neovascularization)
Flush ligation at the saphenofemoral junction - the ligature is placed right where the GSV meets the femoral vein
Flush ligation at the SFJ: the GSV is tied right at the femoral vein with no stump left behind - Bailey & Love's Surgery, 28th Ed.

4. Stripping the GSV

After the flush ligation, a stripper (a flexible wire or plastic rod) was passed down inside the GSV from the groin incision, threading through the vein down to the level of the knee. The vein is then pulled out ("stripped") from below. This is why you saw a tube being inserted and the vein being removed - that was the stripper being passed and then used to avulse the vein.
The full procedure - flush junction ligation at the top and the stripper instrument being passed down the GSV
Left inset: flush SFJ ligation with all tributaries tied. Right inset: the stripper instrument inside the GSV. The red line shows the path of the stripper down the leg - Bailey & Love's Surgery, 28th Ed.

The Perforator Involvement

After the main GSV work, the surgeons dealt with incompetent perforator veins. These are the short connecting veins that perforate the deep fascia. When their valves fail, blood from the deep veins (under high pressure from walking) pumps backwards into the superficial system, worsening varicosities and skin changes.

How perforators were treated:

  • Open ligation through small duplex-guided incisions - suitable for uncomplicated varicose veins
  • In patients with skin changes (lipodermatosclerosis, ulcers), subfascial endoscopic perforator surgery (SEPS) is preferred - using an endoscope placed under the fascia to visualize and clip/divide the perforators from inside

Why This Procedure?

ProblemSolution
Reflux at SFJ - the source of all downstream pressureFlush ligation cuts off the source
The GSV itself is dilated and incompetentStripping removes the refluxing vein
Residual stump causes recurrence"Flush" ensures no stump remains
Perforators re-pressurize the superficial systemPerforator ligation breaks this pathway

Complications to Know (as told by Bailey & Love's)

  • Wound infection - most common; reduced with prophylactic antibiotics
  • Saphenous nerve injury - occurs in up to 7% after GSV stripping to the knee; the nerve runs alongside the vein and can be damaged when pulling
  • DVT - venous thromboembolic complications ~0.5%
  • Recurrence - 10-35% at 5-10 years; mainly due to neovascularization (new valve-less veins growing back across the ligated SFJ)

Historical Note

The Swiss surgeon Rima first recognized saphenofemoral reflux as the cause of varicose veins in the late 18th century. Trendelenburg advanced the procedure in 1890. Saphenous stripping was developed by Mayo in 1904. Today, open surgery like what you witnessed has largely been replaced in high-income countries by endothermal ablation (laser or radiofrequency), but it remains widely practiced - and is still considered gold standard training for surgical trainees.
  • Bailey and Love's Short Practice of Surgery, 28th Ed., p. 1057-1059 - Open surgery section on saphenofemoral ligation, stripping, and perforator ligation

Create a visual diagram comparing the anatomy and steps of GSV stripping vs modern minimally-invasive techniques

Generating Image

Medical educational diagram comparing GSV (Great Saphenous Vein) stripping surgery vs modern minimally-invasive varicose vein techniques. Clean clinical illustration style on white background. LEFT SIDE - labeled "Open Surgery: GSV Stripping (Trendelenburg)" showing: - Anatomical leg outline with femoral vein, great saphenous vein running full length - Groin incision marker with label "Oblique groin incision" - Saphenofemoral junction with flush ligation shown (ligature tied flush at femoral vein, no stump) - Six tributaries labeled and tied off (superficial epigastric, circumflex iliac, pudendal veins) - Stripper instrument (flexible rod) inside the GSV running from groin to knee - Second small incision at knee labeled "Ankle/knee incision" - Arrow showing vein being pulled out downward - Small marks along leg showing perforator ligation sites - Steps numbered 1-5: 1) Groin incision, 2) Dissect & ligate tributaries, 3) Flush SFJ ligation, 4) Pass stripper, 5) Strip vein + perforator ligation RIGHT SIDE - labeled "Minimally Invasive Techniques" with three sub-panels: Panel A "Endothermal Ablation (EVLA/RFA)": - Leg outline showing laser/RF catheter inserted via needle puncture at knee - Catheter tip shown inside GSV with heat waves/energy symbol - Tumescent anaesthesia infiltration shown around vein - Result: vein wall destroyed and fibrosed (shown as collapsed vein) - Label: "No incision - catheter only" Panel B "Foam Sclerotherapy": - Syringe injecting foam into varicose vein - Foam bubbles shown displacing blood inside vein - Chemical irritation symbol causing vein wall inflammation - Result: vein obliterated Panel C "Endovenous Glue": - Small catheter with cyanoacrylate glue drops - Compression applied over vein - Vein sealed shut BOTTOM comparison table with 4 rows: Anaesthesia | Incisions | Recovery | Recurrence rate Columns: Open Surgery vs EVLA/RFA vs Sclerotherapy vs Glue Color coding: Open surgery in warm red/orange tones, minimally invasive in cool blue/teal tones. Professional medical textbook illustration quality.

GSV Stripping vs Minimally Invasive Techniques
Here is a breakdown of what the diagram covers:

Open Surgery (Left) - What You Witnessed

Steps shown in sequence:
  1. Oblique groin incision to access the SFJ
  2. Six tributaries dissected and individually ligated
  3. Flush SFJ ligation - tied right at the femoral vein wall, no stump
  4. Stripper instrument threaded inside the GSV from groin down to knee
  5. Vein avulsed (pulled out) + perforator ligation at marked sites along the leg
Key anatomy: femoral vein → SFJ → GSV running the full length of the medial leg → perforating veins piercing the deep fascia at the calf and thigh

Minimally Invasive (Right) - The Modern Alternatives

TechniqueHow it worksWhat's destroyed
EVLA / RFALaser or radiofrequency catheter inserted via needle puncture; tumescent anaesthesia injected around vein; heat collapses vein wall from insideThermal destruction + fibrosis
Foam sclerotherapySclerosant foam injected, displaces blood, chemically irritates and obliterates vein wallChemical endothelial injury
Cyanoacrylate glueMicro-catheter deposits glue droplets; manual compression seals lumen shutMechanical occlusion

Quick Comparison

Open GSV StrippingEVLA / RFASclerotherapyGlue
AnaesthesiaGeneral / spinalTumescent localNoneNone
Incisions2+ (groin + knee)Needle puncture onlyInjection needleNeedle puncture
Recovery2-4 weeks1-3 daysSame daySame day
Recurrence (5 yr)20-35%~15-20%HigherData still emerging
Open surgery remains the standard in many countries and is essential training - but modern thermal ablation has largely replaced it in centres with the equipment, given lower morbidity and faster recovery.

Create a detailed PDF reference guide on varicose vein surgery complications and management

Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/varicose-vein-guide && ls /home/daytona/workspa…

Writing File

~/varicose-vein-guide/build_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether, PageBreak
)
from reportlab.platypus.flowables import HRFlowable
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import os

OUTPUT = "/home/daytona/workspace/varicose-vein-guide/Varicose_Vein_Surgery_Reference_Guide.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
DARK_BLUE   = colors.HexColor("#1A3A5C")
MID_BLUE    = colors.HexColor("#2E6DA4")
LIGHT_BLUE  = colors.HexColor("#D6E8F7")
ACCENT_RED  = colors.HexColor("#C0392B")
ACCENT_TEAL = colors.HexColor("#1A7A6E")
GOLD        = colors.HexColor("#D4A017")
LIGHT_GREY  = colors.HexColor("#F4F6F8")
MID_GREY    = colors.HexColor("#BDC3C7")
TEXT_DARK   = colors.HexColor("#1C2833")
WHITE       = colors.white

# ── Document setup ───────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2.2*cm, bottomMargin=2.2*cm,
    title="Varicose Vein Surgery: Complications & Management Reference Guide",
    author="Orris Medical Reference",
    subject="Surgical Reference Guide"
)

W = A4[0] - 4*cm   # usable width

# ── Styles ───────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

cover_title = S("CoverTitle",
    fontSize=28, textColor=WHITE, alignment=TA_CENTER,
    leading=36, spaceAfter=8, fontName="Helvetica-Bold")

cover_sub = S("CoverSub",
    fontSize=14, textColor=colors.HexColor("#AED6F1"),
    alignment=TA_CENTER, leading=20, spaceAfter=4, fontName="Helvetica")

cover_note = S("CoverNote",
    fontSize=10, textColor=colors.HexColor("#D5D8DC"),
    alignment=TA_CENTER, leading=14, fontName="Helvetica-Oblique")

h1 = S("H1",
    fontSize=16, textColor=WHITE, fontName="Helvetica-Bold",
    leading=20, spaceBefore=4, spaceAfter=4, leftIndent=0)

h2 = S("H2",
    fontSize=12, textColor=DARK_BLUE, fontName="Helvetica-Bold",
    leading=16, spaceBefore=10, spaceAfter=4)

h3 = S("H3",
    fontSize=10.5, textColor=ACCENT_TEAL, fontName="Helvetica-Bold",
    leading=14, spaceBefore=8, spaceAfter=2)

body = S("Body",
    fontSize=9.5, textColor=TEXT_DARK, fontName="Helvetica",
    leading=14, spaceBefore=2, spaceAfter=4, alignment=TA_JUSTIFY)

bullet = S("Bullet",
    fontSize=9.5, textColor=TEXT_DARK, fontName="Helvetica",
    leading=13, leftIndent=14, spaceBefore=1, spaceAfter=1,
    bulletIndent=4, alignment=TA_LEFT)

warn = S("Warn",
    fontSize=9.5, textColor=colors.HexColor("#7B241C"),
    fontName="Helvetica-Bold", leading=13, leftIndent=14,
    spaceBefore=1, spaceAfter=1)

caption = S("Caption",
    fontSize=8, textColor=colors.HexColor("#626567"),
    fontName="Helvetica-Oblique", leading=11, alignment=TA_CENTER,
    spaceBefore=2, spaceAfter=6)

footer_style = S("Footer",
    fontSize=7.5, textColor=colors.HexColor("#7F8C8D"),
    fontName="Helvetica", leading=10, alignment=TA_CENTER)

# ── Helper builders ───────────────────────────────────────────────────────────

def section_header(title, color=DARK_BLUE):
    """Blue banner for a section title."""
    tbl = Table([[Paragraph(title, h1)]], colWidths=[W])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ("RIGHTPADDING",  (0,0), (-1,-1), 10),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return tbl

def sub_header(title):
    return Paragraph(title, h2)

def info_box(title, lines, bg=LIGHT_BLUE, title_color=DARK_BLUE):
    """Coloured box with title + bullet content."""
    title_para = Paragraph(title, ParagraphStyle("IB_T",
        fontSize=10, textColor=title_color, fontName="Helvetica-Bold", leading=13))
    content = [title_para, Spacer(1, 4)]
    for l in lines:
        content.append(Paragraph(f"• {l}", bullet))
    inner = Table([[c] for c in content], colWidths=[W - 24])
    inner.setStyle(TableStyle([
        ("TOPPADDING",    (0,0), (-1,-1), 1),
        ("BOTTOMPADDING", (0,0), (-1,-1), 1),
        ("LEFTPADDING",   (0,0), (-1,-1), 0),
        ("RIGHTPADDING",  (0,0), (-1,-1), 0),
    ]))
    outer = Table([[inner]], colWidths=[W])
    outer.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), bg),
        ("TOPPADDING",    (0,0), (-1,-1), 8),
        ("BOTTOMPADDING", (0,0), (-1,-1), 8),
        ("LEFTPADDING",   (0,0), (-1,-1), 12),
        ("RIGHTPADDING",  (0,0), (-1,-1), 12),
        ("BOX",           (0,0), (-1,-1), 1, MID_BLUE),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return outer

def warning_box(title, lines):
    return info_box(title, lines,
        bg=colors.HexColor("#FDEDEC"),
        title_color=ACCENT_RED)

def two_col_table(headers, rows, col_widths=None):
    if col_widths is None:
        col_widths = [W*0.35, W*0.65]
    data = [[Paragraph(h, ParagraphStyle("TH",
        fontSize=9, textColor=WHITE, fontName="Helvetica-Bold", leading=12))
        for h in headers]]
    for row in rows:
        data.append([Paragraph(str(c), ParagraphStyle("TC",
            fontSize=9, textColor=TEXT_DARK, fontName="Helvetica", leading=12))
            for c in row])
    tbl = Table(data, colWidths=col_widths, repeatRows=1)
    tbl.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,0), DARK_BLUE),
        ("BACKGROUND",    (0,1), (-1,-1), WHITE),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LIGHT_GREY]),
        ("GRID",          (0,0), (-1,-1), 0.4, MID_GREY),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("RIGHTPADDING",  (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]))
    return tbl

def multi_col_table(headers, rows, col_widths=None):
    if col_widths is None:
        n = len(headers)
        col_widths = [W/n]*n
    data = [[Paragraph(h, ParagraphStyle("MTH",
        fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold", leading=11))
        for h in headers]]
    for i, row in enumerate(rows):
        bg = WHITE if i % 2 == 0 else LIGHT_GREY
        data.append([Paragraph(str(c), ParagraphStyle("MTC",
            fontSize=8.5, textColor=TEXT_DARK, fontName="Helvetica", leading=11))
            for c in row])
    tbl = Table(data, colWidths=col_widths, repeatRows=1)
    tbl.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,0), MID_BLUE),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LIGHT_GREY]),
        ("GRID",          (0,0), (-1,-1), 0.4, MID_GREY),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 5),
        ("RIGHTPADDING",  (0,0), (-1,-1), 5),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]))
    return tbl

def hr():
    return HRFlowable(width="100%", thickness=0.5, color=MID_GREY, spaceAfter=6, spaceBefore=6)

def sp(h=6):
    return Spacer(1, h)

def B(text):
    return Paragraph(f"• {text}", bullet)

def P(text):
    return Paragraph(text, body)

# ═══════════════════════════════════════════════════════════════════════════
#  BUILD CONTENT
# ═══════════════════════════════════════════════════════════════════════════
story = []

# ── COVER PAGE ──────────────────────────────────────────────────────────────
cover_bg = Table(
    [[Paragraph("VARICOSE VEIN SURGERY", cover_title)],
     [Paragraph("Complications & Management", cover_title)],
     [Spacer(1, 10)],
     [Paragraph("A Clinical Reference Guide", cover_sub)],
     [Spacer(1, 6)],
     [Paragraph("Based on Bailey & Love's Surgery 28e · Sabiston Textbook of Surgery · Schwartz's Principles · Harrison's 22e · Current Surgical Therapy 14e", cover_note)],
     [Spacer(1, 16)],
     [Paragraph("Orris Medical Reference  |  July 2026", cover_note)],
    ],
    colWidths=[W]
)
cover_bg.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
    ("TOPPADDING",    (0,0), (-1,-1), 30),
    ("BOTTOMPADDING", (0,0), (-1,-1), 14),
    ("LEFTPADDING",   (0,0), (-1,-1), 20),
    ("RIGHTPADDING",  (0,0), (-1,-1), 20),
    ("ROUNDEDCORNERS", [8]),
]))
story += [sp(60), cover_bg, PageBreak()]

# ── SECTION 1: Background & Pathophysiology ─────────────────────────────────
story += [section_header("1. Background & Pathophysiology"), sp(8)]

story += [
    P("Superficial venous pathology affects more than 55% of the Western population by age 65. "
      "Varicose veins arise from venous valvular dysfunction causing ambulatory venous hypertension "
      "(AVP). Skin manifestations are uncommon with AVP <35 mmHg but almost certain above 90 mmHg. "
      "More time is lost from work due to vein-related pathology than all arterial disease combined, "
      "including coronary artery disease."),
    sp(6),
]

story += [
    info_box("Primary Risk Factors for Valve Dysfunction", [
        "Female sex",
        "Positive family history",
        "Sedentary lifestyle or prolonged standing occupation",
        "Pregnancy (increased pelvic venous pressure)",
        "Obesity (BMI is an independent predictor of recurrence after surgery)",
    ]),
    sp(8),
    info_box("Secondary / Rare Causes", [
        "May-Thurner syndrome (left iliac vein compression)",
        "Nutcracker syndrome (left renal vein compression)",
        "Post-thrombotic syndrome (DVT sequelae)",
        "Trauma and muscle pump dysfunction",
        "Congenital: Klippel-Trenaunay, Ehlers-Danlos, clonal trisomies",
    ], bg=colors.HexColor("#EBF5FB"), title_color=ACCENT_TEAL),
    sp(10),
]

# CEAP table
story += [
    sub_header("CEAP Classification (Revised 2020)"),
    P("The CEAP system stratifies chronic venous disease on Clinical, Etiological, Anatomical, and "
      "Pathophysiological criteria. It guides treatment planning and outcomes reporting."),
    sp(6),
    multi_col_table(
        ["Class", "Description", "Clinical Significance"],
        [
            ["C0", "No visible or palpable signs", "Asymptomatic; observation only"],
            ["C1", "Telangiectasias / reticular veins", "Cosmetic; sclerotherapy if symptomatic"],
            ["C2", "Varicose veins", "Primary treatment threshold"],
            ["C2r", "Recurrent varicose veins", "Previous intervention; re-assess with duplex"],
            ["C3", "Oedema", "Compression therapy; investigate reflux"],
            ["C4a", "Pigmentation or eczema", "Skin care + compression + treat reflux"],
            ["C4b", "Lipodermatosclerosis / atrophic blanche", "High risk of ulceration"],
            ["C4c", "Corona phlebectatica", "Sign of advanced CVD (2020 addition)"],
            ["C5", "Healed venous ulcer", "Treat underlying reflux to prevent recurrence"],
            ["C6", "Active venous ulcer", "Urgent; compression + treat reflux"],
            ["C6r", "Recurrent active ulcer", "Consider SEPS or advanced interventions"],
        ],
        col_widths=[W*0.1, W*0.35, W*0.55]
    ),
    sp(4),
    Paragraph("CEAP = Clinical-Etiological-Anatomical-Pathophysiological. Also supplement with r-VCSS (Revised Venous Clinical Severity Score) for outcome monitoring.", caption),
    sp(10),
]

# ── SECTION 2: Surgical Procedures Overview ──────────────────────────────────
story += [section_header("2. Surgical Procedures: Overview"), sp(8)]

story += [
    sub_header("2.1  Trendelenburg Operation (Open GSV Stripping)"),
    P("The classic open surgical approach. An oblique incision is made at the groin crease, lateral to "
      "the pubic tubercle. The great saphenous vein (GSV) is dissected to the saphenofemoral junction "
      "(SFJ). All six SFJ tributaries are identified and individually ligated. A <b>flush SFJ ligation</b> "
      "is then performed - the GSV is tied flush with the femoral vein wall, leaving no stump. "
      "A Codman/Babcock stripper is passed from groin to knee and the GSV is inverted onto itself and "
      "removed. The leg is wrapped circumferentially before stripping to reduce haematoma."),
    sp(6),
    two_col_table(
        ["Step", "Detail"],
        [
            ["1. Incision", "Oblique groin incision at inguinal crease, lateral to pubic tubercle"],
            ["2. Dissection", "Trace GSV to SFJ; identify all six tributaries"],
            ["3. Tributary ligation", "Ligate: sup. epigastric, circumflex iliac, ext. pudendal, deep pudendal, ant. accessory GSV, posteromedial thigh vein"],
            ["4. Flush SFJ ligation", "Tie GSV flush at femoral vein wall (non-absorbable suture); no stump left"],
            ["5. Pass stripper", "Codman stripper from groin → knee incision; attach bulb"],
            ["6. Strip vein", "Invert GSV onto itself; remove en bloc groin-to-knee"],
            ["7. Phlebectomy", "Stab avulsion of remaining tributary varicosities"],
            ["8. Perforator ligation", "If indicated: open or endoscopic (SEPS) ligation at incompetent sites"],
        ],
    ),
    sp(10),
]

story += [
    sub_header("2.2  Minimally Invasive Techniques"),
    P("Endovenous ablation has replaced open surgery in most high-income settings. "
      "Efficacy is comparable to open surgery with significantly lower morbidity."),
    sp(6),
    multi_col_table(
        ["Technique", "Mechanism", "Access", "Anaesthesia", "Recovery"],
        [
            ["EVLA\n(Endovenous Laser Ablation)",
             "Laser energy heats vein wall from inside; thermal destruction + fibrosis",
             "Needle puncture at knee",
             "Tumescent local (perivenous)",
             "1-3 days"],
            ["RFA\n(Radiofrequency Ablation)",
             "RF energy at catheter tip heats and collapses vein wall in 20-sec cycles",
             "Needle puncture at knee",
             "Tumescent local",
             "1-3 days"],
            ["Foam Sclerotherapy",
             "Sclerosant foam displaces blood, chemically damages endothelium, obliterates vein",
             "Direct venous puncture / cannula",
             "None required",
             "Same day"],
            ["Mechanochemical Ablation (MOCA)",
             "Spinning wire + simultaneous liquid sclerosant; no heat, no tumescent needed",
             "Needle puncture",
             "None (usually)",
             "Same day"],
            ["Cyanoacrylate Glue",
             "Micro-droplets of medical-grade glue seal vein lumen with external compression",
             "Needle puncture",
             "None required",
             "Same day"],
        ],
        col_widths=[W*0.18, W*0.30, W*0.18, W*0.18, W*0.16]
    ),
    sp(6),
    P("<b>Key note - neovascularization:</b> This complication (new valve-less veins bridging the ligated SFJ) "
      "occurs in >30% after open surgery. It does not occur after endovenous ablation, which avoids groin "
      "dissection entirely - a major advantage of the minimally invasive approach."),
    sp(10),
]

# ── SECTION 3: Complications ─────────────────────────────────────────────────
story += [section_header("3. Complications of Varicose Vein Surgery", color=ACCENT_RED), sp(8)]

story += [
    P("Overall minor and major complications occur in <b>up to 20%</b> of patients undergoing traditional "
      "open varicose vein surgery (Bailey &amp; Love's 28e). The rate is substantially lower with endovenous "
      "techniques."),
    sp(8),
]

# 3.1 Nerve injury
story += [
    sub_header("3.1  Nerve Injury (Most Common Serious Complication)"),
    sp(4),
    multi_col_table(
        ["Nerve", "Operation", "Incidence", "Presentation", "Management"],
        [
            ["Saphenous nerve",
             "GSV stripping",
             "Up to 7% (knee stripping)\nHigher with ankle stripping",
             "Medial calf/ankle paraesthesia, neuralgia",
             "Conservative: analgesia, physiotherapy, nerve blocks\nUsually resolves over months"],
            ["Sural nerve",
             "SSV (small saphenous vein) surgery",
             "Up to 20%",
             "Lateral foot/ankle paraesthesia or pain",
             "Avoid ankle-level SSV stripping\nConservative management"],
            ["Common peroneal nerve",
             "SSV surgery (popliteal region)",
             "Up to 4%",
             "Foot drop, lateral leg weakness",
             "Urgent surgical review if complete palsy\nUsually neuropraxia - watch and wait"],
        ],
        col_widths=[W*0.16, W*0.18, W*0.18, W*0.24, W*0.24]
    ),
    sp(6),
    warning_box("Prevention of Nerve Injury", [
        "Strip GSV from groin to knee only (NOT ankle) - saphenous nerve diverges from vein above knee",
        "For SSV: preoperative duplex marking of saphenopopliteal junction (SPJ) is mandatory",
        "Consider endovenous ablation for SSV - avoids popliteal dissection entirely",
        "Careful patient positioning in prone for SSV (protect common peroneal nerve at fibular head)",
    ]),
    sp(10),
]

# 3.2 Wound complications
story += [
    sub_header("3.2  Wound Infection (Most Common Overall Complication)"),
    P("The most frequently reported complication following open varicose vein surgery. Risk is higher "
      "in the groin incision due to proximity to skin flora and lymphatics."),
    sp(4),
    two_col_table(
        ["Aspect", "Details"],
        [
            ["Incidence", "Most common overall complication after open surgery"],
            ["Common organisms", "Staphylococcus aureus (including MRSA), gram-negative enteric organisms (groin)"],
            ["Prevention", "Prophylactic antibiotics (single pre-operative dose reduces risk significantly)"],
            ["Management", "Wound swab + cultures; flucloxacillin / co-amoxiclav empirically; MRSA cover if risk factors"],
            ["Groin-specific risk", "Lymphatic disruption in the groin can lead to lymphorrhoea or lymphocele in addition to infection"],
        ]
    ),
    sp(10),
]

# 3.3 Haematoma
story += [
    sub_header("3.3  Haematoma & Bruising"),
    two_col_table(
        ["Aspect", "Details"],
        [
            ["Cause", "Stripping tears vein tributaries along the course of the GSV; blood collects in the fascial tunnel"],
            ["Prevention", "Circumferential leg compression bandaging immediately before and after stripping; tumescent anaesthesia in endovenous techniques"],
            ["Management", "Most resolve spontaneously with compression; large haematomas may rarely require evacuation"],
            ["Hyperpigmentation", "Brown skin discolouration from haemosiderin deposition if blood extravasates into subcutaneous tissue - often permanent; more common with inadequate compression"],
        ]
    ),
    sp(10),
]

# 3.4 DVT / VTE
story += [
    sub_header("3.4  Venous Thromboembolism (DVT / PE)"),
    P("The incidence of VTE following varicose vein surgery is approximately <b>0.5%</b>, but individual "
      "patient risk must be carefully assessed."),
    sp(4),
    two_col_table(
        ["Aspect", "Details"],
        [
            ["Overall incidence", "~0.5% following varicose vein surgery"],
            ["Risk factors", "Thrombophilia, malignancy, immobility, OCP/HRT, obesity, prior DVT, long operative time"],
            ["DVT specific to endovenous", "Endovenous heat-induced thrombosis (EHIT) - thrombus can propagate from treated vein into deep system; classified EHIT 1-4"],
            ["EHIT classification", "Class 1: thrombus at junction; Class 2: into femoral vein <50%; Class 3: >50% occlusion; Class 4: complete occlusion"],
            ["Prophylaxis", "Risk-stratify with local guidelines (NICE/ACCP); mobilise early; TEDS; LMWH in high-risk patients"],
            ["EHIT management", "Class 1-2: duplex surveillance ± anticoagulation; Class 3-4: anticoagulation; recheck duplex at 1 week"],
        ]
    ),
    sp(10),
]

# 3.5 Skin burns (endovenous)
story += [
    sub_header("3.5  Skin Burns / Thermal Injury (Endovenous Techniques)"),
    two_col_table(
        ["Aspect", "Details"],
        [
            ["Cause", "Insufficient tumescent anaesthesia - heat from laser/RF catheter conducts to overlying skin"],
            ["Prevention", "Adequate perivenous tumescent infiltration creating a 'cold halo' around vein; ultrasound-guided technique; patient feedback during procedure"],
            ["Temperature monitoring", "Catheter tip thermistor should register temperature drop when tumescence reaches the tip"],
            ["Management", "Small superficial burns: wound care, dressings; deep burns: specialist review; document and report"],
        ]
    ),
    sp(10),
]

# 3.6 Intraarterial injection
story += [
    warning_box("3.6  Intraarterial Injection (Sclerotherapy - EMERGENCY)", [
        "Accidental injection of sclerosant into an artery - rare but devastating",
        "Highest risk areas: popliteal fossa, dorsal foot, medial malleolus",
        "Presentation: severe burning pain immediately on injection + bone-white cutaneous blanching in arterial distribution",
        "Progression: cyanosis within minutes → skin necrosis",
        "IMMEDIATE management: stop injection; massage, aspirin, warm compresses, oxygen; flush artery with saline/heparin; urgent vascular surgery review; IV heparin anticoagulation",
        "Inactivate STS with 1-3% procaine injection if sodium tetradecyl sulphate was used",
    ]),
    sp(10),
]

# 3.7 Neurological (foam)
story += [
    sub_header("3.7  Neurological Events (Foam Sclerotherapy)"),
    two_col_table(
        ["Aspect", "Details"],
        [
            ["Events reported", "Headache, visual disturbances, transient ischaemic attack, stroke (rare)"],
            ["Mechanism", "Micro-emboli via patent foramen ovale (PFO); endothelin release; gas embolism from foam"],
            ["Risk factors", "Known PFO, migraine with aura"],
            ["Incidence", "Symptomatic stroke extremely rare; cerebrovascular micro-emboli detectable on imaging in ~0.4%"],
            ["Management", "Screen for PFO history; limit foam volume; use CO2/O2 foam rather than air; aspirin; neurology review if neurological deficit"],
        ]
    ),
    sp(10),
]

# ── SECTION 4: Recurrence ────────────────────────────────────────────────────
story += [section_header("4. Recurrent Varicose Veins", color=ACCENT_TEAL), sp(8)]

story += [
    P("Recurrent varicose veins are a major long-term challenge. Approximately <b>10-20%</b> of patients "
      "presenting to hospital with varicose veins have had a previous intervention. Clinical recurrence "
      "at 5-10 years occurs in <b>10-35%</b> of patients; duplex-detectable recurrence reaches "
      "<b>70%</b>."),
    sp(6),
    sub_header("Causes of Recurrence"),
    multi_col_table(
        ["Cause", "Description", "Prevention / Significance"],
        [
            ["Neovascularisation",
             "New valve-less veins grow across the ligated SFJ and reconnect tributaries. Incidence >30% after open surgery.",
             "Does NOT occur after endovenous ablation. Major argument for avoiding groin dissection."],
            ["Residual axial vein reflux",
             "GSV not fully stripped; segment below knee left in situ continues to reflux.",
             "Strip to lowest point of reflux. Endovenous ablation of residual segments."],
            ["Inadequate initial surgery",
             "Missed tributaries at SFJ; non-flush ligation leaving GSV stump.",
             "Flush ligation is essential. Preoperative duplex mapping."],
            ["New junctional reflux",
             "Previously competent junctions (e.g., SSV) develop reflux after GSV surgery.",
             "Long-term surveillance duplex."],
            ["High BMI",
             "Independent predictor of recurrence after surgery.",
             "Weight loss counselling preoperatively."],
        ],
        col_widths=[W*0.22, W*0.42, W*0.36]
    ),
    sp(6),
    warning_box("Management of Recurrent Varicose Veins", [
        "Duplex assessment is MANDATORY before any re-intervention - anatomy is atypical",
        "Open redo surgery carries a 40% complication rate (most common: lymph leak, wound infection)",
        "Endovenous interventions are strongly preferred for recurrence where technically feasible",
        "Neovascularisation vessels are thin-walled and amenable to foam sclerotherapy",
        "Recurrence after SSV surgery is MORE common than after GSV surgery",
    ]),
    sp(10),
]

# ── SECTION 5: Management Algorithm ─────────────────────────────────────────
story += [section_header("5. Management Algorithm & Decision Framework"), sp(8)]

story += [
    sub_header("5.1  Initial Assessment"),
    two_col_table(
        ["Assessment Step", "Details"],
        [
            ["History", "Duration, symptoms (ache, heaviness, itch, bleeding, ulceration), occupational factors, family history, prior DVT, OCP/HRT use, previous interventions"],
            ["Examination", "Standing examination of both legs; map distribution (GSV/SSV/perforators); skin changes (CEAP grading); ankle pulses"],
            ["Duplex ultrasound", "Mandatory for all patients before intervention. Map reflux at SFJ/SPJ, axial vein competence, perforator incompetence, deep vein patency. Standing examination with Valsalva and calf squeeze."],
            ["ABPI", "Ankle-Brachial Pressure Index if clinical concern for arterial disease (if ABPI <0.8 - do not use compression stockings)"],
            ["Venous severity scoring", "Aberdeen Varicose Vein Score (AVVS); r-VCSS for outcome monitoring"],
        ]
    ),
    sp(8),
    sub_header("5.2  Conservative Management"),
    info_box("Non-operative Options", [
        "Lifestyle: weight loss, avoid prolonged standing, regular moderate exercise, leg elevation 30 cm above heart (shown to enhance micro-circulation 45%)",
        "Compression therapy: class II compression stockings (23-32 mmHg); first-line for C3-C4 disease; absolute contraindication if ABPI <0.8",
        "Pharmacological: venoactive drugs (e.g. micronised purified flavonoid fraction) - modest symptomatic benefit; not universally recommended",
        "Wound care: for active ulcers (C6) - four-layer compression bandaging is gold standard; treat underlying reflux once wound is clean",
    ]),
    sp(8),
    sub_header("5.3  Intervention Indications"),
    two_col_table(
        ["Indication", "Comment"],
        [
            ["Symptomatic varicose veins (C2+)", "Pain, heaviness, aching, cosmetic - all valid if patient requests treatment"],
            ["Bleeding varicose veins", "Urgent referral; bleeding can be profuse; surgical or endovenous treatment"],
            ["Superficial thrombophlebitis", "Treat reflux to reduce recurrence"],
            ["Skin changes (C4)", "Treat reflux to arrest progression to ulceration"],
            ["Venous ulceration (C5/C6)", "Evidence that treating reflux accelerates ulcer healing and prevents recurrence (ESCHAR trial)"],
            ["Symptomatic perforators", "Incompetent perforators with localised symptoms or overlying ulcer"],
        ]
    ),
    sp(8),
    sub_header("5.4  Technique Selection Guide"),
    multi_col_table(
        ["Clinical Scenario", "Preferred Technique", "Rationale"],
        [
            ["Primary uncomplicated GSV reflux (C2-C3)", "EVLA or RFA", "Best evidence; lowest recurrence; rapid recovery"],
            ["GSV reflux + skin changes (C4-C6)", "EVLA/RFA ± perforator ablation", "Endovenous preferred; SEPS if skin changes severe"],
            ["SSV reflux", "EVLA/RFA (or foam if tortuous)", "Avoids nerve injury risk of open SPJ dissection"],
            ["Isolated tributary varicosities", "Phlebectomy or foam sclerotherapy", "No axial reflux; address tributaries only"],
            ["Needle phobia, very tortuous vein", "MOCA (mechanochemical ablation)", "No tumescent required; no heat"],
            ["Recurrent varicose veins", "Foam sclerotherapy / endovenous if feasible", "Avoid open redo - 40% complication rate"],
            ["Venous ulcer (C6)", "Compression + duplex-guided ablation", "NICE recommends treating reflux early to aid healing"],
            ["Resource-limited setting / no endovenous equipment", "Open Trendelenburg + stripping", "Effective long-term; flush ligation essential to minimise recurrence"],
        ],
        col_widths=[W*0.28, W*0.28, W*0.44]
    ),
    sp(10),
]

# ── SECTION 6: Postoperative Care ────────────────────────────────────────────
story += [section_header("6. Postoperative Care & Follow-up"), sp(8)]

story += [
    multi_col_table(
        ["Timepoint", "Open Surgery", "Endovenous Ablation"],
        [
            ["Immediate post-op",
             "Compression bandage groin to foot; mobilise same day; elevate limb",
             "Compression stocking applied immediately; walk home same day"],
            ["Day 1-7",
             "Change dressings; start Class II compression stocking at 48h; analgesia (NSAIDs)",
             "Continue compression stocking for 7-14 days; regular walking encouraged"],
            ["1-2 weeks",
             "Wound check; remove sutures at 10-14 days; assess for haematoma/infection",
             "Duplex ultrasound to confirm vein ablation and exclude EHIT"],
            ["4-6 weeks",
             "Clinic review; assess bruising resolution; duplex if recurrence suspected",
             "Clinical review; CEAP/AVVS reassessment; compression reassessed"],
            ["6-12 months",
             "Clinical and duplex assessment for recurrence",
             "Duplex to confirm sustained closure; treat any missed tributaries"],
            ["Return to work",
             "Sedentary: 1-2 weeks; manual: 2-4 weeks",
             "Sedentary: 2-3 days; manual: 1 week"],
            ["DVT prophylaxis",
             "TEDS + LMWH if high-risk; all patients: early mobilisation",
             "TEDS; LMWH only if high-risk; duplex at 1 week if EHIT suspected"],
        ],
        col_widths=[W*0.16, W*0.42, W*0.42]
    ),
    sp(10),
]

# ── SECTION 7: Quick-Reference Summary ──────────────────────────────────────
story += [section_header("7. Quick-Reference: Key Numbers to Know"), sp(8)]

story += [
    multi_col_table(
        ["Parameter", "Value", "Source"],
        [
            ["Overall complications (open surgery)", "Up to 20%", "Bailey & Love's 28e"],
            ["Saphenous nerve neuralgia (knee stripping)", "Up to 7%", "Bailey & Love's 28e"],
            ["Sural nerve neuropraxia (SSV surgery)", "Up to 20%", "Bailey & Love's 28e"],
            ["Common peroneal nerve injury (SSV surgery)", "Up to 4%", "Bailey & Love's 28e"],
            ["VTE / DVT incidence", "~0.5%", "Bailey & Love's 28e"],
            ["Clinical recurrence at 5-10 years (open)", "10-35%", "Bailey & Love's 28e"],
            ["Duplex-detected recurrence", "~70%", "Bailey & Love's 28e"],
            ["Neovascularisation incidence (open surgery)", ">30%", "Sabiston 21e"],
            ["Complication rate - redo open surgery", "40%", "Bailey & Love's 28e"],
            ["Prevalence of venous disease by age 65", ">55% (Western population)", "Current Surgical Therapy 14e"],
            ["AVP threshold for skin manifestations", ">90 mmHg (almost certain)", "Current Surgical Therapy 14e"],
            ["Time lost from work (veins vs arterial)", "Vein > all arterial disease combined", "Current Surgical Therapy 14e"],
        ],
        col_widths=[W*0.50, W*0.25, W*0.25]
    ),
    sp(10),
]

# ── SECTION 8: References ─────────────────────────────────────────────────────
story += [section_header("8. References & Sources", color=colors.HexColor("#4A235A")), sp(8)]

refs = [
    "Bailey and Love's Short Practice of Surgery, 28th Edition - Chapter 62: Venous Disease",
    "Sabiston Textbook of Surgery: The Biological Basis of Modern Surgical Practice, 21st Edition - Chapter 108: Venous Disease",
    "Schwartz's Principles of Surgery, 11th Edition - Venous Disease chapter",
    "Harrison's Principles of Internal Medicine, 22nd Edition (2025) - Chapter 293: Chronic Venous Disease",
    "Current Surgical Therapy, 14th Edition - Superficial Venous Disease chapter",
    "Fischer's Mastery of Surgery, 8th Edition - Varicose Veins chapter",
    "Fitzpatrick's Dermatology, 9th Edition - Minimally Invasive Approaches for Varicose Veins",
    "Mulholland and Greenfield's Surgery: Scientific Principles and Practice, 7th Edition",
    "AVF/SVS/AVLS Clinical Practice Guidelines for Management of Varicose Veins (2022)",
    "CEAP Classification System and Reporting Standard Revision 2020 - J Vasc Surg Venous Lymphat Disord 2020;8(3):342-352",
]
for i, r in enumerate(refs, 1):
    story.append(Paragraph(f"{i}.  {r}", ParagraphStyle("Ref",
        fontSize=9, textColor=TEXT_DARK, fontName="Helvetica",
        leading=13, leftIndent=20, firstLineIndent=-20,
        spaceBefore=3, spaceAfter=3)))

story += [sp(16), hr(),
    Paragraph("This document is a clinical reference guide for educational purposes. Always apply clinical judgement and refer to local guidelines. Not a substitute for formal medical training.", caption)]

# ── Build ────────────────────────────────────────────────────────────────────
def on_page(canvas, doc):
    canvas.saveState()
    # Header bar
    canvas.setFillColor(DARK_BLUE)
    canvas.rect(doc.leftMargin - 0.5*cm, A4[1] - 1.4*cm, A4[0] - 3*cm, 0.55*cm, fill=1, stroke=0)
    canvas.setFillColor(WHITE)
    canvas.setFont("Helvetica-Bold", 7.5)
    canvas.drawString(doc.leftMargin - 0.3*cm, A4[1] - 1.1*cm, "VARICOSE VEIN SURGERY: COMPLICATIONS & MANAGEMENT")
    canvas.setFont("Helvetica", 7.5)
    canvas.drawRightString(A4[0] - doc.rightMargin + 0.5*cm, A4[1] - 1.1*cm, f"Orris Medical Reference | July 2026")
    # Footer
    canvas.setFillColor(MID_GREY)
    canvas.rect(doc.leftMargin - 0.5*cm, 1.2*cm, A4[0] - 3*cm, 0.3*cm, fill=1, stroke=0)
    canvas.setFillColor(colors.HexColor("#7F8C8D"))
    canvas.setFont("Helvetica", 7.5)
    canvas.drawCentredString(A4[0]/2, 0.8*cm, f"Page {doc.page}  |  For educational use only")
    canvas.restoreState()

doc.build(story, onFirstPage=on_page, onLaterPages=on_page)
print(f"PDF created: {OUTPUT}")
Running Command

cd /home/daytona/workspace/varicose-vein-guide && python build_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/varicose-vein-guide/Varicose_Vein_Surgery_Referen…

Your reference guide is ready:

Varicose Vein Surgery Reference Guide

PDF Document · PDF


Here is what the guide contains across 8 sections:
Section 1 - Background & Pathophysiology
  • Risk factors (primary and secondary/rare)
  • CEAP 2020 classification table (C0 to C6r) with clinical significance for each grade
Section 2 - Surgical Procedures Overview
  • Full step-by-step table of the Trendelenburg/open GSV stripping operation (what you witnessed)
  • Comparison table of all 5 minimally invasive techniques: EVLA, RFA, foam sclerotherapy, MOCA, cyanoacrylate glue
Section 3 - Complications (the main focus)
  • Nerve injury: saphenous, sural, common peroneal - incidences, presentation, prevention, management
  • Wound infection with organisms and antibiotic guidance
  • Haematoma, bruising, hyperpigmentation
  • VTE/DVT including EHIT classification (endovenous heat-induced thrombosis) grades 1-4
  • Skin burns from thermal ablation
  • Intraarterial injection emergency protocol
  • Neurological events from foam sclerotherapy
Section 4 - Recurrent Varicose Veins
  • All 5 causes of recurrence with prevention strategies
  • Management algorithm including why redo open surgery is avoided
Section 5 - Management Algorithm
  • Full assessment checklist (history, duplex, ABPI, severity scoring)
  • Conservative vs interventional indications
  • Technique selection guide for 8 different clinical scenarios
Section 6 - Postoperative Care
  • Timepoint-by-timepoint comparison: open surgery vs endovenous, from day 0 to 12 months
Section 7 - Key Numbers Quick Reference
  • 12 essential statistics with their sources (incidences, recurrence rates, thresholds)
Section 8 - References
  • All 10 source textbooks cited
This is a shared conversation. Sign in to Orris to start your own chat.