All forceps with image, identification points and specific use

Reading File
Finding Sources
Searching the Web

surgical forceps types identification points uses images complete guide

Reading File
Reading Web Page

https://meistersurgical.com/forcep-types

Searching the Web

types of forceps surgery identification Adson DeBakey Allis Babcock Kocher Kelly mosquito images

Reading Web Page

https://operativereview.com/grasping-instruments

Searching the Web

forceps surgical instruments images identification chart Halsted mosquito Crile Allis Babcock Kocher Russian Bonney

Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
I now have all the images and comprehensive information. Let me compile the complete guide.

Surgical Forceps: Complete Guide with Images, Identification Points & Uses

Surgical forceps are hinged instruments used to grasp, hold, clamp, or manipulate tissues and materials. They are broadly divided into non-locking (thumb/pick-up) forceps and locking (ratcheted/ring-handle) forceps.

SECTION 1 - NON-LOCKING (THUMB / PICK-UP) FORCEPS

These are spring-loaded, tweezer-style instruments held between thumb and fingers. No ratchet mechanism.

1. DeBakey Forceps

DeBakey Forceps
Identification Points:
  • Long, slender, bayonet-profile tips
  • Fine, longitudinal serrations ("traumatic ridges") arranged in parallel rows on the inner jaw surface - no teeth
  • Spring-tension handle (non-locking)
  • Typically 6-12 inches long
Specific Uses:
  • Atraumatic handling of blood vessels (vascular surgery - aorta, veins, arteries)
  • Cardiac surgery - handling fragile cardiac tissues
  • Bowel and intestinal anastomosis
  • Any delicate tissue where crushing must be avoided

2. Adson Forceps (Adson Tissue Forceps)

Adson Forceps
Identification Points:
  • Short (4.75 inches), lightweight, delicate instrument
  • Slightly wider platform at the tip compared to standard thumb forceps
  • Available with teeth (1x2 rat-tooth pattern - toothed Adson) or serrations only (atraumatic Adson)
  • Serrated platform and thumb-grip ridges along the handle
Specific Uses:
  • Skin closure and suturing - holding skin edges during wound repair
  • Plastic and reconstructive surgery
  • Superficial/minor procedures requiring precision
  • Holding fine tissue like fascia during wound closure

3. Adson-Brown Forceps

Adson-Brown Forceps
Identification Points:
  • Similar profile to Adson but with multiple fine teeth (9x9 configuration) arranged in a "comb" pattern at the tip
  • Short, lightweight handle
Specific Uses:
  • Plastic surgery and skin grafting
  • Holding delicate skin edges where a multi-tooth grip is needed without crushing
  • Fine tissue handling in reconstructive procedures

4. Tissue (Rat-Tooth) Forceps

Rat-Tooth Forceps
Identification Points:
  • Single large tooth on one jaw interlocking with two teeth on the opposite jaw (1x2 pattern)
  • Teeth are prominent and pointed - like "rat teeth"
  • Serrations on the handle platform
  • Available straight or angled
Specific Uses:
  • General surgery - holding tough tissue like fascia, skin, and periosteum
  • Orthopedic procedures requiring firm grip on dense tissue
  • Wound closure when a strong, secure grip is needed
  • NOT for delicate or vascular tissue (traumatic instrument)

5. Russian Tissue Forceps

Russian Forceps
Identification Points:
  • Distinctive round, spoon-shaped or circular tip with serrated cups at the end - immediately identifiable
  • The rounded scalloped tip is the hallmark feature
  • Spring-tension handle (non-locking)
  • Wider jaw at tip compared to other thumb forceps
Specific Uses:
  • Abdominal and pelvic surgery - holding peritoneum, bowel serosa, and thick tissue
  • Thoracic surgery
  • Gynecological procedures
  • Favored for bowel work as the cupped tip distributes pressure

6. Ferris-Smith (Bonney/Bickle) Forceps

Ferris-Smith Forceps
Identification Points:
  • Heavy-duty thumb forceps
  • Large interlocking teeth (1x2 or 2x3 tooth pattern) - larger and more prominent than standard rat-tooth
  • Wider, heavier body than Adson or standard tissue forceps
Specific Uses:
  • Heavy tissue manipulation - fascia, periosteum, dense connective tissue
  • General and gynecological surgery where a powerful grip is needed
  • Holding tough fascial edges during abdominal closure

7. Gerald Forceps

Gerald Forceps
Identification Points:
  • Very fine, delicate, narrow tips
  • Fine transverse serrations at tip
  • Small overall profile - resembles a miniaturized DeBakey
Specific Uses:
  • Cardiovascular and thoracic microsurgery
  • Handling fine sutures and delicate vascular tissue
  • Ophthalmic-adjacent procedures requiring extreme precision

SECTION 2 - LOCKING (RATCHETED / RING-HANDLE) FORCEPS - HEMOSTATIC CLAMPS

These have finger rings, a box-joint hinge, and a ratchet lock mechanism (1, 2, 3 clicks).

8. Halsted Mosquito Forceps (Mosquito Clamp)

Mosquito Forceps
Identification Points:
  • Smallest hemostatic clamp (5 inches / ~12.5 cm)
  • Fine, short jaws with full-length transverse serrations
  • Ring handle with ratchet lock
  • Available straight or curved - curved version is more common
  • "Mosquito" refers to its small size - for tiny vessels
Specific Uses:
  • Clamping small/fine blood vessels
  • Tagging (holding) suture ends
  • Subcutaneous tissue hemostasis
  • Pediatric and fine microsurgical cases

9. Kelly Forceps (Kelly Clamp)

Kelly Forceps
Identification Points:
  • Medium-sized (5.5-6.25 inches) hemostatic clamp
  • Jaws serrated only on the distal half (lower portion only) - key distinguishing feature from Crile
  • Ring handle with ratchet
  • Straight or curved versions
  • Heavier jaw than mosquito
Specific Uses:
  • Clamping medium-sized blood vessels
  • Blunt dissection
  • Grasping drains and tubes
  • General hemostasis in deeper or thicker tissues than mosquito can handle

10. Crile Forceps (Hemostat / "Snap")

Hemostat Crile Forceps
Identification Points:
  • Similar size to Kelly (5.5-6.25 inches)
  • Jaws serrated full length - serrations run the entire jaw (vs. Kelly which is only distal half) - this is the key ID point
  • Ring handle, ratchet lock
  • Available straight or curved
Specific Uses:
  • Hemostasis of medium vessels
  • Clamping bleeders in soft tissue
  • Most commonly used "snap" clamp in general surgery
  • Can be used for grasping tissue, packing, and drain placement

11. Rochester-Pean Forceps (Pean Clamp)

Rochester-Pean Forceps
Identification Points:
  • Large, heavy hemostatic clamp (6.25-9 inches)
  • Full-length transverse serrations on broad, long jaws
  • Much heavier and longer than Kelly or Crile
  • Ring handle, ratchet lock
Specific Uses:
  • Clamping large vessels and thick tissue pedicles
  • Hysterectomy (uterine pedicles)
  • Bowel resections
  • Major abdominal surgery where large structures need clamping

12. Tonsil Forceps (Schmidt/Schnidt Forceps)

Tonsil Forceps
Identification Points:
  • Long, curved jaws with a distinctive long curved tip
  • Fine serrations throughout
  • Ring handle, ratchet
  • The long narrow curved tip is the hallmark - allows reaching into deep cavities
Specific Uses:
  • Tonsillectomy procedures
  • Packing gauze into the throat/deep cavities
  • Reaching into narrow, deep surgical fields (e.g., nasopharynx)
  • Passing ties around vessels in deep locations

SECTION 3 - LOCKING (RATCHETED) FORCEPS - TISSUE GRASPERS (SPECIAL)


13. Allis Forceps (Allis Clamp)

Allis Forceps
Identification Points:
  • Distinctive multiple fine interlocking teeth at the tip (like a small comb/serrated edge) - unique appearance
  • The teeth are small and numerous (unlike the large single rat-tooth)
  • Ring handle, ratchet lock
  • Typically 6-9 inches
Specific Uses:
  • Grasping fascia, breast tissue, and tough dense structures
  • Holding tissue for excision or biopsy
  • Bowel and gynecological surgery
  • NOT suitable for bowel serosa or delicate organs (traumatic grip)

14. Babcock Forceps (Babcock Clamp)

Babcock Forceps
Identification Points:
  • Distinctive triangular, open-fenestrated (windowed) rounded tip - the most recognizable feature
  • No teeth - the jaws curve around the tissue without penetrating
  • Ring handle with ratchet
  • Atraumatic design despite being a locking clamp
Specific Uses:
  • Holding fallopian tubes, bowel, and delicate viscera without perforation
  • Appendectomy (holding the appendix)
  • Thyroid surgery
  • Any hollow organ or tubular structure that must not be pierced

15. Kocher Forceps (Ochsner Forceps / Kocher Clamp)

Kocher Forceps
Identification Points:
  • Heavy, straight jaws with full transverse serrations plus a single tooth at the tip (1x2 teeth at the very end of the jaw) - this combination of serrations + terminal teeth is the key ID feature
  • Ring handle, ratchet lock
  • Robust, heavyweight instrument
Specific Uses:
  • Clamping thick, fibrous tissue pedicles
  • Thyroid surgery (clamping thyroid tissue)
  • Hernia repair (holding fascial edges)
  • Also used as a bone clamp in some orthopedic contexts
  • Heavy hemostasis when strong grip is needed on friable/fibrous tissue

16. Right Angle Forceps (Mixter / Gemini / Lahey)

Right Angle Forceps
Identification Points:
  • Jaws are bent at a 90-degree right angle to the shaft - the defining feature
  • Fine transverse serrations on the curved jaws
  • Ring handle, ratchet lock
Specific Uses:
  • Passing ligatures (ties) around vessels and ducts
  • Cholecystectomy (dissecting and encircling the cystic duct and artery)
  • Vascular surgery - passing vessel loops
  • Any procedure requiring dissection or suture passage around a structure

17. Pennington (Duval) Forceps

Pennington Forceps
Identification Points:
  • Triangular, open-fenestrated jaw with a pointed triangular tip (vs. Babcock's rounded tip)
  • The pointed triangular fenestration distinguishes it from Babcock
  • Ring handle, ratchet
Specific Uses:
  • Rectal and colorectal surgery - grasping rectal mucosa and bowel
  • Holding bowel edges during anastomosis
  • Hemorrhoidectomy

18. Foerster Sponge Forceps (Ring Forceps / Foerster Clamp)

Foerster Sponge Forceps
Identification Points:
  • Large oval or circular ring-shaped jaws - both jaws form an open ring/oval when closed
  • Jaws may be serrated or smooth
  • Ring handle, ratchet lock
  • Large fenestrated oval tip is unmistakable
Specific Uses:
  • Holding and applying sponges/swabs (wound packing)
  • Cervical dilation and gynecological procedures (holding the cervix)
  • Applying antiseptic prep (betadine/chlorhexidine) with gauze
  • Maintaining sponge count in the field

19. Barrett Tenaculum Forceps

Barrett Tenaculum
Identification Points:
  • Curved, sharp single hook/tooth at the tip (tenaculum = hook)
  • Long shaft with ring handle and ratchet
  • Distinctive single-pronged curved point
Specific Uses:
  • Grasping the cervix during gynecological procedures (D&C, IUD insertion)
  • Holding uterus during surgical manipulation
  • Obstetric and gynecological procedures

SECTION 4 - OBSTETRIC FORCEPS


20. Simpson Forceps

Identification Points:
  • Cephalic curve + pelvic curve
  • Divergent shanks (shanks do not overlap - spread apart)
  • Fenestrated (windowed) blades
  • Named for the divergent shank design
Specific Uses:
  • Assisted vaginal delivery when the fetal head is engaged and in occiput anterior (OA) position
  • Most common forceps for straightforward operative vaginal delivery

21. Kielland Forceps

Identification Points:
  • Minimal pelvic curve (almost straight shanks) - key distinguishing feature
  • Sliding/overlapping lock (not a fixed English lock)
  • Allows asynclitism correction
  • The nearly straight design and sliding lock are diagnostic
Specific Uses:
  • Rotational forceps delivery - rotating a fetal head in transverse or occiput posterior (OP) position
  • Deep transverse arrest of the fetal head

SUMMARY TABLE

ForcepsTypeKey ID FeaturePrimary Use
DeBakeyNon-lockingLong, fine parallel serrations, no teethVascular/atraumatic tissue
AdsonNon-lockingShort, lightweight, 1x2 teeth or serratedSkin closure, suturing
Adson-BrownNon-lockingMultiple fine comb teethPlastic surgery, skin grafts
Rat-ToothNon-lockingProminent 1x2 interlocking teethFascia, tough tissue
RussianNon-lockingRound cupped/spoon tipBowel, pelvic surgery
Ferris-SmithNon-lockingHeavy body + large teethDense fascia, periosteum
GeraldNon-lockingVery fine narrow tipsMicrosurgery, cardiothoracic
Mosquito (Halsted)LockingSmallest clamp, full serrations, tiny jawTiny vessel hemostasis
KellyLockingSerrations on distal half onlyMedium vessel hemostasis
CrileLockingFull-length serrations, similar size to KellyGeneral hemostasis
Rochester-PeanLockingLarge, heavy, full serrationsLarge vessel/pedicle clamp
Tonsil (Schmidt)LockingLong curved narrow tipTonsillectomy, deep cavities
AllisLockingMultiple small interlocking teethFascia, tough tissue biopsy
BabcockLockingRounded open triangular fenestrated tipBowel, fallopian tube, appendix
Kocher (Ochsner)LockingSerrations + terminal 1x2 toothFibrous tissue, thyroid
Right Angle (Mixter)Locking90° bent jawPassing ligatures, cholecystectomy
Pennington (Duval)LockingPointed triangular fenestrated tipRectal/colorectal surgery
Foerster SpongeLockingLarge oval ring jawsSponge holding, cervix grasping
Barrett TenaculumLockingSingle curved sharp hookCervix grasping, gynecology
Simpson ObstetricObstetricDivergent shanks, fenestrated bladeOA position forceps delivery
Kielland ObstetricObstetricMinimal pelvic curve, sliding lockRotational forceps delivery

KEY IDENTIFICATION MNEMONICS

  • "Kelly = Half serrations" - serrations on only the distal half of the jaw
  • "Crile = Complete serrations" - full-length serrations
  • "Babcock = Bowel" - atraumatic rounded window tip, safe for bowel
  • "Kocher = Toothy Kocher" - serrations PLUS a terminal tooth (unique combo)
  • "Russian = Round cup" - rounded spoon-shaped tip
  • "Right angle = Pass a tie" - used specifically to pass ligatures around structures
  • "Mosquito = Smallest" - smallest hemostatic clamp for tiniest vessels
Sources: Operative Review of Surgery | Meister Surgical Forceps Guide | Fischer's Mastery of Surgery, 8th Ed.

Generate a PDF quick-reference card of forceps identification

Reading File
Running Command

mkdir -p /tmp/workspace/forceps-ref/images && ls /tmp/workspace/forceps-ref/

Running Command

cd /tmp/workspace/forceps-ref/images && \ wget -q -O debakey.jpg "https://operativereview.com/wp-content/uploads/2022/06/DeBakey-Forceps.jpg" && \ wget -q -O adson.jpg "https://operativereview.com/wp-content/uploads/2022/06/Adson-Forceps.jpg" && \ wget -q -O adson_brown.jpg "https://operativereview.com/wp-content/uploads/2022/06/Adson-Brown-Forceps.jpg" && \ wget -q -O rat_tooth.jpg "https://operativereview.com/wp-content/uploads/2022/06/Tissue-Rat-Tooth-Forceps.jpg" && \ wget -q -O russian.jpg "https://operativereview.com/wp-content/uploads/2022/06/Russian-Forceps.jpg" && \ wget -q -O ferris_smith.jpg "https://operativereview.com/wp-content/uploads/2022/06/Ferris-Smith-Forceps.jpg" && \ wget -q -O gerald.jpg "https://operativereview.com/wp-content/uploads/2022/06/Gerald-Forceps.jpg" && \ wget -q -O mosquito.jpg "https://operativereview.com/wp-content/uploads/2022/06/Mosquito.jpg" && \ wget -q -O kelly.jpg "https://operativereview.com/wp-content/uploads/2022/06/Kelly-Forcep.jpg" && \ wget -q -O crile.jpg "https://operativereview.com/wp-content/uploads/2022/06/Hemostat-Crile.jpg" && \ wget -q -O pean.jpg "https://operativereview.com/wp-content/uploads/2022/06/Rochester-Pean-Forcep.jpg" && \ wget -q -O tonsil.jpg "https://operativereview.com/wp-content/uploads/2022/06/Tonsil-Forcep.jpg" && \ wget -q -O allis.jpg "https://operativereview.com/wp-content/uploads/2022/06/Allis-Forcep.jpg" && \ wget -q -O babcock.jpg "https://operativereview.com/wp-content/uploads/2022/06/Babcock-Forcep.jpg" && \ wget -q -O kocher.jpg "https://operativereview.com/wp-content/uploads/2022/06/Kocher-Forceps.jpg" && \ wget -q -O right_angle.jpg "https://operativereview.com/wp-content/uploads/2022/06/Mixter-Right-Angle.jpg" && \ wget -q -O pennington.jpg "https://operativereview.com/wp-content/uploads/2022/06/Pennington-Forceps.jpg" && \ wget -q -O foerster.jpg "https://operativereview.com/wp-content/uploads/2022/06/Forester-Forceps.jpg" && \ wget -q -O tenaculum.jpg "https://operativereview.com/wp-content/uploads/2022/06/Barrett-Tenaculum.jpg" && \ wget -q -O backhaus.jpg "https://operativereview.com/wp-content/uploads/2022/06/Backhaus-Towel-Clamp.jpg" && \ ls -lh *.jpg | wc -l

Running Command

python3 - << 'EOF' import urllib.request import os base = "https://operativereview.com/wp-content/uploads/2022/06/" images = { "debakey.jpg": "DeBakey-Forceps.jpg", "adson.jpg": "Adson-Forceps.jpg", "adson_brown.jpg": "Adson-Brown-Forceps.jpg", "rat_tooth.jpg": "Tissue-Rat-Tooth-Forceps.jpg", "russian.jpg": "Russian-Forceps.jpg", "ferris_smith.jpg": "Ferris-Smith-Forceps.jpg", "gerald.jpg": "Gerald-Forceps.jpg", "mosquito.jpg": "Mosquito.jpg", "kelly.jpg": "Kelly-Forcep.jpg", "crile.jpg": "Hemostat-Crile.jpg", "pean.jpg": "Rochester-Pean-Forcep.jpg", "tonsil.jpg": "Tonsil-Forcep.jpg", "allis.jpg": "Allis-Forcep.jpg", "babcock.jpg": "Babcock-Forcep.jpg", "kocher.jpg": "Kocher-Forceps.jpg", "right_angle.jpg": "Mixter-Right-Angle.jpg", "pennington.jpg": "Pennington-Forceps.jpg", "foerster.jpg": "Forester-Forceps.jpg", "tenaculum.jpg": "Barrett-Tenaculum.jpg", "backhaus.jpg": "Backhaus-Towel-Clamp.jpg", } dest = "/tmp/workspace/forceps-ref/images/" headers = {'User-Agent': 'Mozilla/5.0'} ok, fail = 0, 0 for local, remote in images.items(): url = base + remote path = dest + local try: req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=10) as r, open(path, 'wb') as f: f.write(r.read()) ok += 1 except Exception as e: print(f"FAIL {local}: {e}") fail += 1 print(f"Downloaded: {ok}, Failed: {fail}") os.listdir(dest) EOF

Writing File

~/forceps-ref/build_pdf.py

"""
Forceps Quick-Reference Card PDF Generator
Uses reportlab to create a well-structured, multi-page PDF reference card.
"""

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

# ── Paths ─────────────────────────────────────────────────────────────────────
IMG_DIR = "/tmp/workspace/forceps-ref/images/"
OUT_PDF = "/tmp/workspace/forceps-ref/Forceps_Quick_Reference_Card.pdf"

# ── Colour Palette ─────────────────────────────────────────────────────────────
COL_HEADER_BG   = HexColor("#1A3A5C")   # dark navy
COL_HEADER_FG   = colors.white
COL_SEC_BG      = HexColor("#2E6DA4")   # medium blue
COL_SEC_FG      = colors.white
COL_CARD_BG1    = HexColor("#EAF2FB")   # light blue tint  (non-locking)
COL_CARD_BG2    = HexColor("#FEF9EC")   # light amber      (hemostatic)
COL_CARD_BG3    = HexColor("#EEF7EE")   # light green      (tissue graspers)
COL_CARD_BG4    = HexColor("#FFF0F0")   # light pink       (obstetric)
COL_CARD_BG5    = HexColor("#F5F0FF")   # light purple     (towel clamp)
COL_ID_BG       = HexColor("#FFF3CD")   # pale yellow for ID points
COL_BORDER      = HexColor("#2E6DA4")
COL_MNEMONIC_BG = HexColor("#E8F4F8")
COL_ACCENT      = HexColor("#D9534F")   # red accent for key ID words
COL_BODY_TEXT   = HexColor("#1C1C1C")
COL_GRID        = HexColor("#BBCFE0")
COL_ALT_ROW     = HexColor("#F0F6FB")

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

def make_style(name, parent='Normal', **kwargs):
    return ParagraphStyle(name, parent=styles[parent], **kwargs)

title_style = make_style('DocTitle', fontSize=22, textColor=COL_HEADER_FG,
                         alignment=TA_CENTER, fontName='Helvetica-Bold',
                         spaceAfter=2)
subtitle_style = make_style('DocSubtitle', fontSize=11, textColor=HexColor("#BDD7EE"),
                             alignment=TA_CENTER, fontName='Helvetica')
sec_style = make_style('SectionHead', fontSize=13, textColor=COL_SEC_FG,
                       fontName='Helvetica-Bold', alignment=TA_CENTER,
                       spaceBefore=2, spaceAfter=2)
card_name_style = make_style('CardName', fontSize=10.5, textColor=COL_HEADER_BG,
                              fontName='Helvetica-Bold', spaceBefore=2, spaceAfter=1)
card_aka_style  = make_style('CardAka', fontSize=8, textColor=HexColor("#555555"),
                              fontName='Helvetica-Oblique', spaceAfter=2)
label_style     = make_style('Label', fontSize=7.5, textColor=HexColor("#444444"),
                              fontName='Helvetica-Bold', spaceBefore=1)
body_style      = make_style('Body', fontSize=7.5, textColor=COL_BODY_TEXT,
                              fontName='Helvetica', leading=10, spaceAfter=1)
bullet_style    = make_style('Bullet', fontSize=7.5, textColor=COL_BODY_TEXT,
                              fontName='Helvetica', leading=10,
                              leftIndent=8, firstLineIndent=-6, spaceAfter=0)
red_bullet_style= make_style('RedBullet', fontSize=7.5, textColor=COL_ACCENT,
                              fontName='Helvetica-Bold', leading=10,
                              leftIndent=8, firstLineIndent=-6, spaceAfter=0)
use_style       = make_style('Use', fontSize=7.5, textColor=HexColor("#1A5C1A"),
                              fontName='Helvetica', leading=10,
                              leftIndent=8, firstLineIndent=-6, spaceAfter=0)
table_hdr_style = make_style('TblHdr', fontSize=7, textColor=colors.white,
                              fontName='Helvetica-Bold', alignment=TA_CENTER)
table_body_style= make_style('TblBody', fontSize=6.5, textColor=COL_BODY_TEXT,
                              fontName='Helvetica', leading=9)
mnemonic_style  = make_style('Mnemonic', fontSize=8, textColor=HexColor("#1A3A5C"),
                              fontName='Helvetica-Bold', leading=11)
footer_style    = make_style('Footer', fontSize=6.5, textColor=HexColor("#888888"),
                              fontName='Helvetica', alignment=TA_CENTER)

# ── Helper: safe image ─────────────────────────────────────────────────────────
def safe_img(fname, width, height):
    path = IMG_DIR + fname
    if os.path.exists(path):
        try:
            img = RLImage(path, width=width, height=height)
            img.hAlign = 'CENTER'
            return img
        except Exception:
            pass
    return Paragraph(f"[{fname}]", body_style)

# ── Helper: coloured header band ───────────────────────────────────────────────
def section_band(title, bg=COL_SEC_BG):
    tbl = Table([[Paragraph(title, sec_style)]], colWidths=[175*mm])
    tbl.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), bg),
        ('TOPPADDING',    (0,0), (-1,-1), 4),
        ('BOTTOMPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING',   (0,0), (-1,-1), 8),
        ('RIGHTPADDING',  (0,0), (-1,-1), 8),
        ('ROUNDEDCORNERS', [4]),
    ]))
    return tbl

# ── Helper: forceps card ───────────────────────────────────────────────────────
def forceps_card(img_file, name, aka, id_points, uses, bg=COL_CARD_BG1, img_w=52*mm, img_h=30*mm):
    """
    Returns a Table representing one forceps card.
    Left column = image; Right column = name + ID + uses.
    """
    img_cell = [safe_img(img_file, img_w, img_h)]

    id_items = [Paragraph('<font color="#B8860B">★</font> ' + p, bullet_style) for p in id_points]
    use_items = [Paragraph('✓ ' + u, use_style) for u in uses]

    text_cell = (
        [Paragraph(name, card_name_style)] +
        ([Paragraph(f"Also: {aka}", card_aka_style)] if aka else []) +
        [Paragraph("KEY IDENTIFICATION:", label_style)] +
        id_items +
        [Spacer(1, 2)] +
        [Paragraph("SPECIFIC USES:", label_style)] +
        use_items
    )

    tbl = Table(
        [[img_cell, text_cell]],
        colWidths=[img_w + 4*mm, 175*mm - img_w - 4*mm - 4*mm],
        rowHeights=None
    )
    tbl.setStyle(TableStyle([
        ('BACKGROUND',    (0,0), (-1,-1), bg),
        ('VALIGN',        (0,0), (-1,-1), 'TOP'),
        ('ALIGN',         (0,0), (0,-1), 'CENTER'),
        ('TOPPADDING',    (0,0), (-1,-1), 5),
        ('BOTTOMPADDING', (0,0), (-1,-1), 5),
        ('LEFTPADDING',   (0,0), (0,-1), 4),
        ('RIGHTPADDING',  (0,0), (0,-1), 3),
        ('LEFTPADDING',   (1,0), (1,-1), 5),
        ('RIGHTPADDING',  (1,0), (1,-1), 5),
        ('BOX',           (0,0), (-1,-1), 0.6, COL_BORDER),
        ('LINEBELOW',     (0,0), (-1,-1), 0.3, COL_GRID),
        ('ROUNDEDCORNERS', [3]),
    ]))
    return tbl

# ── Data ───────────────────────────────────────────────────────────────────────
NON_LOCKING = [
    dict(
        img_file="debakey.jpg", name="DeBakey Forceps",
        aka="DeBakey Tissue Forceps",
        id_points=[
            "Long slender tips with fine PARALLEL longitudinal serrations (no teeth)",
            "Atraumatic — serrations grip without crushing",
            "Spring-tension handle (non-locking)",
            "Available 6–12 inches; tip inset shows 2 rows of fine ridges",
        ],
        uses=[
            "Vascular surgery — handling aorta, veins, arteries atraumatically",
            "Cardiac surgery — fragile cardiac tissue",
            "Bowel and intestinal anastomosis",
            "Any delicate tissue where crushing must be avoided",
        ],
        bg=COL_CARD_BG1,
    ),
    dict(
        img_file="adson.jpg", name="Adson Forceps",
        aka="Adson Tissue Forceps",
        id_points=[
            "Short (4.75 in), lightweight, with wider platform tip",
            "Available TOOTHED (1×2 rat-tooth) or SERRATED (smooth/atraumatic)",
            "Serrated grip ridges along handle body",
            "Smallest & most delicate of the standard thumb forceps",
        ],
        uses=[
            "Skin closure and suturing — holding skin edges precisely",
            "Plastic and reconstructive surgery",
            "Superficial/minor procedures requiring high precision",
            "Holding fine fascia during wound closure",
        ],
        bg=COL_CARD_BG1,
    ),
    dict(
        img_file="adson_brown.jpg", name="Adson-Brown Forceps",
        aka="Brown Forceps",
        id_points=[
            "Multiple FINE COMB-LIKE TEETH (9×9 configuration) at the tip",
            "Short lightweight body — similar to Adson but multi-tooth tip",
            "Tip inset shows row of many fine interlocking teeth",
        ],
        uses=[
            "Plastic surgery and skin grafting",
            "Delicate skin-edge holding without crushing",
            "Fine reconstructive procedures",
        ],
        bg=COL_CARD_BG1,
    ),
    dict(
        img_file="rat_tooth.jpg", name="Rat-Tooth Forceps (Tissue Forceps)",
        aka="Standard Tissue Forceps",
        id_points=[
            "Prominent SINGLE TOOTH interlocking with 2 teeth (1×2 pattern)",
            "Teeth are large and pointed — like 'rat teeth'",
            "Serrated grip platform on handle",
            "Available straight or angled",
        ],
        uses=[
            "General surgery — holding tough tissue (fascia, skin, periosteum)",
            "Orthopedic procedures requiring firm grip on dense tissue",
            "Wound closure when a strong secure grip is needed",
            "NOT for delicate or vascular tissue (traumatic)",
        ],
        bg=COL_CARD_BG1,
    ),
    dict(
        img_file="russian.jpg", name="Russian Tissue Forceps",
        aka="Russian Forceps",
        id_points=[
            "ROUND CUPPED / SPOON-SHAPED tip — immediately identifiable",
            "Scalloped serrated cup distributes pressure over wider area",
            "Wider jaw at tip than other thumb forceps",
            "Spring-tension non-locking handle",
        ],
        uses=[
            "Abdominal and pelvic surgery — peritoneum, bowel serosa, thick tissue",
            "Thoracic surgery",
            "Gynecological procedures",
            "Bowel work — cupped tip reduces point pressure",
        ],
        bg=COL_CARD_BG1,
    ),
    dict(
        img_file="ferris_smith.jpg", name="Ferris-Smith Forceps",
        aka="Bonney / Bickle Forceps",
        id_points=[
            "Heavy-duty thumb forceps with large 1×2 or 2×3 interlocking teeth",
            "Teeth are LARGER and more prominent than standard rat-tooth",
            "Wider, heavier body than Adson or standard tissue forceps",
        ],
        uses=[
            "Heavy tissue manipulation — fascia, periosteum, dense connective tissue",
            "General and gynecological surgery requiring powerful grip",
            "Holding tough fascial edges during abdominal closure",
        ],
        bg=COL_CARD_BG1,
    ),
    dict(
        img_file="gerald.jpg", name="Gerald Forceps",
        aka="Gerald Thumb Forceps",
        id_points=[
            "Very fine, narrow, delicate tips — miniaturised DeBakey profile",
            "Fine transverse serrations at distal tip",
            "Small overall profile; shorter than standard thumb forceps",
        ],
        uses=[
            "Cardiovascular and thoracic microsurgery",
            "Handling fine sutures and delicate vascular tissue",
            "Procedures requiring extreme precision under magnification",
        ],
        bg=COL_CARD_BG1,
    ),
]

HEMOSTATIC = [
    dict(
        img_file="mosquito.jpg", name="Halsted Mosquito Forceps",
        aka="Mosquito Clamp",
        id_points=[
            "SMALLEST hemostatic clamp (~5 in / 12.5 cm)",
            "Fine short jaws with FULL-LENGTH transverse serrations",
            "Ring handle + ratchet lock (1–3 clicks)",
            "Available STRAIGHT or CURVED (curved more common)",
        ],
        uses=[
            "Clamping tiny/fine blood vessels",
            "Tagging (holding) suture ends",
            "Subcutaneous tissue hemostasis",
            "Pediatric and microsurgical cases",
        ],
        bg=COL_CARD_BG2,
    ),
    dict(
        img_file="kelly.jpg", name="Kelly Forceps (Kelly Clamp)",
        aka="Kelly Hemostat",
        id_points=[
            "Medium size (5.5–6.25 in); ring handle + ratchet",
            "Jaws serrated on DISTAL HALF ONLY — key difference from Crile",
            "Heavier jaw than mosquito; straight or curved variants",
            "Tip inset: serrations stop halfway up the jaw",
        ],
        uses=[
            "Clamping medium-sized blood vessels",
            "Blunt dissection in soft tissue",
            "Grasping drains and tubes",
            "General hemostasis deeper than mosquito can reach",
        ],
        bg=COL_CARD_BG2,
    ),
    dict(
        img_file="crile.jpg", name="Crile Forceps (Hemostat / Snap)",
        aka="Crile Clamp",
        id_points=[
            "Similar size to Kelly (5.5–6.25 in)",
            "Jaws serrated FULL LENGTH — serrations run entire jaw (vs. Kelly = distal half only)",
            "Ring handle + ratchet; straight or curved",
            "Most commonly used 'snap' in general surgery",
        ],
        uses=[
            "Hemostasis of medium vessels",
            "Clamping bleeders in soft tissue",
            "Grasping tissue, packing, and drain placement",
        ],
        bg=COL_CARD_BG2,
    ),
    dict(
        img_file="pean.jpg", name="Rochester-Pean Forceps",
        aka="Pean Clamp",
        id_points=[
            "LARGE, HEAVY hemostatic clamp (6.25–9 in)",
            "Full-length transverse serrations on broad, long jaws",
            "Much heavier and longer than Kelly or Crile",
            "Ring handle + ratchet",
        ],
        uses=[
            "Clamping large vessels and thick tissue pedicles",
            "Hysterectomy (uterine pedicles)",
            "Bowel resections and major abdominal surgery",
        ],
        bg=COL_CARD_BG2,
    ),
    dict(
        img_file="tonsil.jpg", name="Tonsil Forceps (Schmidt Forceps)",
        aka="Schmidt / Schnidt Clamp",
        id_points=[
            "LONG CURVED NARROW TIP — hallmark feature",
            "Fine serrations throughout the curved jaw",
            "Ring handle + ratchet; tip curves sharply for deep cavities",
        ],
        uses=[
            "Tonsillectomy",
            "Packing gauze into throat or deep cavities",
            "Passing ties around vessels in deep narrow fields",
            "Nasopharyngeal procedures",
        ],
        bg=COL_CARD_BG2,
    ),
]

TISSUE_GRASPERS = [
    dict(
        img_file="allis.jpg", name="Allis Forceps (Allis Clamp)",
        aka="Allis Tissue Forceps",
        id_points=[
            "Multiple FINE INTERLOCKING TEETH at tip — small comb/serrated edge",
            "Teeth numerous and fine (unlike the single large rat-tooth)",
            "Ring handle + ratchet; typically 6–9 in",
        ],
        uses=[
            "Grasping fascia, breast tissue, and tough dense structures",
            "Holding tissue for excision or biopsy",
            "Bowel and gynecological surgery",
            "NOT for bowel serosa — traumatic grip",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="babcock.jpg", name="Babcock Forceps (Babcock Clamp)",
        aka="Babcock Tissue Forceps",
        id_points=[
            "TRIANGULAR OPEN-FENESTRATED (windowed) ROUNDED tip — most recognisable feature",
            "No teeth — jaws curve around tissue without penetrating",
            "Ring handle + ratchet; atraumatic despite being locking",
        ],
        uses=[
            "Holding fallopian tubes, bowel, and delicate viscera without perforation",
            "Appendectomy (holding the appendix)",
            "Thyroid surgery and laparoscopic-assist procedures",
            "Any hollow organ or tubular structure that must not be pierced",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="kocher.jpg", name="Kocher Forceps (Ochsner Forceps)",
        aka="Kocher Clamp / Ochsner Clamp",
        id_points=[
            "Full transverse serrations PLUS a SINGLE TERMINAL TOOTH (1×2) at jaw tip",
            "Combination of serrations + teeth is the KEY ID feature",
            "Ring handle + ratchet; robust heavyweight instrument",
        ],
        uses=[
            "Clamping thick fibrous tissue pedicles",
            "Thyroid surgery (clamping thyroid parenchyma)",
            "Hernia repair (holding fascial edges)",
            "Heavy hemostasis when strong grip needed on friable/fibrous tissue",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="right_angle.jpg", name="Right Angle Forceps",
        aka="Mixter / Gemini / Lahey Forceps",
        id_points=[
            "Jaws bent at 90° RIGHT ANGLE to shaft — defining feature",
            "Fine transverse serrations on curved jaw",
            "Ring handle + ratchet",
        ],
        uses=[
            "Passing ligatures (ties) around vessels and ducts",
            "Cholecystectomy — encircling cystic duct and artery",
            "Vascular surgery — passing vessel loops",
            "Dissection around tubular structures",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="pennington.jpg", name="Pennington Forceps (Duval Forceps)",
        aka="Pennington / Duval",
        id_points=[
            "TRIANGULAR OPEN-FENESTRATED tip with a POINTED apex",
            "Pointed triangular fenestration distinguishes it from Babcock (rounded)",
            "Ring handle + ratchet",
        ],
        uses=[
            "Rectal and colorectal surgery — grasping rectal mucosa and bowel",
            "Holding bowel edges during anastomosis",
            "Hemorrhoidectomy",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="foerster.jpg", name="Foerster Sponge Forceps",
        aka="Ring Forceps / Foerster Clamp",
        id_points=[
            "LARGE OVAL / CIRCULAR RING-SHAPED JAWS — both jaws form an open oval when closed",
            "Jaws may be serrated or smooth; large fenestrated oval tip is unmistakable",
            "Ring handle + ratchet",
        ],
        uses=[
            "Holding and applying sponges/swabs (wound packing)",
            "Cervical dilation and gynecological procedures (holding the cervix)",
            "Applying antiseptic prep (betadine/chlorhexidine) with gauze",
            "Sponge count maintenance in the operative field",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="tenaculum.jpg", name="Barrett Tenaculum Forceps",
        aka="Cervical Tenaculum",
        id_points=[
            "Curved SINGLE SHARP HOOK/TOOTH at the tip (tenaculum = hook)",
            "Long shaft with ring handle and ratchet",
            "Distinctive single-pronged curved point",
        ],
        uses=[
            "Grasping the cervix during gynecological procedures",
            "D&C, IUD insertion, hysteroscopy",
            "Uterine manipulation during surgical procedures",
        ],
        bg=COL_CARD_BG3,
    ),
    dict(
        img_file="backhaus.jpg", name="Backhaus Towel Clamp",
        aka="Backhaus Penetrating Towel Clamp",
        id_points=[
            "Sharp POINTED TIPS that penetrate drapes/towels",
            "Ring handle + ratchet; spring-lock design",
            "Smaller and lighter than tissue clamps",
        ],
        uses=[
            "Securing sterile drapes to the patient",
            "Holding towels around the operative field",
            "Sometimes used as a temporary skin clamp",
        ],
        bg=COL_CARD_BG5,
    ),
]

OBSTETRIC = [
    dict(
        img_file=None, name="Simpson Forceps",
        aka="Simpson Obstetric Forceps",
        id_points=[
            "Cephalic curve + pelvic curve present",
            "DIVERGENT SHANKS — shanks spread apart (do not overlap)",
            "Fenestrated (windowed) blades",
            "English lock (fixed pivot)",
        ],
        uses=[
            "Assisted vaginal delivery — fetal head engaged in occiput anterior (OA) position",
            "Most common forceps for straightforward operative vaginal delivery",
        ],
        bg=COL_CARD_BG4,
    ),
    dict(
        img_file=None, name="Kielland Forceps",
        aka="Kjelland Forceps",
        id_points=[
            "MINIMAL PELVIC CURVE — almost straight shanks (key distinguishing feature)",
            "SLIDING LOCK (not fixed English lock) — allows correction of asynclitism",
            "Near-straight design + sliding lock are diagnostic",
        ],
        uses=[
            "Rotational forceps delivery — rotating fetal head in transverse or OP position",
            "Deep transverse arrest of the fetal head",
        ],
        bg=COL_CARD_BG4,
    ),
]

# ── Summary table data ─────────────────────────────────────────────────────────
SUMMARY_ROWS = [
    # [Name, Type, Key ID, Primary Use]
    ["DeBakey", "Non-locking", "Parallel longitudinal serrations; no teeth", "Vascular / atraumatic tissue"],
    ["Adson", "Non-locking", "Short; 1×2 teeth or fine serrations; narrow tip", "Skin closure, suturing"],
    ["Adson-Brown", "Non-locking", "9×9 fine comb teeth at tip", "Plastic surgery, skin grafts"],
    ["Rat-Tooth", "Non-locking", "Prominent 1×2 interlocking teeth", "Fascia, tough tissue"],
    ["Russian", "Non-locking", "Round cupped/spoon-shaped tip", "Bowel, pelvic surgery"],
    ["Ferris-Smith", "Non-locking", "Heavy body + large 1×2 teeth", "Dense fascia, periosteum"],
    ["Gerald", "Non-locking", "Very fine narrow tips; miniature DeBakey", "Microsurgery, cardiothoracic"],
    ["Mosquito (Halsted)", "Hemostatic", "Smallest clamp; full serrations; tiny jaw", "Tiny vessel hemostasis"],
    ["Kelly", "Hemostatic", "Serrations on DISTAL HALF only", "Medium vessel hemostasis"],
    ["Crile", "Hemostatic", "Serrations FULL LENGTH", "General hemostasis"],
    ["Rochester-Pean", "Hemostatic", "Large heavy; full serrations", "Large vessel / pedicle clamping"],
    ["Tonsil (Schmidt)", "Hemostatic", "Long curved narrow tip", "Tonsillectomy, deep cavities"],
    ["Allis", "Tissue Grasper", "Multiple fine interlocking comb teeth", "Fascia, tough tissue biopsy"],
    ["Babcock", "Tissue Grasper", "Rounded open triangular fenestrated tip", "Bowel, fallopian tube, appendix"],
    ["Kocher (Ochsner)", "Tissue Grasper", "Serrations + terminal 1×2 tooth", "Fibrous tissue, thyroid"],
    ["Right Angle (Mixter)", "Tissue Grasper", "90° bent jaw", "Passing ligatures, cholecystectomy"],
    ["Pennington (Duval)", "Tissue Grasper", "Pointed triangular fenestrated tip", "Rectal / colorectal surgery"],
    ["Foerster Sponge", "Tissue Grasper", "Large oval ring-shaped jaws", "Sponge holding, cervix grasping"],
    ["Tenaculum (Barrett)", "Tissue Grasper", "Single curved sharp hook at tip", "Cervix grasping, gynecology"],
    ["Backhaus Towel Clamp", "Towel Clamp", "Sharp penetrating pointed tips", "Securing drapes"],
    ["Simpson", "Obstetric", "Divergent shanks; fenestrated blade; English lock", "OA position forceps delivery"],
    ["Kielland", "Obstetric", "Minimal pelvic curve; sliding lock", "Rotational forceps delivery"],
]

# ── Mnemonics ──────────────────────────────────────────────────────────────────
MNEMONICS = [
    ('Kelly = Half serrations', 'Serrations on only the DISTAL HALF of the jaw'),
    ('Crile = Complete serrations', 'FULL-LENGTH serrations — entire jaw'),
    ('Babcock = Bowel-safe', 'Rounded fenestrated tip — no teeth, no pierce'),
    ('Kocher = Toothy Kocher', 'Serrations PLUS a terminal tooth — unique combo'),
    ('Russian = Round cup', 'Cupped/spoon tip distributes pressure'),
    ('Right Angle = Pass a tie', 'The 90° bend is made for ligature passage'),
    ('Mosquito = Smallest', 'Tiniest hemostatic clamp for the tiniest vessels'),
    ('Pennington = Pointed triangle', 'vs. Babcock\'s ROUNDED triangle'),
]

# ── Build the PDF ──────────────────────────────────────────────────────────────
def build():
    doc = SimpleDocTemplate(
        OUT_PDF,
        pagesize=A4,
        leftMargin=17*mm, rightMargin=17*mm,
        topMargin=14*mm, bottomMargin=14*mm,
        title="Forceps Quick-Reference Card",
        author="Orris Medical Reference",
        subject="Surgical Forceps Identification & Uses"
    )

    story = []

    # ── Cover banner ──────────────────────────────────────────────────────────
    banner = Table(
        [[Paragraph("SURGICAL FORCEPS", title_style)],
         [Paragraph("Quick-Reference Identification Card", subtitle_style)],
         [Paragraph("Identification Points  •  Specific Uses  •  Mnemonics", subtitle_style)]],
        colWidths=[175*mm]
    )
    banner.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), COL_HEADER_BG),
        ('TOPPADDING',    (0,0), (-1,-1), 8),
        ('BOTTOMPADDING', (0,0), (-1,-1), 8),
        ('LEFTPADDING',   (0,0), (-1,-1), 10),
        ('RIGHTPADDING',  (0,0), (-1,-1), 10),
    ]))
    story.append(banner)
    story.append(Spacer(1, 6))

    # ── Section helper ────────────────────────────────────────────────────────
    def add_section(title, cards, bg):
        story.append(section_band(title, bg))
        story.append(Spacer(1, 3))
        for card in cards:
            fn = card.get('img_file')
            c = forceps_card(
                img_file=fn if fn else "",
                name=card['name'],
                aka=card.get('aka', ''),
                id_points=card['id_points'],
                uses=card['uses'],
                bg=card.get('bg', COL_CARD_BG1),
                img_w=54*mm,
                img_h=32*mm,
            )
            story.append(KeepTogether([c, Spacer(1, 3)]))

    add_section("SECTION 1 — NON-LOCKING (THUMB / PICK-UP) FORCEPS", NON_LOCKING, COL_HEADER_BG)
    story.append(Spacer(1, 4))
    add_section("SECTION 2 — LOCKING HEMOSTATIC CLAMPS", HEMOSTATIC, HexColor("#8B4513"))
    story.append(Spacer(1, 4))
    add_section("SECTION 3 — LOCKING TISSUE GRASPERS (SPECIAL)", TISSUE_GRASPERS, HexColor("#2E7D32"))
    story.append(Spacer(1, 4))
    add_section("SECTION 4 — OBSTETRIC FORCEPS", OBSTETRIC, HexColor("#880E4F"))

    # ── Summary table ─────────────────────────────────────────────────────────
    story.append(PageBreak())
    story.append(section_band("QUICK-REFERENCE SUMMARY TABLE", COL_HEADER_BG))
    story.append(Spacer(1, 5))

    hdr = [Paragraph(h, table_hdr_style) for h in ["Forceps", "Type", "Key ID Feature", "Primary Use"]]
    tbl_data = [hdr]
    for i, row in enumerate(SUMMARY_ROWS):
        tbl_data.append([Paragraph(row[j], table_body_style) for j in range(4)])

    col_w = [38*mm, 28*mm, 65*mm, 44*mm]
    sum_tbl = Table(tbl_data, colWidths=col_w, repeatRows=1)
    ts = TableStyle([
        ('BACKGROUND',    (0,0),  (-1,0),   COL_HEADER_BG),
        ('TEXTCOLOR',     (0,0),  (-1,0),   colors.white),
        ('FONTNAME',      (0,0),  (-1,0),   'Helvetica-Bold'),
        ('FONTSIZE',      (0,0),  (-1,0),   8),
        ('ALIGN',         (0,0),  (-1,-1),  'LEFT'),
        ('VALIGN',        (0,0),  (-1,-1),  'TOP'),
        ('TOPPADDING',    (0,0),  (-1,-1),  3),
        ('BOTTOMPADDING', (0,0),  (-1,-1),  3),
        ('LEFTPADDING',   (0,0),  (-1,-1),  4),
        ('RIGHTPADDING',  (0,0),  (-1,-1),  4),
        ('GRID',          (0,0),  (-1,-1),  0.4, COL_GRID),
        ('LINEBELOW',     (0,0),  (-1,0),   1.2, COL_HEADER_BG),
    ])
    for i in range(1, len(tbl_data)):
        bg = COL_ALT_ROW if i % 2 == 0 else colors.white
        ts.add('BACKGROUND', (0,i), (-1,i), bg)
    sum_tbl.setStyle(ts)
    story.append(sum_tbl)

    # ── Mnemonics box ─────────────────────────────────────────────────────────
    story.append(Spacer(1, 10))
    story.append(section_band("MEMORY MNEMONICS", HexColor("#5B2C6F")))
    story.append(Spacer(1, 4))

    mnem_rows = []
    for key, detail in MNEMONICS:
        mnem_rows.append([
            Paragraph(f'<b>"{key}"</b>', mnemonic_style),
            Paragraph(detail, body_style)
        ])
    mnem_tbl = Table(mnem_rows, colWidths=[72*mm, 103*mm])
    mnem_tbl.setStyle(TableStyle([
        ('BACKGROUND',    (0,0), (-1,-1), COL_MNEMONIC_BG),
        ('TOPPADDING',    (0,0), (-1,-1), 4),
        ('BOTTOMPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING',   (0,0), (-1,-1), 6),
        ('RIGHTPADDING',  (0,0), (-1,-1), 6),
        ('VALIGN',        (0,0), (-1,-1), 'MIDDLE'),
        ('GRID',          (0,0), (-1,-1), 0.4, COL_GRID),
        ('LINEAFTER',     (0,0), (0,-1), 1.0, COL_BORDER),
        ('BOX',           (0,0), (-1,-1), 0.8, COL_BORDER),
    ]))
    for i in range(len(mnem_rows)):
        if i % 2 == 0:
            mnem_tbl.setStyle(TableStyle([('BACKGROUND', (0,i), (-1,i), HexColor("#D6EAF8"))]))
    story.append(mnem_tbl)

    # ── Footer note ───────────────────────────────────────────────────────────
    story.append(Spacer(1, 8))
    story.append(HRFlowable(width="100%", thickness=0.5, color=COL_GRID))
    story.append(Spacer(1, 3))
    story.append(Paragraph(
        "Images courtesy of The Operative Review of Surgery (operativereview.com) • "
        "Content compiled from Fischer's Mastery of Surgery 8e, Pfenninger & Fowler's Procedures for Primary Care 3e, and clinical references • "
        "For educational use only — always verify with current clinical guidelines",
        footer_style
    ))

    doc.build(story)
    print(f"PDF generated: {OUT_PDF}")

build()
Running Command

python3 /tmp/workspace/forceps-ref/build_pdf.py 2>&1

Editing File

~/forceps-ref/build_pdf.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/forceps-ref/build_pdf.py'
Running Command

python3 /tmp/workspace/forceps-ref/build_pdf.py 2>&1

Running Command

python3 -c " from pypdf import PdfReader r = PdfReader('/tmp/workspace/forceps-ref/Forceps_Quick_Reference_Card.pdf') print(f'Pages: {len(r.pages)}') import os size = os.path.getsize('/tmp/workspace/forceps-ref/Forceps_Quick_Reference_Card.pdf') print(f'File size: {size/1024:.1f} KB') "

Your PDF is ready!

Forceps Quick Reference Card

PDF Document · PDF

What's inside (6 pages, 357 KB):
SectionContent
Section 17 Non-locking thumb forceps (DeBakey, Adson, Adson-Brown, Rat-Tooth, Russian, Ferris-Smith, Gerald)
Section 25 Hemostatic clamps (Mosquito, Kelly, Crile, Pean, Tonsil/Schmidt)
Section 38 Locking tissue graspers (Allis, Babcock, Kocher, Right Angle, Pennington, Foerster, Tenaculum, Backhaus)
Section 42 Obstetric forceps (Simpson, Kielland)
Summary pageFull 22-row quick-reference table
Mnemonics box8 key memory mnemonics (Kelly = Half, Crile = Complete, Babcock = Bowel-safe, etc.)
Each card includes the actual instrument photograph, starred identification points in amber, and use items in green - colour-coded by forceps category for fast visual scanning.

All forceps with image, identification points and specific use

Here is the complete reference — all major surgical forceps with images, identification points, and specific uses.

SURGICAL FORCEPS — Complete Reference


SECTION 1 — NON-LOCKING (THUMB / PICK-UP) FORCEPS

Spring-loaded, tweezer-style. No ratchet. Held between thumb and fingers.

1. DeBakey Forceps

DeBakey Forceps
Identification Points:
  • Long slender tips with fine parallel longitudinal serrations - no teeth
  • Atraumatic jaw - serrations grip without crushing
  • Spring-tension handle (non-locking)
  • Available 6-12 inches; tip inset shows 2 rows of fine parallel ridges
Specific Uses:
  • Vascular surgery - atraumatic handling of aorta, veins, arteries
  • Cardiac surgery - handling fragile cardiac tissue
  • Bowel and intestinal anastomosis
  • Any delicate tissue where crushing must be avoided

2. Adson Forceps

Adson Forceps
Identification Points:
  • Short (4.75 in), lightweight, with slightly wider platform tip
  • Available toothed (1×2 rat-tooth pattern) or smooth/serrated (atraumatic Adson)
  • Serrated grip ridges along handle body
  • Smallest and most delicate of standard thumb forceps
Specific Uses:
  • Skin closure and suturing - holding skin edges precisely
  • Plastic and reconstructive surgery
  • Superficial and minor procedures requiring high precision
  • Holding fine fascia during wound closure

3. Adson-Brown Forceps

Adson-Brown Forceps
Identification Points:
  • Multiple fine comb-like teeth (9×9 configuration) at the tip
  • Short lightweight body - same size as Adson but multi-tooth tip
  • Tip inset shows row of many fine interlocking teeth
Specific Uses:
  • Plastic surgery and skin grafting
  • Delicate skin-edge holding without crushing
  • Fine reconstructive procedures

4. Rat-Tooth Forceps (Tissue Forceps)

Rat-Tooth Forceps
Identification Points:
  • Single large tooth interlocking with 2 teeth (1×2 pattern) - prominent "rat teeth"
  • Serrated grip platform on handle
  • Available straight or angled
  • Teeth are large, pointed, and easily visible
Specific Uses:
  • General surgery - holding tough tissue (fascia, skin, periosteum)
  • Orthopedic procedures requiring firm grip on dense tissue
  • Wound closure when a strong, secure grip is needed
  • NOT for delicate or vascular tissue (traumatic instrument)

5. Russian Tissue Forceps

Russian Forceps
Identification Points:
  • Round cupped / spoon-shaped tip - the most immediately identifiable feature
  • Scalloped serrated cup distributes pressure over a wider area
  • Wider jaw at tip than all other standard thumb forceps
  • Spring-tension non-locking handle
Specific Uses:
  • Abdominal and pelvic surgery - peritoneum, bowel serosa, thick tissue
  • Thoracic surgery
  • Gynecological procedures
  • Preferred for bowel work as cupped tip reduces point pressure

6. Ferris-Smith Forceps

Ferris-Smith Forceps
Identification Points:
  • Heavy-duty thumb forceps with large 1×2 or 2×3 interlocking teeth
  • Teeth are LARGER and more prominent than standard rat-tooth forceps
  • Wider, heavier body than Adson or standard tissue forceps
Specific Uses:
  • Heavy tissue manipulation - fascia, periosteum, dense connective tissue
  • General and gynecological surgery requiring a powerful grip
  • Holding tough fascial edges during abdominal closure

7. Gerald Forceps

Gerald Forceps
Identification Points:
  • Very fine, narrow, delicate tips - a miniaturised DeBakey profile
  • Fine transverse serrations at the distal tip
  • Small overall profile; shorter and narrower than standard thumb forceps
Specific Uses:
  • Cardiovascular and thoracic microsurgery
  • Handling fine sutures and delicate vascular tissue
  • Procedures requiring extreme precision under magnification

SECTION 2 — LOCKING HEMOSTATIC CLAMPS

Ring handles, box-joint hinge, ratchet lock (1-3 clicks). Used to clamp vessels and control bleeding.

8. Halsted Mosquito Forceps

Mosquito Forceps
Identification Points:
  • Smallest hemostatic clamp (~5 in / 12.5 cm)
  • Fine short jaws with full-length transverse serrations
  • Ring handle + ratchet lock
  • Available straight or curved (curved most common)
  • "Mosquito" refers to its tiny size - for tiny vessels
Specific Uses:
  • Clamping small/fine blood vessels
  • Tagging (holding) suture ends
  • Subcutaneous tissue hemostasis
  • Pediatric and microsurgical cases

9. Kelly Forceps

Kelly Forceps
Identification Points:
  • Medium size (5.5-6.25 in); ring handle + ratchet
  • Jaws serrated on distal half only - KEY difference from Crile
  • Heavier jaw than mosquito; straight or curved variants
Specific Uses:
  • Clamping medium-sized blood vessels
  • Blunt dissection in soft tissue
  • Grasping drains and tubes
  • General hemostasis deeper than mosquito can handle

10. Crile Forceps (Hemostat / "Snap")

Crile Hemostat
Identification Points:
  • Similar size to Kelly (5.5-6.25 in)
  • Jaws serrated full length - serrations run the entire jaw (vs. Kelly = distal half only)
  • Ring handle + ratchet; straight or curved
  • Most commonly used "snap" clamp in general surgery
Specific Uses:
  • Hemostasis of medium vessels
  • Clamping bleeders in soft tissue
  • Grasping tissue, packing, and drain placement

11. Rochester-Pean Forceps

Rochester-Pean Forceps
Identification Points:
  • Large, heavy hemostatic clamp (6.25-9 in)
  • Full-length transverse serrations on broad, long jaws
  • Much heavier and longer than Kelly or Crile
  • Ring handle + ratchet
Specific Uses:
  • Clamping large vessels and thick tissue pedicles
  • Hysterectomy (uterine pedicles)
  • Bowel resections and major abdominal surgery

12. Tonsil Forceps (Schmidt Forceps)

Tonsil Forceps
Identification Points:
  • Long, curved narrow tip - the hallmark feature
  • Fine serrations throughout the curved jaw
  • Ring handle + ratchet; tip curves sharply for reaching deep cavities
Specific Uses:
  • Tonsillectomy
  • Packing gauze into throat or deep cavities
  • Passing ties around vessels in deep narrow fields
  • Nasopharyngeal and ENT procedures

SECTION 3 — LOCKING TISSUE GRASPERS (SPECIAL CLAMPS)


13. Allis Forceps

Allis Forceps
Identification Points:
  • Multiple fine interlocking teeth at the tip - like a small comb or serrated edge
  • Teeth are numerous and fine (unlike the single large rat-tooth)
  • Ring handle + ratchet; typically 6-9 in
Specific Uses:
  • Grasping fascia, breast tissue, and tough dense structures
  • Holding tissue for excision or biopsy
  • Bowel and gynecological surgery
  • NOT for bowel serosa - traumatic grip

14. Babcock Forceps

Babcock Forceps
Identification Points:
  • Triangular, open-fenestrated (windowed) rounded tip - the most recognisable feature
  • No teeth - jaws curve around tissue without penetrating
  • Ring handle + ratchet; atraumatic despite being a locking clamp
Specific Uses:
  • Holding fallopian tubes, bowel, and delicate viscera without perforation
  • Appendectomy (holding the appendix)
  • Thyroid surgery
  • Any hollow organ or tubular structure that must not be pierced

15. Kocher Forceps (Ochsner Forceps)

Kocher Forceps
Identification Points:
  • Full transverse serrations plus a single terminal tooth (1×2) at the jaw tip
  • Combination of serrations + teeth is the KEY identification feature
  • Ring handle + ratchet; robust, heavyweight instrument
Specific Uses:
  • Clamping thick, fibrous tissue pedicles
  • Thyroid surgery (clamping thyroid parenchyma)
  • Hernia repair (holding fascial edges)
  • Heavy hemostasis when a strong grip is needed on friable or fibrous tissue

16. Right Angle Forceps (Mixter / Gemini / Lahey)

Right Angle Forceps
Identification Points:
  • Jaws bent at a 90-degree right angle to the shaft - the defining feature
  • Fine transverse serrations on the curved jaw
  • Ring handle + ratchet
Specific Uses:
  • Passing ligatures (ties) around vessels and ducts
  • Cholecystectomy - encircling the cystic duct and artery
  • Vascular surgery - passing vessel loops
  • Dissection and suture passage around tubular structures

17. Pennington Forceps (Duval Forceps)

Pennington Forceps
Identification Points:
  • Triangular, open-fenestrated tip with a pointed triangular apex
  • Pointed triangular fenestration distinguishes it from Babcock (which is rounded)
  • Ring handle + ratchet
Specific Uses:
  • Rectal and colorectal surgery - grasping rectal mucosa and bowel
  • Holding bowel edges during anastomosis
  • Hemorrhoidectomy

18. Foerster Sponge Forceps

Foerster Sponge Forceps
Identification Points:
  • Large oval / circular ring-shaped jaws - both jaws form an open oval when closed
  • Jaws may be serrated or smooth
  • Large fenestrated oval tip is unmistakable
  • Ring handle + ratchet
Specific Uses:
  • Holding and applying sponges/swabs (wound packing)
  • Cervical dilation and gynecological procedures (grasping the cervix)
  • Applying antiseptic prep with gauze
  • Sponge count maintenance in the operative field

19. Barrett Tenaculum Forceps

Barrett Tenaculum
Identification Points:
  • Curved single sharp hook/tooth at the tip (tenaculum = hook)
  • Long shaft with ring handle and ratchet
  • Distinctive single-pronged curved point at tip
Specific Uses:
  • Grasping the cervix during gynecological procedures
  • D&C, IUD insertion, hysteroscopy
  • Uterine manipulation during surgical procedures

20. Backhaus Towel Clamp

Backhaus Towel Clamp
Identification Points:
  • Sharp penetrating pointed tips that pierce drapes and towels
  • Ring handle + spring-lock ratchet design
  • Smaller and lighter than tissue clamps
Specific Uses:
  • Securing sterile drapes to the patient
  • Holding surgical towels around the operative field
  • Sometimes used as a temporary skin clamp

SECTION 4 — OBSTETRIC FORCEPS

Used to assist vaginal delivery.

21. Simpson Forceps

Identification Points:
  • Cephalic curve + pelvic curve both present
  • Divergent shanks - shanks spread apart and do not cross or overlap
  • Fenestrated (windowed) blades
  • Fixed English lock (pivot)
Specific Uses:
  • Assisted vaginal delivery when fetal head is engaged in occiput anterior (OA) position
  • Most common obstetric forceps for straightforward operative vaginal delivery

22. Kielland Forceps

Identification Points:
  • Minimal pelvic curve - shanks are nearly straight (key distinguishing feature)
  • Sliding lock (not a fixed English lock) - allows correction of asynclitism
  • Near-straight design + sliding lock together are diagnostic
Specific Uses:
  • Rotational forceps delivery - rotating fetal head from transverse or occiput posterior (OP) position
  • Deep transverse arrest of the fetal head

QUICK SUMMARY TABLE

ForcepsTypeKey ID FeaturePrimary Use
DeBakeyNon-lockingParallel longitudinal serrations; no teethVascular / atraumatic tissue
AdsonNon-lockingShort; 1×2 teeth or fine serrationsSkin closure, suturing
Adson-BrownNon-locking9×9 fine comb teeth at tipPlastic surgery, skin grafts
Rat-ToothNon-lockingProminent 1×2 interlocking teethFascia, tough tissue
RussianNon-lockingRound cupped/spoon-shaped tipBowel, pelvic surgery
Ferris-SmithNon-lockingHeavy body + large 1×2 teethDense fascia, periosteum
GeraldNon-lockingVery fine narrow miniature tipsMicrosurgery, cardiothoracic
Mosquito (Halsted)HemostaticSmallest clamp; full serrationsTiny vessel hemostasis
KellyHemostaticSerrations on distal half onlyMedium vessel hemostasis
CrileHemostaticSerrations full lengthGeneral hemostasis
Rochester-PeanHemostaticLarge heavy; full serrationsLarge vessel / pedicle clamping
Tonsil (Schmidt)HemostaticLong curved narrow tipTonsillectomy, deep cavities
AllisTissue GrasperMultiple fine interlocking comb teethFascia, tough tissue biopsy
BabcockTissue GrasperRounded open triangular fenestrated tipBowel, fallopian tube, appendix
Kocher (Ochsner)Tissue GrasperSerrations + terminal 1×2 toothFibrous tissue, thyroid
Right Angle (Mixter)Tissue Grasper90° bent jawPassing ligatures, cholecystectomy
Pennington (Duval)Tissue GrasperPointed triangular fenestrated tipRectal / colorectal surgery
Foerster SpongeTissue GrasperLarge oval ring-shaped jawsSponge holding, cervix grasping
Tenaculum (Barrett)Tissue GrasperSingle curved sharp hook at tipCervix grasping, gynecology
BackhausTowel ClampSharp penetrating pointed tipsSecuring drapes
SimpsonObstetricDivergent shanks; English lockOA position forceps delivery
KiellandObstetricMinimal pelvic curve; sliding lockRotational forceps delivery

KEY MNEMONICS

MnemonicMeaning
"Kelly = Half serrations"Serrations on the distal HALF of the jaw only
"Crile = Complete serrations"FULL-LENGTH serrations - entire jaw
"Babcock = Bowel-safe"Rounded fenestrated tip; no teeth; no pierce
"Kocher = Toothy Kocher"Serrations PLUS a terminal tooth - unique combination
"Russian = Round cup"Cupped/spoon tip distributes pressure
"Right Angle = Pass a tie"90° bend designed for ligature passage around structures
"Mosquito = Smallest"Tiniest hemostatic clamp for the tiniest vessels
"Pennington = Pointed triangle"vs. Babcock's ROUNDED triangle

Also see the downloadable PDF reference card from the previous session:

Forceps Quick Reference Card

PDF Document · PDF

This is a shared conversation. Sign in to Orris to start your own chat.