I would like u to prepare the probable question for first year mbbs anatomy exam for lowernlomb at mgt university according to the pattern of question paper
Dr MGR University first year MBBS anatomy question paper pattern marks scheme
Dr MGR University Chennai 1st year MBBS anatomy exam format essay short notes MCQ
https://www.studocu.com/in/document/tamil-nadu-dr-mgr-medica…
| Priority | Topic |
|---|---|
| ⭐⭐⭐ | Femoral triangle - boundaries, contents, femoral sheath |
| ⭐⭐⭐ | Knee joint - ligaments, menisci, bursae, applied |
| ⭐⭐⭐ | Sciatic nerve - course, branches, injury |
| ⭐⭐⭐ | Femoral artery - course, branches |
| ⭐⭐⭐ | Hip joint - ligaments, blood supply, applied |
| ⭐⭐ | Popliteal fossa - contents |
| ⭐⭐ | Common peroneal nerve - injury and effects |
| ⭐⭐ | Ankle joint - ligaments, injury |
| ⭐⭐ | Great saphenous vein - varicose veins |
| ⭐⭐ | Femur - ossification, fractures |
| ⭐⭐ | Gluteal region - greater sciatic foramen contents |
| ⭐ | Dermatomes of lower limb |
| ⭐ | Foot arches - flat foot |
| ⭐ | Compartment syndrome |
| Section | Question Type | Count | Marks Each | Total |
|---|---|---|---|---|
| Section I | Essay (long answer) | 2 | 15 | 30 |
| Section II | Short notes | 10 | 5 | 50 |
| Section III | MCQs | 20 | 1 | 20 |
| TOTAL | 100 |
Tip: Every essay answer should include a neat labeled diagram - examiners at Dr. MGR University consistently award marks for diagrams. For applied anatomy questions, always mention the clinical condition, mechanism, and signs (e.g., Trendelenburg's sign, foot drop, etc.).
Generate a PDF quick reference guide on lower limb nerve injuries & deformities
Now the pattern has changed as 1essay for 10 marks 10 short note for 6 marks and 2reasoning out for 5 marks iwant topics u suggesting as a pdf
mkdir -p /home/daytona/workspace/anatomy-exam && cat > /home/daytona/workspace/a…
cd /home/daytona/workspace/anatomy-exam && python generate_pdf.py 2>&1
cd /home/daytona/workspace/anatomy-exam && python -c " from reportlab.platypus i…
python -c "import reportlab; print(reportlab.Version)" && python -c "from report…
sed -i 's/\.setTableStyle(/.setStyle(/g' /home/daytona/workspace/anatomy-exam/ge…
python -c " content = open('/home/daytona/workspace/anatomy-exam/generate_pdf.py…
cd /home/daytona/workspace/anatomy-exam && python generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/anatomy-exam/Lower_Limb_Anatomy_Probable_Question…
Lower Limb Anatomy Probable Questions
PDF Document · PDF
| Section | Content | Marks |
|---|---|---|
| Section I - Essay | 5 probable essay questions with sub-parts and diagram tips | 1 × 10 |
| Section II - Short Notes | 16 detailed short notes across 4 groups (Bones, Muscles, Nerves & Vessels, Joints & Applied) | 10 × 6 |
| Section III - Reasoning Out | 5 applied anatomy reasoning questions with full answer points | 2 × 5 |
| Priority Table | All 20 topics star-rated by exam frequency (★★★ to ★) | - |
| Mnemonics Sheet | 8 quick memory aids (NAVY, ATFL, ACL/PCL, MCA, etc.) | - |
Give same for upperlimb Head and neck Braind and nueroanatomy Thorax Abdomen and pelvis
Generate a professionally styled PDF for First MBBS Anatomy exam probable questions for **UPPER LIMB** for Dr. MGR University (Tamil Nadu Dr. M.G.R. Medical University), Chennai. **Exam Pattern:** - Section I: 1 Essay × 10 marks = 10 marks - Section II: 10 Short Notes × 6 marks = 60 marks - Section III: 2 Reasoning Out (Applied Anatomy) × 5 marks = 10 marks - Total Theory = 80 marks **Output file path:** `/home/daytona/workspace/anatomy-exam/Upper_Limb_Probable_Questions.pdf` **Content to include:** SECTION I - ESSAY QUESTIONS (5 probable essays with sub-parts): 1. Brachial plexus - formation (roots, trunks, divisions, cords, branches), branches with levels, applied anatomy (Erb's palsy, Klumpke's palsy, crutch palsy) 2. Axilla - walls, contents, arrangement of structures, applied anatomy (axillary lymph nodes - groups and breast cancer spread) 3. Cubital fossa - boundaries, floor, roof, contents (medial to lateral), applied anatomy (venepuncture, biceps tendon reflex) 4. Carpal tunnel - boundaries, contents, applied anatomy (carpal tunnel syndrome - median nerve compression, structures spared) 5. Shoulder joint - type, articular surfaces, ligaments, rotator cuff muscles (SITS), blood supply, nerve supply, applied anatomy (dislocation - anterior most common, axillary nerve injury) SECTION II - SHORT NOTES (16 topics across 4 groups): GROUP A - BONES & OSTEOLOGY: - SN1: Clavicle - side determination, features, attachments, ossification (first bone to ossify), clinical (fracture site - junction of medial 2/3 and lateral 1/3) - SN2: Humerus - upper end features, surgical and anatomical neck, muscle attachments, ossification - SN3: Radius - features, muscle attachments, ossification, applied (Colles fracture - "dinner fork deformity") - SN4: Carpal bones - arrangement (2 rows), mnemonic, most commonly fractured (scaphoid), blood supply of scaphoid and AVN GROUP B - MUSCLES: - SN5: Rotator cuff muscles - SITS (Supraspinatus, Infraspinatus, Teres minor, Subscapularis), nerve supply, function, clinical (rotator cuff tear - supraspinatus most common, "painful arc") - SN6: Biceps brachii - origin (long and short heads), insertion, nerve supply (musculocutaneous), actions (supination > flexion), clinical (Popeye sign - long head rupture) - SN7: Flexor retinaculum (flexor retinaculum of wrist) - attachments, what passes through carpal tunnel, what passes superficial to it - SN8: Thenar and hypothenar muscles - components, nerve supply (median vs ulnar), clinical significance GROUP C - NERVES: - SN9: Radial nerve - origin (posterior cord, C5-T1), course in axilla and spiral groove of humerus, branches, injury effects (wrist drop, "Saturday night palsy"), sensory loss (anatomical snuffbox area) - SN10: Median nerve - origin (medial + lateral cords), course in arm and forearm, branches, injury at elbow (AIN - anterior interosseous nerve syndrome) vs wrist (carpal tunnel), deformities ("hand of benediction" at wrist, "pointing index" at elbow), sensory loss - SN11: Ulnar nerve - origin (medial cord, C8,T1), course, groove behind medial epicondyle, Guyon's canal, injury ("claw hand" - 4th and 5th fingers), sensory loss (medial 1.5 fingers), Froment's sign - SN12: Axillary nerve - origin, course around surgical neck of humerus, muscles supplied (deltoid, teres minor), sensory (regimental badge area), clinical (fracture surgical neck, shoulder dislocation) GROUP D - VESSELS, JOINTS & APPLIED: - SN13: Radial artery - course in forearm and anatomical snuffbox, branches, clinical (radial pulse, Allen's test, radial artery graft in CABG) - SN14: Elbow joint - type, articular surfaces, ligaments (MCL, LCL, annular), movements, applied (pulled elbow/nursemaid's elbow, golfer's elbow vs tennis elbow, carrying angle and cubitus valgus/varus) - SN15: Anatomical snuffbox - boundaries, floor, roof, contents, clinical significance (scaphoid fracture tenderness) - SN16: Dermatomes of upper limb + Axillary lymph nodes (5 groups, drainage, sentinel node, Virchow's node) SECTION III - REASONING OUT (5 probable questions with answer points): 1. Patient with "wrist drop" after fracture of shaft of humerus - anatomical basis (radial nerve in spiral groove, posterior interosseous nerve, muscles affected) 2. Patient with "claw hand" (4th and 5th fingers) after injury at medial epicondyle - anatomical basis (ulnar nerve, interossei and hypothenar, 3rd and 4th lumbricals) 3. Why does anterior dislocation of shoulder joint damage the axillary nerve? (nerve winds around surgical neck, close to inferior capsule, "regimental badge" area sensory loss, deltoid paralysis) 4. Patient cannot oppose thumb after injury at wrist - anatomical basis (median nerve at wrist, recurrent branch, thenar muscles - LOAF mnemonic) 5. Why is the scaphoid bone prone to avascular necrosis after fracture? (blood supply enters distally, proximal fragment gets no blood, waist fracture most common) PRIORITY TABLE: All topics star-rated ★★★ to ★ by exam frequency. MNEMONICS: - Brachial plexus: "Real Taxis Drink Cold Beer" (Roots, Trunks, Divisions, Cords, Branches) - Rotator cuff: SITS (Supraspinatus, Infraspinatus, Teres minor, Subscapularis) - Carpal bones (proximal row): "Some Lovers Try Positions That They Can't Handle" (Scaphoid, Lunate, Triquetrum, Pisiform, Trapezium, Trapezoid, Capitate, Hamate) - Median nerve injury at wrist: LOAF (Lumbricals 1&2, Opponens pollicis, Abductor pollicis brevis, Flexor pollicis brevis) - Cubital fossa (medial to lateral): "My Boyfriend Rides a Bicycle" (Median nerve, Brachial artery, Biceps tendon, Radial nerve) - Axillary nerve: "Surgical neck - Axillary nerve" **Design specifications:** - Use ReportLab library (already installed) - Professional medical exam style with colored section banners - Color scheme: Dark blue headers, green for short notes, orange for reasoning out - Include priority table and mnemonics on last page - Use method `.setStyle()` NOT `.setTableStyle()` for Table objects (ReportLab 4.x) - A4 paper size, 1.8cm margins Save to `/home/daytona/workspace/anatomy-exam/Upper_Limb_Probable_Questions.pdf` and confirm the file size.
mkdir -p /home/daytona/workspace/anatomy-exam && python3 -c "import reportlab; p…
~/anatomy-exam/generate_upper_limb_pdf.py
#!/usr/bin/env python3
"""
Dr. MGR University - First MBBS Anatomy Exam
Upper Limb Probable Questions - PDF Generator
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
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, PageBreak, KeepTogether
)
from reportlab.platypus.flowables import Flowable
from reportlab.lib.colors import HexColor, Color
import os
# ─── Color Palette ────────────────────────────────────────────────────────────
DARK_BLUE = HexColor("#1A3A5C")
MID_BLUE = HexColor("#2563A8")
LIGHT_BLUE = HexColor("#D6E8F7")
DARK_GREEN = HexColor("#1A5C35")
MID_GREEN = HexColor("#22863A")
LIGHT_GREEN = HexColor("#D4EDDA")
DARK_ORANGE = HexColor("#7C3000")
MID_ORANGE = HexColor("#C05200")
LIGHT_ORANGE = HexColor("#FFE8D0")
DARK_PURPLE = HexColor("#4A1A6B")
MID_PURPLE = HexColor("#7B2FBE")
LIGHT_PURPLE = HexColor("#EBD6F8")
GOLD = HexColor("#D4A017")
LIGHT_GOLD = HexColor("#FFF8DC")
DARK_RED = HexColor("#8B0000")
LIGHT_RED = HexColor("#FDECEA")
GREY_BG = HexColor("#F5F5F5")
GREY_BORDER = HexColor("#CCCCCC")
WHITE = colors.white
BLACK = colors.black
# ─── Output Path ──────────────────────────────────────────────────────────────
OUTPUT_PATH = "/home/daytona/workspace/anatomy-exam/Upper_Limb_Probable_Questions.pdf"
# ─── Document Setup ───────────────────────────────────────────────────────────
def build_doc():
doc = SimpleDocTemplate(
OUTPUT_PATH,
pagesize=A4,
leftMargin=1.8*cm,
rightMargin=1.8*cm,
topMargin=1.8*cm,
bottomMargin=1.8*cm,
title="Upper Limb Anatomy - Probable Questions",
author="Dr. MGR Medical University",
subject="First MBBS Anatomy Exam Preparation"
)
return doc
# ─── Styles ───────────────────────────────────────────────────────────────────
def make_styles():
base = getSampleStyleSheet()
styles = {}
styles['title_main'] = ParagraphStyle(
'title_main', parent=base['Normal'],
fontSize=16, fontName='Helvetica-Bold',
textColor=WHITE, alignment=TA_CENTER,
spaceAfter=2, leading=20
)
styles['title_sub'] = ParagraphStyle(
'title_sub', parent=base['Normal'],
fontSize=11, fontName='Helvetica-Bold',
textColor=LIGHT_BLUE, alignment=TA_CENTER,
spaceAfter=2, leading=14
)
styles['title_small'] = ParagraphStyle(
'title_small', parent=base['Normal'],
fontSize=9, fontName='Helvetica',
textColor=LIGHT_BLUE, alignment=TA_CENTER,
spaceAfter=0, leading=12
)
styles['section_banner'] = ParagraphStyle(
'section_banner', parent=base['Normal'],
fontSize=12, fontName='Helvetica-Bold',
textColor=WHITE, alignment=TA_CENTER,
spaceAfter=0, leading=15
)
styles['section_sub'] = ParagraphStyle(
'section_sub', parent=base['Normal'],
fontSize=9, fontName='Helvetica',
textColor=WHITE, alignment=TA_CENTER,
spaceAfter=0, leading=12
)
styles['q_number'] = ParagraphStyle(
'q_number', parent=base['Normal'],
fontSize=11, fontName='Helvetica-Bold',
textColor=DARK_BLUE, spaceAfter=2, leading=14
)
styles['q_text'] = ParagraphStyle(
'q_text', parent=base['Normal'],
fontSize=10.5, fontName='Helvetica-Bold',
textColor=BLACK, spaceAfter=3, leading=14
)
styles['bullet'] = ParagraphStyle(
'bullet', parent=base['Normal'],
fontSize=9.5, fontName='Helvetica',
textColor=HexColor("#333333"), leftIndent=18,
spaceAfter=2, leading=13, bulletIndent=6
)
styles['sub_bullet'] = ParagraphStyle(
'sub_bullet', parent=base['Normal'],
fontSize=9, fontName='Helvetica',
textColor=HexColor("#555555"), leftIndent=36,
spaceAfter=1, leading=12, bulletIndent=24
)
styles['applied'] = ParagraphStyle(
'applied', parent=base['Normal'],
fontSize=9.5, fontName='Helvetica-Oblique',
textColor=DARK_RED, leftIndent=18,
spaceAfter=2, leading=13
)
styles['group_header'] = ParagraphStyle(
'group_header', parent=base['Normal'],
fontSize=10, fontName='Helvetica-Bold',
textColor=DARK_GREEN, spaceAfter=3, leading=13
)
styles['sn_title'] = ParagraphStyle(
'sn_title', parent=base['Normal'],
fontSize=10, fontName='Helvetica-Bold',
textColor=DARK_GREEN, spaceAfter=2, leading=13
)
styles['reasoning_q'] = ParagraphStyle(
'reasoning_q', parent=base['Normal'],
fontSize=10.5, fontName='Helvetica-Bold',
textColor=DARK_ORANGE, spaceAfter=3, leading=14
)
styles['reasoning_bullet'] = ParagraphStyle(
'reasoning_bullet', parent=base['Normal'],
fontSize=9.5, fontName='Helvetica',
textColor=HexColor("#3D1A00"), leftIndent=18,
spaceAfter=2, leading=13, bulletIndent=6
)
styles['mnemonic_title'] = ParagraphStyle(
'mnemonic_title', parent=base['Normal'],
fontSize=10, fontName='Helvetica-Bold',
textColor=DARK_PURPLE, spaceAfter=2, leading=13
)
styles['mnemonic_text'] = ParagraphStyle(
'mnemonic_text', parent=base['Normal'],
fontSize=9.5, fontName='Helvetica',
textColor=HexColor("#333333"), leftIndent=18,
spaceAfter=3, leading=13
)
styles['footer_note'] = ParagraphStyle(
'footer_note', parent=base['Normal'],
fontSize=8, fontName='Helvetica-Oblique',
textColor=HexColor("#666666"), alignment=TA_CENTER,
spaceAfter=0, leading=11
)
styles['marks_badge'] = ParagraphStyle(
'marks_badge', parent=base['Normal'],
fontSize=9, fontName='Helvetica-Bold',
textColor=GOLD, alignment=TA_CENTER,
spaceAfter=0, leading=12
)
return styles
# ─── Helper: Colored Banner Table ─────────────────────────────────────────────
def section_banner(title_text, sub_text, bg_color, styles, width=None):
if width is None:
width = A4[0] - 3.6*cm
t1 = Paragraph(title_text, styles['section_banner'])
t2 = Paragraph(sub_text, styles['section_sub'])
tbl = Table([[t1], [t2]], colWidths=[width])
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg_color),
('TOPPADDING', (0,0), (-1,-1), 7),
('BOTTOMPADDING', (0,0), (-1,-1), 7),
('LEFTPADDING', (0,0), (-1,-1), 12),
('RIGHTPADDING', (0,0), (-1,-1), 12),
('ROUNDEDCORNERS', [6, 6, 6, 6]),
]))
return tbl
# ─── Helper: Question Box ─────────────────────────────────────────────────────
def essay_question_box(num, title, bullet_items, applied_items, styles, bg=LIGHT_BLUE, border=MID_BLUE):
w = A4[0] - 3.6*cm
inner = []
inner.append(Paragraph(f"Q{num}. {title}", styles['q_text']))
for item in bullet_items:
inner.append(Paragraph(f"• {item}", styles['bullet']))
if applied_items:
inner.append(Paragraph("🔴 <b>Applied Anatomy:</b>", styles['applied']))
for ap in applied_items:
inner.append(Paragraph(f" ◦ {ap}", styles['applied']))
cell_tbl = Table([[inner]], colWidths=[w - 24])
cell_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), 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),
('BOX', (0,0), (-1,-1), 1.5, border),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
return cell_tbl
def sn_box(num, title, points, styles, bg=LIGHT_GREEN, border=MID_GREEN):
w = A4[0] - 3.6*cm
inner = []
inner.append(Paragraph(f"SN{num}. {title}", styles['sn_title']))
for pt in points:
if pt.startswith("🔴"):
inner.append(Paragraph(pt, styles['applied']))
elif pt.startswith(" "):
inner.append(Paragraph(f" ◦ {pt.strip()}", styles['sub_bullet']))
else:
inner.append(Paragraph(f"• {pt}", styles['bullet']))
cell_tbl = Table([[inner]], colWidths=[w - 24])
cell_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('TOPPADDING', (0,0), (-1,-1), 7),
('BOTTOMPADDING', (0,0), (-1,-1), 7),
('LEFTPADDING', (0,0), (-1,-1), 10),
('RIGHTPADDING', (0,0), (-1,-1), 10),
('BOX', (0,0), (-1,-1), 1.2, border),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
return cell_tbl
def reasoning_box(num, question, answer_points, styles):
w = A4[0] - 3.6*cm
inner = []
inner.append(Paragraph(f"R{num}. {question}", styles['reasoning_q']))
inner.append(Paragraph("<b>Answer Points:</b>", styles['reasoning_bullet']))
for pt in answer_points:
inner.append(Paragraph(f"• {pt}", styles['reasoning_bullet']))
cell_tbl = Table([[inner]], colWidths=[w - 24])
cell_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), LIGHT_ORANGE),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
('LEFTPADDING', (0,0), (-1,-1), 10),
('RIGHTPADDING', (0,0), (-1,-1), 10),
('BOX', (0,0), (-1,-1), 1.5, MID_ORANGE),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
return cell_tbl
# ─── Header / Title Page ──────────────────────────────────────────────────────
def build_header(styles, story):
w = A4[0] - 3.6*cm
# University header
header_data = [
[Paragraph("TAMIL NADU Dr. M.G.R. MEDICAL UNIVERSITY, CHENNAI", styles['title_main'])],
[Paragraph("FIRST M.B.B.S. DEGREE EXAMINATION", styles['title_sub'])],
[Paragraph("HUMAN ANATOMY — UPPER LIMB", styles['title_sub'])],
[Paragraph("PROBABLE QUESTIONS & ANSWER POINTS", styles['title_small'])],
[Paragraph("Theory: 80 Marks | Time: 3 Hours", styles['title_small'])],
]
header_tbl = Table(header_data, colWidths=[w])
header_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), DARK_BLUE),
('TOPPADDING', (0,0), (0,0), 14),
('TOPPADDING', (0,1), (-1,-1), 4),
('BOTTOMPADDING', (0,-1), (-1,-1), 14),
('BOTTOMPADDING', (0,0), (0,-2), 4),
('LEFTPADDING', (0,0), (-1,-1), 16),
('RIGHTPADDING', (0,0), (-1,-1), 16),
('LINEBELOW', (0,1), (-1,1), 0.5, LIGHT_BLUE),
('ROUNDEDCORNERS', [8, 8, 8, 8]),
]))
story.append(header_tbl)
story.append(Spacer(1, 0.4*cm))
# Exam pattern summary table
pattern_data = [
[Paragraph("<b>Section</b>", styles['marks_badge']),
Paragraph("<b>Component</b>", styles['marks_badge']),
Paragraph("<b>Marks</b>", styles['marks_badge'])],
["Section I", "1 Essay Question × 10 marks", "10"],
["Section II", "10 Short Notes × 6 marks", "60"],
["Section III","2 Reasoning Out (Applied) × 5 marks", "10"],
[Paragraph("<b>TOTAL THEORY</b>", styles['marks_badge']),
"",
Paragraph("<b>80</b>", styles['marks_badge'])],
]
col_w = [w*0.20, w*0.58, w*0.22]
pat_tbl = Table(pattern_data, colWidths=col_w)
pat_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
('BACKGROUND', (0,1), (-1,3), GREY_BG),
('BACKGROUND', (0,4), (-1,4), LIGHT_GOLD),
('TEXTCOLOR', (0,1), (-1,3), HexColor("#222222")),
('FONTNAME', (0,1), (-1,3), 'Helvetica'),
('FONTSIZE', (0,1), (-1,3), 9),
('ALIGN', (0,0), (-1,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('GRID', (0,0), (-1,-1), 0.5, GREY_BORDER),
('BOX', (0,0), (-1,-1), 1.2, DARK_BLUE),
('SPAN', (0,4), (1,4)),
]))
story.append(pat_tbl)
story.append(Spacer(1, 0.5*cm))
# ─── Section I: Essays ────────────────────────────────────────────────────────
def build_section1(styles, story):
story.append(section_banner(
"SECTION I — ESSAY QUESTIONS",
"Attempt ANY ONE | 10 Marks | ~15–20 minutes",
DARK_BLUE, styles
))
story.append(Spacer(1, 0.3*cm))
essays = [
{
"num": 1,
"title": "Brachial Plexus",
"bullets": [
"Formation: Ventral rami of C5–T1 nerve roots",
"Components (mnemonic: 'Real Taxis Drink Cold Beer'): Roots → Trunks (Superior C5-C6, Middle C7, Inferior C8-T1) → Divisions (anterior/posterior) → Cords (Lateral, Medial, Posterior) → Branches",
"Terminal branches: Musculocutaneous (C5,6,7), Median (C5–T1), Ulnar (C8,T1), Radial (C5–T1), Axillary (C5,6)",
"Collateral branches: Dorsal scapular (C5), Long thoracic (C5,6,7 — Nerve of Bell), Suprascapular (C5,6), Subclavian nerve (C5,6), Medial pectoral (C8,T1), Lateral pectoral (C5,6,7), Medial cutaneous of arm/forearm (C8,T1), Upper/Lower subscapular (C5,6), Thoracodorsal (C6,7,8)",
],
"applied": [
"Erb's Palsy (Upper brachial plexus injury C5,6): Injury to superior trunk — 'Waiter's tip' deformity; muscles affected: deltoid, biceps, brachialis, brachioradialis, supinator; adducted, medially rotated arm, extended elbow, pronated forearm",
"Klumpke's Palsy (Lower brachial plexus C8,T1): Injury to inferior trunk — claw hand; intrinsic muscles of hand affected; sympathetic fibres — Horner's syndrome (ptosis, miosis, anhidrosis, enophthalmos)",
"Crutch Palsy / Saturday Night Palsy: Radial nerve compression in axilla or spiral groove → wrist drop (inability to extend wrist/fingers); no triceps involvement if spiral groove",
]
},
{
"num": 2,
"title": "Axilla",
"bullets": [
"Shape: Pyramidal space between arm and thoracic wall",
"Walls — Anterior: Pectoralis major + minor, clavipectoral fascia; Posterior: Subscapularis, teres major, latissimus dorsi; Medial: Serratus anterior, 1st–4th ribs + intercostals; Lateral: Bicipital groove of humerus",
"Apex: Triangle between clavicle, 1st rib, scapula (cervicoaxillary canal)",
"Base: Axillary fascia and skin",
"Contents: Axillary artery (3 parts), axillary vein, brachial plexus (cords and branches), axillary lymph nodes, long thoracic nerve, thoracodorsal nerve, intercostobrachial nerve, fat",
"Axillary artery parts: 1st (medial to pec minor) — 1 branch; 2nd (behind pec minor) — 2 branches; 3rd (lateral to pec minor) — 3 branches",
"Axillary lymph node groups: 5 groups — Anterior (pectoral, along lateral thoracic artery); Posterior (subscapular, along subscapular artery); Lateral (along axillary vein); Central (fat of axilla); Apical (medial to axillary vein, above pec minor) → drains to subclavian trunk",
],
"applied": [
"Breast cancer spread: Primary drainage of breast → anterior (pectoral) group → central group → apical group → subclavian lymph trunk → systemic",
"Sentinel lymph node biopsy: First node to receive drainage from breast tumour; if negative, no axillary dissection needed",
"Virchow's node (left supraclavicular): Enlargement = Troisier's sign — may indicate abdominal/thoracic malignancy",
"Long thoracic nerve (C5,6,7) injury in axilla → serratus anterior paralysis → 'Winging of scapula'",
]
},
{
"num": 3,
"title": "Cubital Fossa",
"bullets": [
"Boundaries — Superiorly: Imaginary line between epicondyles; Medially: Pronator teres; Laterally: Brachioradialis; Floor: Brachialis (medially), supinator (laterally); Roof: Skin + deep fascia + bicipital aponeurosis",
"Contents (medial → lateral): 'My Boyfriend Rides a Bicycle' — Median nerve, Brachial artery (divides into radial + ulnar), Biceps tendon (with bicipital aponeurosis), Radial nerve (deep & superficial branches)",
"The radial nerve lies deep to brachioradialis, bifurcating into deep (posterior interosseous) and superficial (cutaneous) branches",
"Brachial artery pulse palpable in cubital fossa (used for BP measurement)",
],
"applied": [
"Venepuncture: Median cubital vein (superficial, crosses roof of cubital fossa) used for IV access/blood collection — safe as bicipital aponeurosis protects brachial artery and median nerve below",
"Biceps tendon reflex (C5,6): Tapping distal biceps tendon tests musculocutaneous nerve integrity",
"Median nerve injury at elbow level: Affects anterior interosseous nerve (AIN) — pronation weakness, loss of pinch grip ('OK sign' impossible); flexor pollicis longus + FDP to index/middle affected",
"Cubital fossa haematoma (supracondylar fracture): Can compress brachial artery → Volkmann's ischaemic contracture (intrinsic minus hand)",
]
},
{
"num": 4,
"title": "Carpal Tunnel",
"bullets": [
"Location: Tunnel on anterior (palmar) surface of wrist",
"Boundaries: Floor = carpal bones (concave palmar arch); Roof = Flexor retinaculum (transverse carpal ligament); attached medially to pisiform + hook of hamate; laterally to tubercle of scaphoid + trapezium",
"Contents (9 tendons + 1 nerve): 4 tendons of FDS, 4 tendons of FDP, 1 tendon of FPL, Median nerve",
"Structures OUTSIDE tunnel (pass superficial to flexor retinaculum): FCU, FCR in own compartment, Palmaris longus, Ulnar nerve + artery (in Guyon's canal), Palmar cutaneous branch of median nerve (sensory to palm — SPARED in CTS)",
],
"applied": [
"Carpal Tunnel Syndrome (CTS): Most common entrapment neuropathy; median nerve compressed under flexor retinaculum",
"Causes: Repetitive strain, rheumatoid arthritis, hypothyroidism, pregnancy, acromegaly, diabetes",
"Symptoms: Pain/tingling/numbness in lateral 3½ fingers; night pain; thenar wasting; weak opposition/abduction of thumb",
"LOAF muscles affected: Lumbricals 1&2, Opponens pollicis, Abductor pollicis brevis, Flexor pollicis brevis",
"Spared: Palmar cutaneous branch (branches above tunnel) → palm sensation intact; deep head FPB (ulnar nerve)",
"Tests: Tinel's sign (tapping wrist), Phalen's test (wrist flexion 60s reproduces symptoms)",
"Treatment: Splinting, steroids, or surgical decompression (carpal tunnel release)",
]
},
{
"num": 5,
"title": "Shoulder Joint",
"bullets": [
"Type: Synovial ball-and-socket (multiaxial); most mobile, least stable joint in body",
"Articular surfaces: Head of humerus (1/3 of sphere) + Glenoid cavity of scapula (deepened by glenoid labrum — fibrocartilaginous rim)",
"Ligaments: Glenohumeral (superior, middle, inferior); Coracohumeral; Transverse humeral (holds long head biceps tendon)",
"Rotator Cuff (SITS): Supraspinatus (abduction 0–15°, suprascapular n.), Infraspinatus (lateral rotation, suprascapular n.), Teres minor (lateral rotation, axillary n.), Subscapularis (medial rotation, upper/lower subscapular n.)",
"Blood supply: Anterior/Posterior circumflex humeral arteries (from 3rd part of axillary artery) + suprascapular artery",
"Nerve supply: Axillary nerve (C5,6), Suprascapular nerve (C5,6), musculocutaneous nerve, lateral pectoral nerve",
"Movements: Flexion/Extension, Abduction/Adduction, Medial/Lateral rotation, Circumduction",
"Stability: Provided by rotator cuff muscles, glenoid labrum, long head biceps; ligaments less important",
],
"applied": [
"Anterior dislocation (most common — 95%): Head of humerus displaced anteroinferiorly, may tear inferior glenohumeral ligament; Hill-Sachs lesion (posterior humeral head compression fracture); Bankart lesion (anterior glenoid labrum tear)",
"Axillary nerve injury: Nerve winds around surgical neck of humerus → damaged in anterior dislocation/fracture surgical neck → deltoid paralysis (arm cannot abduct 15–90°) + sensory loss over 'regimental badge area' (lateral arm)",
"Rotator cuff tear (supraspinatus most common): Painful arc syndrome (60–120° abduction); Jobe test (empty can test) positive",
"Recurrent dislocation: Due to laxity of inferior glenohumeral ligament + Bankart lesion; treated surgically",
]
},
]
for essay in essays:
box = essay_question_box(
essay["num"], essay["title"],
essay["bullets"], essay["applied"], styles
)
story.append(KeepTogether([box, Spacer(1, 0.35*cm)]))
story.append(Spacer(1, 0.2*cm))
# ─── Section II: Short Notes ──────────────────────────────────────────────────
def build_section2(styles, story):
story.append(PageBreak())
story.append(section_banner(
"SECTION II — SHORT NOTES",
"Attempt ANY TEN | 6 Marks each | 60 Marks Total",
DARK_GREEN, styles
))
story.append(Spacer(1, 0.3*cm))
groups = [
{
"label": "GROUP A — BONES & OSTEOLOGY",
"items": [
{
"num": 1,
"title": "Clavicle",
"points": [
"Side determination: Sternal end is large & rounded, Acromial end is flat; Inferior surface has groove (subclavian muscle) and conoid tubercle laterally; Shaft convex forward medially, concave forward laterally",
"First bone to ossify (6th week intrauterine life) by intramembranous ossification; Last bone to fuse epiphysis (medial epiphysis fuses at ~25 yrs)",
"Muscle attachments — Superiorly: Sternomastoid (medial), Deltoid (lateral); Inferiorly: Pectoralis major (medial), Trapezius (lateral), Subclavius (groove), Coracoacromial ligament",
"Functions: Strut maintaining upper limb away from trunk; transmits forces; protects subclavian vessels",
"🔴 Applied: Fracture site — junction of medial 2/3 and lateral 1/3 (weakest point, no muscle attachment); arm drops medially; coracoacromial ligament prevents upward displacement",
]
},
{
"num": 2,
"title": "Humerus — Upper End",
"points": [
"Upper end components: Head, Anatomical neck, Greater tuberosity, Lesser tuberosity, Bicipital groove (intertubercular sulcus), Surgical neck",
"Anatomical neck: Oblique constriction just below articular head; epiphyseal line",
"Surgical neck: Below tuberosities; most common fracture site; axillary nerve (C5,6) winds around it",
"Greater tuberosity (posterolateral): Attachments — Supraspinatus (superior facet), Infraspinatus (middle facet), Teres minor (inferior facet)",
"Lesser tuberosity (anterior): Subscapularis attachment",
"Bicipital groove: Contains long head of biceps tendon; pectoralis major (lateral lip), teres major (medial lip), latissimus dorsi (floor)",
"🔴 Applied: Surgical neck fracture — axillary nerve injury → deltoid paralysis, 'regimental badge' sensory loss",
]
},
{
"num": 3,
"title": "Radius",
"points": [
"Upper end: Head (articulates with capitulum of humerus); neck; radial tuberosity (biceps brachii insertion)",
"Shaft: Anterior, posterior, lateral surfaces; anterior oblique line; interosseous border (sharp)",
"Lower end: Wide, quadrilateral; styloid process (lateral); dorsal tubercle of Lister; ulnar notch; facets for scaphoid and lunate",
"Ossification: Primary centre — 8th week IUL (shaft); secondary centres — upper end (5 yrs), lower end (1–2 yrs); fusion at 17–18 yrs",
"Muscle attachments: Biceps brachii (radial tuberosity); Supinator, Flexor digitorum superficialis, Flexor pollicis longus, Pronator quadratus",
"🔴 Applied: Colles' fracture — transverse fracture of distal radius within 2.5 cm of wrist; 'dinner fork deformity' (dorsal displacement + radial tilt); most common in elderly osteoporotic women after FOOSH (fall on outstretched hand)",
]
},
{
"num": 4,
"title": "Carpal Bones",
"points": [
"Eight bones in two rows of four",
"Proximal row (lateral → medial): Scaphoid, Lunate, Triquetrum, Pisiform",
"Distal row (lateral → medial): Trapezium, Trapezoid, Capitate, Hamate",
"Mnemonic: 'Some Lovers Try Positions That They Can't Handle'",
"Scaphoid: Largest bone in proximal row; lies in floor of anatomical snuffbox; waist most commonly fractured part",
"Blood supply of scaphoid: Enters distally (lateral side) through branches of radial artery; retrograde supply to proximal pole",
"🔴 Applied: Scaphoid fracture at waist → proximal fragment loses blood supply → Avascular Necrosis (AVN); Scaphoid fracture often missed on initial X-ray; tenderness in anatomical snuffbox; MRI is gold standard",
]
},
]
},
{
"label": "GROUP B — MUSCLES",
"items": [
{
"num": 5,
"title": "Rotator Cuff Muscles (SITS)",
"points": [
"Four muscles forming a cuff around shoulder joint: Supraspinatus, Infraspinatus, Teres minor, Subscapularis (SITS)",
"Supraspinatus: Origin — supraspinous fossa; insertion — superior facet, greater tuberosity; nerve — suprascapular (C4,5,6); action — initiates abduction (0–15°), prevents superior dislocation",
"Infraspinatus: Origin — infraspinous fossa; insertion — middle facet, greater tuberosity; nerve — suprascapular (C5,6); action — lateral rotation of arm",
"Teres minor: Origin — lateral border scapula; insertion — inferior facet, greater tuberosity; nerve — axillary nerve (C5,6); action — lateral rotation, adduction",
"Subscapularis: Origin — subscapular fossa; insertion — lesser tuberosity; nerve — upper/lower subscapular (C5,6,7); action — medial rotation, adduction",
"Function of cuff: Holds head of humerus in glenoid; dynamic stability; compression of glenohumeral joint",
"🔴 Applied: Rotator cuff tear — supraspinatus most commonly torn; 'Painful arc' (60–120° abduction); Jobe/Empty can test positive; MRI confirms; supraspinatus rupture → deltoid takes over → shoulder hiking",
]
},
{
"num": 6,
"title": "Biceps Brachii",
"points": [
"Two heads: Long head (from supraglenoid tubercle, passes through joint capsule in bicipital groove) + Short head (from coracoid process with coracobrachialis)",
"Insertion: Radial tuberosity (both heads) + Bicipital aponeurosis into deep fascia of forearm",
"Nerve supply: Musculocutaneous nerve (C5,6)",
"Actions: Supination (most powerful supinator — 'turning a screw in'); Flexion of elbow (secondary to brachialis); assists shoulder flexion (short head)",
"Bicipital aponeurosis: Protects brachial artery and median nerve in cubital fossa during venepuncture",
"🔴 Applied: Rupture of long head biceps — sudden pop, 'Popeye sign' (muscle belly descends distally, visible bulge in distal arm); common in older patients with pre-existing degeneration; supination strength reduced; treated conservatively in elderly",
]
},
{
"num": 7,
"title": "Flexor Retinaculum of Wrist",
"points": [
"Thick fibrous band (transverse carpal ligament) crossing anterior wrist",
"Attachments: Medially — pisiform + hook of hamate; Laterally — tubercle of scaphoid + crest of trapezium",
"Structures DEEP to flexor retinaculum (carpal tunnel): 4 FDS tendons, 4 FDP tendons, FPL tendon (in radial bursa), Median nerve",
"Structures SUPERFICIAL to flexor retinaculum: Palmaris longus tendon, Palmar cutaneous branch of median nerve, Ulnar nerve and artery (Guyon's canal), FCU, part of FCR",
"Ulnar nerve passes through Guyon's canal (between pisiform and hook of hamate) — NOT carpal tunnel",
"🔴 Applied: Carpal tunnel release — flexor retinaculum cut longitudinally; palmar cutaneous branch spared (branches proximal to tunnel); always check ulnar nerve separately",
]
},
{
"num": 8,
"title": "Thenar and Hypothenar Muscles",
"points": [
"Thenar eminence (radial palm elevation): Abductor pollicis brevis (APB), Opponens pollicis (OP), Flexor pollicis brevis — superficial head (FPB-s); all supplied by median nerve (recurrent branch, C8,T1); deep head FPB by ulnar nerve",
"Hypothenar eminence (ulnar palm elevation): Abductor digiti minimi (ADM), Opponens digiti minimi (ODM), Flexor digiti minimi (FDM), Palmaris brevis — all supplied by deep branch of ulnar nerve (C8,T1)",
"Opponens pollicis: Only muscle that opposes thumb (rotates 1st metacarpal medially); tested by asking patient to touch thumb to little finger",
"Clinical LOAF mnemonic (median nerve at wrist): Lumbricals 1&2, Opponens pollicis, Abductor pollicis brevis, Flexor pollicis brevis (superficial head)",
"🔴 Applied: Median nerve injury at wrist (CTS) → thenar wasting → cannot oppose thumb; Ulnar nerve injury → hypothenar wasting + claw hand (4th,5th fingers); Test opposition: ask patient to make 'OK sign' (median); resist finger abduction (ulnar — interossei)",
]
},
]
},
{
"label": "GROUP C — NERVES",
"items": [
{
"num": 9,
"title": "Radial Nerve",
"points": [
"Origin: Posterior cord of brachial plexus (C5,6,7,8,T1)",
"Course: In axilla — behind axillary artery; spiral groove of humerus (between medial and lateral heads of triceps) → pierces lateral intermuscular septum at lower 1/3 → enters cubital fossa between brachialis and brachioradialis → divides into deep (PIN) and superficial branches",
"Branches in axilla: Posterior cutaneous of arm (PCNA), nerve to long/medial heads of triceps, nerve to anconeus",
"Branches in spiral groove: Nerve to lateral head triceps, nerve to brachioradialis + ECRL",
"Terminal branches: Superficial radial nerve (purely sensory — anatomical snuffbox, dorsum of hand lateral 3½ fingers); PIN (deep — supplies extensors of wrist/fingers)",
"Muscles supplied: Triceps, brachioradialis, ECRL, ECRB (all above elbow); extensor compartment of forearm (via PIN)",
"Sensory: Posterior arm, posterior forearm, dorsolateral hand and lateral 3½ fingers (proximal phalanges)",
"🔴 Applied: Midhumeral fracture → radial nerve in spiral groove → wrist drop (cannot extend wrist/fingers/thumb); triceps spared (branches arise above spiral groove); sensory loss dorsum hand; 'Saturday night palsy' — compression in axilla → wrist drop + triceps weakness + sensory loss; High axillary palsy → all features + loss of triceps reflex",
]
},
{
"num": 10,
"title": "Median Nerve",
"points": [
"Origin: Lateral root (lateral cord, C5,6,7) + Medial root (medial cord, C8,T1) — roots join in front of 3rd part of axillary artery",
"Course: Arm — descends lateral to brachial artery, crosses to medial side at mid-arm; cubital fossa — between brachialis and pronator teres; forearm — between FDS and FDP; wrist — between FCR and PL tendons; carpal tunnel → palm → terminal branches",
"Branches in arm: None (pure descending)",
"Branches in forearm: AIN (anterior interosseous nerve — FPL, FDP to index/middle, pronator quadratus), palmar cutaneous branch (proximal to wrist — sensation to lateral palm)",
"Branches in hand: Recurrent branch (thenar muscles LOAF), common/proper palmar digital nerves (sensation lateral 3½ fingers and dorsum of distal phalanges)",
"🔴 Applied — At elbow (high): Pronation weak; loss of FPL, FDP index/middle ('Pointing index' — cannot flex index at IP joints); 'Hand of benediction' on attempted grasp (index/middle remain extended); AIN syndrome — loss of pinch ('OK sign' absent)",
"🔴 Applied — At wrist (low/CTS): LOAF muscles affected → thenar wasting, loss of opposition; 'Ape thumb deformity'; sensory loss lateral 3½ fingers (not palm — palmar cutaneous branch spared)",
]
},
{
"num": 11,
"title": "Ulnar Nerve",
"points": [
"Origin: Medial cord of brachial plexus (C7,8,T1)",
"Course: Arm — medial to brachial artery; passes posterior to medial epicondyle of humerus (cubital tunnel); forearm — between FDP and FCU; wrist — superficial to flexor retinaculum in Guyon's canal (between pisiform and hook of hamate); divides into superficial and deep terminal branches",
"Muscles supplied in forearm: FCU, FDP to ring and little fingers",
"Muscles supplied in hand: Hypothenar muscles, all interossei (3 palmar, 4 dorsal), medial 2 lumbricals (3rd,4th), adductor pollicis, deep head FPB",
"Sensory: Medial 1½ fingers (ring/little) — both palmar and dorsal surfaces; medial palm",
"Froment's sign: Ask patient to hold paper between thumb and index; if adductor pollicis paralysed → patient flexes IP of thumb using FPL (median nerve) to compensate → positive Froment's",
"🔴 Applied: Injury at medial epicondyle (cubital tunnel syndrome) — claw hand (4th and 5th fingers — hyperextension at MCP, flexion at IP joints); interosseous wasting; Wartenberg's sign (little finger abducted); sensory loss medial 1½ fingers; Guyon's canal compression (cyclists' palsy) — deep branch affected → motor loss, sensory spared (if proximal to bifurcation)",
]
},
{
"num": 12,
"title": "Axillary Nerve",
"points": [
"Origin: Posterior cord of brachial plexus (C5,6)",
"Course: Passes posteriorly with posterior circumflex humeral artery through quadrilateral space (bounded by: teres minor superiorly, teres major inferiorly, long head triceps medially, surgical neck humerus laterally)",
"Branches: Anterior branch (winds around surgical neck → 3 branches to anterior deltoid); Posterior branch (supplies teres minor + posterior deltoid + cutaneous branch = upper lateral cutaneous nerve of arm)",
"Muscles supplied: Deltoid (abduction 15–90°, flexion, extension, rotation), Teres minor (lateral rotation)",
"Sensory: 'Regimental badge area' — small circle on lateral upper arm (over deltoid insertion); tested by cotton wool",
"Deltoid: Anterior fibres (flex+medially rotate), Middle fibres (abduct 15–90°), Posterior fibres (extend+laterally rotate)",
"🔴 Applied: Fracture of surgical neck of humerus or anterior shoulder dislocation → axillary nerve injury → deltoid paralysis (flat/square shoulder appearance) + loss of sensation regimental badge area; Clinical test: Ask patient to abduct arm from 15–90°; check sensation lateral arm",
]
},
]
},
{
"label": "GROUP D — VESSELS, JOINTS & APPLIED",
"items": [
{
"num": 13,
"title": "Radial Artery",
"points": [
"Origin: Bifurcation of brachial artery at neck of radius (cubital fossa)",
"Course in forearm: Lateral to FCR tendon in lower forearm (palpable pulse — radial pulse); crosses superficial to scaphoid, trapezium in anatomical snuffbox; passes between heads of first dorsal interosseous → enters palm",
"Branches in forearm: Radial recurrent, palmar carpal branch, superficial palmar branch",
"In anatomical snuffbox: Radial artery with radial nerve superficially (superficial branch of radial nerve); deep to tendons of APL and EPB",
"In hand: Anastomoses with deep branch of ulnar artery → forms deep palmar arch; gives princeps pollicis artery (thumb), radialis indicis artery",
"🔴 Applied: Radial pulse — palpated between FCR and brachioradialis tendons at wrist; Allen's test — occludes both radial and ulnar arteries, releases one, checks patency of palmar arch; Radial artery used as graft in CABG (coronary artery bypass graft) — preferred over great saphenous vein; Cannulation of radial artery for ABG/invasive BP monitoring",
]
},
{
"num": 14,
"title": "Elbow Joint",
"points": [
"Type: Compound synovial hinge joint (one joint capsule with 3 articulations)",
"Articulations: Humeroulnar (trochlea-trochlear notch of ulna — hinge), Humeroradial (capitulum-head of radius — hinge), Proximal radioulnar (head radius-radial notch of ulna — pivot)",
"Ligaments: Medial (ulnar) collateral ligament — 3 bands (anterior, posterior, oblique/Cooper's); Lateral (radial) collateral ligament; Annular ligament (holds radial head in radial notch)",
"Movements: Flexion (biceps, brachialis, brachioradialis); Extension (triceps, anconeus)",
"Carrying angle: ~5–10° in males, ~10–15° in females; angle between long axis of arm and forearm in anatomical position",
"🔴 Applied: Pulled elbow (Nursemaid's elbow): In children <5 yrs — radial head subluxation from annular ligament; traction on extended elbow; Cubitus valgus (increased carrying angle) → 'tardy ulnar nerve palsy'; Cubitus varus (decreased angle) → common after supracondylar fracture; Tennis elbow (lateral epicondylitis) — ECRB origin; Golfer's elbow (medial epicondylitis) — common flexor origin",
]
},
{
"num": 15,
"title": "Anatomical Snuffbox",
"points": [
"Location: Triangular hollow seen on dorsolateral wrist when thumb extended/abducted",
"Boundaries — Laterally (anterior border): Tendons of APL (abductor pollicis longus) and EPB (extensor pollicis brevis); Medially (posterior border): Tendon of EPL (extensor pollicis longus); Base: Tip of radial styloid process; Apex: Thumb base",
"Floor: Scaphoid and trapezium bones; radial collateral ligament of wrist",
"Roof: Skin; superficial branch of radial nerve (cutaneous); cephalic vein begins here",
"Contents: Radial artery (with its branches); Superficial branch of radial nerve (sensory); Cephalic vein (roof)",
"🔴 Applied: Scaphoid fracture — tenderness in anatomical snuffbox is the classic sign; snuffbox tenderness with normal X-ray → treat as scaphoid fracture; MRI gold standard; Radial artery palpation/cannulation in snuffbox; Cephalic vein visible in roof — site for IV cannulation",
]
},
{
"num": 16,
"title": "Dermatomes of Upper Limb & Axillary Lymph Nodes",
"points": [
"Dermatomes of upper limb (segmental nerve supply to skin):",
" C4 — Tip of shoulder/clavicular area",
" C5 — Lateral arm (axillary nerve / regimental badge area)",
" C6 — Lateral forearm, thumb and index finger (musculocutaneous nerve, superficial radial)",
" C7 — Middle finger (median/radial territory; middle digit rule)",
" C8 — Ring and little fingers, medial forearm",
" T1 — Medial arm",
" T2 — Axilla and medial arm (intercostobrachial nerve)",
"Axillary lymph nodes — 5 groups:",
" Anterior (pectoral): Along lateral thoracic artery; drains breast (majority), chest wall",
" Posterior (subscapular): Along subscapular vessels; drains back of trunk, posterior shoulder",
" Lateral: Along axillary vein; drains whole upper limb",
" Central: Fat of axilla; receives from anterior + posterior + lateral groups",
" Apical: Above pec minor, medial axillary vein; receives all above → subclavian lymph trunk",
"🔴 Applied: Sentinel lymph node (SLN) biopsy — first node to receive drainage from breast tumour (usually anterior group); if SLN negative → no axillary clearance needed → reduced lymphoedema; Virchow's/Troisier's node — left supraclavicular enlargement in abdominal malignancy",
]
},
]
},
]
w = A4[0] - 3.6*cm
for grp in groups:
# Group header
gh_tbl = Table(
[[Paragraph(grp["label"], styles['group_header'])]],
colWidths=[w]
)
gh_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), HexColor("#E8F5E9")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 10),
('RIGHTPADDING', (0,0), (-1,-1), 10),
('BOX', (0,0), (-1,-1), 1.5, DARK_GREEN),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
story.append(KeepTogether([gh_tbl, Spacer(1, 0.2*cm)]))
for item in grp["items"]:
box = sn_box(item["num"], item["title"], item["points"], styles)
story.append(KeepTogether([box, Spacer(1, 0.25*cm)]))
story.append(Spacer(1, 0.15*cm))
# ─── Section III: Reasoning Out ───────────────────────────────────────────────
def build_section3(styles, story):
story.append(PageBreak())
story.append(section_banner(
"SECTION III — REASONING OUT (APPLIED ANATOMY)",
"Attempt ANY TWO | 5 Marks each | 10 Marks Total",
DARK_ORANGE, styles
))
story.append(Spacer(1, 0.3*cm))
questions = [
{
"num": 1,
"question": "A patient presents with 'wrist drop' following a fracture of the shaft of the humerus. Explain the anatomical basis.",
"points": [
"Radial nerve (C5–T1 from posterior cord) runs in the spiral groove (musculospiral groove) of the humerus between medial and lateral heads of triceps",
"Fracture of mid-humeral shaft directly injures radial nerve in spiral groove (most vulnerable point)",
"Radial nerve supplies: ECRL, ECRB (wrist extensors) and all finger/thumb extensors (via posterior interosseous nerve / PIN) — all paralysed",
"Triceps spared: Triceps branches arise above spiral groove (in axilla and upper groove); wrist drop without loss of elbow extension distinguishes mid-shaft from axillary injury",
"Wrist drop: Inability to extend wrist, MCP joints, and thumb → hand hangs in flexion",
"Sensory loss: Dorsum of hand (lateral 3½ fingers — proximal phalanges), posterior forearm; first web space most reliable autonomous zone",
"Clinically: Test by asking patient to extend wrist against resistance; check sensation in first web space",
"Management: Splint wrist in neutral/extension; nerve usually recovers (neuropraxia → axonotmesis); EMG/NCS after 3 weeks; if open fracture/no recovery → surgical exploration",
]
},
{
"num": 2,
"question": "A patient sustains an injury at the medial epicondyle and develops 'claw hand' affecting the 4th and 5th fingers. Explain the anatomical basis.",
"points": [
"Ulnar nerve (C7,8,T1) from medial cord of brachial plexus runs in a groove posterior to medial epicondyle (cubital tunnel/ulnar groove) — most vulnerable here",
"Injury/fracture of medial epicondyle → ulnar nerve damage",
"Muscles paralysed: All interossei (dorsal and palmar), medial 2 lumbricals (3rd, 4th for ring and little fingers), hypothenar muscles (ADM, ODM, FDM), FCU, FDP to ring/little, adductor pollicis",
"Mechanism of claw hand: Interossei + medial 2 lumbricals paralysed → loss of flexion at MCP + extension at IP joints; unopposed action of long flexors (FDP) → hyperextension at MCP, flexion at IP joints of ring and little fingers",
"Only ring and little fingers clawed (not index/middle): Lateral 2 lumbricals (for index/middle) are supplied by median nerve — functional, prevent clawing in those fingers",
"Paradox of ulnar claw: Worse deformity when FDP is intact (low ulnar injury at wrist = worse claw than high injury at elbow where FDP is also paralysed — 'ulnar paradox')",
"Sensory loss: Medial 1½ fingers (ring and little fingers), medial palm and dorsum; autonomous zone = little finger",
"Froment's sign positive (adductor pollicis paralysed); Wartenberg's sign (little finger abducted — palmar interosseous 4 paralysed)",
]
},
{
"num": 3,
"question": "Why does anterior dislocation of the shoulder joint commonly injure the axillary nerve? Describe the clinical features.",
"points": [
"Axillary nerve (C5,6 — posterior cord) exits axilla through quadrilateral space and winds around surgical neck of humerus (just below inferior glenohumeral capsule)",
"In anterior dislocation, humeral head displaces anteroinferiorly — nerve is stretched/compressed as it passes close to inferior capsule and surgical neck",
"Structures at risk: Axillary nerve (most common nerve injury) + posterior circumflex humeral artery",
"Deltoid paralysis: Arm cannot be abducted 15–90°; flat, squared shoulder appearance (deltoid is primary mover for most abduction)",
"Teres minor paralysis: Loss of lateral rotation (less clinically significant)",
"Sensory loss: 'Regimental badge area' — small area over lateral deltoid (upper lateral cutaneous nerve of arm, branch of axillary nerve posterior division)",
"Test: (1) Ask patient to abduct arm from 15–90° against resistance; (2) test light touch in regimental badge area; (3) may also check for deltoid wasting (chronic)",
"Recovery: Axillary nerve neurapraxia usually recovers in 3–4 months; if no recovery by 3 months → EMG; surgical exploration if needed; always reduce dislocation urgently to relieve nerve stretch",
]
},
{
"num": 4,
"question": "A patient cannot oppose the thumb following an injury at the wrist. Explain the anatomical basis using the LOAF mnemonic.",
"points": [
"Injury at wrist compresses/cuts median nerve as it passes through (or just after) carpal tunnel",
"Recurrent (thenar) branch of median nerve: Arises just distal to flexor retinaculum → supplies thenar muscles (LOAF: Lumbricals 1&2, Opponens pollicis, Abductor pollicis brevis, Flexor pollicis brevis superficial head)",
"Opponens pollicis: Key muscle for opposition — rotates 1st metacarpal medially + flexes + abducts to bring thumb tip to little finger; completely dependent on median nerve",
"APB (Abductor pollicis brevis): Abducts thumb perpendicular to palm; tested by asking patient to touch ceiling with thumb while hand palm-up",
"FPB superficial head: Flexes thumb MCP joint; deep head (ulnar nerve) may partially compensate",
"Lumbricals 1&2: Flex index and middle MCP joints, extend IP joints; lost in wrist injury",
"Ape thumb deformity: Thumb falls back into plane of palm (adducted, extended) — loss of thenar bulk and opposition",
"Structures spared at wrist injury: Palmar cutaneous branch of median nerve (given off 5 cm above wrist, proximal to tunnel) → lateral palm sensation intact; deep head FPB (ulnar nerve) partially preserved; forearm muscles intact (FPL, FDS, FDP to index/middle all spared)",
"Test: Ask patient to touch tip of thumb to little finger (opposition); thenar wasting visible; Phalen's + Tinel's positive in CTS",
]
},
{
"num": 5,
"question": "Why is the scaphoid bone prone to avascular necrosis (AVN) after fracture? Explain the anatomical basis.",
"points": [
"Scaphoid is the largest bone of the proximal carpal row; lies in the floor of the anatomical snuffbox",
"Blood supply is unique and precarious: Radial artery gives branches that enter the scaphoid from its distal pole (lateral and dorsal surfaces) — no significant vessels enter from the proximal pole",
"Supply is retrograde/distal to proximal: 70–80% of bone (including proximal pole) depends on intraosseous vessels from distal entry points",
"Waist fracture (most common): Fracture at the narrow waist (middle third) severs intraosseous blood supply to proximal fragment → proximal pole receives no blood flow",
"Consequence: Proximal fragment undergoes avascular necrosis (osteonecrosis) → fragmentation, sclerosis, collapse → scapholunate advanced collapse (SLAC wrist) → pan-carpal arthritis",
"Incidence: ~30% of waist fractures develop AVN of proximal pole if untreated",
"Clinically: Scaphoid fractures often missed on initial X-ray (only 70% visible); tenderness in anatomical snuffbox; MRI is gold standard for early AVN",
"Management: All suspected scaphoid fractures treated as fractured until proven otherwise; undisplaced waist → thumb spica cast 8–12 weeks; displaced or proximal pole → ORIF + bone grafting (Herbert screw); established AVN → vascularised bone graft (1,2 ICSRA) or proximal row carpectomy",
]
},
]
for q in questions:
box = reasoning_box(q["num"], q["question"], q["points"], styles)
story.append(KeepTogether([box, Spacer(1, 0.35*cm)]))
# ─── Priority Table & Mnemonics ───────────────────────────────────────────────
def build_priority_page(styles, story):
story.append(PageBreak())
w = A4[0] - 3.6*cm
# Priority banner
banner = section_banner(
"PRIORITY TABLE & MEMORY AIDS",
"Study Guide for Exam Preparation",
DARK_PURPLE, styles
)
story.append(banner)
story.append(Spacer(1, 0.35*cm))
# Priority Table
priority_hdr = Table(
[[Paragraph("⭐ EXAM PRIORITY TABLE — UPPER LIMB ANATOMY", styles['section_banner'])]],
colWidths=[w]
)
priority_hdr.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), MID_PURPLE),
('TOPPADDING', (0,0), (-1,-1), 6),
('BOTTOMPADDING', (0,0), (-1,-1), 6),
('LEFTPADDING', (0,0), (-1,-1), 10),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
story.append(priority_hdr)
story.append(Spacer(1, 0.15*cm))
priority_data = [
[Paragraph("<b>Topic</b>", styles['marks_badge']),
Paragraph("<b>Category</b>", styles['marks_badge']),
Paragraph("<b>Priority</b>", styles['marks_badge']),
Paragraph("<b>Likely Section</b>", styles['marks_badge'])],
["Brachial Plexus", "Nerve", "★★★", "Essay / SN"],
["Median Nerve", "Nerve", "★★★", "Essay / SN / RO"],
["Radial Nerve", "Nerve", "★★★", "Essay / SN / RO"],
["Ulnar Nerve", "Nerve", "★★★", "SN / RO"],
["Carpal Tunnel", "Applied", "★★★", "Essay / SN"],
["Brachial Plexus Injuries", "Applied", "★★★", "Essay / RO"],
["Rotator Cuff (SITS)", "Muscle", "★★★", "SN / RO"],
["Axilla", "Region", "★★★", "Essay"],
["Scaphoid & AVN", "Bone/Applied", "★★★", "SN / RO"],
["Shoulder Joint", "Joint", "★★★", "Essay / SN"],
["Cubital Fossa", "Region", "★★★", "Essay / SN"],
["Axillary Nerve", "Nerve", "★★★", "SN / RO"],
["Clavicle", "Bone", "★★", "SN"],
["Anatomical Snuffbox", "Region", "★★", "SN"],
["Radial Artery", "Vessel", "★★", "SN"],
["Elbow Joint", "Joint", "★★", "SN"],
["Biceps Brachii", "Muscle", "★★", "SN"],
["Humerus upper end", "Bone", "★★", "SN"],
["Carpal Bones", "Bone", "★★", "SN"],
["Thenar/Hypothenar muscles", "Muscle", "★★", "SN"],
["Dermatomes upper limb", "Applied", "★", "SN"],
["Axillary Lymph Nodes", "Lymphatics", "★★", "SN / Essay"],
["Radius", "Bone", "★", "SN"],
]
col_ws = [w*0.35, w*0.22, w*0.15, w*0.28]
pt = Table(priority_data, colWidths=col_ws, repeatRows=1)
pt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_PURPLE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,1), (-1,-1), 8.5),
('ALIGN', (0,0), (-1,-1), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('GRID', (0,0), (-1,-1), 0.5, GREY_BORDER),
('BOX', (0,0), (-1,-1), 1.2, DARK_PURPLE),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, GREY_BG]),
# Color star ratings
('TEXTCOLOR', (2,1), (2,11), HexColor("#C00000")), # ★★★ red
('FONTNAME', (2,1), (2,11), 'Helvetica-Bold'),
('TEXTCOLOR', (2,12), (2,21), HexColor("#FF7700")), # ★★ orange
('FONTNAME', (2,12), (2,21), 'Helvetica-Bold'),
('TEXTCOLOR', (2,22), (2,-1), HexColor("#888888")), # ★ grey
]))
story.append(pt)
story.append(Spacer(1, 0.5*cm))
# Mnemonics Section
mnem_hdr = Table(
[[Paragraph("🧠 ESSENTIAL MNEMONICS FOR UPPER LIMB", styles['section_banner'])]],
colWidths=[w]
)
mnem_hdr.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), HexColor("#2C5F2E")),
('TOPPADDING', (0,0), (-1,-1), 6),
('BOTTOMPADDING', (0,0), (-1,-1), 6),
('LEFTPADDING', (0,0), (-1,-1), 10),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
story.append(mnem_hdr)
story.append(Spacer(1, 0.2*cm))
mnemonics = [
{
"title": "Brachial Plexus Components",
"mnemonic": '"Real Taxis Drink Cold Beer"',
"expansion": "Roots → Trunks → Divisions → Cords → Branches",
"note": "Remember: 5 roots (C5–T1), 3 trunks, 6 divisions, 3 cords, 5 terminal branches"
},
{
"title": "Rotator Cuff Muscles",
"mnemonic": '"SITS"',
"expansion": "Supraspinatus | Infraspinatus | Teres minor | Subscapularis",
"note": "Supraspinatus torn most often; Subscapularis is medial rotator (all others are lateral rotators)"
},
{
"title": "Carpal Bones (Proximal → Distal, Lateral → Medial)",
"mnemonic": '"Some Lovers Try Positions That They Can\'t Handle"',
"expansion": "Scaphoid | Lunate | Triquetrum | Pisiform || Trapezium | Trapezoid | Capitate | Hamate",
"note": "Scaphoid is most commonly fractured; Pisiform is a sesamoid bone in FCU tendon"
},
{
"title": "Median Nerve Muscles at Wrist (Carpal Tunnel)",
"mnemonic": '"LOAF"',
"expansion": "Lumbricals 1&2 | Opponens pollicis | Abductor pollicis brevis | Flexor pollicis brevis (superficial head)",
"note": "All thenar muscles except deep head FPB (ulnar); palmar cutaneous branch SPARED"
},
{
"title": "Cubital Fossa Contents (Medial → Lateral)",
"mnemonic": '"My Boyfriend Rides a Bicycle"',
"expansion": "Median nerve | Brachial artery | (Biceps tendon) | Radial nerve",
"note": "Bicipital aponeurosis (lacertus fibrosus) forms the roof and protects brachial artery"
},
{
"title": "Axillary Nerve — Key Relationship",
"mnemonic": '"Surgical neck — Axillary nerve"',
"expansion": "Axillary nerve winds around the SURGICAL neck of humerus (not anatomical neck)",
"note": "Injury: shoulder dislocation (anterior) or fracture of surgical neck → deltoid paralysis + regimental badge sensory loss"
},
{
"title": "Radial Nerve Injury Levels",
"mnemonic": '"Axilla → Triceps lost | Spiral groove → Wrist drop only | Elbow → PIN palsy"',
"expansion": "High (axilla): Triceps + wrist drop + sensory loss | Mid (spiral): Wrist drop, triceps OK | Low (elbow/PIN): Finger drop, no wrist drop, no sensory loss",
"note": "Saturday night palsy = axillary/spiral groove compression; PIN syndrome = posterior interosseous nerve"
},
{
"title": "Ulnar Nerve — Injury Mnemonic",
"mnemonic": '"Ulnar claw = 4th and 5th; Median benediction = 2nd and 3rd"',
"expansion": "Ulnar injury → claws ring/little; Median injury → benediction of index/middle on grasp",
"note": "Ulnar paradox: Low ulnar injury (wrist) → worse claw than high (elbow) because FDP intact at wrist"
},
]
for mn in mnemonics:
inner = []
inner.append(Paragraph(mn["title"], styles['mnemonic_title']))
inner.append(Paragraph(f"<b>Mnemonic:</b> {mn['mnemonic']}", styles['mnemonic_text']))
inner.append(Paragraph(f"<b>Means:</b> {mn['expansion']}", styles['mnemonic_text']))
inner.append(Paragraph(f"<i>Note: {mn['note']}</i>", styles['mnemonic_text']))
box_tbl = Table([[inner]], colWidths=[w - 24])
box_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), LIGHT_PURPLE),
('TOPPADDING', (0,0), (-1,-1), 7),
('BOTTOMPADDING', (0,0), (-1,-1), 7),
('LEFTPADDING', (0,0), (-1,-1), 10),
('RIGHTPADDING', (0,0), (-1,-1), 10),
('BOX', (0,0), (-1,-1), 1.2, MID_PURPLE),
('ROUNDEDCORNERS', [4, 4, 4, 4]),
]))
story.append(KeepTogether([box_tbl, Spacer(1, 0.25*cm)]))
# Footer
story.append(Spacer(1, 0.3*cm))
story.append(HRFlowable(width=w, thickness=1, color=GREY_BORDER))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph(
"Prepared for First MBBS Anatomy Exam | Tamil Nadu Dr. M.G.R. Medical University, Chennai | Upper Limb Module",
styles['footer_note']
))
story.append(Paragraph(
"This document is for examination preparation purposes. Always refer to standard textbooks (Gray's Anatomy, BD Chaurasia) for comprehensive study.",
styles['footer_note']
))
# ─── Page number callback ─────────────────────────────────────────────────────
def add_page_number(canvas, doc):
canvas.saveState()
canvas.setFont('Helvetica', 8)
canvas.setFillColor(HexColor("#666666"))
page_num = canvas.getPageNumber()
text = f"Page {page_num} | Dr. MGR Medical University — Upper Limb Anatomy Probable Questions"
canvas.drawCentredString(A4[0]/2, 1.1*cm, text)
canvas.restoreState()
# ─── Main ─────────────────────────────────────────────────────────────────────
def main():
styles = make_styles()
doc = build_doc()
story = []
build_header(styles, story)
build_section1(styles, story)
build_section2(styles, story)
build_section3(styles, story)
build_priority_page(styles, story)
doc.build(story, onFirstPage=add_page_number, onLaterPages=add_page_number)
size = os.path.getsize(OUTPUT_PATH)
print(f"✅ PDF generated successfully!")
print(f" Path: {OUTPUT_PATH}")
print(f" Size: {size:,} bytes ({size/1024:.1f} KB)")
if __name__ == "__main__":
main()
cd /home/daytona/workspace/anatomy-exam && python3 generate_upper_limb_pdf.py 2>…
python3 -c " from pypdf import PdfReader reader = PdfReader('/home/daytona/works…
ls -lh /home/daytona/workspace/anatomy-exam/Upper_Limb_Probable_Questions.pdf
cat > /home/daytona/workspace/anatomy-exam/gen_hn.py << 'PYEOF' from reportlab.l…