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
Trendelenburg operation flush ligation varicose veins surgery steps perforators
| Location | Tributaries |
|---|---|
| Lateral | Superficial inferior epigastric vein; superficial circumflex iliac vein |
| Medial | Superficial external pudendal vein; deep external pudendal vein |
| Distal | Anterior accessory of the GSV; posteromedial thigh vein |


| Problem | Solution |
|---|---|
| Reflux at SFJ - the source of all downstream pressure | Flush ligation cuts off the source |
| The GSV itself is dilated and incompetent | Stripping removes the refluxing vein |
| Residual stump causes recurrence | "Flush" ensures no stump remains |
| Perforators re-pressurize the superficial system | Perforator ligation breaks this pathway |
Create a visual diagram comparing the anatomy and steps of GSV stripping vs modern minimally-invasive techniques
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.

| Technique | How it works | What's destroyed |
|---|---|---|
| EVLA / RFA | Laser or radiofrequency catheter inserted via needle puncture; tumescent anaesthesia injected around vein; heat collapses vein wall from inside | Thermal destruction + fibrosis |
| Foam sclerotherapy | Sclerosant foam injected, displaces blood, chemically irritates and obliterates vein wall | Chemical endothelial injury |
| Cyanoacrylate glue | Micro-catheter deposits glue droplets; manual compression seals lumen shut | Mechanical occlusion |
| Open GSV Stripping | EVLA / RFA | Sclerotherapy | Glue | |
|---|---|---|---|---|
| Anaesthesia | General / spinal | Tumescent local | None | None |
| Incisions | 2+ (groin + knee) | Needle puncture only | Injection needle | Needle puncture |
| Recovery | 2-4 weeks | 1-3 days | Same day | Same day |
| Recurrence (5 yr) | 20-35% | ~15-20% | Higher | Data still emerging |
Create a detailed PDF reference guide on varicose vein surgery complications and management
mkdir -p /home/daytona/workspace/varicose-vein-guide && ls /home/daytona/workspa…
~/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 & 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}")
cd /home/daytona/workspace/varicose-vein-guide && python build_pdf.py 2>&1
ls -lh /home/daytona/workspace/varicose-vein-guide/Varicose_Vein_Surgery_Referen…
Varicose Vein Surgery Reference Guide
PDF Document · PDF