Scola for ventral hernia in depth master this

Reading File
Finding Sources
Finding Sources
Searching PubMed

SCOLA subcutaneous onlay laparoscopic approach ventral hernia

Reading File
Reading File
Reading Article

PMID: 41667727

Reading Article

PMID: 39730131

Reading File
Finding Sources
Reading Article

PMID: 39506083

Reading File
Reading File
Loading Image
Finding Sources
Finding Sources
Reading File
Reading File
I now have comprehensive material. Let me compile the complete master guide on SCOLA for ventral hernia.

SCOLA for Ventral Hernia - Complete Master Guide

1. What is SCOLA?

SCOLA stands for SubCutaneous OnLay Laparoscopic/Endoscopic Approach. It was first described by Claus et al. in 2018 (Brazil) and represents an anterior, extraperitoneal, minimally invasive technique for repairing midline ventral hernias - especially those coexisting with diastasis recti.
The name has two variants in the literature:
  • SCOLA = SubCutaneous OnLay Laparoscopic Approach
  • SCOE = SubCutaneous Onlay Endoscopic approach (used interchangeably, particularly in the US)

2. Anatomy and Rationale

Why an anterior subcutaneous approach?

Traditional ventral hernia options place mesh either:
  • Intraperitoneal (IPOM) - requires peritoneal entry, barrier mesh, tack fixation, causes visceral risk
  • Retromuscular/sublay - complex dissection, higher operative time
  • Open onlay - large wound, high SSI rates up to 20%, disrupts perforators
SCOLA creates a subcutaneous working space anterior to the anterior rectus fascia, keeping entirely out of the peritoneal cavity. This eliminates:
  • Risk of visceral/bowel injury
  • Need for intraperitoneal (barrier-coated) mesh
  • Post-operative pain from tack fixation
The target layer is the space between the subcutaneous fat and the anterior aponeurosis of the rectus abdominis, accessed via insufflation with CO₂.
SCOLA CO₂ insufflation of the subcutaneous space, showing the laparoscope entering from the pubis and dissecting cranially toward the chest
FIGURE 80.8 from Sabiston: CO₂ insufflation of the subcutaneous space during SCOLA. (From Claus et al. 2018)

3. Indications

SCOLA is best suited for:
IndicationDetails
Primary midline ventral herniasUmbilical, epigastric hernias
Small-to-medium defectsTypically <4 cm width
Diastasis rectiInter-rectus distance >2-2.5 cm; SCOLA uniquely addresses both simultaneously
Coexisting hernia + diastasisThe primary "sweet spot" indication
Patients not requiring dermolipectomyThose who do not need skin/fat removal (no skin excess)
Desire to avoid peritoneal entryHigh prior adhesions but mesh in onlay plane preferred
Key point: The original Claus series used a patient selection criterion of hernia <4 cm and diastasis <4 cm. - Sabiston Textbook of Surgery, p. 1655

4. Contraindications / Relative Contraindications

  • Large defects >4 cm (increased tension risk)
  • Significant excess skin requiring panniculectomy/dermolipectomy (open approach preferred)
  • Prior subcutaneous infection or mesh in that plane
  • Defects requiring component separation or myofascial release (sublay/eTEP preferred)
  • Swiss-cheese (multiple) defects widely scattered (laparoscopic IPOM is better suited) - Mulholland Surgery, p. 3745

5. Step-by-Step Operative Technique

Patient Positioning

  • Supine
  • Arms tucked (or standard position)
  • Foley catheter to decompress bladder

Port Placement (Pfannenstiel Line)

Three trocars placed at/along the Pfannenstiel incision line (suprapubic):
PortSizePosition
Midline suprapubic11 mmCamera port
Left lateral suprapubic5 mmWorking port
Right lateral suprapubic5 mmWorking port
This Pfannenstiel placement keeps all scars in a natural skin crease - cosmetically ideal.

Creating the Working Space

  1. Insert the 11-mm trocar - stop dissection at the anterior aponeurosis of the rectus abdominis (do NOT enter the rectus sheath or peritoneum)
  2. Insufflate CO₂ into the subcutaneous space - pressure up to 10 mmHg
  3. Dissect subcutaneous tissue off the anterior fascia toward the xiphoid cranially and the ribs laterally - this creates wide working space for mesh

Umbilical Management

  • The umbilical stalk is transected to allow full access to the subcutaneous plane at the midline
  • The umbilicus is re-created during closure (umbilicoplasty)

Hernia Sac and Defect Closure

  1. Open the hernia sac
  2. Reduce hernia contents
  3. Close the fascial defect with running barbed suture (e.g., V-Loc or Stratafix)
  4. If diastasis recti is present: plicate the linea alba in the same step using barbed suture - achieving both repairs simultaneously

Mesh Placement

  • Polypropylene mesh (non-coated, no barrier required - not in contact with viscera)
  • Placed in the onlay position directly on the anterior rectus fascia
  • Mesh fixation options:
    • Fibrin glue
    • Sutures
    • Tacks
  • Adequate overlap (at least 3-5 cm) around the closed defect

Drain Placement

  • A closed suction drain is routinely left in the subcutaneous space to reduce seroma
  • Often removed at outpatient follow-up

6. Mesh Considerations in SCOLA

FactorSCOLA Onlay Placement
Mesh typePolypropylene (standard, non-coated)
Barrier coat required?No - extraperitoneal position
Overlap≥3-5 cm in all directions
Contact with visceraNone
CostLower than barrier/composite IPOM mesh
The absence of a need for intraperitoneal barrier mesh is a major cost advantage over IPOM. - Deshpande et al., J Minim Access Surg 2024 [PMID: 39730131]

7. SCOLA vs. Other Techniques - Comparison

FeatureSCOLAIPOMIPOM+Open OnlayRives-Stoppa/eTEP
Peritoneal entryNoYesYesNoNo/partial
Mesh positionOnlay (subcutaneous)IntraperitonealIntraperitonealOnlayRetromuscular
Barrier mesh neededNoYesYesNoNo
Defect closureYesSometimesYesYesYes
Diastasis repairYesNoNoYesLimited
Post-op painLowModerate-highModerateHighModerate
SSI riskModerateLowLowHigh (up to 20%)Low
Seroma riskHigh (~19-27%)~10%~10%HighModerate
Ideal defect size<4 cm<10 cm<10 cmAny4-10 cm
ComplexityModerateLow-moderateModerateModerateHigh
Key finding from comparison trial: SCOLA resulted in significantly less post-operative pain on VAS (day 1, discharge, first follow-up) compared to IPOM+. Material cost of SCOLA was significantly lower. Seroma rate was higher in SCOLA (27.3% vs. 10.3% for IPOM+) but no recurrence at 1 year in either group. - Deshpande et al., J Minim Access Surg 2024 [PMID: 39730131]

8. SCOLA vs. Open Onlay - Key Difference

The open onlay repair involves wide subcutaneous dissection through a laparotomy incision, which:
  • Obliterates the periumbilical epigastric perforators
  • Disrupts the lymphatic layer anterior to the fascia
  • SSI/SSO rates up to 20%
  • Hernia recurrence is higher (Pascal's Law: intra-abdominal pressure acts upward against onlay mesh)
SCOLA's endoscopic approach preserves vascular perforators (no large skin incisions), minimizes dead space handled, and reduces SSI - while retaining the onlay position. - Mulholland Surgery, p. 3733-3734

9. Robotic SCOLA

The robotic platform ("RSCOLA" or robotic-assisted SCOE) is an emerging evolution:
  • Allows better articulation in the subcutaneous space
  • Facilitates intracorporeal barbed suture plication of diastasis and defect closure
  • A 2026 case report describes robotic SCOLA for superior recurrence after prior open TAR (transversus abdominis release) - [PMID: 42179714]
  • Benefits: improved 3D visualization, ergonomics, precise suturing - Mulholland Surgery, p. 3747

10. Complications

ComplicationRateNotes
Seroma19-27% (most common)Related to extent of subcutaneous dissection, not mesh use per se
Surgical site infection (SSI)~5% (mesh group)Only seen when mesh used; 0% in no-mesh series
Recurrence~1.7% (mesh), 0% (no mesh)Very low at short follow-up
Umbilical necrosisRareFrom umbilical stalk transection
Wound infectionUncommonSubcutaneous approach risk
Critical insight from 2026 meta-analysis (Vitiello et al. [PMID: 41667727]):
  • 247 patients, 6 studies, mean follow-up 9.5 months
  • Seroma is more influenced by the extent of dissection than by mesh presence
  • Mesh reinforcement may modestly reduce recurrence but increases SSI risk
  • Overall recurrence rate is low (~1.7% with mesh)
  • Evidence quality remains moderate (non-randomized, small cohorts)

Seroma Prevention

  • Routine drain placement (removed outpatient)
  • Fibrin glue to obliterate dead space
  • Preservation of subcutaneous lymphatics
  • Minimizing extent of dissection

11. Special Indication: Diastasis Recti

Diastasis recti = separation of the two rectus abdominis muscles with a stretched (but intact) linea alba. It:
  • Does NOT require repair in absence of symptoms
  • But causes abdominal wall muscular dysfunction, pelvic floor effects, poor cosmesis
  • Surgical options: open plication (plastic surgery approach) vs. laparoscopic plication vs. SCOLA
SCOLA is the ideal technique when diastasis co-exists with a midline ventral hernia because:
  1. Single operation addresses both problems
  2. No need for open skin excision (unlike abdominoplasty)
  3. Plication with barbed suture + mesh onlay in same subcutaneous working space
  4. Evidence shows improvement in pelvic floor function after diastasis repair (Olsson et al.) - Mulholland Surgery, p. 3727
From the Mehta et al. 2024 Indian series ([PMID: 39506083]): 33 patients, SCOLA with hernia defect closure + diastasis plication + polypropylene mesh onlay. No recurrence at 4-18 months. Patient satisfaction 90.9%.

12. Swiss-Cheese Hernias and Special Variants

SCOLA has been applied to:
  • Swiss-cheese hernias (multiple defects) following thoracoabdominal incisions - Case report 2025 [PMID: 40254811]
  • Recurrence after TAR - 2026 case report using robotic SCOLA [PMID: 42179714]
However, for true swiss-cheese defects with wide separation, laparoscopic IPOM may be better suited given the multiple defect coverage required. - Mulholland Surgery, p. 3745

13. Patient Selection Summary

Ideal SCOLA patient:
  • Midline small-to-medium ventral hernia (<4 cm)
  • Coexisting diastasis recti
  • Does NOT need dermolipectomy/skin resection
  • Wants minimally invasive approach with no peritoneal entry
  • Low wound risk overall
Avoid SCOLA when:
  • Large defects >4-6 cm (limited mesh overlap, high tension)
  • Multiple scattered defects (swiss cheese - better for IPOM)
  • Significant skin excess requiring panniculectomy (open approach)
  • Need for myofascial release/component separation (eTEP/Rives-Stoppa better)

14. Evidence Summary

StudyDesignNKey Finding
Vitiello 2026 [PMID: 41667727]SR + Meta-analysis247Low recurrence (1.7%), seroma 19%, SSI 5% with mesh; seroma driven by dissection extent
Mehta 2024 [PMID: 39506083]Prospective obs.330% recurrence, 90.9% satisfaction
Deshpande 2024 [PMID: 39730131]Prospective obs.51SCOLA = less pain, lower cost vs. IPOM+; higher seroma (27% vs. 10%)
Dong 2021 [PMID: 33206243]Case seriesInitial US seriesFeasibility confirmed for small midline hernias + diastasis
Shinde 2022 [PMID: 35859952]Case seriesIndian modificationNovel technique variant
Overall evidence level: Moderate (Level III-IV). No RCTs yet. High-quality comparative data with longer follow-up is needed.

15. Quick Exam/Viva Points

  1. SCOLA described by: Claus et al., 2018, Brazil
  2. Plane of dissection: Subcutaneous space anterior to anterior rectus fascia
  3. Unique advantage over IPOM: No peritoneal entry, no barrier mesh needed, less post-op pain
  4. Unique advantage over open onlay: No large incision, preserves perforators, lower SSI
  5. Ideal defect size: <4 cm
  6. Mesh type: Non-coated polypropylene
  7. Most common complication: Seroma (~19-27%)
  8. Umbilical stalk: Transected intraoperatively, re-created at closure
  9. Port placement: Along Pfannenstiel line (11 mm midline + two 5 mm lateral)
  10. CO₂ pressure: Up to 10 mmHg in subcutaneous space
  11. Defect closure suture: Running barbed suture (e.g., V-Loc)
  12. Why seroma happens: Extensive subcutaneous dissection creates dead space
  13. Robotic SCOLA: Emerging - better dexterity for plication, intracorporeal suturing
  14. Best indication: Ventral hernia + diastasis recti coexisting, no dermolipectomy need

Sources:

Generate a complication management flowchart for seroma and infection after SCOLA

Running Command

ls -la /tmp/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /tmp/workspace/scola-flowchart && python3 << 'PYEOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyBboxPatch, FancyArrowPatch import matplotlib.patheffects as pe fig, ax = plt.subplots(figsize=(22, 30)) ax.set_xlim(0, 22) ax.set_ylim(0, 30) ax.axis('off') fig.patch.set_facecolor('#F0F4F8') # ── Color palette ────────────────────────────────────────────────────────────── C = { 'title_bg' : '#1A2E4A', 'title_fg' : '#FFFFFF', 'start' : '#2C5F8A', 'start_fg' : '#FFFFFF', 'decision' : '#E07B2A', 'decision_fg' : '#FFFFFF', 'action' : '#2A7A4B', 'action_fg' : '#FFFFFF', 'warning' : '#C0392B', 'warning_fg' : '#FFFFFF', 'info' : '#5B4C8A', 'info_fg' : '#FFFFFF', 'success' : '#1D6A3E', 'success_fg' : '#FFFFFF', 'seroma_hdr' : '#2C5F8A', 'infect_hdr' : '#8A2C2C', 'arrow' : '#34495E', 'note_bg' : '#FFF9E6', 'note_border' : '#E6B800', } def box(ax, x, y, w, h, text, facecolor, textcolor='white', fontsize=9, style='round,pad=0.1', bold=False, wrap=True, zorder=3): b = FancyBboxPatch((x - w/2, y - h/2), w, h, boxstyle=style, linewidth=1.2, edgecolor='#2C3E50', facecolor=facecolor, zorder=zorder) ax.add_patch(b) weight = 'bold' if bold else 'normal' ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, color=textcolor, fontweight=weight, wrap=wrap, zorder=zorder+1, multialignment='center') def diamond(ax, x, y, w, h, text, facecolor, textcolor='white', fontsize=8.5): dx, dy = w/2, h/2 pts = [(x, y+dy), (x+dx, y), (x, y-dy), (x-dx, y)] poly = plt.Polygon(pts, closed=True, facecolor=facecolor, edgecolor='#2C3E50', linewidth=1.2, zorder=3) ax.add_patch(poly) ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, color=textcolor, fontweight='bold', zorder=4, multialignment='center') def arrow(ax, x1, y1, x2, y2, label='', color='#34495E', lw=1.8): ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle='->', color=color, lw=lw, connectionstyle='arc3,rad=0.0')) if label: mx, my = (x1+x2)/2, (y1+y2)/2 ax.text(mx+0.15, my, label, fontsize=8, color=color, fontweight='bold') def harrow(ax, x1, y1, x2, y2, label='', color='#34495E'): """Horizontal then vertical arrow via bent path""" ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle='->', color=color, lw=1.8, connectionstyle=f'angle,angleA=0,angleB=90')) if label: mx = (x1+x2)/2 ax.text(mx, y1+0.12, label, fontsize=8, color=color, fontweight='bold', ha='center') # ══════════════════════════════════════════════════════════════════════════════ # TITLE BANNER # ══════════════════════════════════════════════════════════════════════════════ title_bg = FancyBboxPatch((0.3, 28.3), 21.4, 1.5, boxstyle='round,pad=0.05', linewidth=0, facecolor=C['title_bg'], zorder=5) ax.add_patch(title_bg) ax.text(11, 29.15, 'COMPLICATION MANAGEMENT FLOWCHART AFTER SCOLA', ha='center', va='center', fontsize=15, color='white', fontweight='bold', zorder=6) ax.text(11, 28.65, 'SubCutaneous OnLay Laparoscopic/Endoscopic Approach | Seroma & Surgical Site Infection (SSI)', ha='center', va='center', fontsize=9.5, color='#B8D4F0', zorder=6) # ══════════════════════════════════════════════════════════════════════════════ # COLUMN HEADERS # ══════════════════════════════════════════════════════════════════════════════ # Left column: Seroma | Right column: SSI seroma_hdr = FancyBboxPatch((0.3, 27.0), 10.2, 0.9, boxstyle='round,pad=0.05', linewidth=0, facecolor='#2C5F8A', zorder=5) ax.add_patch(seroma_hdr) ax.text(5.4, 27.45, '🔵 SEROMA (Most Common — ~19–27%)', ha='center', va='center', fontsize=11, color='white', fontweight='bold', zorder=6) infect_hdr = FancyBboxPatch((11.5, 27.0), 10.2, 0.9, boxstyle='round,pad=0.05', linewidth=0, facecolor='#8A2C2C', zorder=5) ax.add_patch(infect_hdr) ax.text(16.6, 27.45, '🔴 SURGICAL SITE INFECTION (SSI — ~5%)', ha='center', va='center', fontsize=11, color='white', fontweight='bold', zorder=6) # Vertical divider ax.plot([11, 11], [0.5, 27.0], color='#AAB8C2', lw=1.5, linestyle='--', zorder=2) # ══════════════════════════════════════════════════════════════════════════════ # ─────────────── LEFT COLUMN: SEROMA ──────────────────────────────────────── # ══════════════════════════════════════════════════════════════════════════════ # S1 – Post-op assessment box(ax, 5.4, 26.3, 9.0, 0.65, 'Post-op Assessment (Day 1 – Week 6)', C['start'], bold=True, fontsize=9.5) arrow(ax, 5.4, 25.97, 5.4, 25.45) # S2 – Swelling? diamond(ax, 5.4, 25.1, 7.0, 0.75, 'Subcutaneous swelling / fullness at surgical site?', C['decision'], fontsize=8.5) arrow(ax, 5.4, 24.72, 5.4, 24.2, label='YES') # NO branch ax.annotate('', xy=(9.9, 25.1), xytext=(8.9, 25.1), arrowprops=dict(arrowstyle='->', color=C['success'], lw=1.8)) box(ax, 10.3, 25.1, 0.7, 0.5, 'Continue\nroutine\nfollow-up', C['success'], fontsize=7) ax.text(9.4, 25.25, 'NO', fontsize=8, color=C['success'], fontweight='bold') # S3 – Clinical evaluation box(ax, 5.4, 23.85, 9.0, 0.65, 'Clinical Evaluation: Fluctuant? Tender? Erythema? Fever?', C['info'], fontsize=8.5) arrow(ax, 5.4, 23.52, 5.4, 22.9) # S4 – Signs of infection? diamond(ax, 5.4, 22.55, 7.5, 0.72, 'Erythema / Fever / Purulence / Leukocytosis?', C['warning'], fontsize=8.5) # YES → cross to infection column (handled by note) ax.annotate('', xy=(11.0, 22.55), xytext=(9.15, 22.55), arrowprops=dict(arrowstyle='->', color=C['warning'], lw=2.0, connectionstyle='arc3,rad=0.0')) ax.text(9.8, 22.72, 'YES →\nSSI path', fontsize=8, color=C['warning'], fontweight='bold', ha='center') arrow(ax, 5.4, 22.19, 5.4, 21.55, label='NO / Pure seroma') # S5 – Ultrasound box(ax, 5.4, 21.2, 9.0, 0.65, 'Ultrasound Confirmation\n(Anechoic fluid collection, no septations)', C['start'], fontsize=8.5) arrow(ax, 5.4, 20.87, 5.4, 20.25) # S6 – Size? diamond(ax, 5.4, 19.9, 7.5, 0.72, 'Collection size?\n(clinically symptomatic?)', C['decision'], fontsize=8.5) arrow(ax, 5.4, 19.54, 5.4, 18.85, label='< 5 cm / asymptomatic') # Small seroma box(ax, 5.4, 18.5, 9.0, 0.65, 'Conservative Management\n• Reassure patient • Compressive garment • Avoid strenuous activity • Review at 4–6 weeks', C['action'], fontsize=8.2) arrow(ax, 5.4, 18.17, 5.4, 17.55) # Resolved? diamond(ax, 5.4, 17.2, 7.0, 0.7, 'Resolved at 6-week review?', C['decision'], fontsize=8.5) # YES ax.annotate('', xy=(1.6, 17.2), xytext=(1.9, 17.2), arrowprops=dict(arrowstyle='->', color=C['success'], lw=1.8)) box(ax, 1.0, 17.2, 1.8, 0.5, 'Discharge /\nRoutine FU', C['success'], fontsize=7.5) ax.text(1.95, 17.38, 'YES', fontsize=8, color=C['success'], fontweight='bold') arrow(ax, 5.4, 16.85, 5.4, 16.25, label='NO / Enlarging') # Large seroma branch from S6 ax.annotate('', xy=(9.1, 18.55), xytext=(8.65, 19.54), arrowprops=dict(arrowstyle='->', color=C['warning'], lw=1.8, connectionstyle='arc3,rad=0.0')) ax.text(9.3, 19.2, '≥5 cm /\nSymptomatic', fontsize=8, color=C['warning'], fontweight='bold', ha='center') # Aspiration box(ax, 5.4, 15.9, 9.2, 0.65, 'Ultrasound-Guided Aspiration\n(Can be repeated 1–2×; send fluid for C&S if cloudy)', C['action'], fontsize=8.2) arrow(ax, 5.4, 15.57, 5.4, 14.95) diamond(ax, 5.4, 14.6, 7.5, 0.7, 'Recurs after 2 aspirations?', C['decision'], fontsize=8.5) arrow(ax, 5.4, 14.24, 5.4, 13.55, label='YES') # NO branch ax.annotate('', xy=(1.6, 14.6), xytext=(1.9, 14.6), arrowprops=dict(arrowstyle='->', color=C['success'], lw=1.8)) box(ax, 1.0, 14.6, 1.8, 0.5, 'Monitor 2–4\nweeks\nthen discharge', C['success'], fontsize=7.5) ax.text(1.95, 14.78, 'NO', fontsize=8, color=C['success'], fontweight='bold') box(ax, 5.4, 13.2, 9.2, 0.7, 'Persistent / Chronic Seroma\n• Drain insertion (closed suction) • Sclerotherapy (doxycycline / tetracycline)\n• Consider re-exploration if mesh folded / wrinkled', C['warning'], fontsize=8.0) arrow(ax, 5.4, 12.85, 5.4, 12.2) box(ax, 5.4, 11.85, 9.2, 0.65, 'Resolution? → Discharge\nNo resolution → Surgical review; consider mesh explanation if infected seroma', C['info'], fontsize=8.0) # PREVENTION BOX (seroma) prev_bg = FancyBboxPatch((0.5, 10.5), 9.8, 1.1, boxstyle='round,pad=0.1', linewidth=1.5, edgecolor=C['note_border'], facecolor=C['note_bg'], zorder=3) ax.add_patch(prev_bg) ax.text(5.4, 11.27, '⚠ SEROMA PREVENTION (intraoperative)', ha='center', va='center', fontsize=8.5, fontweight='bold', color='#7A5C00', zorder=4) ax.text(5.4, 10.85, 'Routine closed-suction drain | Fibrin glue to dead space | Minimize dissection extent\nPreserve subcutaneous lymphatics | Compressive dressing post-op', ha='center', va='center', fontsize=7.8, color='#5C4200', zorder=4, multialignment='center') # ══════════════════════════════════════════════════════════════════════════════ # ─────────────── RIGHT COLUMN: SSI ────────────────────────────────────────── # ══════════════════════════════════════════════════════════════════════════════ # I1 – Post-op assessment box(ax, 16.6, 26.3, 9.0, 0.65, 'Post-op Assessment (Day 3 – Week 6)', '#8A2C2C', bold=True, fontsize=9.5) arrow(ax, 16.6, 25.97, 16.6, 25.45) # I2 – Signs of SSI? diamond(ax, 16.6, 25.1, 8.5, 0.75, 'Wound erythema / warmth / swelling / discharge\nor fever / raised WBC / CRP?', C['warning'], fontsize=8.5) arrow(ax, 16.6, 24.72, 16.6, 24.12, label='YES') ax.annotate('', xy=(20.9, 25.1), xytext=(20.85, 25.1), arrowprops=dict(arrowstyle='->', color=C['success'], lw=1.8)) box(ax, 21.3, 25.1, 0.8, 0.5, 'Routine\nFU', C['success'], fontsize=7.5) ax.text(20.65, 25.28, 'NO', fontsize=8, color=C['success'], fontweight='bold') # I3 – Classify box(ax, 16.6, 23.75, 9.2, 0.72, 'CLASSIFY SSI (CDC Criteria)\n▸ Superficial ▸ Deep ▸ Organ/Space (mesh involved?)', '#8A2C2C', fontsize=8.5) arrow(ax, 16.6, 23.39, 16.6, 22.75) # I4 – Superficial vs Deep diamond(ax, 16.6, 22.4, 8.5, 0.72, 'Deep SSI / Mesh involvement suspected?', C['decision'], fontsize=8.5) # NO – superficial branch arrow(ax, 12.35, 22.4, 11.8, 22.4) # left arrow to superficial box ax.text(12.4, 22.55, 'NO (Superficial)', fontsize=8, color='#27AE60', fontweight='bold') # YES – deep branch arrow(ax, 16.6, 22.04, 16.6, 21.4, label='YES (Deep)') # Superficial box box(ax, 13.3, 21.4, 3.8, 1.3, 'SUPERFICIAL SSI\n─────────────\n• Wound swab for C&S\n• Empiric PO antibiotics\n (Co-amoxiclav / Cefalexin)\n• Wound opening if fluctuant\n• Warm saline irrigation\n• Dressing changes\n• Review 48–72 h', C['action'], fontsize=8.0) # Deep SSI box(ax, 18.6, 21.0, 5.8, 1.1, 'DEEP SSI Workup\n• Blood cultures + wound swab\n• CT abdomen/pelvis\n (gas, fluid collection, mesh integrity)\n• IV antibiotics (empiric broad-spectrum)', C['warning'], fontsize=8.0) arrow(ax, 18.6, 20.45, 18.6, 19.85) diamond(ax, 18.6, 19.5, 6.0, 0.72, 'CT: Peri-mesh collection /\nMesh contamination?', C['decision'], fontsize=8.5) # NO → medical management ax.annotate('', xy=(14.8, 19.5), xytext=(15.6, 19.5), arrowprops=dict(arrowstyle='->', color=C['action'], lw=1.8)) ax.text(15.1, 19.65, 'NO', fontsize=8, color=C['action'], fontweight='bold') box(ax, 13.9, 19.5, 2.4, 0.9, 'Continue IV Abx\n48–72 h, then\nstep-down PO\nReview 1 week', C['action'], fontsize=7.8) # YES → surgical arrow(ax, 18.6, 19.14, 18.6, 18.45, label='YES') box(ax, 18.6, 18.1, 5.8, 0.7, 'CT-guided or Surgical Drainage\n• Percutaneous drain if accessible\n• IV Abx: Pip-Tazo / Meropenem guided by cultures', C['warning'], fontsize=8.0) arrow(ax, 18.6, 17.75, 18.6, 17.1) diamond(ax, 18.6, 16.75, 6.2, 0.72, 'Response to drainage + Abx\n(72 h reassessment)?', C['decision'], fontsize=8.5) # YES → recover ax.annotate('', xy=(14.6, 16.75), xytext=(15.5, 16.75), arrowprops=dict(arrowstyle='->', color=C['success'], lw=1.8)) ax.text(15.1, 16.92, 'YES', fontsize=8, color=C['success'], fontweight='bold') box(ax, 13.9, 16.75, 2.4, 0.9, 'Complete Abx course\n(4–6 weeks if mesh)\nRegular wound review\nImagine at 3 months', C['success'], fontsize=7.5) # NO → explant decision arrow(ax, 18.6, 16.39, 18.6, 15.7, label='NO / Worsening') box(ax, 18.6, 15.35, 6.2, 0.7, '⚠ MESH EXPLANTATION DECISION\nMultidisciplinary discussion (surgeon + ID + radiologist)', C['warning'], bold=True, fontsize=8.2) arrow(ax, 18.6, 15.0, 18.6, 14.35) diamond(ax, 18.6, 14.0, 6.5, 0.72, 'Mesh salvage possible?\n(Early infection, clean tissue, controlled)', C['decision'], fontsize=8.5) arrow(ax, 18.6, 13.64, 18.6, 12.95, label='NO') ax.annotate('', xy=(21.95, 14.0), xytext=(21.85, 14.0), arrowprops=dict(arrowstyle='->', color=C['action'], lw=1.8)) ax.text(21.7, 14.18, 'YES', fontsize=8, color=C['action'], fontweight='bold') box(ax, 21.5, 13.5, 0.9, 1.0, 'Aggressive\nwound wash-\nout, NPWT,\nDelayed\nprimary\nclosure', C['action'], fontsize=7.0) box(ax, 18.6, 12.6, 6.5, 0.7, 'MESH EXPLANTATION\n• Remove mesh • Debride infected tissue\n• NPWT (Vacuum therapy) • Plan delayed repair at 3–6 months', C['warning'], fontsize=8.0) arrow(ax, 18.6, 12.25, 18.6, 11.6) box(ax, 18.6, 11.25, 6.5, 0.7, 'Post-explantation Care\n• Culture-directed Abx • Wound healing by secondary intention or flap\n• Nutritional support • Delayed ventral hernia re-repair', C['info'], fontsize=7.8) # PREVENTION BOX (SSI) prev_ssi = FancyBboxPatch((11.5, 10.5), 9.8, 1.1, boxstyle='round,pad=0.1', linewidth=1.5, edgecolor='#C0392B', facecolor='#FFF0F0', zorder=3) ax.add_patch(prev_ssi) ax.text(16.4, 11.27, '⚠ SSI PREVENTION (peri-operative)', ha='center', va='center', fontsize=8.5, fontweight='bold', color='#7A0000', zorder=4) ax.text(16.4, 10.85, 'Pre-op antibiotics (30 min before) | Skin antisepsis (chlorhexidine) | Avoid mesh-skin contact\nMinimize OR time | Normoglycemia | SCOLA mesh: non-coated PP (lower SSI vs IPOM barrier mesh)', ha='center', va='center', fontsize=7.5, color='#5C0000', zorder=4, multialignment='center') # ══════════════════════════════════════════════════════════════════════════════ # LEGEND # ══════════════════════════════════════════════════════════════════════════════ legend_bg = FancyBboxPatch((0.3, 9.3), 21.4, 0.9, boxstyle='round,pad=0.05', linewidth=1, edgecolor='#AAB8C2', facecolor='#EEF2F7', zorder=3) ax.add_patch(legend_bg) ax.text(11, 9.95, 'LEGEND', ha='center', va='center', fontsize=9, fontweight='bold', color='#2C3E50') legend_items = [ (1.5, 9.6, C['start'], 'Start / Assessment'), (5.5, 9.6, C['decision'], 'Decision / Branch'), (9.5, 9.6, C['action'], 'Action / Treatment'), (13.5, 9.6, C['warning'], 'Critical / Escalation'), (17.5, 9.6, C['success'], 'Resolution / Discharge'), (20.8, 9.6, C['info'], 'Investigation'), ] for lx, ly, lc, lt in legend_items: b = FancyBboxPatch((lx-0.5, ly-0.2), 1.0, 0.38, boxstyle='round,pad=0.05', facecolor=lc, edgecolor='none', zorder=4) ax.add_patch(b) ax.text(lx, ly-0.48, lt, ha='center', va='top', fontsize=7, color='#2C3E50', zorder=5) # ══════════════════════════════════════════════════════════════════════════════ # CROSS-REFERENCE ARROW (seroma → SSI) # ══════════════════════════════════════════════════════════════════════════════ ax.annotate('', xy=(11.4, 22.55), xytext=(9.15, 22.55), arrowprops=dict(arrowstyle='->', color=C['warning'], lw=2.2, linestyle='dashed')) ax.text(10.3, 22.72, 'Refer to\nSSI path →', fontsize=7.5, color=C['warning'], fontweight='bold', ha='center') # Footer ax.text(11, 8.85, 'Based on: Vitiello et al. 2026 (SR/Meta-analysis, PMID 41667727) | Deshpande et al. 2024 (PMID 39730131) | Sabiston Textbook of Surgery | Mulholland & Greenfield Surgery 7e', ha='center', va='center', fontsize=7, color='#7F8C8D') plt.tight_layout(pad=0.5) plt.savefig('/tmp/workspace/scola-flowchart/SCOLA_Complication_Flowchart.png', dpi=180, bbox_inches='tight', facecolor='#F0F4F8') plt.close() print("Saved successfully.") PYEOF

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.