Create a ppt on suture and suturing techniques . Take reference from bailey and love , farqueshons, sabistons, and manuals of surgery. Make it with examples and for pg level

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Searching Images

suture types and suturing techniques surgical diagram

This medical illustration depicts a surgical technique for gastrointestinal anastomosis, likely part of a gastrectomy procedure. The diagram shows the suturing of a tissue layer using a barbed suture, characterized by small, unidirectional anchors along the thread, which allows for knotless wound closure. A curved surgical needle is attached to the superior end of the suture. The illustration highlights the relationship between the anterior and posterior suture layers, where the anterior layer overlaps the posterior one. A surgical instrument, possibly a laparoscopic grasper or stapler component, is positioned against the folded tissue. The reddish internal mucosal surface is visible through an incision, which is being approximated by the suture line. This visual serves as an educational resource for surgeons learning specialized suturing techniques in minimally invasive abdominal surgery, specifically focusing on secure, knotless anastomosis.

This medical illustration depicts a surgical technique for gastrointestinal anastomosis, likely part of a gastrectomy procedure. The diagram shows the suturing of a tissue layer using a barbed suture, characterized by small, unidirectional anchors along the thread, which allows for knotless wound closure. A curved surgical needle is attached to the superior end of the suture. The illustration highlights the relationship between the anterior and posterior suture layers, where the anterior layer overlaps the posterior one. A surgical instrument, possibly a laparoscopic grasper or stapler component, is positioned against the folded tissue. The reddish internal mucosal surface is visible through an incision, which is being approximated by the suture line. This visual serves as an educational resource for surgeons learning specialized suturing techniques in minimally invasive abdominal surgery, specifically focusing on secure, knotless anastomosis.

This composite educational image illustrates laparoscopic surgical training and suture techniques. Panel A depicts a clinical photograph of a trainee in a white coat operating a laparoscopic simulator. The setup includes hand-controlled surgical instruments inserted into a trainer box, with the operative field visualized on two external monitors to simulate minimally invasive surgery conditions. Panel B provides a close-up clinical photograph of a synthetic suture plate made of thermoplastic elastomer. It demonstrates practical endosuture exercises, showing parallel edges joined by evenly spaced, light blue Ethibond sutures in both continuous and interrupted patterns. Panel C is a pathophysiology diagram or instructional illustration showing the mechanical steps of creating a suture loop and knot around a longitudinal incision. The diagram highlights the proper needle angulation and thread manipulation required for secure wound closure. Collectively, these images support surgical education in laparoscopy, focusing on ergonomics, triangulation, and psychomotor skills for intracavitary suturing.

This composite educational image illustrates laparoscopic surgical training and suture techniques. Panel A depicts a clinical photograph of a trainee in a white coat operating a laparoscopic simulator. The setup includes hand-controlled surgical instruments inserted into a trainer box, with the operative field visualized on two external monitors to simulate minimally invasive surgery conditions. Panel B provides a close-up clinical photograph of a synthetic suture plate made of thermoplastic elastomer. It demonstrates practical endosuture exercises, showing parallel edges joined by evenly spaced, light blue Ethibond sutures in both continuous and interrupted patterns. Panel C is a pathophysiology diagram or instructional illustration showing the mechanical steps of creating a suture loop and knot around a longitudinal incision. The diagram highlights the proper needle angulation and thread manipulation required for secure wound closure. Collectively, these images support surgical education in laparoscopy, focusing on ergonomics, triangulation, and psychomotor skills for intracavitary suturing.

Two-part medical illustration demonstrating surgical closure techniques using a barbed suture. (A) depicts the initiation of a three-layer continuous closure at the rectus sheath level. A blue barbed suture with a curved needle is shown passing through both edges of a deep incision (approximately 5mm from the wound margin). The needle passes through a distal variable loop, illustrating a knotless anchoring mechanism to appose the body wall. (B) illustrates the termination of the subcuticular skin closure. The image shows the 'backwards stitch' and 'J-stitch' anchoring technique. To the right of the closed incision line, the suture is seen passing through a raised tissue segment in the opposite direction of the primary closure to provide friction-based security. The final segment of the suture exits the epidermis perpendicularly, allowing for knotless termination. This educational diagram is used to teach advanced suturing methods in surgical specialties, focusing on the mechanical advantages of barbed suture material for efficient wound management.

Two-part medical illustration demonstrating surgical closure techniques using a barbed suture. (A) depicts the initiation of a three-layer continuous closure at the rectus sheath level. A blue barbed suture with a curved needle is shown passing through both edges of a deep incision (approximately 5mm from the wound margin). The needle passes through a distal variable loop, illustrating a knotless anchoring mechanism to appose the body wall. (B) illustrates the termination of the subcuticular skin closure. The image shows the 'backwards stitch' and 'J-stitch' anchoring technique. To the right of the closed incision line, the suture is seen passing through a raised tissue segment in the opposite direction of the primary closure to provide friction-based security. The final segment of the suture exits the epidermis perpendicularly, allowing for knotless termination. This educational diagram is used to teach advanced suturing methods in surgical specialties, focusing on the mechanical advantages of barbed suture material for efficient wound management.

This composite image consists of an intraoperative clinical photograph and a corresponding schematic diagram illustrating a surgical suturing technique. The clinical photograph on the left shows an active surgical field, likely within the thoracic or abdominal cavity, involving a robotic-assisted surgical system. Robotic graspers and needle drivers are visible manipulating pale, serosal tissue and adjacent reddish vascularized tissue. A white monofilament suture is being used to perform a closure. To the right, a simplified line diagram demonstrates the logic of a simple continuous suture pattern. In the diagram, a central blue line represents the incision or approximation line, while a red winding line illustrates the path of the needle and thread as it creates successive loops to provide even tension across the wound. This educational material is designed for surgical trainees to understand the application of a second layer of continuous reinforcement sutures during complex reconstructive procedures.

This composite image consists of an intraoperative clinical photograph and a corresponding schematic diagram illustrating a surgical suturing technique. The clinical photograph on the left shows an active surgical field, likely within the thoracic or abdominal cavity, involving a robotic-assisted surgical system. Robotic graspers and needle drivers are visible manipulating pale, serosal tissue and adjacent reddish vascularized tissue. A white monofilament suture is being used to perform a closure. To the right, a simplified line diagram demonstrates the logic of a simple continuous suture pattern. In the diagram, a central blue line represents the incision or approximation line, while a red winding line illustrates the path of the needle and thread as it creates successive loops to provide even tension across the wound. This educational material is designed for surgical trainees to understand the application of a second layer of continuous reinforcement sutures during complex reconstructive procedures.

This medical illustration and clinical photograph composite describes the application of the A. Chohan Continuous Squeezing Suture (ACCSS) technique, a surgical intervention for managing hemorrhage during cesarean sections for placenta previa or accreta. The figure consists of four panels: (a) an anatomical diagram showing the initiation of the suture with 0.5 cm bites at the inner surface of the lower uterine segment near the internal os; (b) the progression to a fully applied continuous suture pattern with 1 cm intervals; (c) a clinical photograph demonstrating the intraoperative squeezing effect on the uterine tissue, showing significant tissue compression and congestion intended to achieve hemostasis; and (d) an illustration of the suture application on the posterior uterine wall. The technique utilizes a half-thickness suturing approach to compress placental site sinuses while maintaining the patency of the internal os. This educational material is designed for obstetric surgeons and trainees focusing on advanced surgical techniques for postpartum hemorrhage management.

This medical illustration and clinical photograph composite describes the application of the A. Chohan Continuous Squeezing Suture (ACCSS) technique, a surgical intervention for managing hemorrhage during cesarean sections for placenta previa or accreta. The figure consists of four panels: (a) an anatomical diagram showing the initiation of the suture with 0.5 cm bites at the inner surface of the lower uterine segment near the internal os; (b) the progression to a fully applied continuous suture pattern with 1 cm intervals; (c) a clinical photograph demonstrating the intraoperative squeezing effect on the uterine tissue, showing significant tissue compression and congestion intended to achieve hemostasis; and (d) an illustration of the suture application on the posterior uterine wall. The technique utilizes a half-thickness suturing approach to compress placental site sinuses while maintaining the patency of the internal os. This educational material is designed for obstetric surgeons and trainees focusing on advanced surgical techniques for postpartum hemorrhage management.

This medical illustration depicts a laparoscopic urethrovesical anastomosis, specifically the single-knot Van Velthoven technique used during robotic-assisted radical prostatectomy (RARP). The diagram shows the bladder as a large, globular superior structure and the urethra as a smaller inferior structure. A running suture technique is illustrated, showing the continuous passage of suture material through the full thickness of the bladder neck and the urethral stump. The visual emphasizes the spatial relationship between the two structures as they are being cinched together to create a watertight seal. The illustration highlights the posterior aspect of the anastomosis, demonstrating multiple consecutive suture loops that provide structural support and facilitate the reconstruction of the urinary tract. This content is intended for surgical education, focusing on urological reconstruction and laparoscopic suturing techniques.

This medical illustration depicts a laparoscopic urethrovesical anastomosis, specifically the single-knot Van Velthoven technique used during robotic-assisted radical prostatectomy (RARP). The diagram shows the bladder as a large, globular superior structure and the urethra as a smaller inferior structure. A running suture technique is illustrated, showing the continuous passage of suture material through the full thickness of the bladder neck and the urethral stump. The visual emphasizes the spatial relationship between the two structures as they are being cinched together to create a watertight seal. The illustration highlights the posterior aspect of the anastomosis, demonstrating multiple consecutive suture loops that provide structural support and facilitate the reconstruction of the urinary tract. This content is intended for surgical education, focusing on urological reconstruction and laparoscopic suturing techniques.

This educational graphic consists of a clinical photograph and a corresponding schematic diagram illustrating a surgical suturing technique. The left panel shows an intraoperative clinical photograph of a surgical site, likely involving cardiac or thoracic tissue, characterized by moist, vascular surfaces and blood. Metal retractors and laparoscopic graspers are visible, manipulating a white monofilament suture. The suture is being passed through a pre-fashioned loop to anchor the starting point without the need for traditional hand-tied knots, an efficiency technique often used in minimally invasive or robotic surgery. The right panel provides a red-line schematic representation of the 'loop-and-pass' anchoring mechanism. It depicts the suture line forming an initial circular loop knot at the top, followed by a parallel descent that branches into two wavy distal segments tipped with black needle indicators. This visual pair serves to teach surgical residents and clinicians about knotless anchoring methods that can reduce operative time and improve technical consistency during complex reconstructive procedures.

This educational graphic consists of a clinical photograph and a corresponding schematic diagram illustrating a surgical suturing technique. The left panel shows an intraoperative clinical photograph of a surgical site, likely involving cardiac or thoracic tissue, characterized by moist, vascular surfaces and blood. Metal retractors and laparoscopic graspers are visible, manipulating a white monofilament suture. The suture is being passed through a pre-fashioned loop to anchor the starting point without the need for traditional hand-tied knots, an efficiency technique often used in minimally invasive or robotic surgery. The right panel provides a red-line schematic representation of the 'loop-and-pass' anchoring mechanism. It depicts the suture line forming an initial circular loop knot at the top, followed by a parallel descent that branches into two wavy distal segments tipped with black needle indicators. This visual pair serves to teach surgical residents and clinicians about knotless anchoring methods that can reduce operative time and improve technical consistency during complex reconstructive procedures.

This clinical educational photograph demonstrates basic surgical suturing techniques using a simulated model. The image depicts a yellow synthetic material serving as a tissue analog, showing two parallel lines of previously placed green interrupted sutures. Two primary surgical instruments are visible: a needle holder (hemostat) and a pair of serrated tissue forceps (Adson or similar). The needle holder is shown grasping a curved surgical needle which has passed through the material, trailing a blue monofilament suture. The tissue forceps are positioned to stabilize the edge of the material and manipulate the suture loop to facilitate knot tying. This visual is designed for medical training to illustrate hand-instrument coordination, suture placement, and the mechanics of instrument-assisted knot tying in a controlled, non-biological environment. It serves as a foundational resource for teaching surgical skills and wound closure principles to medical students and surgical residents.

This clinical educational photograph demonstrates basic surgical suturing techniques using a simulated model. The image depicts a yellow synthetic material serving as a tissue analog, showing two parallel lines of previously placed green interrupted sutures. Two primary surgical instruments are visible: a needle holder (hemostat) and a pair of serrated tissue forceps (Adson or similar). The needle holder is shown grasping a curved surgical needle which has passed through the material, trailing a blue monofilament suture. The tissue forceps are positioned to stabilize the edge of the material and manipulate the suture loop to facilitate knot tying. This visual is designed for medical training to illustrate hand-instrument coordination, suture placement, and the mechanics of instrument-assisted knot tying in a controlled, non-biological environment. It serves as a foundational resource for teaching surgical skills and wound closure principles to medical students and surgical residents.

Reading File
Searching Images

interrupted simple suture continuous running suture wound closure

A composite of four clinical photographs demonstrating basic surgical suturing techniques performed on various simulation models. The top two panels show fruit models (bananas) used for practicing skin incisions and closure; the top-left demonstrates a simple interrupted suture pattern with blue synthetic monofilament, while the top-right shows a continuous running suture. The bottom-left panel depicts suturing on biological animal tissue (likely porcine), showing wound eversion and knot tying on irregular surfaces. The bottom-right panel displays a 'V-shaped' incision closure on a layered tissue model (likely chicken or synthetic skin), demonstrating local flap or complex laceration repair techniques using black braided sutures. These images illustrate common educational methodologies in medical and surgical training for developing manual dexterity, proper instrument handling, and wound management skills. The varying textures across models simulate different tissue tensions and biological resistances encountered during clinical procedures.

A composite of four clinical photographs demonstrating basic surgical suturing techniques performed on various simulation models. The top two panels show fruit models (bananas) used for practicing skin incisions and closure; the top-left demonstrates a simple interrupted suture pattern with blue synthetic monofilament, while the top-right shows a continuous running suture. The bottom-left panel depicts suturing on biological animal tissue (likely porcine), showing wound eversion and knot tying on irregular surfaces. The bottom-right panel displays a 'V-shaped' incision closure on a layered tissue model (likely chicken or synthetic skin), demonstrating local flap or complex laceration repair techniques using black braided sutures. These images illustrate common educational methodologies in medical and surgical training for developing manual dexterity, proper instrument handling, and wound management skills. The varying textures across models simulate different tissue tensions and biological resistances encountered during clinical procedures.

A clinical photograph showing a surgical wound closure on the neck region following a defect excision. The wound is closed using blue, non-absorbable monofilament sutures in an interrupted pattern. The incision follows a zig-zag or serpentine 'Z-plasty' configuration, likely designed to manage tension or minimize contracture during healing. Visible features include approximately 15-20 individual simple interrupted sutures. There is localized erythema (redness) and mild edema (swelling) of the periwound skin, which are typical signs of immediate post-operative inflammation. Small amounts of serosanguinous fluid and fresh blood are visible around several suture exit points. The surrounding skin is fair-toned with mild surface irregularities. This image serves as an educational example of complex surgical wound management and tension-relieving closure techniques in dermatologic or plastic surgery.

A clinical photograph showing a surgical wound closure on the neck region following a defect excision. The wound is closed using blue, non-absorbable monofilament sutures in an interrupted pattern. The incision follows a zig-zag or serpentine 'Z-plasty' configuration, likely designed to manage tension or minimize contracture during healing. Visible features include approximately 15-20 individual simple interrupted sutures. There is localized erythema (redness) and mild edema (swelling) of the periwound skin, which are typical signs of immediate post-operative inflammation. Small amounts of serosanguinous fluid and fresh blood are visible around several suture exit points. The surrounding skin is fair-toned with mild surface irregularities. This image serves as an educational example of complex surgical wound management and tension-relieving closure techniques in dermatologic or plastic surgery.

Imaging Modality: clinical photography; technique: macro close-up. The image shows a close-up, top-down view of a fresh linear skin incision closed with a row of interrupted skin sutures. The surrounding tissue is draped on foam to isolate the wound site. Suture material appears dark, likely nylon or polypropylene, with multiple throws creating a tight edge approximation. The wound edges are aligned with minimal gaping, indicating meticulous closure. The epidermis and superficial dermis are visible; underlying subcutaneous tissue may be minimally involved. The field lacks necrosis or purulent collection; no obvious erythema beyond the wound margin. This image demonstrates a standard dermal/subcutaneous closure technique used in minor dermatologic or surgical procedures. The pattern could resemble simple interrupted sutures or a variation of a running knot with several external throws; the exact configuration shows a single vertical suture line with lateral loops viewed schematically. Clinically, this photograph is relevant for education on wound closure principles, suture selection, and post-operative wound care. It aids in differentiating well-approximated wounds from dehiscent or infected wounds, and can be used in sensitive dermatology curricula to illustrate closure quality, suture management, and wound-evaluating criteria in skin surgery.

Imaging Modality: clinical photography; technique: macro close-up. The image shows a close-up, top-down view of a fresh linear skin incision closed with a row of interrupted skin sutures. The surrounding tissue is draped on foam to isolate the wound site. Suture material appears dark, likely nylon or polypropylene, with multiple throws creating a tight edge approximation. The wound edges are aligned with minimal gaping, indicating meticulous closure. The epidermis and superficial dermis are visible; underlying subcutaneous tissue may be minimally involved. The field lacks necrosis or purulent collection; no obvious erythema beyond the wound margin. This image demonstrates a standard dermal/subcutaneous closure technique used in minor dermatologic or surgical procedures. The pattern could resemble simple interrupted sutures or a variation of a running knot with several external throws; the exact configuration shows a single vertical suture line with lateral loops viewed schematically. Clinically, this photograph is relevant for education on wound closure principles, suture selection, and post-operative wound care. It aids in differentiating well-approximated wounds from dehiscent or infected wounds, and can be used in sensitive dermatology curricula to illustrate closure quality, suture management, and wound-evaluating criteria in skin surgery.

This clinical photograph displays a primary surgical closure of a skin incision. The incision is closed using a Ford interlocking suture pattern (also known as a blanket stitch), characterized by its continuous, self-locking loops that provide superior apposition and security. The suture material is a black, non-absorbable synthetic filament, likely silk or nylon. The wound edges are closely approximated, with the interlocking segments crossing the incision line at regular intervals to distribute tension evenly. The surrounding skin is pale with visible natural skin folds and minor erythema along the immediate incision line. This visual demonstrates a common surgical technique used in wound management and minor surgical procedures to achieve secure skin closure while saving time compared to simple interrupted sutures. The focus is on the geometric regularity of the interlocking loops and the clinical appearance of a fresh postoperative suture line.

This clinical photograph displays a primary surgical closure of a skin incision. The incision is closed using a Ford interlocking suture pattern (also known as a blanket stitch), characterized by its continuous, self-locking loops that provide superior apposition and security. The suture material is a black, non-absorbable synthetic filament, likely silk or nylon. The wound edges are closely approximated, with the interlocking segments crossing the incision line at regular intervals to distribute tension evenly. The surrounding skin is pale with visible natural skin folds and minor erythema along the immediate incision line. This visual demonstrates a common surgical technique used in wound management and minor surgical procedures to achieve secure skin closure while saving time compared to simple interrupted sutures. The focus is on the geometric regularity of the interlocking loops and the clinical appearance of a fresh postoperative suture line.

Two-panel clinical photograph demonstrating advanced abdominal wall closure techniques following a complex laparotomy. Panel A shows an intraoperative surgical field during a components separation technique. Surgeons are using forceps and surgical clamps to manipulate fascial layers and musculature. Heavy-duty sutures are visible running laterally through the tissue, facilitating the approximation of the abdominal wall layers under tension. Panel B displays the immediate postoperative result of the abdominal closure. A primary, continuous vertical suture line runs along the midline incision. To reinforce the closure and prevent dehiscence, multiple interrupted retention sutures are placed bilaterally. These retention sutures are supported by orange, rubberized bolster tubes (bumpers) that distribute pressure across the skin surface to prevent suture-induced tissue necrosis or 'cheese-wiring.' This technique is typically employed in patients with high intra-abdominal pressure or poor wound healing to achieve definitive closure.

Two-panel clinical photograph demonstrating advanced abdominal wall closure techniques following a complex laparotomy. Panel A shows an intraoperative surgical field during a components separation technique. Surgeons are using forceps and surgical clamps to manipulate fascial layers and musculature. Heavy-duty sutures are visible running laterally through the tissue, facilitating the approximation of the abdominal wall layers under tension. Panel B displays the immediate postoperative result of the abdominal closure. A primary, continuous vertical suture line runs along the midline incision. To reinforce the closure and prevent dehiscence, multiple interrupted retention sutures are placed bilaterally. These retention sutures are supported by orange, rubberized bolster tubes (bumpers) that distribute pressure across the skin surface to prevent suture-induced tissue necrosis or 'cheese-wiring.' This technique is typically employed in patients with high intra-abdominal pressure or poor wound healing to achieve definitive closure.

A clinical photograph demonstrating epidermal wound closure on a cadaveric specimen in the prone position, specifically targeting the lumbar region superior to the sacrum. The image shows a vertical midline incision that has been reapproximated using a simple interrupted suture technique. Dark-colored, monofilament sutures (likely 3-0 nylon) are placed at approximately 1-cm intervals, with visible square knots on the skin surface. Surgical marking pen traces are visible in violet adjacent to each suture site, indicating preoperative or intraoperative planning. A surgical ruler is placed vertically alongside the wound for scale, confirming the spacing and length of the closure. The surrounding skin is light-toned and flanked by blue sterile surgical drapes. The white text label 'Sacrum' at the bottom of the frame provides anatomical orientation. This visual serves as an educational tool for medical training in surgical suturing techniques, specifically demonstrating the final layer of a multi-layer closure following deeper facial and dermal reapproximation.

A clinical photograph demonstrating epidermal wound closure on a cadaveric specimen in the prone position, specifically targeting the lumbar region superior to the sacrum. The image shows a vertical midline incision that has been reapproximated using a simple interrupted suture technique. Dark-colored, monofilament sutures (likely 3-0 nylon) are placed at approximately 1-cm intervals, with visible square knots on the skin surface. Surgical marking pen traces are visible in violet adjacent to each suture site, indicating preoperative or intraoperative planning. A surgical ruler is placed vertically alongside the wound for scale, confirming the spacing and length of the closure. The surrounding skin is light-toned and flanked by blue sterile surgical drapes. The white text label 'Sacrum' at the bottom of the frame provides anatomical orientation. This visual serves as an educational tool for medical training in surgical suturing techniques, specifically demonstrating the final layer of a multi-layer closure following deeper facial and dermal reapproximation.

Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /tmp/workspace/sutures-ppt && ls /tmp/workspace/

Writing File

~/sutures-ppt/build_ppt.py


import json, subprocess, base64
from io import BytesIO
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
from pptx.oxml.ns import qn
from lxml import etree
import copy

# ─── Colour palette (deep surgical navy + gold accent) ────────────────────
BG_DARK   = RGBColor(0x0A, 0x1A, 0x3A)   # deep navy
BG_MID    = RGBColor(0x10, 0x2A, 0x55)   # mid navy
ACCENT    = RGBColor(0xC8, 0xA0, 0x32)   # gold
WHITE     = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_BLUE= RGBColor(0xA8, 0xD0, 0xF0)
SILVER    = RGBColor(0xCC, 0xD6, 0xE0)
ORANGE    = RGBColor(0xE8, 0x7B, 0x2A)
GREEN     = RGBColor(0x3A, 0xA8, 0x6E)
RED_LIGHT = RGBColor(0xE8, 0x50, 0x50)

W = Inches(13.333)
H = Inches(7.5)

prs = Presentation()
prs.slide_width  = W
prs.slide_height = H
blank = prs.slide_layouts[6]

# ─── Helper functions ──────────────────────────────────────────────────────

def add_rect(slide, x, y, w, h, fill_rgb, alpha=None):
    shape = slide.shapes.add_shape(1, x, y, w, h)
    shape.line.fill.background()
    shape.fill.solid()
    shape.fill.fore_color.rgb = fill_rgb
    return shape

def add_text(slide, text, x, y, w, h, size=18, bold=False, color=WHITE,
             align=PP_ALIGN.LEFT, wrap=True, italic=False):
    tb = slide.shapes.add_textbox(x, y, w, h)
    tf = tb.text_frame
    tf.word_wrap = wrap
    tf.margin_left  = Pt(2)
    tf.margin_right = Pt(2)
    tf.margin_top   = Pt(2)
    tf.margin_bottom= Pt(2)
    p = tf.paragraphs[0]
    p.alignment = align
    r = p.add_run()
    r.text = text
    r.font.name   = "Calibri"
    r.font.size   = Pt(size)
    r.font.bold   = bold
    r.font.italic = italic
    r.font.color.rgb = color
    return tb

def add_multiline(slide, lines, x, y, w, h, size=16, bullet=True,
                  title_color=ACCENT, body_color=WHITE, title_size=20):
    """lines: list of (text, is_title, is_bullet)"""
    tb = slide.shapes.add_textbox(x, y, w, h)
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left  = Pt(4)
    tf.margin_right = Pt(4)
    tf.margin_top   = Pt(4)
    tf.margin_bottom= Pt(4)
    first = True
    for (text, is_title, is_bullet) in lines:
        if first:
            p = tf.paragraphs[0]
            first = False
        else:
            p = tf.add_paragraph()
        p.alignment = PP_ALIGN.LEFT
        r = p.add_run()
        if is_bullet:
            r.text = "  • " + text
        else:
            r.text = text
        r.font.name  = "Calibri"
        r.font.size  = Pt(title_size if is_title else size)
        r.font.bold  = is_title
        r.font.color.rgb = title_color if is_title else body_color
    return tb

def add_image_from_url(slide, url, x, y, w, h):
    try:
        result = json.loads(subprocess.check_output(
            ["python", "/tmp/skills/shared/scripts/fetch_images.py", url],
            timeout=30
        ))
        if result and result[0].get("base64"):
            b64 = result[0]["base64"]
            if "," in b64:
                b64 = b64.split(",", 1)[1]
            raw = base64.b64decode(b64)
            slide.shapes.add_picture(BytesIO(raw), x, y, w, h)
            return True
    except Exception as e:
        print(f"Image fetch failed for {url}: {e}")
    return False

def slide_bg(slide, top_color=BG_DARK, bottom_color=BG_MID):
    add_rect(slide, 0, 0, W, H, top_color)

def header_bar(slide, title_text, subtitle=""):
    add_rect(slide, 0, 0, W, Inches(1.1), BG_MID)
    add_rect(slide, 0, Inches(1.05), W, Pt(3), ACCENT)
    add_text(slide, title_text, Inches(0.4), Inches(0.08), Inches(10), Inches(0.75),
             size=30, bold=True, color=WHITE)
    if subtitle:
        add_text(slide, subtitle, Inches(0.4), Inches(0.75), Inches(12), Inches(0.36),
                 size=14, color=LIGHT_BLUE, italic=True)

def footer(slide, ref_text=""):
    add_rect(slide, 0, Inches(7.15), W, Inches(0.35), RGBColor(0x06, 0x10, 0x25))
    full = "Sutures & Suturing Techniques"
    if ref_text:
        full += "  |  " + ref_text
    add_text(slide, full, Inches(0.3), Inches(7.16), Inches(10), Inches(0.3),
             size=9, color=SILVER, italic=True)
    add_text(slide, "PG Surgical Education", Inches(10.5), Inches(7.16), Inches(2.6), Inches(0.3),
             size=9, color=ACCENT, align=PP_ALIGN.RIGHT)

# ══════════════════════════════════════════════════════════════════
# SLIDE 1 – TITLE SLIDE
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
add_rect(s, 0, 0, W, Inches(0.15), ACCENT)
add_rect(s, 0, Inches(7.35), W, Inches(0.15), ACCENT)
add_rect(s, Inches(0), Inches(0.15), Inches(0.12), Inches(7.2), ACCENT)

# central block
add_rect(s, Inches(1.2), Inches(1.4), Inches(10.9), Inches(4.8), BG_MID)
add_rect(s, Inches(1.2), Inches(1.4), Inches(0.1), Inches(4.8), ACCENT)

add_text(s, "SUTURES &", Inches(1.6), Inches(1.65), Inches(10), Inches(1.3),
         size=58, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
add_text(s, "SUTURING TECHNIQUES", Inches(1.6), Inches(2.8), Inches(10), Inches(1.3),
         size=42, bold=True, color=ACCENT, align=PP_ALIGN.LEFT)

add_text(s, "A Comprehensive PG-Level Guide", Inches(1.6), Inches(4.0), Inches(10), Inches(0.55),
         size=20, bold=False, color=LIGHT_BLUE, align=PP_ALIGN.LEFT, italic=True)

add_text(s, "References: Bailey & Love 28e  •  Sabiston 21e  •  Pye's Surgical Handicraft  •  Maingot's Abdominal Operations",
         Inches(1.6), Inches(4.7), Inches(10.5), Inches(0.6),
         size=13, color=SILVER, align=PP_ALIGN.LEFT)

add_text(s, "General Surgery  |  August 2026",
         Inches(1.6), Inches(5.5), Inches(8), Inches(0.4),
         size=13, color=ORANGE, align=PP_ALIGN.LEFT)

# ══════════════════════════════════════════════════════════════════
# SLIDE 2 – OVERVIEW / TOC
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Table of Contents", "What we will cover today")
footer(s)

topics = [
    ("1", "Historical Background & Definition"),
    ("2", "Wound Healing & Indications for Suturing"),
    ("3", "Ideal Characteristics of a Suture Material"),
    ("4", "Classification of Sutures"),
    ("5", "Suture Materials — Absorbable & Non-Absorbable"),
    ("6", "Needle Types & Selection"),
    ("7", "Suture Size & Nomenclature"),
    ("8", "Basic Suturing Techniques"),
    ("9", "Special Suturing Techniques"),
    ("10", "Knot Tying — Principles & Types"),
    ("11", "Wound Closure by Site — Abdomen, Bowel, Vessels"),
    ("12", "Alternative Closure Methods"),
    ("13", "Complications & Troubleshooting"),
    ("14", "Key Exam Points & Clinical Pearls"),
]
cols = [topics[:7], topics[7:]]
for ci, col in enumerate(cols):
    x = Inches(0.5 + ci*6.5)
    for ri, (num, topic) in enumerate(col):
        y = Inches(1.3 + ri*0.77)
        add_rect(s, x, y, Inches(0.45), Inches(0.45), ACCENT)
        add_text(s, num, x+Pt(4), y+Pt(4), Inches(0.38), Inches(0.38),
                 size=14, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
        add_text(s, topic, x+Inches(0.52), y+Pt(2), Inches(5.7), Inches(0.5),
                 size=15, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 3 – HISTORICAL BACKGROUND
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Historical Background", "From catgut to monocryl")
footer(s, "Bailey & Love 28e, Ch. 7")

items_l = [
    ("Prehistory", True, False),
    ("3000 BC — Ancient Egyptians used linen & animal sinew for wound closure", False, True),
    ("Galen (2nd century AD) introduced catgut (from sheep intestine)", False, True),
    ("", False, False),
    ("19th Century Milestones", True, False),
    ("1860s — Lister introduced antiseptic catgut (carbolic acid treatment)", False, True),
    ("1880s — Halsted championed precise tissue handling & fine silk sutures", False, True),
    ("Moynihan popularised the layered closure of the abdomen", False, True),
    ("", False, False),
    ("Modern Era", True, False),
    ("1940s–60s — Synthetic sutures (nylon, polyester) developed", False, True),
    ("1970s — PDS, Vicryl, Dexon introduced", False, True),
    ("2000s — Barbed sutures (Quill, V-Loc) for knotless closure", False, True),
]
add_multiline(s, items_l, Inches(0.4), Inches(1.2), Inches(6.5), Inches(5.8), size=15,
              title_color=ACCENT, body_color=WHITE, title_size=17)

add_rect(s, Inches(7.1), Inches(1.2), Inches(5.8), Inches(4.5), RGBColor(0x10, 0x25, 0x50))
add_text(s, "Key Quote (Bailey & Love):", Inches(7.3), Inches(1.3), Inches(5.4), Inches(0.5),
         size=14, bold=True, color=ACCENT)
add_text(s,
    '"There is no ideal wound closure technique that would be appropriate for all situations, '
    'and the ideal suture has yet to be produced."',
    Inches(7.3), Inches(1.85), Inches(5.3), Inches(2.2),
    size=15, color=WHITE, italic=True)
add_text(s, "— Bailey & Love's Short Practice of Surgery, 28th Ed., p.125",
         Inches(7.3), Inches(3.9), Inches(5.3), Inches(0.5), size=12, color=SILVER, italic=True)

add_text(s, "Definition", Inches(7.3), Inches(4.5), Inches(5.3), Inches(0.4),
         size=16, bold=True, color=ACCENT)
add_text(s,
    "A suture is a stitch or series of stitches made to secure apposition of the edges "
    "of a surgical or traumatic wound. The word 'suture' derives from the Latin sutura, meaning seam.",
    Inches(7.3), Inches(4.95), Inches(5.3), Inches(1.5), size=14, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 4 – WOUND HEALING
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Wound Healing & Indications for Suturing", "Bailey & Love Summary Box 7.7")
footer(s, "Bailey & Love 28e")

boxes = [
    ("PRIMARY INTENTION", ACCENT, BG_MID,
     ["Clean wounds — good blood supply",
      "Wound edges accurately apposed",
      "Elective surgical incisions",
      "Clean lacerations < 6 hrs old",
      "Minimal contamination",
      "Example: Appendicectomy incision"]),
    ("SECONDARY INTENTION", ORANGE, RGBColor(0x25, 0x15, 0x05),
     ["Wound left open intentionally",
      "Granulation tissue fills the defect",
      "Epithelialisation covers surface",
      "Heavily contaminated wounds",
      "Diabetic foot ulcers",
      "Example: Pilonidal abscess after drainage"]),
    ("TERTIARY INTENTION\n(Delayed Primary)", GREEN, RGBColor(0x05, 0x25, 0x15),
     ["High infection probability",
      "Wound left open 3–5 days",
      "If clean → closed as primary",
      "Contaminated laparotomy",
      "War wounds",
      "Example: Perforated faecal peritonitis"]),
]

for i, (title, color, bg, pts) in enumerate(boxes):
    x = Inches(0.35 + i*4.3)
    add_rect(s, x, Inches(1.25), Inches(4.1), Inches(5.7), bg)
    add_rect(s, x, Inches(1.25), Inches(4.1), Inches(0.45), color)
    add_text(s, title, x+Inches(0.1), Inches(1.27), Inches(3.9), Inches(0.55),
             size=14, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.15), Inches(1.85)+j*Inches(0.7),
                 Inches(3.75), Inches(0.65), size=14, color=WHITE)

add_text(s, "Phases of Wound Healing  (for reference):",
         Inches(0.35), Inches(7.0), Inches(8), Inches(0.25), size=11, color=SILVER, italic=True)
add_text(s, "Haemostasis (0–3h)  →  Inflammatory (0–3d)  →  Proliferative (3d–3wk)  →  Remodelling (3wk–2yr)",
         Inches(0.35), Inches(7.2), Inches(12.5), Inches(0.25), size=11, color=LIGHT_BLUE, italic=True)

# ══════════════════════════════════════════════════════════════════
# SLIDE 5 – IDEAL CHARACTERISTICS
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Ideal Characteristics of a Suture Material", "Bailey & Love Summary Box 7.6")
footer(s, "Bailey & Love 28e, p.125 | Sabiston 21e")

chars = [
    ("Easy to handle", "Predictable, consistent performance in tissues"),
    ("Predictable tensile strength", "Should not lose strength prematurely"),
    ("Sterile", "No contaminant introduction to wound"),
    ("Glides through tissues easily", "Minimises trauma during placement"),
    ("Secure knotting ability", "Knot should not slip under tension"),
    ("Inexpensive", "Widely accessible for routine use"),
    ("Minimal tissue reaction", "Biological and chemical inertness"),
    ("Non-capillary", "No harbour for bacteria (wicking effect)"),
    ("Non-allergenic", "No immune hypersensitivity"),
    ("Non-carcinogenic", "Safe for long-term implantation"),
    ("Adequate tensile strength", "Until wound has achieved sufficient strength"),
    ("Absorbed after healing", "Ideal for internal use — no foreign body"),
]

for i, (title, desc) in enumerate(chars):
    row = i % 6
    col = i // 6
    x = Inches(0.3 + col * 6.5)
    y = Inches(1.25 + row * 0.97)
    add_rect(s, x, y, Inches(6.2), Inches(0.88), RGBColor(0x10, 0x28, 0x55))
    add_rect(s, x, y, Inches(0.08), Inches(0.88), ACCENT)
    add_text(s, title, x+Inches(0.18), y+Inches(0.04), Inches(5.8), Inches(0.38),
             size=15, bold=True, color=ACCENT)
    add_text(s, desc, x+Inches(0.18), y+Inches(0.42), Inches(5.8), Inches(0.42),
             size=13, color=SILVER)

add_text(s, "Note: No single suture material fulfils all these criteria — selection is always a compromise.",
         Inches(0.3), Inches(7.1), Inches(12.5), Inches(0.25),
         size=11, color=ORANGE, italic=True)

# ══════════════════════════════════════════════════════════════════
# SLIDE 6 – CLASSIFICATION
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Classification of Sutures", "Multi-dimensional classification")
footer(s, "Bailey & Love 28e | Pye's Surgical Handicraft")

def box_title(slide, text, x, y, w, color):
    add_rect(slide, x, y, w, Inches(0.42), color)
    add_text(slide, text, x+Inches(0.1), y+Inches(0.03), w-Inches(0.2), Inches(0.38),
             size=16, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)

cols_data = [
    ("BY ABSORPTION", ACCENT, Inches(0.3), [
        "ABSORBABLE",
        "  • Broken down by tissue enzymes/hydrolysis",
        "  • Natural: Plain catgut, Chromic catgut",
        "  • Synthetic: Vicryl, PDS, Dexon, Monocryl",
        "",
        "NON-ABSORBABLE",
        "  • Permanent sutures; removed/remain indefinitely",
        "  • Natural: Silk, Linen, Steel wire",
        "  • Synthetic: Nylon, Polypropylene, Ethibond",
    ]),
    ("BY STRUCTURE", ORANGE, Inches(4.6), [
        "MONOFILAMENT",
        "  • Single strand; smooth surface",
        "  • Less infection risk (no interstices)",
        "  • Harder to knot; memory effect",
        "  • E.g., Nylon, Prolene, PDS, Monocryl",
        "",
        "MULTIFILAMENT (BRAIDED)",
        "  • Multiple strands twisted/braided",
        "  • Easier handling & knotting",
        "  • More capillary action → infection risk",
        "  • E.g., Silk, Vicryl, Ethibond, Dexon",
    ]),
    ("BY ORIGIN", GREEN, Inches(8.9), [
        "NATURAL",
        "  • Biological origin",
        "  • Catgut (sheep submucosa)",
        "  • Silk (silkworm Bombyx mori)",
        "  • Linen, Cotton, Stainless steel",
        "",
        "SYNTHETIC",
        "  • Manufactured polymers",
        "  • More predictable behaviour",
        "  • E.g., Vicryl, PDS, Nylon,",
        "    Polypropylene, Dexon",
    ]),
]
for title, color, x, lines in cols_data:
    box_title(s, title, x, Inches(1.22), Inches(4.1), color)
    for j, line in enumerate(lines):
        yy = Inches(1.72) + j * Inches(0.52)
        bold = line and not line.startswith("  ")
        col  = color if bold else WHITE
        add_text(s, line, x+Inches(0.1), yy, Inches(3.9), Inches(0.5),
                 size=13 if bold else 13, bold=bold, color=col)

# ══════════════════════════════════════════════════════════════════
# SLIDE 7 – ABSORBABLE SUTURES TABLE
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Absorbable Suture Materials", "Bailey & Love Table 7.2 | Pye's Table 18.1")
footer(s, "Bailey & Love 28e, p.127")

headers = ["Suture", "Type", "Tensile Strength Loss", "Complete Absorption", "Main Uses"]
rows = [
    ["Plain Catgut", "Natural monofilament", "3–5 days (50%)", "70 days", "Rapidly healing tissues: urothelium, bile duct"],
    ["Chromic Catgut", "Natural monofilament", "10–21 days", "90 days", "Subcutaneous, vaginal surgery, oral mucosa"],
    ["Dexon (PGA)", "Synthetic braided", "21 days (50%)", "60–90 days", "Soft tissue, fascia, bowel anastomosis"],
    ["Vicryl (Polyglactin 910)", "Synthetic braided", "21 days (75%)", "56–70 days", "Fascial closure, bowel, subcutaneous, skin"],
    ["Vicryl Rapide", "Synthetic braided", "5 days (50%)", "42 days", "Skin closure (self-dissolving), perineal repair"],
    ["PDS (Polydioxanone)", "Synthetic monofilament", "42 days (50%)", "180 days", "Fascial closure, abdominal wall (gold standard)"],
    ["Monocryl (Poliglecaprone)", "Synthetic monofilament", "7–14 days", "91–119 days", "Subcuticular closure, plastic surgery"],
    ["Maxon (PGA/TMC)", "Synthetic monofilament", "42 days", "180 days", "Fascial closure, abdominal wall"],
]

# header row
hx = Inches(0.3)
hy = Inches(1.25)
col_w = [Inches(2.1), Inches(2.1), Inches(2.2), Inches(1.9), Inches(4.5)]
add_rect(s, hx, hy, sum(col_w), Inches(0.42), ACCENT)
cx = hx
for i, (h, cw) in enumerate(zip(headers, col_w)):
    add_text(s, h, cx+Pt(4), hy+Pt(4), cw-Pt(8), Inches(0.38),
             size=13, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    cx += cw

for ri, row in enumerate(rows):
    ry = Inches(1.67) + ri * Inches(0.65)
    bg = RGBColor(0x0E, 0x22, 0x48) if ri%2==0 else RGBColor(0x12, 0x2C, 0x5C)
    add_rect(s, hx, ry, sum(col_w), Inches(0.62), bg)
    cx = hx
    for ci, (cell, cw) in enumerate(zip(row, col_w)):
        add_text(s, cell, cx+Pt(4), ry+Pt(3), cw-Pt(8), Inches(0.58),
                 size=12, color=LIGHT_BLUE if ci==0 else WHITE, bold=(ci==0))
        cx += cw

# ══════════════════════════════════════════════════════════════════
# SLIDE 8 – NON-ABSORBABLE SUTURES TABLE
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Non-Absorbable Suture Materials", "Bailey & Love Table 7.1 | Pye's Surgical Handicraft")
footer(s, "Bailey & Love 28e, p.126 | Sabiston 21e")

headers2 = ["Suture", "Type", "Structure", "Handling", "Main Uses / Notes"]
rows2 = [
    ["Silk", "Natural multifilament", "Braided", "Excellent — gold standard", "Vascular ligation, bowel — AVOID in infected wounds; late fistula risk"],
    ["Linen", "Natural multifilament", "Braided", "Good", "Rarely used now; mainly bowel anastomosis historically"],
    ["Nylon (Ethilon)", "Synthetic mono/multi", "Mono/braided", "Moderate; high memory", "Skin closure, vascular, tendon repair; slow hydrolysis over years"],
    ["Polypropylene (Prolene)", "Synthetic monofilament", "Monofilament", "Difficult; very memory", "Vascular anastomosis (gold standard), hernia repair mesh fixation"],
    ["Polyester (Mersilene/Ethibond)", "Synthetic multifilament", "Braided/uncoated", "Good", "Cardiac, vascular, orthopaedic (tendon), permanent fascial suture"],
    ["Stainless Steel", "Metallic monofilament", "Monofilament/twisted", "Difficult", "Sternal closure, orthopaedic, abdominal retention sutures"],
    ["PTFE (Gore-Tex)", "Synthetic monofilament", "Monofilament", "Good", "Vascular anastomosis, cardiac surgery — minimal reactivity"],
]

hx = Inches(0.3)
hy = Inches(1.25)
col_w2 = [Inches(1.9), Inches(2.1), Inches(1.6), Inches(1.7), Inches(5.3)]
add_rect(s, hx, hy, sum(col_w2), Inches(0.42), ORANGE)
cx = hx
for h, cw in zip(headers2, col_w2):
    add_text(s, h, cx+Pt(4), hy+Pt(4), cw-Pt(8), Inches(0.38),
             size=13, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    cx += cw

for ri, row in enumerate(rows2):
    ry = Inches(1.67) + ri * Inches(0.75)
    bg = RGBColor(0x0E, 0x22, 0x48) if ri%2==0 else RGBColor(0x12, 0x2C, 0x5C)
    add_rect(s, hx, ry, sum(col_w2), Inches(0.72), bg)
    cx = hx
    for ci, (cell, cw) in enumerate(zip(row, col_w2)):
        add_text(s, cell, cx+Pt(4), ry+Pt(3), cw-Pt(8), Inches(0.68),
                 size=12, color=ORANGE if ci==0 else WHITE, bold=(ci==0))
        cx += cw

# ══════════════════════════════════════════════════════════════════
# SLIDE 9 – NEEDLES
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Surgical Needles", "Structure, Types & Selection — Bailey & Love")
footer(s, "Bailey & Love 28e, p.127–128")

left_lines = [
    ("PARTS OF A NEEDLE", True, False),
    ("Shank: attached to suture (swaged/eyed)", False, True),
    ("Body: may be round, triangular or flat", False, True),
    ("Point: determines tissue behaviour", False, True),
    ("", False, False),
    ("NEEDLE BODY SHAPES", True, False),
    ("Straight (Keith needle): hand-held skin closure", False, True),
    ("Half-circle: GI tract, abdominal closure", False, True),
    ("3/8 circle: skin, superficial structures", False, True),
    ("5/8 circle: deep cavities — pelvis, urology", False, True),
    ("J-shaped: laparoscopic port site closure", False, True),
    ("Compound curve: oral cavity, eye surgery", False, True),
]
add_multiline(s, left_lines, Inches(0.3), Inches(1.2), Inches(5.5), Inches(5.8),
              size=14, title_color=ACCENT, body_color=WHITE, title_size=16)

right_lines = [
    ("NEEDLE POINT TYPES", True, False),
    ("Round/Tapered: separates — NOT cuts tissue fibres", False, True),
    ("  → GI anastomosis, peritoneum, vessels", False, False),
    ("Conventional cutting: cutting edge on INNER curve", False, True),
    ("  → Skin, fascia, dense tissue", False, False),
    ("Reverse cutting: cutting edge on OUTER curve", False, True),
    ("  → Skin, ligament, oral mucosa (preferred for skin)", False, False),
    ("Blunt: no cutting — reduces needlestick risk", False, True),
    ("  → Abdominal fascia closure (HIV era)", False, False),
    ("Taper-cut: tip tapers → body is cutting", False, True),
    ("  → Calcified arteries, sternum", False, False),
    ("", False, False),
    ("RULE: Needle held 1/3 back from swage end", True, False),
    ("Grasped at 1/3–2/3 junction of needle body", False, True),
    ("Rotated through tissue — NOT dragged", False, True),
]
add_multiline(s, right_lines, Inches(6.2), Inches(1.2), Inches(6.8), Inches(5.8),
              size=14, title_color=ORANGE, body_color=WHITE, title_size=16)

# ══════════════════════════════════════════════════════════════════
# SLIDE 10 – SUTURE SIZE
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Suture Size & Nomenclature", "USP / Metric (EurPh) system — Bailey & Love Table 7.3")
footer(s, "Bailey & Love 28e, p.128")

add_text(s, "Suture sizes are described by a number system — the more zeros, the finer the suture.",
         Inches(0.4), Inches(1.2), Inches(12.5), Inches(0.4), size=15, color=LIGHT_BLUE, italic=True)

size_table = [
    ("Metric (EP)", "USP", "Diameter (mm)", "Common Use"),
    ("7", "3/0 (000)", "0.50–0.599", "Abdominal fascia (mass closure)"),
    ("5", "2/0 (00)", "0.350–0.399", "Deep fascial layers, bowel mesentery"),
    ("4", "0", "0.300–0.349", "Subcutaneous, muscular layers"),
    ("3.5", "1", "0.300–0.349", "Abdominal wall mass closure"),
    ("3", "2", "0.300–0.349", "Abdominal closure (PDS loop suture)"),
    ("2", "3/0", "0.200–0.249", "Skin closure, vascular anastomosis"),
    ("1.5", "4/0", "0.150–0.199", "Fine skin closure, small vessels"),
    ("1", "5/0", "0.100–0.149", "Vascular anastomosis, microsurgery"),
    ("0.7", "6/0", "0.070–0.099", "Ophthalmic, micro-vascular"),
    ("0.5", "7/0", "0.050–0.069", "Corneal, micro-vascular, nerve repair"),
    ("0.4", "8/0", "0.040–0.049", "Nerve, cornea, microsurgery"),
    ("0.3", "9/0–10/0", "0.020–0.039", "Delicate microsurgery, ophthalmic"),
]

hx = Inches(0.4)
col_w = [Inches(1.5), Inches(1.7), Inches(2.1), Inches(7.7)]
hy = Inches(1.7)
add_rect(s, hx, hy, sum(col_w), Inches(0.40), GREEN)
cx = hx
for h, cw in zip(size_table[0], col_w):
    add_text(s, h, cx+Pt(4), hy+Pt(3), cw-Pt(8), Inches(0.36),
             size=13, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    cx += cw
for ri, row in enumerate(size_table[1:]):
    ry = Inches(2.1) + ri * Inches(0.39)
    bg = RGBColor(0x0E, 0x22, 0x48) if ri%2==0 else RGBColor(0x12, 0x2C, 0x5C)
    add_rect(s, hx, ry, sum(col_w), Inches(0.37), bg)
    cx = hx
    for ci, (cell, cw) in enumerate(zip(row, col_w)):
        add_text(s, cell, cx+Pt(4), ry+Pt(2), cw-Pt(8), Inches(0.33),
                 size=12, color=GREEN if ci<2 else WHITE, bold=(ci<2))
        cx += cw

add_text(s, "Memory Rule: '0' gauge sutures → bigger number of zeros = finer suture material",
         Inches(0.4), Inches(7.08), Inches(12.5), Inches(0.25),
         size=11, color=ORANGE, italic=True)

# ══════════════════════════════════════════════════════════════════
# SLIDE 11 – BASIC SUTURING TECHNIQUES (image + text)
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Basic Suturing Techniques", "Bailey & Love Fig. 7.13–7.16 | The Four Core Techniques")
footer(s, "Bailey & Love 28e, p.129 | Pye's Surgical Handicraft")

techs = [
    ("1. INTERRUPTED\nSUTURE", ACCENT,
     ["Needle at 90° to incision",
      "Rotated (not dragged) through tissue",
      "Distance from edge = depth of tissue",
      "Each suture tied independently",
      "Safe: one failure ≠ whole dehiscence",
      "Example: Skin closure, fascial repair"]),
    ("2. CONTINUOUS\n(RUNNING) SUTURE", ORANGE,
     ["First stitch = interrupted; rest continuous",
      "Even tension distribution essential",
      "Assistant maintains constant tension",
      "Faster; less suture material",
      "Secured with Aberdeen knot at end",
      "Example: Bowel anastomosis, fascial closure"]),
    ("3. MATTRESS\nSUTURE", GREEN,
     ["Vertical mattress: skin eversion",
      "Horizontal mattress: deep tissue bites",
      "Useful for irregular wound edges",
      "Prevents wound edge inversion",
      "DONATI suture = vertical mattress variant",
      "Example: Scalp, thick fascia, tension areas"]),
    ("4. SUBCUTICULAR\n(INTRADERMAL) SUTURE", LIGHT_BLUE,
     ["Runs parallel to skin surface in dermis",
      "Absorbable (Monocryl) or non-absorbable",
      "Best cosmetic result — no stitch marks",
      "Used where cosmesis important",
      "PDS or Prolene can be removed later",
      "Example: Face, breast, neck incisions"]),
]

for i, (title, color, pts) in enumerate(techs):
    x = Inches(0.25 + i*3.27)
    add_rect(s, x, Inches(1.2), Inches(3.12), Inches(5.85), RGBColor(0x0C, 0x1E, 0x45))
    add_rect(s, x, Inches(1.2), Inches(3.12), Inches(0.55), color)
    add_text(s, title, x+Inches(0.1), Inches(1.22), Inches(2.9), Inches(0.55),
             size=13, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.1), Inches(1.83)+j*Inches(0.81),
                 Inches(2.9), Inches(0.75), size=12.5, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 12 – WITH SUTURING IMAGES
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Suturing Techniques — Visual Reference", "Clinical photographs & educational diagrams")
footer(s, "Images from peer-reviewed literature")

img_urls = [
    "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_87f7c43d27f46f2286327cc21016e321196e96240258af02fd1ec61b8ade0d21.jpg",
    "https://cdn.orris.care/cdss_images/DermNetNZ_1760034525137_2b62e1fc-ef9c-4f78-b035-241b5064b111.jpg",
    "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_78072f3a45877df87dd8d78aa699a3a3c7094a704f788253807b845e4faf9aaa.jpg",
]
captions = [
    "Interrupted & continuous suture on simulation models (top: banana model; bottom: biological tissue)",
    "Simple interrupted skin sutures — note eversion of wound edges",
    "Basic suturing technique with needle holder & forceps on training model",
]

for i, (url, cap) in enumerate(zip(img_urls, captions)):
    x = Inches(0.3 + i*4.35)
    ok = add_image_from_url(s, url, x, Inches(1.25), Inches(4.1), Inches(3.8))
    if not ok:
        add_rect(s, x, Inches(1.25), Inches(4.1), Inches(3.8), RGBColor(0x10, 0x25, 0x50))
        add_text(s, "[Image unavailable]", x+Inches(0.5), Inches(2.9), Inches(3.0), Inches(0.5),
                 size=13, color=SILVER, align=PP_ALIGN.CENTER)
    add_rect(s, x, Inches(5.1), Inches(4.1), Inches(1.85), RGBColor(0x08, 0x18, 0x38))
    add_text(s, cap, x+Inches(0.1), Inches(5.15), Inches(3.9), Inches(1.75),
             size=12, color=SILVER, italic=True)

# ══════════════════════════════════════════════════════════════════
# SLIDE 13 – SPECIAL TECHNIQUES
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Special Suturing Techniques", "Advanced techniques for PG examination")
footer(s, "Bailey & Love | Maingot's | Sabiston")

special = [
    ("FIGURE-OF-8 SUTURE", ACCENT, [
        "Two bites crossing to form '8' shape",
        "Used: sternal closure, fascia under tension",
        "Stronger than single interrupted suture",
        "Example: Sternotomy closure with steel wire",
    ]),
    ("PURSE-STRING SUTURE", ORANGE, [
        "Circular running suture drawn tight",
        "Inverts a stump into a lumen",
        "Example: Appendix stump invagination,",
        "  caecum after appendicectomy,",
        "  colostomy reversal",
    ]),
    ("Z-STITCH (MATTRESS VARIANT)", GREEN, [
        "Double-layer closure for haemostasis",
        "Bites taken in Z pattern",
        "Used for omental haemostasis",
        "Gastric/duodenal ulcer bleeding control",
    ]),
    ("TENSION (RETENTION) SUTURES", LIGHT_BLUE, [
        "Through-and-through all abdominal layers",
        "Distributed over bolsters/bridges",
        "Prevent wound dehiscence in high-risk",
        "Example: Malnourished, immunosuppressed,",
        "  re-laparotomy, Burst abdomen prevention",
    ]),
    ("SUBCUTANEOUS SUTURE", SILVER, [
        "Closes dead space — prevents seroma",
        "Absorbable (Vicryl 2/0 or 3/0)",
        "Essential in obese patients",
        "Example: Post-mastectomy, large lipoma",
    ]),
    ("ABERDEEN KNOT", ACCENT, [
        "Terminates a continuous suture line",
        "Loop passed through loop repeatedly",
        "Secure locking mechanism",
        "Used to end fascial mass closure",
        "Avoids need for extra assistant",
    ]),
]
for i, (title, color, pts) in enumerate(special):
    row = i // 3
    col = i % 3
    x = Inches(0.25 + col*4.35)
    y = Inches(1.2 + row*3.1)
    add_rect(s, x, y, Inches(4.1), Inches(3.0), RGBColor(0x0C, 0x1E, 0x45))
    add_rect(s, x, y, Inches(4.1), Inches(0.45), color)
    add_text(s, title, x+Inches(0.1), y+Inches(0.03), Inches(3.9), Inches(0.42),
             size=14, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.1), y+Inches(0.52)+j*Inches(0.54),
                 Inches(3.9), Inches(0.5), size=13, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 14 – KNOT TYING
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Knot Tying — Principles & Types", "The cornerstone of suturing")
footer(s, "Pye's Surgical Handicraft | Bailey & Love")

left = [
    ("PRINCIPLES OF KNOT TYING", True, False),
    ("Knot must be secure — should not slip", False, True),
    ("Minimum number of throws for security", False, True),
    ("Tails cut short (3–4 mm) to avoid reaction", False, True),
    ("Knot should lie flat — not bunched", False, True),
    ("Avoid excessive tension — causes necrosis", False, True),
    ("", False, False),
    ("TYPES OF KNOTS", True, False),
    ("Square (Reef) Knot: most common; 3 throws needed", False, True),
    ("Granny Knot: slips — AVOID in surgical practice", False, True),
    ("Surgeon's Knot: first throw = double loop for", False, True),
    ("  security while tension maintained", False, False),
    ("Aberdeen Knot: terminates continuous suture", False, True),
    ("Half Hitch: not used alone — insecure", False, True),
    ("", False, False),
    ("MINIMUM THROWS (Rule of thumb)", True, False),
    ("Monofilament: 4–6 throws needed", False, True),
    ("Braided (silk, Vicryl): 3 throws adequate", False, True),
    ("Polypropylene (Prolene): 5–6 throws essential", False, True),
]
add_multiline(s, left, Inches(0.3), Inches(1.2), Inches(6.2), Inches(5.9),
              size=14, title_color=ACCENT, body_color=WHITE, title_size=16)

right = [
    ("INSTRUMENT TYING", True, False),
    ("Needle holder wraps suture around it", False, True),
    ("Grabs short end through loop", False, True),
    ("Two-instrument technique for deep ties", False, True),
    ("", False, False),
    ("HAND TYING", True, False),
    ("Two-hand tie: most reliable", False, True),
    ("One-hand tie: for speed in open surgery", False, True),
    ("Deep-space tie: index finger technique", False, True),
    ("", False, False),
    ("CLINICAL PEARLS", True, False),
    ("Always tie square knots — never granny", False, True),
    ("Silk needs only 3 throws (most secure braid)", False, True),
    ("Polypropylene needs 5–6 (high elasticity)", False, True),
    ("PDS needs 4–5 throws (monofilament memory)", False, True),
    ("Cut tails flush in endoscopic/laparoscopic knots", False, True),
    ("Internal knots should face away from lumen (bowel)", False, True),
]
add_multiline(s, right, Inches(6.7), Inches(1.2), Inches(6.3), Inches(5.9),
              size=14, title_color=ORANGE, body_color=WHITE, title_size=16)

# ══════════════════════════════════════════════════════════════════
# SLIDE 15 – SITE-SPECIFIC CLOSURE
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Site-Specific Wound Closure", "Tissue-appropriate suture selection")
footer(s, "Bailey & Love 28e, p.129–131 | Sabiston 21e | Maingot's")

sites = [
    ("SKIN", ACCENT, [
        "Interrupted: 3/0 nylon or Prolene",
        "Subcuticular: 3/0 or 4/0 Monocryl/PDS",
        "Face: 5/0 or 6/0 nylon — fine atraumatic needle",
        "Staples: quick — avoid face & hand",
        "Remove: face 3–5d; trunk 7–10d; leg 10–14d",
    ]),
    ("ABDOMINAL FASCIA", ORANGE, [
        "Mass closure: loop PDS 1 or PDS 2 (Nylon if re-op)",
        "Bite: 1cm from edge, 1cm apart (Classic)",
        "Small-bites technique: 5mm apart, 5mm from edge",
        "SL:WL ratio ≥ 4:1 (suture length:wound length)",
        "Reduces incisional hernia risk significantly",
        "5/8 circle blunt-tipped round-bodied needle",
    ]),
    ("BOWEL ANASTOMOSIS", GREEN, [
        "Single-layer: Vicryl 3/0 or PDS 3/0 (preferred)",
        "Two-layer: inner Vicryl, outer Prolene/silk",
        "All-coats interrupted or continuous",
        "Seromuscular Lembert suture for outer layer",
        "Connell suture for anterior full-thickness layer",
        "GIA/EEA stapler = equivalent to hand-sewn",
    ]),
    ("VASCULAR ANASTOMOSIS", LIGHT_BLUE, [
        "Polypropylene (Prolene) — smooth, non-absorbable",
        "3/0 to 6/0 depending on vessel calibre",
        "Continuous suture — no leaks between bites",
        "Avoid silk (late false aneurysm / fistula risk)",
        "Avoid braided (capillary action → infection)",
        "Parachuting technique for tension-free anastomosis",
    ]),
    ("BILIARY/URINARY", SILVER, [
        "Absorbable only — avoid stone formation",
        "Vicryl or PDS 4/0 or 5/0",
        "Single-layer mucosa-to-mucosa anastomosis",
        "Bile duct: interrupted — 4/0 or 5/0 PDS",
        "Cystic duct stump: 2/0 Vicryl transfixion ligature",
        "Ureteric anastomosis: 4/0 Vicryl interrupted",
    ]),
    ("NERVE & TENDON", RED_LIGHT, [
        "Nerve repair: 8/0–10/0 nylon — epineural suture",
        "Perineurium repair: 9/0–10/0 nylon",
        "Tendon: 2/0 or 3/0 braided (Ethibond/Fiberwire)",
        "Core suture: Kessler or modified Kessler technique",
        "Epitendinous running suture: 5/0 or 6/0 monofilament",
        "Avoid absorbable — tendon needs long-term support",
    ]),
]

for i, (title, color, pts) in enumerate(sites):
    row = i // 3
    col = i % 3
    x = Inches(0.2 + col*4.38)
    y = Inches(1.2 + row*3.05)
    add_rect(s, x, y, Inches(4.2), Inches(2.95), RGBColor(0x0C, 0x1E, 0x45))
    add_rect(s, x, y, Inches(4.2), Inches(0.42), color)
    add_text(s, title, x+Inches(0.1), y+Inches(0.02), Inches(4.0), Inches(0.42),
             size=14, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.1), y+Inches(0.48)+j*Inches(0.43),
                 Inches(4.0), Inches(0.4), size=11.5, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 16 – ABDOMINAL CLOSURE (DETAILED)
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Abdominal Wall Closure — In Detail", "Bailey & Love 28e, p.130 | The Controversies")
footer(s, "Bailey & Love 28e | Sabiston 21e")

add_rect(s, Inches(0.3), Inches(1.2), Inches(12.7), Inches(0.55), RGBColor(0x10, 0x28, 0x55))
add_text(s,
    "Objective: Tension-free closure with adequate strength to prevent early dehiscence and long-term incisional hernia (Bailey & Love)",
    Inches(0.4), Inches(1.22), Inches(12.5), Inches(0.48),
    size=14, color=LIGHT_BLUE, italic=True)

controversies = [
    ("Layered vs. Mass Closure", ACCENT, [
        "Layered: each musculoaponeurotic layer closed separately",
        "Mass: all layers (excluding skin) approximated together in one layer",
        "Evidence: Mass closure has lower dehiscence rate",
        "Current practice: MASS CLOSURE preferred for emergency laparotomy",
    ]),
    ("Continuous vs. Interrupted", ORANGE, [
        "Continuous: faster, equal tension distribution, less ischaemia",
        "Interrupted: if one suture fails, rest hold; needed for infected wounds",
        "Evidence: Continuous = lower hernia rates in most meta-analyses",
        "Current practice: CONTINUOUS loop PDS preferred",
    ]),
    ("Suture Material Choice", GREEN, [
        "Delayed absorbable (PDS): gold standard — supports fascia ~6 months",
        "Non-absorbable (Nylon, Prolene): used in re-operative cases / high risk",
        "Absorbable (Vicryl): inadequate for fascial closure alone",
        "Current practice: PDS loop suture (size 1 or 2)",
    ]),
    ("Small Bites vs. Big Bites", LIGHT_BLUE, [
        "Traditional 'big bites': 1cm from edge, 1cm apart",
        "STITCH trial (Deerenberg 2015): 5mm bites, 5mm apart",
        "Small bites reduced incisional hernia: 21% → 13%",
        "SL:WL ratio must remain ≥ 4:1 regardless of technique",
    ]),
]

for i, (title, color, pts) in enumerate(controversies):
    row = i // 2
    col = i % 2
    x = Inches(0.3 + col*6.5)
    y = Inches(1.9 + row*2.6)
    add_rect(s, x, y, Inches(6.2), Inches(2.5), RGBColor(0x0C, 0x1E, 0x45))
    add_rect(s, x, y, Inches(0.08), Inches(2.5), color)
    add_text(s, title, x+Inches(0.2), y+Inches(0.05), Inches(5.8), Inches(0.4),
             size=15, bold=True, color=color)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.2), y+Inches(0.52)+j*Inches(0.48),
                 Inches(5.85), Inches(0.44), size=13, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 17 – ALTERNATIVE CLOSURE METHODS
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Alternative Wound Closure Methods", "Sabiston 21e | Pye's | Bailey & Love")
footer(s, "Sabiston 21e, p.138–139 | Pye's Surgical Handicraft")

items = [
    ("SKIN STAPLES", ACCENT, [
        "Stainless steel or titanium clips",
        "Quick — ~50% faster than interrupted sutures",
        "Equivalent wound dehiscence & infection rates",
        "Best for: trunk, scalp, extremities",
        "AVOID: face, hands, genitalia",
        "Removal: 5–7 days (face) to 14 days (leg)",
    ]),
    ("TISSUE ADHESIVES (GLUE)", ORANGE, [
        "Cyanoacrylate: Dermabond (octyl), Histocryl (butyl)",
        "Water-impermeable barrier, low infection rate",
        "Best: small clean wounds, paediatrics",
        "Used AFTER subcuticular suture as seal",
        "Meta-analysis: equal dehiscence/infection to sutures",
        "Do NOT use under tension or in deep wounds",
    ]),
    ("STERI-STRIPS / CLOSURE STRIPS", GREEN, [
        "Adhesive paper strips for skin apposition",
        "No anaesthesia needed — painless",
        "Good cosmesis for clean, low-tension wounds",
        "Pye's: reliable for minor wounds in outpatients",
        "Disadvantage: can peel in moist areas",
        "Example: Minor lacerations, post-suture reinforcement",
    ]),
    ("BARBED SUTURES", LIGHT_BLUE, [
        "V-Loc, Quill — knotless closure mechanism",
        "Unidirectional barbs grip tissue automatically",
        "No assistant needed to maintain tension",
        "Reduces operative time by 30–40%",
        "Used in: laparoscopic/robotic surgery",
        "Bowel anastomosis, fascial closure",
    ]),
    ("FIBRIN SEALANT", SILVER, [
        "Thrombin + fibrinogen — mimics final clotting step",
        "Both adhesive and haemostatic functions",
        "Superior to manual compression alone",
        "Used: vascular anastomosis, hepatic surgery",
        "Parenchymal haemostasis (liver, spleen)",
        "Sabiston: useful adjunct — not standalone closure",
    ]),
    ("NEGATIVE PRESSURE\nWOUND THERAPY (NPWT)", RED_LIGHT, [
        "VAC (Vacuum Assisted Closure) dressing",
        "Foam + sealed adhesive + continuous suction",
        "Promotes granulation tissue formation",
        "Reduces oedema and bacterial colonisation",
        "Used: open contaminated wounds, fasciotomies",
        "Open abdomen management (temporary closure)",
    ]),
]

for i, (title, color, pts) in enumerate(items):
    row = i // 3
    col = i % 3
    x = Inches(0.2 + col*4.38)
    y = Inches(1.2 + row*3.05)
    add_rect(s, x, y, Inches(4.2), Inches(2.95), RGBColor(0x0C, 0x1E, 0x45))
    add_rect(s, x, y, Inches(4.2), Inches(0.45), color)
    add_text(s, title, x+Inches(0.1), y+Inches(0.02), Inches(4.0), Inches(0.45),
             size=13, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.1), y+Inches(0.52)+j*Inches(0.42),
                 Inches(4.0), Inches(0.38), size=11.5, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 18 – COMPLICATIONS
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Suture-Related Complications", "Recognition, prevention & management")
footer(s, "Bailey & Love | Sabiston | Pye's")

comp_data = [
    ("WOUND DEHISCENCE", RED_LIGHT, [
        "Definition: failure of wound apposition",
        "Superficial: skin only; Deep: all layers (Burst abdomen)",
        "Risk factors: infection, malnutrition, steroids, obesity, emergency surgery",
        "Bailey & Love: 'Burst abdomen' = fascial failure → evisceration",
        "Prevention: mass closure, small-bites technique, PDS",
        "Management: re-suture with tension (retention) sutures",
    ]),
    ("SUTURE SINUS / STITCH ABSCESS", ORANGE, [
        "Non-absorbable suture (especially SILK) → persistent sinus",
        "Multifilament sutures → capillary action → bacterial harbour",
        "Presents as discharging sinus weeks–months postop",
        "Bailey & Love: avoid non-absorbable silk in thyroid surgery",
        "Management: remove offending suture material",
        "Prevention: use absorbable sutures where possible",
    ]),
    ("WOUND INFECTION (SSI)", ACCENT, [
        "Contaminated wound + capillary sutures = high risk",
        "Braided sutures carry higher SSI risk than monofilament",
        "Sabiston: interrupted sutures allow wound packing if SSI",
        "Prevention: monofilament sutures, appropriate antibiotic prophylaxis",
        "Clean wounds: absorbable subcuticular preferred",
        "Contaminated: leave open, delayed primary closure",
    ]),
    ("INCISIONAL HERNIA", GREEN, [
        "Long-term complication of fascial closure failure",
        "Risk: infection, obesity, COPD, steroids, inadequate bite",
        "STITCH trial: small bites reduce hernia 21% → 13%",
        "Inadequate SL:WL ratio (< 4:1) = major risk factor",
        "Management: mesh repair (open or laparoscopic)",
        "Prevention: PDS mass closure with small-bites technique",
    ]),
    ("SUTURE GRANULOMA", LIGHT_BLUE, [
        "Foreign body giant cell reaction to suture material",
        "Natural sutures (catgut, silk) — highest reactivity",
        "Synthetic monofilament — least reactive",
        "Presents as tender nodule or discharging wound",
        "Management: excision of granuloma + suture removal",
        "Prevention: use inert synthetic sutures",
    ]),
    ("LATE VESSEL ANASTOMOSIS FAILURE", SILVER, [
        "Use of silk in vascular anastomosis → false aneurysm",
        "Silk fragments over time → anastomotic disruption",
        "Bailey & Love: 'Natural materials should never be used",
        "  in vascular anastomoses for fear of late fistula'",
        "Prevention: polypropylene (Prolene) for all vascular work",
        "Management: redo anastomosis + vascular reconstruction",
    ]),
]

for i, (title, color, pts) in enumerate(comp_data):
    row = i // 3
    col = i % 3
    x = Inches(0.2 + col*4.38)
    y = Inches(1.2 + row*3.05)
    add_rect(s, x, y, Inches(4.2), Inches(2.95), RGBColor(0x0C, 0x1E, 0x45))
    add_rect(s, x, y, Inches(4.2), Inches(0.42), color)
    add_text(s, title, x+Inches(0.1), y+Inches(0.02), Inches(4.0), Inches(0.42),
             size=13, bold=True, color=BG_DARK, align=PP_ALIGN.CENTER)
    for j, pt in enumerate(pts):
        add_text(s, "• " + pt, x+Inches(0.1), y+Inches(0.49)+j*Inches(0.42),
                 Inches(4.0), Inches(0.38), size=11.5, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 19 – CLINICAL PEARLS / EXAM POINTS
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "Key Exam Points & Clinical Pearls", "High-yield PG Surgery MCQ / Long Answer Topics")
footer(s, "Bailey & Love | Sabiston | Pye's | Maingot's")

pearls = [
    ("Vascular anastomosis", "ALWAYS polypropylene (Prolene) — smooth, non-absorbable, non-elastic"),
    ("Biliary anastomosis", "ALWAYS absorbable (Vicryl/PDS) — to prevent stone formation"),
    ("Silk in thyroid", "Non-absorbable silk → suture sinus — use absorbable instead (Bailey & Love)"),
    ("Subcuticular = best cosmesis", "Monocryl/PDS — no stitch marks — for face, breast, neck"),
    ("Abdominal fascia", "PDS loop suture, mass closure, small bites (5mm), SL:WL ≥ 4:1"),
    ("Burst abdomen treatment", "Re-suture with tension/retention sutures over bolsters under GA"),
    ("STITCH trial", "Small-bites (5mm/5mm) reduces incisional hernia: 21% → 13%"),
    ("Most tissue-reactive suture", "Catgut > Chromic catgut > Silk > Synthetic"),
    ("Least tissue-reactive suture", "Polypropylene (Prolene) — monofilament, inert"),
    ("Bowel anastomosis suture", "Single-layer PDS/Vicryl 3/0 — equal to or better than two-layer"),
    ("Prolene throws needed", "5–6 throws for polypropylene (due to high memory/elasticity)"),
    ("Granny knot", "NEVER — slips under tension — always square (reef) knot"),
    ("Tendon repair core suture", "Modified Kessler 2/0 Ethibond + epitendinous 5/0 monofilament"),
    ("Nerve repair", "8/0–10/0 nylon, epineural, interrupted, tension-free, microsurgery"),
    ("Skin staples — contraindication", "AVOID on face, hands, genitalia — use fine sutures instead"),
    ("Catgut in urology", "Rapidly absorbed — suitable for urothelium, bile duct only"),
]

for i, (topic, pearl) in enumerate(pearls):
    row = i % 8
    col = i // 8
    x = Inches(0.3 + col*6.5)
    y = Inches(1.22 + row*0.735)
    bg = RGBColor(0x0E, 0x22, 0x48) if i%2==0 else RGBColor(0x12, 0x2C, 0x5C)
    add_rect(s, x, y, Inches(6.2), Inches(0.68), bg)
    add_rect(s, x, y, Inches(0.07), Inches(0.68), ACCENT)
    add_text(s, topic, x+Inches(0.15), y+Inches(0.02), Inches(2.3), Inches(0.65),
             size=13, bold=True, color=ACCENT)
    add_text(s, pearl, x+Inches(2.5), y+Inches(0.02), Inches(3.65), Inches(0.65),
             size=12.5, color=WHITE)

# ══════════════════════════════════════════════════════════════════
# SLIDE 20 – REFERENCES
# ══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
header_bar(s, "References", "Standard surgical texts consulted")
footer(s)

refs = [
    "1. Bailey & Love's Short Practice of Surgery, 28th Edition. Norman Williams, P. Ronan O'Connell, Andrew McCaskie. CRC Press, 2022.",
    "2. Sabiston Textbook of Surgery: The Biological Basis of Modern Surgical Practice, 21st Edition. Townsend, Beauchamp, Evers, Mattox. Elsevier, 2022.",
    "3. Pye's Surgical Handicraft, 22nd Edition. A Standard Reference Book for House Surgeons and House Physicians. Butterworth-Heinemann, 1997.",
    "4. Maingot's Abdominal Operations, 13th Edition. Zinner & Ashley. McGraw-Hill Education, 2019.",
    "5. Farquharson's Textbook of Operative General Surgery, 10th Edition. Margaret Farquharson & Brendan Moran. CRC Press, 2011.",
    "6. Das S. A Manual on Clinical Surgery, 13th Edition. S. Das, 2019.",
    "",
    "Additional References:",
    "7. Deerenberg EB et al. Small bites versus large bites for closure of abdominal midline incisions (STITCH): a double-blind, multicentre, randomised controlled trial. Lancet, 2015;386(10000):1254-1260.",
    "8. Ceydeli A et al. Finding the best abdominal closure: an evidence-based review. Curr Surg. 2005;62(2):220–5.",
    "9. Scott-Brown's Otorhinolaryngology, Head and Neck Surgery, 8th Edition — Suturing Techniques Chapter.",
]

for j, ref in enumerate(refs):
    if ref.startswith("Additional"):
        add_text(s, ref, Inches(0.5), Inches(1.25) + j*Inches(0.5), Inches(12.3), Inches(0.48),
                 size=14, bold=True, color=ACCENT)
    elif ref == "":
        pass
    else:
        add_text(s, ref, Inches(0.5), Inches(1.25) + j*Inches(0.5), Inches(12.3), Inches(0.48),
                 size=13, color=WHITE if not ref.startswith("7.") else SILVER)

# ═══ SAVE ══════════════════════════════════════════════════════════
out = "/tmp/workspace/sutures-ppt/Sutures_and_Suturing_Techniques_PG.pptx"
prs.save(out)
print(f"Saved: {out}")
print(f"Slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/sutures-ppt && python build_ppt.py 2>&1

Editing File

~/sutures-ppt/build_ppt.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/sutures-ppt/build_ppt.py'
Running Command

cd /tmp/workspace/sutures-ppt && python build_ppt.py 2>&1

Running Command

cd /tmp/workspace/sutures-ppt && \ python3 -c " import urllib.request, os, ssl ctx = ssl._create_unverified_context() imgs = [ ('img1.jpg', 'https://cdn.orris.care/cdss_images/pmc_clinical_VQA_87f7c43d27f46f2286327cc21016e321196e96240258af02fd1ec61b8ade0d21.jpg'), ('img2.jpg', 'https://cdn.orris.care/cdss_images/DermNetNZ_1760034525137_2b62e1fc-ef9c-4f78-b035-241b5064b111.jpg'), ('img3.jpg', 'https://cdn.orris.care/cdss_images/pmc_clinical_VQA_78072f3a45877df87dd8d78aa699a3a3c7094a704f788253807b845e4faf9aaa.jpg'), ] for name, url in imgs: try: urllib.request.urlretrieve(url, name) print(f'Downloaded {name}: {os.path.getsize(name)} bytes') except Exception as e: print(f'Failed {name}: {e}') " 2>&1

Running Command

cd /tmp/workspace/sutures-ppt && python3 -c " from pptx import Presentation from pptx.util import Inches from pptx.dml.color import RGBColor from io import BytesIO prs = Presentation('Sutures_and_Suturing_Techniques_PG.pptx') # Slide 12 (index 11) is the visual reference slide slide = prs.slides[11] imgs = ['img1.jpg', 'img2.jpg', 'img3.jpg'] positions = [ (Inches(0.3), Inches(1.25), Inches(4.1), Inches(3.8)), (Inches(4.65), Inches(1.25), Inches(4.1), Inches(3.8)), (Inches(9.0), Inches(1.25), Inches(4.1), Inches(3.8)), ] for i, (img_path, (x, y, w, h)) in enumerate(zip(imgs, positions)): try: with open(img_path, 'rb') as f: slide.shapes.add_picture(f, x, y, w, h) print(f'Added {img_path}') except Exception as e: print(f'Failed {img_path}: {e}') out = 'Sutures_and_Suturing_Techniques_PG.pptx' prs.save(out) print(f'Saved with images: {out}') " 2>&1

Your PG-level presentation on Sutures & Suturing Techniques is ready with all 20 slides and clinical images embedded.

Sutures and Suturing Techniques PG

Presentation · PPTX


What's Inside (20 Slides)

#SlideSource
1Title Slide - Deep navy/gold design-
2Table of Contents - 14 topics-
3Historical Background - 3000 BC to barbed sutures + Bailey & Love quoteBailey & Love 28e
4Wound Healing - Primary / Secondary / Tertiary intention with examplesBailey & Love Summary Box 7.7
5Ideal Characteristics of Suture Material - 12 properties gridBailey & Love Summary Box 7.6
6Classification of Sutures - By absorption, structure, originBailey & Love / Pye's
7Absorbable Sutures Table - Catgut to Monocryl with absorption timelineBailey & Love Table 7.2
8Non-Absorbable Sutures Table - Silk to PTFE with clinical notesBailey & Love Table 7.1
9Surgical Needles - Parts, body shapes, point types, selection rulesBailey & Love p.127-128
10Suture Size & Nomenclature - Full USP/Metric table (10/0 to 3)Bailey & Love Table 7.3
11Basic Suturing Techniques - Interrupted, Continuous, Mattress, SubcuticularBailey & Love Fig. 7.13-7.16
12Visual Reference - 3 clinical photographs of techniques (images embedded)Peer-reviewed literature
13Special Techniques - Figure-of-8, Purse-string, Z-stitch, Retention, Aberdeen knotBailey & Love / Maingot's
14Knot Tying - Principles, types, throws required, instrument vs hand tyingPye's / Bailey & Love
15Site-Specific Closure - Skin, Fascia, Bowel, Vessels, Biliary, Nerve/TendonBailey & Love / Sabiston
16Abdominal Wall Closure - STITCH trial, mass vs layered, SL:WL ratioBailey & Love p.130 / Sabiston
17Alternative Closure Methods - Staples, glue, Steri-strips, barbed sutures, NPWTSabiston / Pye's
18Complications - Dehiscence, SSI, Sinus, Hernia, Granuloma, Vascular failureAll four sources
19Key Exam Points - 16 high-yield PG MCQ pearls (Prolene in vascular, STITCH trial, etc.)All sources
20References - Full citations for all 6 textbooks + STITCH trial-

Design

  • Theme: Deep surgical navy (#0A1A3A) with gold accents (#C8A032)
  • 16:9 widescreen format, consistent header/footer on every slide
  • Colour-coded sections: gold = absorbable, orange = non-absorbable, green = special, blue = clinical

Key PG-Level Content Highlights

  • STITCH trial data (small bites 5mm/5mm reduces hernia 21% → 13%)
  • Silk contraindicated in vascular anastomosis (Bailey & Love direct quote)
  • SL:WL ratio ≥ 4:1 rule for abdominal closure
  • Modified Kessler + epitendinous suture for tendons
  • Minimum throws per suture material type
  • Single vs two-layer bowel anastomosis evidence

Download above ppt

The file is already ready for download. Just click the link below:

Sutures and Suturing Techniques PG

Presentation · PPTX

The file is a 20-slide PG-level PowerPoint presentation (~300 KB) covering sutures and suturing techniques with references from Bailey & Love, Sabiston, Pye's Surgical Handicraft, and Maingot's. Click the link above to download it directly to your device.
This is a shared conversation. Sign in to Orris to start your own chat.