Fracture of humerus surgery long answer from S DAS

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
I now have sufficient content from S Das. Let me compile the comprehensive long answer.

Fractures of the Humerus — Long Answer (S Das: A Manual on Clinical Surgery, 13th Edition)


ANATOMY OVERVIEW

The humerus may fracture at three main regions:
  1. Upper end — Surgical neck, anatomical neck, greater tuberosity
  2. Shaft — Mid-shaft
  3. Lower end — Supracondylar, T/Y-shaped, condylar epiphysis, capitulum

PART I: FRACTURE OF THE UPPER END OF THE HUMERUS

A. Fracture of the Neck of the Humerus and the Greater Tuberosity

Mechanism of Injury:
  • Usually a fall on the outstretched hand — the surgical neck breaks and the upward thrust may shear off the greater tuberosity.
  • A direct injury on the point of the shoulder may cause fracture at the anatomical neck.

B. Fracture Through the Surgical Neck

This is classified into two varieties:
TypeDescription
Adduction typeShaft is adducted relative to the humeral head — the inner half of the fractured ends are impacted
Abduction typeShaft is abducted relative to the humeral head — the outer half of the fractured ends are impacted; greater tuberosity may be avulsed
On X-ray:
  • Both AP and lateral views are essential.
  • In abduction type: the shaft is abducted relative to the humeral head — outer half of fracture is impacted.
  • In adduction type: the shaft is adducted relative to the humeral head — inner half of fracture is impacted.

C. Fracture Through the Anatomical Neck

  • Very difficult to diagnose clinically without X-ray.
  • May be associated with anterior dislocation of the shoulder.

D. Fracture of the Greater Tuberosity

  • Occurs by direct injury on the greater tuberosity, or by a fall on the abducted arm where the greater tuberosity impinges against the acromion process.
  • May occur in association with dislocation of the shoulder and fracture neck of the humerus.

E. Clinical Examination — Shoulder Region (S Das Method)

Inspection:
  • Attitude: arm supported by the other hand; contour of the shoulder joint lost/flattened.
  • Note whether the greater tuberosity is at its normal position.
Palpation: The surgeon stands behind the seated patient:
  1. Palpates the acromion processes of both sides, slides fingers downwards to the greater tuberosity.
  2. Disappearance of the greater tuberosity → dislocation of the shoulder.
  3. Local bony tenderness and bony irregularity at the surgical neck of the humerus → fracture neck of humerus.
  4. The medial epicondyle normally shows the direction of the head of the humerus; the lateral epicondyle shows the direction of the greater tuberosity. Disturbance of this relation suggests fracture at the neck or shaft.
  5. In dislocation: rotating the flexed elbow — if no transmitted rotation of the head + crepitus + pain at neck of humerus → fracture-dislocation.
  6. Marked tenderness just below the acromion process → fracture of the greater tuberosity or rupture of the supraspinatus tendon.
Bimanual palpation (through deltoid and axilla — better felt by the hand in the axilla) is useful.
Measurements:
  • Length of the arm may be increased in fracture of the upper end of the humerus.

PART II: FRACTURES AROUND THE LOWER END OF THE HUMERUS

A. SUPRACONDYLAR FRACTURE

The most important fracture in the lower humerus, especially in children.

Types:

TypeMechanismLower fragment displacement
Backward (Posterior)much commonerFall on the hand with bent elbow; forearm fully pronatedBackwards, upwards, backward angulation + slight internal rotation
Forward (Anterior) — rarerFall on the stretched hand with fully extended elbowTilted forward; more extended elbow posture

Clinical Features:

  • Inspection:
    • Young child with swollen, flexed elbow supported by the other hand — classic presentation.
    • From behind: olecranon appears unduly prominent (in children, more likely supracondylar fracture than posterior dislocation); olecranon may be displaced sideways.
    • From the side: antero-posterior broadening of elbow.
    • Carrying angle (normally 10°–15°): becomes cubitus valgus (increased angle) or cubitus varus (decreased angle) with malunion.
  • Palpation:
    • Palpate both epicondyles with thumb and fingers; check for abnormal mobility with the other hand steadying the upper humerus.
    • Abnormal mobility + crepitus → supracondylar fracture (test done with utmost gentleness).
    • In supracondylar fracture: the normal relationship of the three bony points (two epicondyles + olecranon) is preserved in the flexed position (distinguishes from posterior dislocation where this relationship is disturbed).
    • Abnormal broadening of the lower end of humerus with distortion of condyles → T/Y-shaped fracture.
Special Tests:
  • Midposterior line of the arm (Fig. 13.16): A line drawn along the posterior midline of the arm normally passes through the olecranon process. Any sideways deviation of the olecranon is demonstrated by this line.
  • The anterior humeral line on lateral X-ray: A line along the anterior surface of the humerus normally divides the circular trochlea into anterior 1/3 and posterior 2/3. Posterior displacement disrupts this.

Urgent Assessment:

Before and after reduction, examine for:
  • Brachial artery injury — check radial pulse
  • Nerve injuries — ulnar, median, radial nerves (all three may be damaged)
  • Volkmann's ischaemic contracture — impending sign

Treatment (S Das principle):

  • Immediate reduction of the displaced fracture is essential.
  • Elbow kept flexed in collar and cuff in a position where the radial pulse is well palpated (to avoid vascular compromise).

Complications of Supracondylar Fracture:

  1. Malunion
  2. Cubitus valgus or varus (most common long-term deformity)
  3. Myositis ossificans traumatica
  4. Injury to the brachial vessels
  5. Volkmann's ischaemic contracture
  6. Injury to nerves — ulnar, median and/or radial

B. T- AND Y-SHAPED FRACTURES

  • More common in adults.
  • Caused by falls on the point of the elbow, driving the olecranon process upwards and splitting the two condyles apart.
  • Palpation: abnormal broadening of the lower end of the humerus with distortion of the condyles.

C. FRACTURE-SEPARATION OF THE LATERAL CONDYLAR EPIPHYSIS (Children)

  • Occurs in children; presents as localized lateral swelling.

D. FRACTURE-SEPARATION OF THE MEDIAL EPICONDYLE (Children)

  • Presents as medial tenderness; may be associated with elbow dislocation.

E. FRACTURED CAPITULUM (Adults)

  • Localized tenderness on palpation of the capitulum.

PART III: COMPLICATIONS OF FRACTURES AND DISLOCATIONS OF THE HUMERUS

(S Das, Complications of Fractures and Dislocations section)
  • Late nerve injury (Tardy palsy): The most common example is tardy ulnar palsy occurring as a late complication of supracondylar fracture of the humerus (due to progressive cubitus valgus stretching the ulnar nerve).
  • Axillary nerve injury: In subcoracoid dislocation of the humerus and fracture of the neck of the humerus, the axillary nerve may be injured → paralysis of the deltoid.
  • Radial nerve injury: May occur in fracture of the shaft of the humerus.

PART IV: X-RAY INTERPRETATION — KEY POINTS (S Das)

  1. Always take both AP and lateral views.
  2. Know all epiphyseal centres around the elbow to avoid misdiagnosing epiphyseal lines as fracture lines:
    • Capitulum: 1st year
    • Medial epicondyle: 4th year (F) / 6th year (M)
    • Head of radius: ~same age as medial epicondyle
    • Medial trochlea: 9th year (F) / 10th year (M)
    • Olecranon epiphysis: ~9th–10th year
    • Lateral epicondyle: ~12th year
    • Lateral epicondyle + capitulum + trochlea fuse at puberty, then unite with shaft at 14th year (F) / 16th year (M)
  3. The anterior humeral line on lateral X-ray divides the trochlea into anterior 1/3 and posterior 2/3 — important for detecting posterior displacement in supracondylar fracture.
  4. In supracondylar fracture, the centre of ossification for the capitulum must not be mistaken for the head of the radius.

SUMMARY TABLE

FractureAge groupMechanismKey SignKey Complication
Surgical neck of humerusAdults/elderlyFall on outstretched handBony tenderness at surgical neckAxillary nerve injury
Anatomical neckRareDirect blowX-ray onlyAVN of head
Greater tuberosityAdultsDirect blow / abducted arm fallTenderness below acromionSupraspinatus dysfunction
SupracondylarChildrenFall on bent elbow (posterior type)Posterior prominence, radial pulse checkVolkmann's contracture, cubitus varus/valgus, tardy ulnar palsy
T/Y-shapedAdultsFall on point of elbowBroadened lower humerusStiffness
Lateral condylar epiphysisChildrenLateral swellingCubitus valgus, tardy ulnar palsy

— S Das: A Manual on Clinical Surgery, 13th Edition

Make a pdf of this answer and include all the points

Reading File
Running Command

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

Running Command

mkdir -p /home/daytona/workspace/humerus-fracture && echo "done"

Writing File

~/humerus-fracture/generate_pdf.py

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

OUTPUT = "/home/daytona/workspace/humerus-fracture/Fracture_of_Humerus_S_Das.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    rightMargin=2*cm, leftMargin=2*cm,
    topMargin=2*cm, bottomMargin=2*cm,
    title="Fracture of Humerus – S Das",
    author="S Das: A Manual on Clinical Surgery, 13th Edition"
)

styles = getSampleStyleSheet()

# Custom styles
title_style = ParagraphStyle(
    'CustomTitle',
    parent=styles['Title'],
    fontSize=20,
    textColor=colors.HexColor('#1a3c6b'),
    spaceAfter=6,
    alignment=TA_CENTER,
    fontName='Helvetica-Bold'
)

subtitle_style = ParagraphStyle(
    'Subtitle',
    parent=styles['Normal'],
    fontSize=11,
    textColor=colors.HexColor('#4a6fa5'),
    spaceAfter=4,
    alignment=TA_CENTER,
    fontName='Helvetica-Oblique'
)

h1_style = ParagraphStyle(
    'H1',
    parent=styles['Heading1'],
    fontSize=14,
    textColor=colors.white,
    backColor=colors.HexColor('#1a3c6b'),
    spaceBefore=14,
    spaceAfter=6,
    leftIndent=-0.3*cm,
    rightIndent=-0.3*cm,
    borderPad=5,
    fontName='Helvetica-Bold'
)

h2_style = ParagraphStyle(
    'H2',
    parent=styles['Heading2'],
    fontSize=12,
    textColor=colors.HexColor('#1a3c6b'),
    spaceBefore=10,
    spaceAfter=4,
    fontName='Helvetica-Bold',
    borderPad=3,
)

h3_style = ParagraphStyle(
    'H3',
    parent=styles['Heading3'],
    fontSize=11,
    textColor=colors.HexColor('#2e5fa3'),
    spaceBefore=7,
    spaceAfter=3,
    fontName='Helvetica-Bold',
)

body_style = ParagraphStyle(
    'Body',
    parent=styles['Normal'],
    fontSize=10,
    leading=15,
    spaceAfter=5,
    alignment=TA_JUSTIFY,
    fontName='Helvetica'
)

bullet_style = ParagraphStyle(
    'Bullet',
    parent=styles['Normal'],
    fontSize=10,
    leading=14,
    leftIndent=18,
    spaceAfter=3,
    bulletIndent=6,
    fontName='Helvetica'
)

sub_bullet_style = ParagraphStyle(
    'SubBullet',
    parent=styles['Normal'],
    fontSize=10,
    leading=14,
    leftIndent=36,
    spaceAfter=2,
    bulletIndent=22,
    fontName='Helvetica'
)

note_style = ParagraphStyle(
    'Note',
    parent=styles['Normal'],
    fontSize=9,
    leading=12,
    textColor=colors.HexColor('#555555'),
    fontName='Helvetica-Oblique',
    spaceAfter=4,
    alignment=TA_CENTER
)

def h1(text):
    return Paragraph(f"  {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, level=1):
    marker = "•" if level == 1 else "–"
    style = bullet_style if level == 1 else sub_bullet_style
    return Paragraph(f"{marker}  {text}", style)

def spacer(h=0.2):
    return Spacer(1, h*cm)

def hr():
    return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#cccccc'), spaceAfter=4, spaceBefore=2)

# ─── TABLE HELPER ───────────────────────────────────────────────
def make_table(data, col_widths=None, header_color='#1a3c6b'):
    t = Table(data, colWidths=col_widths, repeatRows=1)
    style = [
        ('BACKGROUND', (0,0), (-1,0), colors.HexColor(header_color)),
        ('TEXTCOLOR',  (0,0), (-1,0), colors.white),
        ('FONTNAME',   (0,0), (-1,0), 'Helvetica-Bold'),
        ('FONTSIZE',   (0,0), (-1,0), 9),
        ('ALIGN',      (0,0), (-1,0), 'CENTER'),
        ('FONTNAME',   (0,1), (-1,-1), 'Helvetica'),
        ('FONTSIZE',   (0,1), (-1,-1), 9),
        ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f0f4fa')]),
        ('GRID',       (0,0), (-1,-1), 0.4, colors.HexColor('#aaaaaa')),
        ('VALIGN',     (0,0), (-1,-1), 'MIDDLE'),
        ('TOPPADDING', (0,0), (-1,-1), 4),
        ('BOTTOMPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING',  (0,0), (-1,-1), 6),
        ('RIGHTPADDING', (0,0), (-1,-1), 6),
    ]
    t.setStyle(TableStyle(style))
    return t

# ════════════════════════════════════════════════════════════════
# BUILD CONTENT
# ════════════════════════════════════════════════════════════════
story = []

# ── TITLE ──────────────────────────────────────────────────────
story.append(spacer(0.5))
story.append(Paragraph("FRACTURE OF THE HUMERUS", title_style))
story.append(Paragraph("A Complete Long Answer", subtitle_style))
story.append(Paragraph("Source: S Das — A Manual on Clinical Surgery, 13th Edition", note_style))
story.append(spacer(0.3))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a3c6b'), spaceAfter=10))

# ── INTRO ───────────────────────────────────────────────────────
story.append(h1("ANATOMY OVERVIEW"))
story.append(spacer(0.1))
story.append(body("The humerus may fracture at three main regions:"))
for item in [
    "<b>Upper end</b> — Surgical neck, anatomical neck, greater tuberosity",
    "<b>Shaft</b> — Mid-shaft (radial nerve at risk)",
    "<b>Lower end</b> — Supracondylar, T/Y-shaped, condylar epiphysis, capitulum",
]:
    story.append(bullet(item))
story.append(spacer(0.2))

# ══════════════════════════════════════════════════════
# PART I: UPPER END
# ══════════════════════════════════════════════════════
story.append(h1("PART I: FRACTURE OF THE UPPER END OF THE HUMERUS"))
story.append(spacer(0.1))

story.append(h2("A. Fracture of the Neck of the Humerus and the Greater Tuberosity"))
story.append(h3("Mechanism of Injury"))
story.append(bullet("Fall on the outstretched hand — the surgical neck breaks and the upward thrust may shear off the greater tuberosity."))
story.append(bullet("Direct injury on the point of the shoulder may cause fracture at the anatomical neck."))
story.append(spacer(0.15))

story.append(h2("B. Fracture Through the Surgical Neck"))
story.append(body("This fracture is classified into <b>two varieties</b> based on the position of the shaft relative to the humeral head:"))
story.append(spacer(0.1))

table_data = [
    ["Type", "Shaft Position", "Impaction Site", "Additional Feature"],
    ["Adduction type", "Shaft adducted relative to head", "Inner half of fractured ends impacted", "—"],
    ["Abduction type", "Shaft abducted relative to head", "Outer half of fractured ends impacted", "Greater tuberosity may be avulsed"],
]
story.append(make_table(table_data, col_widths=[3.5*cm, 4.5*cm, 5*cm, 4*cm]))
story.append(spacer(0.15))

story.append(h3("X-Ray Findings (Both AP and Lateral Views Essential)"))
story.append(bullet("<b>Abduction type:</b> Shaft abducted relative to humeral head — outer half of fracture impacted."))
story.append(bullet("<b>Adduction type:</b> Shaft adducted relative to humeral head — inner half of fracture impacted."))
story.append(bullet("X-ray confirms exact site of fracture, type of displacement, and type of dislocation if any."))
story.append(spacer(0.15))

story.append(h2("C. Fracture Through the Anatomical Neck"))
story.append(bullet("Very difficult to diagnose clinically without X-ray."))
story.append(bullet("May be associated with <b>anterior dislocation of the shoulder</b>."))
story.append(spacer(0.15))

story.append(h2("D. Fracture of the Greater Tuberosity"))
story.append(bullet("Occurs by direct injury on the greater tuberosity, or by a fall on the abducted arm where the greater tuberosity impinges against the acromion process."))
story.append(bullet("May occur in association with dislocation of the shoulder and fracture neck of the humerus."))
story.append(spacer(0.15))

story.append(h2("E. Clinical Examination — Shoulder Region (S Das Method)"))

story.append(h3("1. Inspection"))
story.append(bullet("Attitude: arm supported by the other hand; contour of the shoulder joint is lost and becomes flattened."))
story.append(bullet("Note whether the greater tuberosity is at its normal position."))
story.append(spacer(0.1))

story.append(h3("2. Palpation"))
story.append(body("The surgeon stands behind the seated patient and palpates systematically:"))
story.append(bullet("Palpate acromion processes of both sides → slide fingers downwards to the greater tuberosity."))
story.append(bullet("Disappearance of the greater tuberosity + loss of resistance → <b>dislocation of the shoulder</b>."))
story.append(bullet("<b>Local bony tenderness + bony irregularity at the surgical neck</b> → fracture neck of humerus."))
story.append(bullet("Medial epicondyle normally shows the direction of the head of the humerus; lateral epicondyle shows the direction of the greater tuberosity. Disturbance of this relation → fracture at neck or shaft."))
story.append(bullet("In dislocation: rotate the flexed elbow — if no transmitted rotation of head + crepitus + pain at neck → <b>fracture-dislocation</b>."))
story.append(bullet("<b>Marked tenderness just below the acromion process</b> → fracture of the greater tuberosity or rupture of the supraspinatus tendon."))
story.append(bullet("<b>Bimanual palpation</b> through the deltoid and axilla (better felt by hand in axilla) is useful for upper end of humerus."))
story.append(spacer(0.1))

story.append(h3("3. Measurements"))
story.append(bullet("Length of the arm will be increased in fracture of the upper end of the humerus, fracture neck of the scapula."))
story.append(spacer(0.2))

# ══════════════════════════════════════════════════════
# PART II: LOWER END
# ══════════════════════════════════════════════════════
story.append(h1("PART II: FRACTURES AROUND THE LOWER END OF THE HUMERUS"))
story.append(spacer(0.1))

story.append(body("The following conditions are considered in injuries around the elbow:"))
items_elbow = [
    "Supracondylar fracture",
    "T- and Y-shaped fractures",
    "Fracture-separation of the lateral condylar epiphysis",
    "Fracture-separation of the medial epicondyle",
    "Fractured capitulum",
    "Fracture neck of the radius",
    "Fracture head of the radius",
    "Fracture of the olecranon process",
    "Posterior dislocation of the elbow with or without fracture of the coronoid process",
    "Subluxation of the head of the radius in children (Pulled elbow)",
    "Monteggia fracture and reversed Monteggia",
]
for item in items_elbow:
    story.append(bullet(item))
story.append(spacer(0.2))

story.append(h2("A. SUPRACONDYLAR FRACTURE"))
story.append(body("The <b>most important fracture</b> in the lower humerus, especially in <b>children</b>."))
story.append(spacer(0.1))

story.append(h3("Types of Supracondylar Fracture"))
table_data2 = [
    ["Type", "Mechanism", "Lower Fragment Displacement", "Frequency"],
    ["Backward\n(Posterior)", "Fall on the hand with bent elbow;\nforearm fully pronated", "Backwards, upwards, backward angulation\n+ slight internal rotation", "COMMON"],
    ["Forward\n(Anterior)", "Fall on stretched hand with fully\nextended elbow", "Tilted forward;\nmore extended elbow posture", "Rare"],
]
story.append(make_table(table_data2, col_widths=[3*cm, 5*cm, 6*cm, 3*cm]))
story.append(spacer(0.15))

story.append(h3("Clinical Features — Inspection"))
story.append(bullet("Young child with <b>swollen, flexed elbow supported by the other hand</b> — classic presentation of supracondylar fracture."))
story.append(bullet("<b>From behind:</b> Olecranon appears unduly prominent (in children this suggests supracondylar fracture, not posterior dislocation of elbow). Olecranon may be displaced sideways."))
story.append(bullet("<b>From the side:</b> Antero-posterior broadening of the elbow (also seen in posterior dislocation)."))
story.append(bullet("<b>Carrying angle</b> (normally 10°–15°): Abnormally increased = cubitus valgus; abnormally decreased = cubitus varus."))
story.append(spacer(0.1))

story.append(h3("Clinical Features — Palpation"))
story.append(bullet("Palpate both epicondyles with thumb and fingers; check for abnormal mobility by steadying the upper humerus with the other hand."))
story.append(bullet("<b>Abnormal mobility + crepitus → supracondylar fracture</b> (must be done with utmost gentleness)."))
story.append(bullet("In supracondylar fracture: the <b>normal relationship of the three bony points</b> (two epicondyles + olecranon) is <b>preserved</b> in the flexed position — this distinguishes it from posterior dislocation where this relationship is disturbed."))
story.append(bullet("<b>Abnormal broadening</b> of the lower end of humerus with distortion of condyles → T/Y-shaped fracture."))
story.append(spacer(0.1))

story.append(h3("Special Tests and X-Ray Landmarks"))
story.append(bullet("<b>Midposterior line of the arm:</b> A line drawn along the posterior midline of the arm normally passes through the olecranon process. Any sideways deviation of the olecranon can be demonstrated by this line."))
story.append(bullet("<b>Anterior humeral line</b> on lateral X-ray: A line along the anterior surface of the humerus divides the circular trochlea into anterior 1/3 and posterior 2/3. Posterior displacement disrupts this relationship."))
story.append(bullet("The centre of ossification for the <b>capitulum must not be mistaken for the head of the radius</b> in the AP view — they are distinguishable in the lateral view."))
story.append(spacer(0.1))

story.append(h3("Neurovascular Assessment (URGENT — Before and After Reduction)"))
story.append(bullet("<b>Brachial artery injury</b> — check radial pulse (keep elbow in position where radial pulse is well palpated)"))
story.append(bullet("<b>Nerve injuries</b> — examine ulnar, median, and radial nerves"))
story.append(bullet("<b>Volkmann's ischaemic contracture</b> — watch for impending signs"))
story.append(spacer(0.1))

story.append(h3("Treatment Principle (S Das)"))
story.append(bullet("Immediate reduction of the displaced fracture is essential."))
story.append(bullet("Elbow kept <b>flexed in collar and cuff</b> in a position where the <b>radial pulse is well palpated</b> (to avoid vascular compromise)."))
story.append(spacer(0.1))

story.append(h3("Complications of Supracondylar Fracture"))
complications = [
    "Malunion",
    "<b>Cubitus valgus or varus</b> — most common long-term deformity",
    "<b>Myositis ossificans traumatica</b>",
    "Injury to the brachial vessels",
    "<b>Volkmann's ischaemic contracture</b>",
    "Injury to nerves — ulnar, median, and/or radial (tardy ulnar palsy is the most common late nerve complication)",
]
for i, c in enumerate(complications, 1):
    story.append(Paragraph(f"<b>{i}.</b>&nbsp;&nbsp;{c}", bullet_style))
story.append(spacer(0.2))

story.append(h2("B. T- AND Y-SHAPED FRACTURES"))
story.append(bullet("More common in <b>adults</b>."))
story.append(bullet("Caused by falls on the <b>point of the elbow</b>, driving the olecranon upwards and splitting the two condyles apart."))
story.append(bullet("Palpation: Abnormal broadening of the lower end of humerus with distortion of the condyles."))
story.append(spacer(0.15))

story.append(h2("C. FRACTURE-SEPARATION OF THE LATERAL CONDYLAR EPIPHYSIS (Children)"))
story.append(bullet("Occurs in children; presents with localized lateral swelling and tenderness."))
story.append(bullet("Malunion leads to <b>cubitus valgus</b> → eventually <b>tardy ulnar palsy</b>."))
story.append(spacer(0.15))

story.append(h2("D. FRACTURE-SEPARATION OF THE MEDIAL EPICONDYLE (Children)"))
story.append(bullet("Presents as medial tenderness; may be associated with elbow dislocation."))
story.append(bullet("Risk of <b>ulnar nerve injury</b>."))
story.append(spacer(0.15))

story.append(h2("E. FRACTURED CAPITULUM (Adults)"))
story.append(bullet("Localized tenderness on palpation of the capitulum."))
story.append(bullet("Diagnosed on lateral X-ray as a 'half-moon' fragment."))
story.append(spacer(0.2))

# ══════════════════════════════════════════════════════
# PART III: COMPLICATIONS
# ══════════════════════════════════════════════════════
story.append(h1("PART III: COMPLICATIONS OF FRACTURES AND DISLOCATIONS OF THE HUMERUS"))
story.append(spacer(0.1))

story.append(h2("A. Tardy Ulnar Palsy"))
story.append(bullet("The most common example of <b>late nerve injury</b> as a late complication of fracture."))
story.append(bullet("Occurs after supracondylar fracture of the humerus → malunion → <b>cubitus valgus</b> → progressive stretching of the ulnar nerve."))
story.append(bullet("Features: wasting of small muscles of the hand, clawing of 4th and 5th fingers, sensory loss over ulnar distribution."))
story.append(spacer(0.1))

story.append(h2("B. Axillary Nerve Injury"))
story.append(bullet("Occurs in subcoracoid dislocation of the humerus and fracture of the neck of the humerus."))
story.append(bullet("Results in <b>paralysis of the deltoid muscle</b>."))
story.append(spacer(0.1))

story.append(h2("C. Radial Nerve Injury"))
story.append(bullet("May occur in fracture of the <b>shaft of the humerus</b> (at the spiral groove)."))
story.append(bullet("Results in wrist drop."))
story.append(spacer(0.2))

# ══════════════════════════════════════════════════════
# PART IV: X-RAY
# ══════════════════════════════════════════════════════
story.append(h1("PART IV: X-RAY INTERPRETATION — KEY POINTS (S Das)"))
story.append(spacer(0.1))
story.append(bullet("Always take <b>both AP and lateral views</b>."))
story.append(bullet("Know all epiphyseal centres around the elbow to avoid misdiagnosing epiphyseal lines as fracture lines."))
story.append(spacer(0.1))

story.append(h3("Ossification Centres Around the Elbow (CRITOE Sequence)"))
ossif_data = [
    ["Centre", "Females", "Males"],
    ["Capitulum", "1st year", "1st year"],
    ["Medial epicondyle", "4th year", "6th year"],
    ["Head of radius", "~4th year", "~6th year"],
    ["Medial trochlea", "9th year", "10th year"],
    ["Olecranon", "~9th year", "~10th year"],
    ["Lateral epicondyle", "~12th year", "~12th year"],
    ["Fusion of lat. epicondyle + capitulum + trochlea with shaft", "14th year", "16th year"],
]
story.append(make_table(ossif_data, col_widths=[9*cm, 3.5*cm, 3.5*cm]))
story.append(spacer(0.1))
story.append(bullet("The <b>anterior humeral line</b> on lateral X-ray divides the trochlea into anterior 1/3 and posterior 2/3. Disruption indicates posterior displacement (supracondylar fracture)."))
story.append(bullet("In supracondylar fracture, the <b>centre of ossification for the capitulum must not be mistaken for the head of the radius</b> in AP view — they are distinguishable in the lateral view."))
story.append(spacer(0.2))

# ══════════════════════════════════════════════════════
# SUMMARY TABLE
# ══════════════════════════════════════════════════════
story.append(h1("SUMMARY TABLE"))
story.append(spacer(0.1))
summary_data = [
    ["Fracture", "Age Group", "Mechanism", "Key Clinical Sign", "Key Complication"],
    ["Surgical neck of humerus", "Adults/Elderly", "Fall on outstretched hand", "Bony tenderness at surgical neck", "Axillary nerve injury"],
    ["Anatomical neck", "Rare (any age)", "Direct blow to shoulder", "X-ray diagnosis only", "AVN of humeral head"],
    ["Greater tuberosity", "Adults", "Direct blow / abducted arm fall", "Tenderness below acromion", "Supraspinatus dysfunction"],
    ["Supracondylar (posterior)", "Children", "Fall on bent elbow (pronated)", "Posterior prominence, check radial pulse", "Volkmann's contracture, cubitus varus/valgus"],
    ["Supracondylar (anterior)", "Children", "Fall on extended elbow", "More extended elbow, forward prominence", "Rare; same as above"],
    ["T/Y-shaped fracture", "Adults", "Fall on point of elbow", "Broadened lower humerus", "Stiffness, malunion"],
    ["Lateral condylar epiphysis", "Children", "Varus force on extended elbow", "Lateral swelling", "Cubitus valgus → tardy ulnar palsy"],
    ["Medial epicondyle", "Children", "Elbow dislocation / avulsion", "Medial tenderness", "Ulnar nerve injury"],
    ["Capitulum", "Adults", "Fall on outstretched hand", "Lateral elbow pain, lateral film 'half-moon'", "Stiffness, AVN"],
]
story.append(make_table(summary_data, col_widths=[3.5*cm, 2.5*cm, 3.5*cm, 4*cm, 4*cm]))
story.append(spacer(0.3))

# FOOTER NOTE
story.append(hr())
story.append(Paragraph("S Das — A Manual on Clinical Surgery, 13th Edition", note_style))
story.append(Paragraph("Compiled for academic use", note_style))

# BUILD PDF
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

python /home/daytona/workspace/humerus-fracture/generate_pdf.py

Running Command

ls -lh /home/daytona/workspace/humerus-fracture/Fracture_of_Humerus_S_Das.pdf

Your PDF is ready. Here's the download link:

Fracture of Humerus S Das

PDF Document · PDF

The PDF includes all sections in a well-formatted, exam-ready layout:
  • Part I — Fractures of the upper end (surgical neck, anatomical neck, greater tuberosity) with types, X-ray findings, and clinical examination method (S Das)
  • Part II — Fractures of the lower end (supracondylar with both types, T/Y-shaped, condylar epiphysis, capitulum) with clinical features, special tests, treatment, and complications
  • Part III — Complications (tardy ulnar palsy, axillary nerve injury, radial nerve injury, Volkmann's contracture)
  • Part IV — X-ray interpretation with the full ossification centre table (CRITOE sequence) and anterior humeral line
  • Summary Table — All fractures with age group, mechanism, key sign, and key complication
This is a shared conversation. Sign in to Orris to start your own chat.