abnormalities of would repair

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
I now have comprehensive information from multiple textbooks. Let me compile the full answer.

Abnormalities of Wound Repair

Wound repair can go wrong in two broad directions: deficient healing (the wound fails to heal adequately) and excessive healing (too much scar tissue forms). Both have distinct mechanisms and clinical consequences.

A. Deficient/Impaired Wound Healing

1. Delayed vs. Impaired Healing (Schwartz's classification)

Schwartz's distinguishes two patterns of abnormal healing:
  • Delayed healing - wound-breaking strength is initially lower than normal, but the wound eventually achieves the same mechanical integrity. Caused by nutritional deficiency, infection, or severe trauma - all reversible.
  • Impaired (chronic) healing - the wound never achieves mechanical strength equivalent to normally healed wounds. Seen in diabetes, chronic steroid use, and radiation-damaged tissue.
A fully healed wound achieves only 75-80% of normal tissue strength even under ideal conditions. - Schwartz's Principles of Surgery, 11th ed.

2. Systemic Factors That Impair Healing

FactorMechanism
Diabetes mellitusDefective keratinocyte function, impaired epithelialization, poor leukocyte function, microvascular disease
MalnutritionLack of substrate for collagen synthesis, protein deficiency, electrolyte abnormalities
Hypoxia / HypoperfusionCollagen hydroxylation requires oxygen as cofactor; fibroplasia is severely impaired
Anemia (profound, <15% hematocrit)Reduced oxygen delivery; mild-moderate anemia does NOT significantly impair healing
Advanced ageDelay of ~1.9 days in epithelialization; decreased non-collagenous protein accumulation; no major impairment of collagen synthesis itself
Glucocorticoids (chronic/high dose)Inhibit inflammation phase (neutrophil/macrophage migration, angiogenesis), reduce fibroblast proliferation, reduce collagen synthesis; vitamin A can partially reverse this
Chemotherapeutic drugsInhibit early cell proliferation, DNA/protein synthesis
ImmunosuppressionHigher infection rates, failure of inflammatory phase
SmokingReduced tissue oxygenation, prolongs inflammatory phase, impairs reparative cell function
Schwartz's Principles of Surgery, 11th ed.; Sabiston Textbook of Surgery

3. Local Factors That Impair Healing

  • Infection / wound contamination - prolongs inflammation, causes tissue destruction
  • Foreign bodies - perpetuate inflammation, prevent closure
  • Excessive wound tension - leads to widened, thin, depressed scars or wound dehiscence
  • Vascular insufficiency - arterial or venous; prevents adequate oxygen/nutrient delivery
  • Radiation damage - endarteritis obliterans in irradiated tissue; severely impairs all phases
  • Wound desiccation - dry environment slows epithelialization

4. Specific Complications of Deficient Healing

a. Wound Dehiscence

  • Separation of wound edges, most often abdominal wounds
  • Risk factors: infection, obesity, malnutrition, steroid use, poor surgical technique
  • Evisceration (extrusion of abdominal contents) is a surgical emergency

b. Chronic Non-Healing Wounds / Ulcers

  • Defined as failure to heal after 4 weeks of treatment
  • Pathogenesis: trapped in a chronic inflammatory state; elevated proteases destroy growth factors and matrix components
  • Examples: diabetic foot ulcers, venous leg ulcers, pressure ulcers (decubitus), ischemic ulcers
  • Characterized by elevated MMP levels, senescent fibroblasts, and decreased growth factor availability

c. Over-Granulation ("Proud Flesh")

  • Wound populated by unstable, highly vascular granulation tissue
  • Fragile and prone to intermittent bleeding
  • Treatment: topical silver nitrate, topical corticosteroid, or formal excision - Bailey and Love's Short Practice of Surgery, 28th ed.

d. Fistula Formation

  • Abnormal epithelialized tract connecting two epithelial surfaces
  • Occurs when wound healing is diverted by foreign material, infection, or distal obstruction

B. Excessive / Aberrant Healing

1. Hypertrophic Scars

  • Raised, red, firm scar that remains within the boundaries of the original wound
  • Caused by persistent mechanical tension and stimulatory growth factors (especially TGF-β)
  • Reversible when stimuli are removed
  • Molecular changes: elevated collagen synthesis, decreased collagen degradation; decreased MMP-1 (collagenase) and MMP-9, elevated MMP-2
  • Common in burn wounds and wounds under tension (perpendicular to Langer lines)
  • Treatment: pressure garments, intralesional triamcinolone (10-40 mg/mL every 2-4 weeks), silicone sheets, surgical revision after 1 year

2. Keloids

  • Scar tissue that extends beyond the original wound borders - the key distinguishing feature from hypertrophic scars
  • Can be locally destructive and debilitating
  • Genetically predisposed - more common in darker skin types (Fitzpatrick type IV-VI)
  • Predilection for: earlobes, face, deltoid area, presternal region
  • May arise months after the original injury
  • Mechanism: TGF-β switches on an irreversible proliferative state; collagen synthesis elevated with low degradation
  • Treatment is more resistant: repeated excision + adjuvant radiotherapy, intralesional steroids, laser therapy - Bailey and Love's; Sabiston Textbook of Surgery

Key Differences: Hypertrophic Scar vs. Keloid

FeatureHypertrophic ScarKeloid
BoundariesWithin wound marginsExtends beyond wound margins
OnsetWeeks after injuryMonths after injury
RegressionMay regress spontaneouslyRarely regresses
Genetic predispositionLess prominentStrong (dark skin types)
Preferred sitesBurns, areas of tensionEarlobes, presternal, deltoid
Response to treatmentGoodResistant, high recurrence

3. Scar Contracture

  • Abnormal shortening of immature scar tissue causing functional impairment
  • Especially problematic over joints (flexion contracture) or the neck
  • Results from excess myofibroblast activity and poorly organized collagen
  • Treatment: Z-plasty, skin grafting, or flap coverage to release tension and restore function - Sabiston Textbook of Surgery

4. Pyogenic Granuloma

  • Benign proliferation of capillary blood vessels following a traumatic wound
  • Presents as a painless red fleshy nodule growing rapidly over weeks with intermittent bleeding
  • Not a true granuloma - a misnomer
  • Treatment: topical silver nitrate or surgical excision - Bailey and Love's, 28th ed.

5. Marjolin's Ulcer

  • Rare but aggressive squamous cell carcinoma arising in a chronic wound (pressure sore, burn, osteomyelitis)
  • Develops due to chronic inflammatory environment driving malignant transformation
  • High propensity for distant metastasis (behaves more aggressively than de novo SCC)
  • Key point: any chronic wound with sudden phenotypic change (rapid growth, change in appearance) requires early biopsy - Bailey and Love's Short Practice of Surgery, 28th ed.

6. Heritable Connective Tissue Disorders Affecting Wound Repair

  • Ehlers-Danlos Syndrome - fragile, hyperextensible skin; poor wound healing due to defective collagen cross-linking
  • Osteogenesis Imperfecta - defective type I collagen
  • Epidermolysis Bullosa - fragile skin that blisters easily; wounds heal with scarring
  • Acrodermatitis Enteropathica - zinc deficiency; zinc is a cofactor for multiple enzymes involved in healing - Schwartz's Principles of Surgery, 11th ed.

Summary Table

AbnormalityCategoryKey Feature
Wound dehiscenceDeficientWound edges separate
Chronic ulcerDeficientNo healing >4 weeks
Over-granulationDeficientExuberant granulation tissue
Hypertrophic scarExcessiveWithin wound margins, reversible
KeloidExcessiveExtends beyond wound, irreversible
Scar contractureExcessiveFunctional impairment over joints
Pyogenic granulomaAberrantVascular nodule, bleeds easily
Marjolin's ulcerMalignant transformationSCC in chronic wound

make a pdf

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace does not exist"

Writing File

~/wound-repair/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY

OUTPUT = "/home/daytona/workspace/wound-repair/Abnormalities_of_Wound_Repair.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2.2*cm, bottomMargin=2.2*cm,
    title="Abnormalities of Wound Repair",
    author="Orris Medical"
)

styles = getSampleStyleSheet()

# Custom styles
DEEP_BLUE  = colors.HexColor("#1a3a5c")
MID_BLUE   = colors.HexColor("#2e6da4")
LIGHT_BLUE = colors.HexColor("#d6e8f7")
ACCENT_RED = colors.HexColor("#b83232")
LIGHT_GREY = colors.HexColor("#f4f4f4")
TABLE_HEADER_BG = colors.HexColor("#2e6da4")
TABLE_ALT = colors.HexColor("#eaf3fb")

title_style = ParagraphStyle(
    "DocTitle", parent=styles["Title"],
    fontSize=22, textColor=DEEP_BLUE, spaceAfter=4,
    fontName="Helvetica-Bold", alignment=TA_CENTER
)
subtitle_style = ParagraphStyle(
    "DocSubtitle", parent=styles["Normal"],
    fontSize=11, textColor=MID_BLUE, spaceAfter=16,
    fontName="Helvetica", alignment=TA_CENTER
)
h1_style = ParagraphStyle(
    "H1", parent=styles["Heading1"],
    fontSize=14, textColor=colors.white, spaceAfter=6, spaceBefore=10,
    fontName="Helvetica-Bold", backColor=DEEP_BLUE,
    leftIndent=-0.5*cm, rightIndent=-0.5*cm,
    borderPad=6
)
h2_style = ParagraphStyle(
    "H2", parent=styles["Heading2"],
    fontSize=12, textColor=DEEP_BLUE, spaceAfter=4, spaceBefore=10,
    fontName="Helvetica-Bold", borderPad=3,
    borderColor=MID_BLUE, leftIndent=0
)
h3_style = ParagraphStyle(
    "H3", parent=styles["Heading3"],
    fontSize=10.5, textColor=MID_BLUE, spaceAfter=2, spaceBefore=6,
    fontName="Helvetica-Bold"
)
body_style = ParagraphStyle(
    "Body", parent=styles["Normal"],
    fontSize=9.5, leading=14, spaceAfter=5,
    fontName="Helvetica", alignment=TA_JUSTIFY, textColor=colors.HexColor("#222222")
)
bullet_style = ParagraphStyle(
    "Bullet", parent=body_style,
    leftIndent=14, bulletIndent=4, spaceAfter=3,
    bulletText="\u2022"
)
caption_style = ParagraphStyle(
    "Caption", parent=body_style,
    fontSize=8, textColor=colors.grey, alignment=TA_CENTER, spaceAfter=2
)
note_style = ParagraphStyle(
    "Note", parent=body_style,
    fontSize=8.5, textColor=colors.HexColor("#555555"),
    backColor=LIGHT_BLUE, borderPad=5, leftIndent=6
)

def h1(text):
    return Paragraph(f"&nbsp;&nbsp;{text}", h1_style)

def h2(text):
    return Paragraph(text, h2_style)

def h3(text):
    return Paragraph(text, h3_style)

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

def bullet(text):
    return Paragraph(f"<bullet>&bull;</bullet>{text}", bullet_style)

def note(text):
    return Paragraph(text, note_style)

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

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

def make_table(headers, rows, col_widths=None):
    data = [headers] + rows
    if col_widths is None:
        col_widths = [doc.width / len(headers)] * len(headers)
    style = TableStyle([
        ("BACKGROUND", (0, 0), (-1, 0), TABLE_HEADER_BG),
        ("TEXTCOLOR", (0, 0), (-1, 0), colors.white),
        ("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"),
        ("FONTSIZE", (0, 0), (-1, 0), 9),
        ("FONTNAME", (0, 1), (-1, -1), "Helvetica"),
        ("FONTSIZE", (0, 1), (-1, -1), 8.5),
        ("ROWBACKGROUNDS", (0, 1), (-1, -1), [colors.white, TABLE_ALT]),
        ("GRID", (0, 0), (-1, -1), 0.4, colors.HexColor("#aacde8")),
        ("VALIGN", (0, 0), (-1, -1), "MIDDLE"),
        ("TOPPADDING", (0, 0), (-1, -1), 5),
        ("BOTTOMPADDING", (0, 0), (-1, -1), 5),
        ("LEFTPADDING", (0, 0), (-1, -1), 6),
        ("RIGHTPADDING", (0, 0), (-1, -1), 6),
    ])
    tbl = Table(data, colWidths=col_widths, repeatRows=1)
    tbl.setStyle(style)
    return tbl

# ─── Build story ────────────────────────────────────────────────────────────
story = []

# Title block
story.append(spacer(8))
story.append(Paragraph("Abnormalities of Wound Repair", title_style))
story.append(Paragraph("A Clinical & Pathological Overview", subtitle_style))
story.append(hr())
story.append(spacer(4))

story.append(body(
    "Wound repair can deviate in two major directions: <b>deficient healing</b> (inadequate repair) "
    "and <b>excessive healing</b> (overproduction of scar tissue). Both categories carry significant "
    "clinical consequences and require different management strategies."
))
story.append(spacer(8))

# ══════════════════════════════════════════════
# SECTION A
# ══════════════════════════════════════════════
story.append(h1("A.  Deficient / Impaired Wound Healing"))
story.append(spacer(4))

# 1. Delayed vs Impaired
story.append(h2("1. Delayed vs. Impaired Healing"))
story.append(body(
    "Schwartz's Principles of Surgery distinguishes two clinically important patterns:"
))
rows = [
    ["<b>Delayed Healing</b>",
     "Wound-breaking strength is initially below normal but eventually reaches normal levels. "
     "Caused by nutritional deficiency, infection, or severe trauma — all reversible."],
    ["<b>Impaired / Chronic Healing</b>",
     "The wound never achieves mechanical strength equivalent to normally healed wounds. "
     "Seen in diabetes, chronic steroid use, and radiation-damaged tissue."],
]
# use Paragraph cells
rows_para = [[Paragraph(r[0], body_style), Paragraph(r[1], body_style)] for r in rows]
story.append(make_table(
    [Paragraph("<b>Pattern</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
     Paragraph("<b>Description</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold"))],
    rows_para,
    col_widths=[4.5*cm, 12*cm]
))
story.append(spacer(4))
story.append(note(
    "\u26a0  A fully healed wound achieves only 75–80% of normal tissue strength even under ideal conditions."
))
story.append(spacer(8))

# 2. Systemic Factors
story.append(h2("2. Systemic Factors That Impair Healing"))
sys_rows = [
    ["Diabetes mellitus", "Defective keratinocyte function, impaired epithelialization, poor leukocyte function, microvascular disease"],
    ["Malnutrition", "Lack of substrate for collagen synthesis, protein deficiency, electrolyte imbalances"],
    ["Hypoxia / Hypoperfusion", "Collagen hydroxylation requires O\u2082 as cofactor; fibroplasia severely impaired"],
    ["Profound anemia (<15% Hct)", "Reduced O\u2082 delivery. Mild-moderate anemia does NOT significantly impair healing"],
    ["Advanced age", "~1.9-day delay in epithelialization; decreased non-collagenous protein accumulation"],
    ["Glucocorticoids (chronic)", "Inhibit inflammation, angiogenesis, fibroblast proliferation, collagen synthesis. Vitamin A can partially reverse"],
    ["Chemotherapeutic drugs", "Inhibit early cell proliferation, DNA and protein synthesis"],
    ["Immunosuppression", "Higher infection rates, failure of the inflammatory phase"],
    ["Smoking", "Reduced tissue oxygenation; prolongs and impairs reparative cellular functions"],
]
sys_rows_para = [
    [Paragraph(f"<b>{r[0]}</b>", body_style), Paragraph(r[1], body_style)]
    for r in sys_rows
]
story.append(make_table(
    [Paragraph("<b>Factor</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
     Paragraph("<b>Mechanism / Effect</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold"))],
    sys_rows_para,
    col_widths=[4.5*cm, 12*cm]
))
story.append(spacer(8))

# 3. Local Factors
story.append(h2("3. Local Factors That Impair Healing"))
local_items = [
    "<b>Infection / wound contamination</b> — prolongs inflammation, causes tissue destruction",
    "<b>Foreign bodies</b> — perpetuate inflammation, prevent closure",
    "<b>Excessive wound tension</b> — leads to widened, thin, depressed scars or dehiscence",
    "<b>Vascular insufficiency</b> (arterial or venous) — prevents adequate O\u2082/nutrient delivery",
    "<b>Radiation damage</b> — endarteritis obliterans in irradiated tissue; impairs all phases",
    "<b>Wound desiccation</b> — dry environment slows epithelialization",
]
for item in local_items:
    story.append(bullet(item))
story.append(spacer(8))

# 4. Specific Complications
story.append(h2("4. Specific Complications of Deficient Healing"))

story.append(h3("a. Wound Dehiscence"))
story.append(body(
    "Separation of wound edges — most common in abdominal wounds. Risk factors include infection, "
    "obesity, malnutrition, steroid use, and poor surgical technique. <b>Evisceration</b> "
    "(extrusion of abdominal contents) is a surgical emergency."
))

story.append(h3("b. Chronic Non-Healing Wounds / Ulcers"))
story.append(body(
    "Defined as failure to heal after <b>4 weeks</b> of treatment. Pathogenesis: wound trapped in "
    "a chronic inflammatory state with elevated MMPs that destroy growth factors and matrix. "
    "Examples include diabetic foot ulcers, venous leg ulcers, pressure (decubitus) ulcers, and "
    "ischemic ulcers."
))

story.append(h3("c. Over-Granulation ('Proud Flesh')"))
story.append(body(
    "Wound populated by unstable, highly vascular granulation tissue — fragile and prone to "
    "intermittent bleeding. Treatment: topical silver nitrate, topical corticosteroid, or formal excision."
))

story.append(h3("d. Fistula Formation"))
story.append(body(
    "Abnormal epithelialized tract connecting two epithelial surfaces. Occurs when healing is "
    "diverted by foreign material, infection, or distal obstruction."
))
story.append(spacer(10))

# ══════════════════════════════════════════════
# SECTION B
# ══════════════════════════════════════════════
story.append(h1("B.  Excessive / Aberrant Healing"))
story.append(spacer(4))

# 1. Hypertrophic Scars
story.append(h2("1. Hypertrophic Scars"))
story.append(body(
    "Raised, red, firm scar that remains <b>within the boundaries</b> of the original wound. "
    "Caused by persistent mechanical tension and stimulatory growth factors — especially <b>TGF-\u03b2</b>. "
    "The process is <b>reversible</b> when stimuli are removed."
))
story.append(spacer(3))
story.append(body("<b>Molecular changes:</b>"))
mol_items = [
    "Elevated collagen synthesis, decreased collagen degradation",
    "<b>Decreased MMP-1</b> (collagenase) and MMP-9",
    "<b>Elevated MMP-2</b> (late tissue remodeling gelatinase)",
    "Blocking TGF-\u03b2 with antibodies decreases scar fibrosis",
    "Increased mechanical stress activates mechanotransduction pathways \u2192 promotes hypertrophic scarring",
]
for item in mol_items:
    story.append(bullet(item))
story.append(spacer(3))
story.append(body(
    "<b>Treatment:</b> Pressure garments, intralesional triamcinolone (10–40 mg/mL every 2–4 weeks), "
    "silicone sheets/gels, surgical revision after 1 year if persistent. ~50–100% of patients respond "
    "to steroids; up to 50% experience recurrence."
))
story.append(spacer(8))

# 2. Keloids
story.append(h2("2. Keloids"))
story.append(body(
    "Scar tissue that <b>extends beyond the original wound borders</b> — the key distinguishing feature "
    "from hypertrophic scars. Can be locally destructive and debilitating."
))
keloid_items = [
    "<b>Genetically predisposed</b> — significantly more common in darker skin types (Fitzpatrick IV–VI)",
    "May arise <b>months after</b> the original injury",
    "Predilection for: earlobes, face, deltoid area, presternal region",
    "Mechanism: TGF-\u03b2 switches on an <b>irreversible</b> fibroproliferative state",
    "Collagen synthesis elevated with low degradation (similar enzyme pattern to hypertrophic scars)",
]
for item in keloid_items:
    story.append(bullet(item))
story.append(spacer(3))
story.append(body(
    "<b>Treatment:</b> More resistant than hypertrophic scars. Repeated surgical excision combined "
    "with adjuvant <b>radiotherapy</b>, intralesional steroids, laser therapy. High recurrence rate."
))
story.append(spacer(8))

# Comparison table
story.append(h2("Hypertrophic Scar vs. Keloid: Key Differences"))
comp_rows = [
    ["Boundaries", "Within wound margins", "Extends beyond wound margins"],
    ["Onset", "Weeks after injury", "Months after injury"],
    ["Spontaneous regression", "May regress", "Rarely regresses"],
    ["Genetic predisposition", "Less prominent", "Strong (dark skin types)"],
    ["Preferred sites", "Burns, areas under tension", "Earlobes, presternal, deltoid"],
    ["Response to treatment", "Generally good", "Resistant, high recurrence"],
]
comp_rows_para = [
    [Paragraph(f"<b>{r[0]}</b>", body_style),
     Paragraph(r[1], body_style),
     Paragraph(r[2], body_style)]
    for r in comp_rows
]
comp_hdr = [
    Paragraph("<b>Feature</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
    Paragraph("<b>Hypertrophic Scar</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
    Paragraph("<b>Keloid</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
]
story.append(make_table(comp_hdr, comp_rows_para, col_widths=[4*cm, 6.5*cm, 6*cm]))
story.append(spacer(8))

# 3. Scar Contracture
story.append(h2("3. Scar Contracture"))
story.append(body(
    "Abnormal shortening of immature scar tissue causing <b>functional impairment</b>, particularly "
    "across joints (flexion contracture) or the neck. Caused by excess myofibroblast activity "
    "and poorly organized collagen remodeling."
))
story.append(body(
    "<b>Treatment:</b> Z-plasty, skin grafting, or flap coverage to release tension and restore function."
))
story.append(spacer(8))

# 4. Pyogenic Granuloma
story.append(h2("4. Pyogenic Granuloma"))
story.append(body(
    "Benign proliferation of capillary blood vessels following a traumatic wound. Presents as a "
    "<b>painless red fleshy nodule</b> growing rapidly over weeks with intermittent bleeding. "
    "Not a true granuloma (a misnomer). Treatment: topical silver nitrate or surgical excision."
))
story.append(spacer(8))

# 5. Marjolin's Ulcer
story.append(h2("5. Marjolin's Ulcer"))
story.append(body(
    "Rare but aggressive <b>squamous cell carcinoma</b> arising within a chronic wound (pressure "
    "sore, burn, chronic osteomyelitis). Develops due to chronic inflammatory environment driving "
    "malignant transformation."
))
story.append(note(
    "\u26a0  Key clinical point: High propensity for distant metastasis (behaves more aggressively than "
    "de novo SCC). Any chronic wound with sudden phenotypic change requires early biopsy."
))
story.append(spacer(8))

# 6. Heritable Disorders
story.append(h2("6. Heritable Connective Tissue Disorders Affecting Wound Repair"))
hered_rows = [
    ["Ehlers-Danlos Syndrome", "Defective collagen cross-linking; fragile, hyperextensible skin; poor wound healing"],
    ["Osteogenesis Imperfecta", "Defective type I collagen; fragile bones and soft tissue"],
    ["Epidermolysis Bullosa", "Fragile skin blisters easily; wounds heal with significant scarring"],
    ["Acrodermatitis Enteropathica", "Zinc deficiency; zinc is cofactor for enzymes critical to wound healing"],
]
hered_para = [
    [Paragraph(f"<b>{r[0]}</b>", body_style), Paragraph(r[1], body_style)]
    for r in hered_rows
]
story.append(make_table(
    [Paragraph("<b>Disorder</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
     Paragraph("<b>Wound Healing Defect</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold"))],
    hered_para,
    col_widths=[5.5*cm, 11*cm]
))
story.append(spacer(12))

# ══════════════════════════════════════════════
# SUMMARY TABLE
# ══════════════════════════════════════════════
story.append(h1("Summary: Abnormalities of Wound Repair"))
story.append(spacer(4))
summary_rows = [
    ["Wound Dehiscence",      "Deficient",              "Wound edges separate; evisceration is emergency"],
    ["Chronic Ulcer",         "Deficient",              "No healing after >4 weeks; elevated MMP environment"],
    ["Over-Granulation",      "Deficient",              "Exuberant, fragile granulation tissue"],
    ["Hypertrophic Scar",     "Excessive",              "Within wound margins, may regress, responds to steroids"],
    ["Keloid",                "Excessive",              "Extends beyond wound margins, irreversible, resistant"],
    ["Scar Contracture",      "Excessive",              "Functional impairment across joints"],
    ["Pyogenic Granuloma",    "Aberrant",               "Benign vascular nodule; intermittent bleeding"],
    ["Marjolin's Ulcer",      "Malignant transformation","SCC in chronic wound; high metastatic potential"],
]
summary_para = [
    [Paragraph(f"<b>{r[0]}</b>", body_style),
     Paragraph(r[1], body_style),
     Paragraph(r[2], body_style)]
    for r in summary_rows
]
summary_hdr = [
    Paragraph("<b>Abnormality</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
    Paragraph("<b>Category</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
    Paragraph("<b>Key Feature</b>", ParagraphStyle("th", parent=body_style, textColor=colors.white, fontName="Helvetica-Bold")),
]
story.append(make_table(summary_hdr, summary_para, col_widths=[4.5*cm, 3.5*cm, 8.5*cm]))
story.append(spacer(12))

# References
story.append(hr())
story.append(Paragraph("<i>References</i>", ParagraphStyle("ref_h", parent=body_style, fontSize=9, textColor=DEEP_BLUE, fontName="Helvetica-Bold")))
refs = [
    "Schwartz's Principles of Surgery, 11th Edition - Chapter 9: Wound Healing",
    "Sabiston Textbook of Surgery: The Biological Basis of Modern Surgical Practice",
    "Bailey and Love's Short Practice of Surgery, 28th Edition - Chapter 47",
    "Mulholland and Greenfield's Surgery: Scientific Principles and Practice, 7th Edition",
    "Fitzpatrick's Dermatology, 9th Edition",
]
for ref in refs:
    story.append(Paragraph(f"\u2022 {ref}", ParagraphStyle("ref", parent=body_style, fontSize=8.5, textColor=colors.HexColor("#555555"))))

# Build PDF
doc.build(story)
print(f"PDF saved to: {OUTPUT}")
Running Command

python /home/daytona/workspace/wound-repair/generate_pdf.py

Your PDF is ready:

Abnormalities of Wound Repair

PDF Document · PDF

The document includes:
  • Section A - Deficient/Impaired Healing: delayed vs. impaired healing patterns, systemic factors table, local factors, and specific complications (dehiscence, chronic ulcers, over-granulation, fistulas)
  • Section B - Excessive/Aberrant Healing: hypertrophic scars (with molecular changes), keloids, a comparison table between the two, scar contracture, pyogenic granuloma, Marjolin's ulcer, and heritable connective tissue disorders
  • Summary table covering all abnormalities at a glance
  • References to Schwartz's, Sabiston, Bailey & Love, and other source textbooks

pdf is not downloading

Running Command

ls -lh /home/daytona/workspace/wound-repair/Abnormalities_of_Wound_Repair.pdf

The file exists (13 KB). The download link should work - try clicking directly on the path below:

Abnormalities of Wound Repair

PDF Document · PDF

If that still doesn't work, here are a few things to try:
  1. Right-click the link and choose "Save link as..." or "Download linked file"
  2. Try a different browser - some browsers block sandbox file downloads
  3. Check your downloads folder - it may have already downloaded silently
If none of those work, let me know and I can try an alternative approach - such as converting the content to a different format or encoding the PDF differently.
This is a shared conversation. Sign in to Orris to start your own chat.