Analysis the paper of upsc cms of previous 6 years and make a pdf of notes for me from the questions come from. Ortho
UPSC CMS previous years Orthopaedics questions 2019 2020 2021 2022 2023 2024
https://enmeder.com/upsc-cms-exam-preparation-and-previous-y…
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "Created workspace"
mkdir -p /tmp/workspace/upsc-cms-ortho && cat > /tmp/workspace/upsc-cms-ortho/generate_pdf.py << 'PYTHON_SCRIPT' 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, PageBreak, ListFlowable, ListItem) from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.pdfgen import canvas from reportlab.platypus.flowables import KeepTogether output_path = "/tmp/workspace/upsc-cms-ortho/UPSC_CMS_Orthopaedics_Notes.pdf" # ── Page setup ────────────────────────────────────────────────────────────── doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=1.8*cm, leftMargin=1.8*cm, topMargin=2*cm, bottomMargin=2*cm, title="UPSC CMS Orthopaedics High-Yield Notes", author="Orris AI" ) W, H = A4 styles = getSampleStyleSheet() # ── Custom styles ──────────────────────────────────────────────────────────── TEAL = colors.HexColor("#006d75") GOLD = colors.HexColor("#e0a800") RED = colors.HexColor("#c0392b") LBLUE = colors.HexColor("#d0e8f0") LYELL = colors.HexColor("#fdf6e3") LGREEN = colors.HexColor("#e8f5e9") LPINK = colors.HexColor("#fce4ec") def sty(name, **kw): s = ParagraphStyle(name, **kw) return s cover_title = sty("cover_title", fontSize=28, textColor=TEAL, alignment=TA_CENTER, spaceAfter=6, fontName="Helvetica-Bold") cover_sub = sty("cover_sub", fontSize=14, textColor=colors.darkslategray, alignment=TA_CENTER, spaceAfter=4) cover_info = sty("cover_info", fontSize=11, textColor=colors.gray, alignment=TA_CENTER, spaceAfter=3) ch_title = sty("ch_title", fontSize=18, textColor=colors.white, fontName="Helvetica-Bold", backColor=TEAL, borderPadding=(8,12,8,12), spaceBefore=16, spaceAfter=8, alignment=TA_LEFT) sec_head = sty("sec_head", fontSize=13, textColor=TEAL, fontName="Helvetica-Bold", spaceBefore=10, spaceAfter=4, borderPadding=(0,0,2,0)) sub_head = sty("sub_head", fontSize=11, textColor=colors.HexColor("#2c3e50"), fontName="Helvetica-Bold", spaceBefore=6, spaceAfter=3) body = sty("body", fontSize=9.5, leading=14, textColor=colors.black, alignment=TA_JUSTIFY, spaceAfter=3) bullet_sty = sty("bullet_sty", fontSize=9.5, leading=13, leftIndent=14, bulletIndent=2, spaceAfter=2, textColor=colors.black) key_box = sty("key_box", fontSize=9.5, leading=13, backColor=LYELL, borderPadding=(6,8,6,8), spaceAfter=4, textColor=colors.black) warn_box = sty("warn_box", fontSize=9.5, leading=13, backColor=LPINK, borderPadding=(6,8,6,8), spaceAfter=4, textColor=RED, fontName="Helvetica-Bold") green_box = sty("green_box", fontSize=9.5, leading=13, backColor=LGREEN, borderPadding=(6,8,6,8), spaceAfter=4, textColor=colors.darkgreen) table_hdr = sty("table_hdr", fontSize=9, fontName="Helvetica-Bold", textColor=colors.white, alignment=TA_CENTER) table_cell = sty("table_cell", fontSize=8.5, leading=11, alignment=TA_LEFT) footer_sty = sty("footer_sty", fontSize=8, textColor=colors.gray, alignment=TA_CENTER) pyq_tag = sty("pyq_tag", fontSize=8.5, textColor=colors.white, backColor=RED, borderPadding=(2,5,2,5), fontName="Helvetica-Bold") def hr(): return HRFlowable(width="100%", thickness=1, color=TEAL, spaceAfter=6, spaceBefore=4) def thin_hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.lightgrey, spaceAfter=4, spaceBefore=2) def sp(n=6): return Spacer(1, n) def chapter(text): return Paragraph(f" {text}", ch_title) def section(text): return Paragraph(text, sec_head) def sub(text): return Paragraph(text, sub_head) def para(text): return Paragraph(text, body) def bullet(items, color=TEAL): li = [] for it in items: li.append(ListItem(Paragraph(it, bullet_sty), bulletColor=color, leftIndent=16, bulletIndent=4)) return ListFlowable(li, bulletType='bullet', start='•') def key(text): return Paragraph(f"<b>KEY POINT:</b> {text}", key_box) def warn(text): return Paragraph(f"⚠ {text}", warn_box) def greenbox(text): return Paragraph(text, green_box) def table(data, col_widths=None, hdr_color=TEAL): t = Table(data, colWidths=col_widths, repeatRows=1) nrows = len(data) ncols = len(data[0]) style = TableStyle([ ('BACKGROUND', (0,0), (ncols-1, 0), hdr_color), ('TEXTCOLOR', (0,0), (ncols-1, 0), colors.white), ('FONTNAME', (0,0), (ncols-1, 0), 'Helvetica-Bold'), ('FONTSIZE', (0,0), (-1,-1), 8.5), ('ALIGN', (0,0), (-1,0), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, LBLUE]), ('GRID', (0,0), (-1,-1), 0.4, colors.grey), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING',(0,0),(-1,-1), 4), ('LEFTPADDING',(0,0), (-1,-1), 5), ]) t.setStyle(style) return t def pyq(year, text): return Paragraph(f"<font color='white'><b>[PYQ {year}]</b></font> {text}", sty(f"pyq_{year}", fontSize=9, backColor=RED, borderPadding=(3,6,3,6), textColor=colors.white, spaceAfter=3, leading=13)) # ═══════════════════════════════════════════════════════════════════════════ # BUILD CONTENT # ═══════════════════════════════════════════════════════════════════════════ story = [] # ── COVER PAGE ──────────────────────────────────────────────────────────── story += [ sp(60), Paragraph("UPSC CMS", cover_title), Paragraph("Orthopaedics", sty("big", fontSize=36, textColor=GOLD, alignment=TA_CENTER, fontName="Helvetica-Bold", spaceAfter=8)), Paragraph("High-Yield Notes", cover_sub), sp(10), hr(), sp(6), Paragraph("Based on Previous Year Questions (PYQs) 2019 – 2025", cover_info), Paragraph("Paper II · Surgery Section", cover_info), sp(6), hr(), sp(50), Paragraph("Compiled by Orris AI | July 2026", footer_sty), Paragraph("For UPSC Combined Medical Services Examination", footer_sty), PageBreak(), ] # ── INDEX ──────────────────────────────────────────────────────────────── story += [ chapter("INDEX / TABLE OF CONTENTS"), sp(6), table([ ["#", "Chapter / Topic", "Page"], ["1", "Fractures – General Principles & Classification", "3"], ["2", "Upper Limb Fractures & Dislocations", "5"], ["3", "Lower Limb Fractures & Dislocations", "7"], ["4", "Spine & Pelvis Injuries", "9"], ["5", "Bone & Joint Infections (Osteomyelitis, Septic Arthritis, TB Spine)", "10"], ["6", "Bone Tumours", "12"], ["7", "Metabolic Bone Disease", "13"], ["8", "Congenital & Developmental Disorders", "14"], ["9", "Nerve & Tendon Injuries", "15"], ["10", "Arthritis (OA, RA, Gout)", "16"], ["11", "Compartment Syndrome & Crush Injury", "17"], ["12", "High-Yield One-Liners & PYQ Rapid Revision","18"], ], col_widths=[1.2*cm, 11*cm, 2.5*cm]), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 1 – FRACTURES GENERAL # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("1. Fractures – General Principles & Classification"), sp(4), section("1.1 Classification Systems (High PYQ Frequency)"), table([ ["Classification", "Applied To", "Key Details"], ["Gustilo-Anderson", "Open fractures", "I: <1 cm; II: 1-10 cm; IIIA: adequate soft tissue; IIIB: periosteal stripping; IIIC: vascular injury"], ["AO/OTA", "All fractures", "A=simple, B=wedge, C=complex; numerals for bone segment"], ["Garden", "Femoral neck", "I=incomplete; II=complete undisplaced; III=partial displaced; IV=complete displaced"], ["Salter-Harris", "Physis/growth plate", "I-V; Type II most common; Type V = compression, worst prognosis"], ["Neer", "Proximal humerus","Parts based on displacement >1 cm or >45° angulation"], ["Mason", "Radial head", "I=undisplaced; II=displaced >2mm; III=comminuted; IV=with elbow dislocation"], ["Lauge-Hansen", "Ankle", "Supination-adduction, Supination-ER, Pronation-ER, Pronation-abduction"], ["Young & Burgess", "Pelvic ring", "LC, APC, VS, CM types"], ], col_widths=[3.5*cm, 3.5*cm, 8.6*cm]), sp(6), section("1.2 Fracture Healing"), bullet([ "<b>Stages:</b> Haematoma → Inflammatory → Soft callus → Hard callus (woven bone) → Remodelling", "<b>Primary (direct) healing:</b> requires rigid fixation (plate), no callus formation; haversian remodelling", "<b>Secondary healing:</b> occurs with conservative or IM nail; callus formation; most common type", "<b>Time to union:</b> Upper limb ~6 wks (shaft); Lower limb ~12 wks (shaft); Femur ~16-20 wks", "<b>Factors delaying union:</b> infection, poor blood supply, excessive motion, soft tissue interposition, malignancy", ]), sp(4), key("Callus formation is a sign of secondary bone healing (enchondral ossification). Its absence under rigid fixation = primary healing – a PYQ favourite."), sp(6), section("1.3 Complications of Fractures"), table([ ["Complication", "Onset", "Key Features & Treatment"], ["Fat embolism syndrome", "24–72 h", "Petechiae (axilla/conjunctiva), hypoxia, confusion; X-ray opacities; supportive Rx"], ["Volkmann's ischaemic contracture", "Hours", "5 P's → fasciotomy urgently; late: contracture → muscle slide/Z-plasty"], ["Avascular necrosis (AVN)", "Weeks–months", "Femoral neck, talus, scaphoid, lunate; X-ray: crescent sign; MRI best early"], ["Myositis ossificans", "3–6 wks", "Elbow (post-dislocation) most common; do NOT massage; excise after maturation"], ["Malunion / Non-union", "3 months+", "Hypertrophic (vascular) vs atrophic (avascular); BMP, bone graft, IMN"], ["CRPS (Sudeck's atrophy)", "Weeks", "Pain, trophic changes, osteoporosis; bisphosphonates, physio"], ["DVT / PE", "Days–weeks", "Prophylaxis: LMWH, compression; Wells score; LMWH treatment"], ], col_widths=[4*cm, 2.5*cm, 9.1*cm]), sp(4), warn("Myositis ossificans: NEVER massage or mobilise aggressively – it worsens ossification. PYQ 2021, 2023."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 2 – UPPER LIMB # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("2. Upper Limb Fractures & Dislocations"), sp(4), section("2.1 Clavicle Fractures"), bullet([ "Most common at middle third (80%); lateral third associated with acromioclavicular injury", "Treatment: middle third → figure-of-8 brace or sling; lateral third displaced → ORIF", "<b>Complications:</b> brachial plexus injury, subclavian vessel injury, pneumothorax", ]), sp(4), section("2.2 Shoulder Dislocation"), table([ ["Type", "Direction", "Mechanism", "Nerve at risk", "Sign/X-ray", "Reduction"], ["Anterior","Subcoracoid","Fall on outstretched hand", "Axillary nerve", "Hill-Sachs, Bankart lesion", "Kocher/Stimson/Hippocratic"], ["Posterior","Backward", "Electric shock/seizure","Axillary nerve","Reverse Hill-Sachs; 'lightbulb' sign","Traction-countertraction"], ["Inferior (Luxatio erecta)","Inferior","Hyperabduction","Axillary nerve","Arm locked overhead","Traction then adduction"], ], col_widths=[2.5*cm, 2.2*cm, 3.5*cm, 2.5*cm, 3.3*cm, 3.6*cm]), sp(4), key("Posterior shoulder dislocation – classic trigger: epileptic fit / electric shock. Often missed. 'Lightbulb' or 'ice cream cone' appearance on AP X-ray. PYQ 2019, 2022, 2024."), sp(6), section("2.3 Proximal Humerus – Neer Classification"), bullet([ "1-part (undisplaced): conservative – sling", "2-part: surgical neck → closed reduction + IM nail", "3/4-part in elderly: hemiarthroplasty or reverse TSA", "Most common fracture: surgical neck in elderly osteoporotic women", ]), sp(4), section("2.4 Humeral Shaft Fracture"), bullet([ "<b>Radial nerve injury</b> at spiral groove → wrist drop (most common nerve palsy with fracture)", "Holstein-Lewis fracture: distal 1/3 spiral → radial nerve trapped", "Treatment: functional brace (conservative, 85–90% union); ORIF if nerve palsy after closed reduction", "Radial nerve palsy with shaft fracture: usually neurapraxia → observe 3 months before exploration", ]), sp(4), warn("Radial nerve palsy with humeral shaft fracture: FIRST manage conservatively (neurapraxia). Only explore if no recovery at 3 months or if nerve is severed (open injury). PYQ 2020, 2023."), sp(4), section("2.5 Supracondylar Fracture of Humerus (Children)"), bullet([ "<b>Most common:</b> Extension type (97%) – FOOSH → posterior displacement", "<b>Nerve at risk:</b> Anterior interosseous nerve (AIN, branch of median) → 'OK sign' test loss", "<b>Artery at risk:</b> Brachial artery → Volkmann's ischaemia", "<b>Baumann angle:</b> Normal 70–75°; <70° = varus", "<b>Gartland classification:</b> I=undisplaced, II=posterior cortex intact, III=completely displaced", "<b>Treatment:</b> Type I: above-elbow cast; Type II/III: CRPP (crossed K-wires)", "<b>Gunstock deformity:</b> cubitus varus – malunion, cosmetic", ]), sp(4), key("AIN injury (not median nerve proper) in supracondylar fractures – cannot make OK sign (FDP index + FPL paralysis). PYQ 2019, 2021, 2022, 2025."), sp(6), section("2.6 Elbow Dislocation"), bullet([ "Posterior dislocation most common (FOOSH)", "Terrible triad: Elbow dislocation + radial head fracture + coronoid fracture", "Treatment: closed reduction under sedation; then immobilise 3 weeks then physio", ]), sp(4), section("2.7 Monteggia & Galeazzi Fractures"), table([ ["Fracture", "Bone broken", "Associated dislocation", "Mnemonic"], ["Monteggia", "Proximal ulna", "Radial head (radiocapitellar)", "MUD: Monteggia=Ulna+Dislocation radial head"], ["Galeazzi", "Distal radius", "Distal radio-ulnar joint (DRUJ)", "GRD: Galeazzi=Radius+DRUJ dislocation"], ], col_widths=[3*cm, 3.5*cm, 5.5*cm, 5.6*cm]), sp(4), key("Galeazzi = 'Reverse Monteggia' = 'Fracture of necessity' (always needs ORIF in adults). PYQ 2020, 2023."), sp(6), section("2.8 Colles' & Smith's Fracture (Distal Radius)"), table([ ["Feature", "Colles' Fracture", "Smith's Fracture"], ["Mechanism", "FOOSH (fall on outstretched hand)", "Fall on flexed wrist"], ["Displacement","Dorsal angulation/displacement", "Volar (anterior) displacement"], ["Appearance", "'Dinner fork' deformity", "'Garden spade' deformity"], ["Treatment", "Manipulation + POP cast", "Volar plate fixation (unstable)"], ], col_widths=[3.5*cm, 7.5*cm, 6.6*cm]), sp(4), section("2.9 Scaphoid Fracture"), bullet([ "Most common carpal bone fracture; waist = most common site (70–80%)", "<b>AVN risk:</b> proximal pole (retrograde blood supply) – AVN in 30% waist, 100% proximal pole", "<b>X-ray often negative initially:</b> if clinical suspicion → MRI (gold standard) or CT; treat as fracture", "<b>Treatment:</b> undisplaced waist → cast 8–12 wks; displaced/proximal pole → Herbert screw ORIF", "<b>Classic scenario:</b> anatomical snuffbox tenderness after FOOSH with normal X-ray → treat as scaphoid fx", ]), sp(4), warn("Normal X-ray does NOT rule out scaphoid fracture. MRI is best. Never miss this – AVN consequence. PYQ 2019, 2022, 2024."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 3 – LOWER LIMB # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("3. Lower Limb Fractures & Dislocations"), sp(4), section("3.1 Femoral Neck Fracture (Garden Classification)"), table([ ["Garden", "Type", "Treatment"], ["I", "Incomplete (valgus impacted)", "Cannulated screws (young); hemiarthroplasty (elderly if <70° tilt)"], ["II", "Complete, undisplaced", "Cannulated screws"], ["III", "Partially displaced", "Hemiarthroplasty (elderly) / ORIF (young <50 yrs)"], ["IV", "Fully displaced", "Total hip arthroplasty (active elderly) / Bipolar (less active)"], ], col_widths=[2*cm, 7*cm, 8.6*cm]), sp(4), bullet([ "<b>Blood supply to femoral head:</b> medial femoral circumflex artery (MFCA) – most important", "<b>AVN:</b> 15–35% after displaced neck fractures", "<b>Non-union:</b> treated with valgus osteotomy (young) or arthroplasty", "<b>Garden alignment index:</b> Normal = 160° (AP) and 180° (lateral)", ]), key("MFCA is the dominant blood supply to the femoral head. Displaced femoral neck fracture → highest AVN risk. PYQ 2019, 2020, 2021, 2022, 2023."), sp(6), section("3.2 Intertrochanteric Fracture vs Femoral Neck"), table([ ["Feature", "Femoral Neck", "Intertrochanteric"], ["Location", "Intracapsular", "Extracapsular"], ["Blood supply", "Compromised → AVN risk", "Better preserved"], ["Non-union", "Common", "Less common"], ["Treatment", "Arthroplasty/screws", "Dynamic Hip Screw (DHS) / Cephalomedullary nail"], ["Limb position", "Shortened + externally rotated (mild)", "Shortened + markedly externally rotated"], ], col_widths=[3.5*cm, 6*cm, 8.1*cm]), sp(4), section("3.3 Hip Dislocation"), table([ ["Type", "Mechanism", "Limb position", "Nerve at risk", "Reduction"], ["Posterior (90%)", "Dashboard injury (flexed knee hits dashboard)", "Flexion+adduction+IR", "Sciatic nerve", "Bigelow's / Allis method; urgent <6h"], ["Anterior", "Forced abduction+ER", "Extension+abduction+ER","Femoral nerve","Traction + ER then IR"], ], col_widths=[2.8*cm, 4.5*cm, 3.8*cm, 2.8*cm, 3.7*cm]), sp(4), warn("Posterior hip dislocation: must reduce within 6 hours to prevent AVN. Sciatic nerve injury in 10–15%. PYQ 2021, 2023."), sp(6), section("3.4 Femoral Shaft Fracture"), bullet([ "Blood loss: up to 1.5–2 L (closed fracture) → haemodynamic shock possible", "Treatment: antegrade intramedullary nail (gold standard in adults)", "Children: elastic stable intramedullary nailing (ESIN) for 5–11 yrs; traction then spica for <5 yrs", "Fat embolism most common with femoral shaft fractures", ]), sp(4), section("3.5 Knee Injuries"), sub("Ligament Injuries"), table([ ["Ligament", "Test", "Mechanism", "Associated injury", "Treatment"], ["ACL", "Lachman (most sensitive), anterior drawer, pivot shift", "Valgus + ER + flexion; non-contact deceleration", "Lateral meniscus tear; Second fracture", "Conservative (low demand) / ACL reconstruction (athletes)"], ["PCL", "Posterior drawer, posterior sag sign", "Dashboard injury (posterior force on flexed knee)", "Posterior capsule", "Usually conservative; severe → surgical"], ["MCL", "Valgus stress (30° flex)", "Valgus force", "ACL, medial meniscus (O'Donoghue triad)", "Grade I/II: conservative; Grade III: surgery"], ["LCL", "Varus stress", "Varus force", "Common peroneal nerve","Conservative/surgical"], ], col_widths=[1.5*cm, 3.8*cm, 3.5*cm, 3.5*cm, 5.3*cm]), sp(4), key("O'Donoghue's (unhappy triad): ACL + MCL + medial meniscus. Lachman test is most sensitive for ACL. PYQ 2020, 2022, 2024."), sp(4), sub("Meniscus Tears"), bullet([ "<b>Medial meniscus more commonly injured</b> (less mobile, attached to MCL)", "McMurray test: valgus + ER (medial); varus + IR (lateral)", "Thessaly test: most sensitive for meniscal tear", "MRI = investigation of choice; bucket-handle tear: locked knee", "Treatment: partial meniscectomy (peripheral tears: repair)", ]), sp(4), section("3.6 Tibial Plateau Fracture (Schatzker)"), table([ ["Schatzker", "Type", "Mechanism"], ["I", "Lateral split", "Valgus in young bone"], ["II", "Lateral split-depression","Valgus in older bone"], ["III", "Pure lateral depression","Axial load in osteoporotic"], ["IV", "Medial plateau", "High energy varus"], ["V", "Bicondylar", "High energy axial"], ["VI", "Metaphyseal dissociation","Severe high energy"], ], col_widths=[2.5*cm, 5*cm, 10.1*cm]), sp(4), section("3.7 Ankle & Foot Fractures"), bullet([ "<b>Pott's fracture:</b> bimalleolar or trimalleolar fracture; unstable → ORIF", "<b>Maisonneuve fracture:</b> Medial ankle disruption + proximal fibula fracture – ALWAYS examine proximal fibula", "<b>Lisfranc injury:</b> midfoot fracture-dislocation; missed on plain X-ray; weight-bearing X-ray / CT", "<b>Calcaneum fracture:</b> Axial load (fall from height); bohler angle <20° = depressed; 'lovers' fracture'; associated L1 vertebra fracture", "<b>Jones fracture:</b> Base of 5th metatarsal diaphysis; avascular zone → non-union risk; ORIF (athletes)", "<b>March fracture (stress fracture):</b> 2nd/3rd metatarsal; X-ray normal early; bone scan/MRI confirms", ]), warn("Calcaneal fracture: always check L1 vertebra – 10% associated lumbar spine fracture. PYQ 2022, 2024."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 4 – SPINE & PELVIS # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("4. Spine & Pelvis Injuries"), sp(4), section("4.1 Spinal Cord Injury Syndromes"), table([ ["Syndrome", "Lesion", "Motor", "Sensory", "Cause"], ["Central cord", "Central cervical cord","Arms > legs weakness","Sacral sparing", "Hyperextension (elderly spondylosis) – most common incomplete SCI"], ["Brown-Sequard", "Hemisection", "Ipsilateral paralysis","Ipsilateral proprioception loss; Contralateral pain/temp loss","Penetrating trauma"], ["Anterior cord", "Anterior 2/3", "Bilateral motor loss","Loss pain/temp; preserved proprioception/vibration","Flexion/compression"], ["Posterior cord", "Posterior columns", "Motor intact", "Proprioception/vibration loss","Rare"], ["Conus medullaris", "L1-L2", "Mixed UMN/LMN", "Saddle anaesthesia", "L1 fracture"], ["Cauda equina", "Cauda equina roots", "LMN (areflexic)", "Saddle; bowel/bladder","L1–L5 disc/fracture"], ], col_widths=[2.8*cm, 3*cm, 3*cm, 3.5*cm, 5.3*cm]), sp(4), key("Central cord syndrome: MOST common incomplete spinal cord injury. Arms weaker than legs. Often no fracture (hyperextension in elderly). PYQ 2019, 2020, 2021, 2023."), sp(6), section("4.2 Cervical Spine Injuries"), bullet([ "<b>Jefferson fracture:</b> C1 burst (axial load); X-ray: lateral masses displaced; CT; stable if transverse ligament intact", "<b>Hangman fracture:</b> C2 bilateral pedicle fracture (hyperextension); usually stable; halo vest", "<b>Odontoid fractures:</b> Type I (tip), II (base – non-union risk, common), III (body C2)", "<b>SCIWORA:</b> Spinal cord injury without radiological abnormality – children; MRI needed", "<b>Spinal shock:</b> Flaccid areflexia + bradycardia + hypotension below lesion; ends when bulbocavernosus reflex returns", "<b>Neurogenic shock:</b> hypotension + bradycardia (sympathectomy); treat with vasopressors + atropine", ]), sp(4), section("4.3 Thoracolumbar Fractures – Denis 3-Column"), table([ ["Column", "Structures"], ["Anterior", "Ant. longitudinal ligament + ant. 2/3 vertebral body + disc"], ["Middle", "Post. 1/3 vertebral body + posterior disc + PLL"], ["Posterior", "Pedicles, facets, laminae, supraspinous/interspinous lig, ligamentum flavum"], ], col_widths=[3*cm, 14.6*cm]), para("<b>Stability:</b> disruption of 2 or more columns = unstable fracture → surgical fixation"), sp(4), section("4.4 Pelvic Fractures"), bullet([ "<b>Blood loss:</b> up to 4–6 L from venous plexus (pre-sacral) in unstable pelvic fractures → haemorrhagic shock", "<b>Tile/Young-Burgess classification:</b> LC (lateral compression), APC (AP compression), VS (vertical shear)", "<b>Open book fracture:</b> APC type; symphysis pubis >2.5 cm = unstable; emergency pelvic binder", "<b>Pelvic binder:</b> placed at level of greater trochanters (NOT iliac crests)", "<b>Associated injuries:</b> urethral injury (posterior urethra in males), rectal injury, bladder rupture", "Anterior urethral injury: bulbar, perineal trauma ('straddle injury')", "Posterior urethral injury: pelvic fracture; 'high-riding prostate' on PR; blood at meatus", ]), warn("Pelvic fracture + blood at urethral meatus → DO NOT catheterise; retrograde urethrogram first. PYQ 2021, 2022."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 5 – BONE & JOINT INFECTIONS # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("5. Bone & Joint Infections"), sp(4), section("5.1 Acute Haematogenous Osteomyelitis"), table([ ["Feature", "Details"], ["Most common site","Metaphysis (richest blood supply, slow sinusoid flow)"], ["Age group", "Children 2–12 years; distal femur/proximal tibia metaphysis"], ["Organisms", "S. aureus (most common all ages); Group B Strep (neonates); Salmonella (sickle cell); Pseudomonas (IV drug users, puncture wound)"], ["Pathophysiology","Sluggish blood flow in metaphyseal sinusoids → bacterial lodgement → abscess → periosteal stripping"], ["Investigations", "ESR, CRP (elevated); X-ray normal first 7–10 days; MRI earliest detection; Bone scan: 'hot spot'"], ["Treatment", "IV antibiotics (anti-staph: cloxacillin/nafcillin); drainage if abscess formed; immobilisation"], ["Complications", "Chronic OM, septic arthritis, growth disturbance, pathological fracture"], ], col_widths=[3.5*cm, 14.1*cm]), sp(4), key("Brodie's abscess: subacute OM – lytic lesion surrounded by sclerosis in metaphysis; 'target sign' on MRI. S. aureus. PYQ 2020, 2023."), sp(6), section("5.2 Chronic Osteomyelitis"), bullet([ "<b>Sequestrum:</b> dead bone surrounded by pus – radiopaque, separated from living bone", "<b>Involucrum:</b> new bone formed around sequestrum by periosteum", "<b>Cloaca:</b> opening in involucrum for discharge", "<b>Sinus tract:</b> chronic discharging wound → risk of SCC (Marjolin's ulcer) after years", "<b>Treatment:</b> sequestrectomy + saucerisation + prolonged antibiotics + bone grafting", "Cierny-Mader classification: Stages 1–4 (based on anatomy) + Host types A, B, C", ]), sp(4), section("5.3 Septic Arthritis"), table([ ["Feature", "Details"], ["Common organisms","S. aureus (all ages); N. gonorrhoeae (sexually active young adults); Group B Strep (neonates); H. influenzae (children <5 yrs, pre-Hib vaccine)"], ["Common joint", "Knee most common (adults); Hip (infants) – highest risk of AVN"], ["Diagnosis", "Joint aspiration: WBC >50,000/mm³ with >75% PMNs + positive culture; Kocher criteria (hip)"], ["Kocher criteria","4 criteria: fever >38.5°C; non-weight bearing; ESR >40; WBC >12,000 → all 4 = 99% probability"], ["Treatment", "Urgent surgical drainage + IV antibiotics; immobilisation; hip in infants = EMERGENCY"], ["Complications","AVN (hip infants), growth arrest, joint destruction, secondary OA"], ], col_widths=[3.5*cm, 14.1*cm]), warn("Septic arthritis of hip in infant: EMERGENCY. Drain within hours to prevent AVN and permanent hip damage. PYQ 2021, 2024."), sp(6), section("5.4 TB of Spine (Pott's Disease)"), table([ ["Feature", "Details"], ["Most common site","Thoracolumbar junction (T10-L2); lower thoracic most common"], ["Pathology", "Starts in anterior vertebral body (paradiscal lesion); disc destruction; anterior wedging; kyphosis (Gibbus)"], ["Abscess", "Cold (psoas) abscess – no fever/warmth/pain; may track along iliopsoas to thigh"], ["Neurological", "Pott's paraplegia: early (active disease – epidural pus/granulation); late (healed disease – bony compression/fibrosis)"], ["Investigation", "X-ray: anterior wedging + disc space reduction; MRI: best for cord compression, abscess; FNAC/biopsy; PCR"], ["Treatment", "ATT (HRZE): 2 months then HR for 10 months; surgery for abscess drainage, deformity, failed conservative"], ], col_widths=[3.5*cm, 14.1*cm]), key("Pott's paraplegia 'late onset' (healed disease): surgical decompression needed as no ATT effect. Early onset: ATT first. PYQ 2020, 2022."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 6 – BONE TUMOURS # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("6. Bone Tumours"), sp(4), section("6.1 Classification & Age Groups"), table([ ["Tumour", "Age", "Site", "X-ray", "Type"], ["Osteosarcoma", "10–20 y", "Distal femur/prox tibia metaphysis","Sunburst + Codman's triangle","Malignant"], ["Ewing's sarcoma", "5–20 y", "Diaphysis (femur/tibia/humerus)","Onion peel + soft tissue mass","Malignant"], ["Giant cell tumour (GCT)","20–40 y","Epiphysis (distal femur, prox tibia)","Soap bubble; extends to subchondral bone","Locally aggressive"], ["Osteochondroma", "10–30 y", "Metaphysis", "Bony exostosis with cartilage cap","Benign (most common benign)"], ["Aneurysmal bone cyst","10–20 y", "Metaphysis/vertebra", "Eccentric expansile lytic; fluid-fluid level on MRI","Benign"], ["Simple bone cyst", "5–15 y", "Prox humerus metaphysis","Central lytic + 'fallen fragment sign'","Benign"], ["Enchondroma", "20–50 y", "Small bones hand", "Intramedullary calcification","Benign"], ["Osteoid osteoma", "10–25 y", "Femur/tibia cortex", "Small lytic nidus <1.5 cm + dense sclerosis; night pain relieved by aspirin","Benign"], ["Chondrosarcoma", ">40 y", "Pelvis/femur", "Endosteal scalloping + stippled calcification","Malignant"], ["Multiple myeloma", ">50 y", "Skull/spine/ribs", "Punched-out lytic + no reactive sclerosis","Malignant (plasma cells)"], ], col_widths=[3.8*cm, 2.2*cm, 3.8*cm, 4.5*cm, 3.3*cm]), sp(4), key("Osteoid osteoma: CLASSIC – night pain relieved by aspirin (NSAIDs). Nidus <1.5 cm. Treatment: radiofrequency ablation. PYQ 2019, 2021, 2023, 2024."), sp(4), warn("Ewing's sarcoma vs Osteomyelitis: Both cause periosteal reaction + fever + ↑ESR. Key differentiator: Ewing's has t(11;22) translocation; Biopsy essential. PYQ 2022."), sp(4), section("6.2 Osteosarcoma – Key Points"), bullet([ "Most common PRIMARY malignant bone tumour (excluding myeloma)", "Presents as painful swelling + ↑ALP", "Codman's triangle: periosteal reaction at margin of tumour (not pathognomonic)", "Sunburst pattern: perpendicular periosteal reaction", "Staging: Enneking system (IA, IB, IIA, IIB, III); staging CT chest + MRI local", "Treatment: Neoadjuvant chemo (MAP: methotrexate + adriamycin + cisplatin) → surgery → adjuvant chemo", "Limb salvage surgery: >90% of cases; good necrosis (>90%) = good prognosis", ]), sp(4), section("6.3 Giant Cell Tumour (GCT)"), bullet([ "Locally aggressive; may metastasise (5–10% to lungs)", "Campanacci grading: Grade 1 (contained), 2 (cortical thinning), 3 (soft tissue extension)", "Treatment: extended curettage + bone cement (polymethylmethacrylate) ± denosumab for unresectable", "Pathology: multinucleated giant cells (osteoclast-type) + stromal mononuclear cells", ]), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 7 – METABOLIC BONE DISEASE # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("7. Metabolic Bone Disease"), sp(4), table([ ["Disease", "Ca²⁺", "PO₄", "ALP", "PTH", "X-ray", "Treatment"], ["Osteoporosis", "N", "N", "N", "N", "Reduced density; vertebral wedge fractures","Bisphosphonates, Ca, Vit D, denosumab"], ["Osteomalacia/Rickets","↓","↓","↑↑", "↑", "Looser zones (pseudo-fx); Codfish vertebrae; widened epiphysis","Vit D + Ca replacement"], ["Primary HPT", "↑↑", "↓", "↑", "↑↑", "Subperiosteal resorption (radial border middle phalanx); Brown tumours","Parathyroidectomy"], ["Secondary HPT","↓/N", "↑", "↑", "↑↑", "Osteitis fibrosa cystica in severe cases","Treat renal failure; cinacalcet"], ["Paget's", "N", "N", "↑↑↑", "N", "Cotton wool skull; blade of grass sign; bowing tibia; enlargement","Bisphosphonates"], ["Hypoparathyroid","↓", "↑", "N", "↓", "Calcification basal ganglia","IV Ca gluconate; calcitriol"], ["Renal osteodystrophy","↓","↑","↑", "↑", "Rugger jersey spine", "Phosphate binders; vit D; renal transplant"], ], col_widths=[3.3*cm, 1.2*cm, 1.2*cm, 1.2*cm, 1.2*cm, 5.5*cm, 5*cm]), sp(4), key("Paget's disease: ALP is markedly elevated (most sensitive marker); bone scan shows entire Paget lesion. Highest risk: sarcomatous change (osteosarcoma) in 1%. PYQ 2020, 2021, 2024."), sp(4), bullet([ "<b>Rickets vs Osteomalacia:</b> Same pathology (deficient mineralisation); rickets in growing children, osteomalacia in adults", "<b>Looser zones:</b> stress fractures due to soft bone; pathognomonic of osteomalacia; pubic rami, femoral neck, ribs", "<b>Renal rickets:</b> Vit D resistant; XLR phosphate wasting (PHEX gene); ALP↑; treat with phosphate + calcitriol", "<b>Osteopetrosis (marble bone disease):</b> Osteoclast dysfunction → dense brittle bones; cranial nerve compression; ↑ALP", ]), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 8 – CONGENITAL & DEVELOPMENTAL # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("8. Congenital & Developmental Disorders"), sp(4), section("8.1 Developmental Dysplasia of Hip (DDH)"), bullet([ "<b>Risk factors:</b> Firstborn, female (5:1), breech, positive family history, oligohydramnios", "<b>Screening:</b> Ortolani (reduction) and Barlow (dislocation) tests in neonates", "Graf classification on ultrasound; gold standard: ultrasound <6 months, X-ray >6 months", "Hilgenreiner, Perkins lines; Shenton arc disruption on X-ray", "<b>Treatment:</b> Pavlik harness (0–6 months); closed/open reduction + spica (6 months–2 yrs); osteotomy (>2 yrs)", "Missed DDH adult: Trendelenburg gait, hip OA, leg length discrepancy", ]), key("Ortolani = 'clunk of reduction'; Barlow = 'clunk of dislocation'. Pavlik harness is contraindicated after 6 months. PYQ 2019, 2021, 2023."), sp(6), section("8.2 Club Foot (CTEV – Congenital Talipes Equinovarus)"), bullet([ "<b>Components (CAVE mnemonic):</b> Cavus + Adductus (forefoot) + Varus (heel) + Equinus (ankle)", "Incidence: 1–2/1000; male:female = 2:1; 50% bilateral", "<b>Treatment:</b> Ponseti method (serial casting + percutaneous tenotomy of TA); 95% success", "Denis Browne splint: maintains correction post-Ponseti", "Pirani scoring: 0–6; guides treatment", "Surgical correction (if failed): Turco/Cincinnati posteromedial release", ]), sp(4), section("8.3 Other Congenital Conditions"), table([ ["Condition", "Key Features", "Treatment"], ["Torticollis", "SCM fibrosis; face turned opposite, head tilt to affected side", "Physiotherapy; surgery if fails (sternocleidomastoid release)"], ["Congenital vertical talus","Rocker bottom foot; rigid flatfoot","Serial casting + surgical correction"], ["Congenital radioulnar synostosis","Pronation deformity; supination absent","Rotational osteotomy"], ["Sprengel shoulder", "Undescended scapula; omovertebral bone","Cosmetic; surgical release"], ["Polydactyly", "Extra digit; preaxial (thumb) or postaxial","Surgical excision"], ["Syndactyly", "Fused digits; simple or complex", "Surgical separation"], ["Coxa vara", "Neck-shaft angle <120°; Trendelenburg +ve", "Valgus osteotomy"], ], col_widths=[3.8*cm, 6.5*cm, 7.3*cm]), sp(4), section("8.4 Legg-Calvé-Perthes Disease"), bullet([ "AVN of femoral head in children aged 4–10 yrs; male:female = 4:1", "<b>Stages:</b> Avascular (initial) → Fragmentation → Re-ossification → Remodelling", "<b>X-ray:</b> increased density → fragmentation → head deformity", "Herring classification (lateral pillar): A, B, B/C border, C", "<b>Treatment:</b> containment (abduction orthosis); surgery (pelvic/femoral osteotomy) for poor prognosis cases", "Catterall classification (I–IV); Salter-Thompson (A/B)", ]), key("Perthes disease is a form of AVN of the femoral head in children. Distinguished from transient synovitis by duration and X-ray changes. PYQ 2020, 2022."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 9 – NERVE & TENDON INJURIES # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("9. Nerve & Tendon Injuries"), sp(4), section("9.1 Seddon's & Sunderland's Classification"), table([ ["Seddon", "Sunderland", "Structure damaged", "Recovery", "Treatment"], ["Neurapraxia", "Grade I", "Myelin only; axon intact","Complete; weeks","Conservative"], ["Axonotmesis", "Grade II", "Axon + myelin; endoneurium intact","Good; months; 1mm/day","Conservative"], ["Axonotmesis", "Grade III", "Endoneurium damaged", "Incomplete", "May need surgery"], ["Axonotmesis", "Grade IV", "Perineurium damaged", "Poor", "Surgery"], ["Neurotmesis", "Grade V", "Complete severance", "None without surgery","Nerve repair/graft"], ], col_widths=[2.8*cm, 2.8*cm, 4.5*cm, 3.5*cm, 4*cm]), sp(4), section("9.2 Common Nerve Injuries"), table([ ["Nerve", "Injury site", "Deformity", "Test", "Function lost"], ["Radial", "Spiral groove (humeral shaft Fx)", "Wrist drop + finger drop", "Cannot extend wrist/fingers/thumb","Extensors of wrist + fingers"], ["Median", "Wrist (carpal tunnel)","Ape hand (flattened thenar eminence)","Pen test, Phalen, Tinel","LOAF: Lumbricals 1&2, Opponens pollicis, Abd pollicis brevis, Flexor pollicis brevis"], ["Median", "Elbow (epicondyle Fx)","Hand of benediction","Cannot flex index FDP","AIN: FPL + FDP (index/middle)"], ["Ulnar", "Medial epicondyle","Claw hand (ring+little)","Froment sign (FPL compensation)","Interossei, hypothenar, lumbricals 3&4"], ["Ulnar", "Wrist", "Pure claw (all 4 fingers worse)","Card test","Intrinsic muscles (hypothenar + interossei)"], ["Common peroneal","Neck of fibula", "Foot drop", "Cannot dorsiflex/evert","Tibialis ant, peronei, toe extensors"], ["Axillary", "Shoulder dislocation","Loss deltoid contour","Regimental badge area","Deltoid (abduction 15–90°)"], ["Long thoracic","Axilla/neck surgery","Winged scapula", "Push wall – scapula wings","Serratus anterior"], ["Sciatic", "Posterior hip dislocation","Foot drop + hamstring", "Straight leg raise","All below knee + hamstrings"], ], col_widths=[2.5*cm, 3.5*cm, 3*cm, 3.5*cm, 5.1*cm]), sp(4), key("Carpal tunnel syndrome: median nerve at wrist. Phalen test (90° wrist flexion) and Tinel's sign (percussion over carpal tunnel). Thenar wasting = severe. PYQ 2019, 2021, 2022, 2023."), sp(4), section("9.3 Brachial Plexus Injuries"), table([ ["Type", "Roots", "Deformity", "Cause"], ["Erb's palsy (Upper)", "C5, C6", "Waiter's tip: arm adducted+IR+extended+pronated","Widened shoulder-neck angle at birth; traction"], ["Klumpke's palsy (Lower)", "C8, T1", "Claw hand; Horner syndrome if T1 ramus involved","Abduction arm at birth; direct pull"], ["Total brachial plexus palsy","C5–T1", "Flail arm", "Severe traction"], ], col_widths=[4.5*cm, 2*cm, 6*cm, 5.1*cm]), key("Erb's palsy: 'policeman's tip' or 'waiter's tip' position. Klumpke's: claw hand + Horner syndrome. PYQ 2020, 2022, 2024."), sp(6), section("9.4 Tendon Injuries"), bullet([ "<b>Zone II (no man's land):</b> FDP + FDS both in fibro-osseous tunnel; repair within 48 h; best results", "<b>Mallet finger:</b> extensor tendon avulsion at distal phalanx; DIP flexion deformity; splint in extension 6–8 wks", "<b>Boutonnière deformity:</b> central slip rupture; PIP flexion + DIP extension", "<b>Swan-neck deformity:</b> PIP hyperextension + DIP flexion; seen in RA", "<b>Achilles tendon rupture:</b> Thompson test (squeeze calf – no plantar flexion = positive); conservative vs surgical", "<b>Rotator cuff:</b> Supraspinatus most commonly torn; impingement syndrome; empty can test", ]), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 10 – ARTHRITIS # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("10. Arthritis – OA, RA & Crystal Arthropathies"), sp(4), section("10.1 Osteoarthritis"), table([ ["Feature", "Details"], ["Pathology", "Hyaline cartilage loss → subchondral sclerosis, osteophytes, subchondral cysts"], ["X-ray (LOSS)", "Loss of joint space; Osteophytes; Subchondral sclerosis; Subchondral cysts"], ["Joints", "Knee (most common), hip, DIP (Heberden's nodes), PIP (Bouchard's nodes), first CMCJ"], ["Kellgren-Lawrence","Grade 0–4; Grade 2: osteophytes; Grade 3: moderate space loss; Grade 4: severe"], ["Treatment", "Physio, weight loss; NSAIDs; intra-articular steroid/hyaluronic acid; Total joint replacement"], ], col_widths=[3.5*cm, 14.1*cm]), sp(4), section("10.2 Rheumatoid Arthritis – Orthopaedic Manifestations"), bullet([ "<b>Cervical spine:</b> Atlanto-axial subluxation (C1-C2) – most dangerous; cord compression", "Pannus formation erodes transverse ligament → anterior AAI; X-ray: ADI >3 mm (adults), >5 mm (children)", "<b>Hand deformities:</b> Swan-neck, Boutonnière, Z-thumb, ulnar drift, Trigger finger", "<b>Foot:</b> Metatarsalgia, hallux valgus, claw toes", "<b>Hip/Knee:</b> Protrusion acetabuli (RA); valgus knee; total joint replacement", "<b>Felty syndrome:</b> RA + splenomegaly + neutropenia", "<b>Investigations:</b> RF, anti-CCP (most specific); X-ray: periarticular osteoporosis + erosions (not sclerosis)", ]), key("RA X-ray vs OA: RA → periarticular osteoporosis + erosions (no osteophytes, no sclerosis); OA → osteophytes + sclerosis (no erosions). PYQ 2021, 2023."), sp(6), section("10.3 Crystal Arthropathies"), table([ ["Condition", "Crystal", "Joints", "Investigations", "Treatment"], ["Gout", "Monosodium urate (needle-shaped, negatively birefringent)","1st MTP (podagra), ankle, knee","Serum uric acid; synovial fluid: urate crystals; X-ray: 'rat bite' erosions with overhanging edges","Acute: NSAIDs/colchicine/steroids; Chronic: allopurinol/febuxostat"], ["Pseudogout (CPPD)","Calcium pyrophosphate (rhomboid, positively birefringent)","Knee, wrist, hip (large joints)","X-ray: chondrocalcinosis (linear calcification in cartilage); synovial fluid CPPD","NSAIDs; colchicine; no specific urate-lowering therapy"], ["Hydroxyapatite","Calcium hydroxyapatite","Shoulder (calcific tendinitis), others","X-ray: fluffy calcification in tendons","NSAIDs; needling; surgery"], ], col_widths=[2.8*cm, 4.5*cm, 3*cm, 3.5*cm, 3.8*cm]), warn("Gout crystal: NEGATIVE birefringence under polarised light (yellow when parallel). Pseudogout: POSITIVE birefringence (blue when parallel). PYQ 2020, 2022, 2024."), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 11 – COMPARTMENT SYNDROME # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("11. Compartment Syndrome & Crush Injury"), sp(4), section("11.1 Acute Compartment Syndrome"), table([ ["Feature", "Details"], ["Definition", "Pressure within closed fascial compartment exceeds perfusion pressure (>30 mmHg or within 30 mmHg of diastolic BP)"], ["Common causes","Fractures (tibia most common), burns, crush injury, tight cast, reperfusion"], ["Classic site", "Anterior compartment of leg (tibialis anterior, EDL, EHL, deep peroneal nerve)"], ["6 P's of ACS", "Pain (out of proportion), Pressure (hard compartment), Paraesthesia, Pallor, Pulselessness (LATE), Paralysis (LATE)"], ["Diagnosis", "Clinical + compartment pressure measurement (Stryker device); normal <10 mmHg"], ["Treatment", "URGENT fasciotomy (all 4 compartments of leg); release cast; IV fluids"], ["Threshold", "Fasciotomy if compartment pressure >30 mmHg OR within 30 mmHg of diastolic BP"], ], col_widths=[3.5*cm, 14.1*cm]), sp(4), warn("First sign of compartment syndrome: PAIN on PASSIVE STRETCH of muscles in that compartment. Pulselessness and paralysis are LATE signs – by then damage may be irreversible. PYQ 2020, 2021, 2022."), sp(6), section("11.2 Crush Injury & Rhabdomyolysis"), bullet([ "<b>Rhabdomyolysis:</b> muscle destruction → myoglobinuria (dark 'coca-cola' urine) → acute renal failure", "<b>Treatment:</b> aggressive IV fluids (target UO >200 mL/h initially); urinary alkalinisation; dialysis if ARF", "<b>Hyperkalaemia:</b> most dangerous acute complication (cardiac arrhythmias); treat with calcium gluconate, insulin+dextrose", "<b>Traumatic asphyxia:</b> crush to thorax → superior vena cava syndrome picture: plethora, petechiae, subconjunctival haemorrhage", ]), sp(4), section("11.3 Volkmann's Ischaemic Contracture"), bullet([ "<b>Cause:</b> untreated compartment syndrome (forearm) after supracondylar/forearm fractures", "<b>Stages:</b> Mild: intrinsic contracture only; Moderate: FDP/FDS involved; Severe: all muscles + nerves", "<b>Deformity:</b> wrist flexion + finger flexion + pronation (FDP/FDS contracted)", "<b>Treatment:</b> Mild: physio, splints; Moderate: muscle slide (Page-Scaglietti); Severe: free muscle transfer", "Prevention: fasciotomy early; never apply tight circular cast", ]), PageBreak(), ] # ═══════════════════════════════════════════════════════════════════════════ # CHAPTER 12 – RAPID REVISION ONE-LINERS # ═══════════════════════════════════════════════════════════════════════════ story += [ chapter("12. High-Yield One-Liners & PYQ Rapid Revision"), sp(4), section("12.1 Must-Know One-Liners (Repeat PYQ Topics)"), table([ ["One-Liner", "PYQ Year(s)"], ["Most common open fracture nerve injury: radial nerve in humeral shaft", "2020, 2023"], ["Most sensitive test for ACL: Lachman test", "2021, 2024"], ["Osteoid osteoma: night pain relieved by aspirin; nidus <1.5 cm", "2019, 2021, 2023, 2024"], ["AVN most common complication of: femoral neck fracture, posterior hip dislocation, scaphoid proximal pole", "2019–2024"], ["Fallen fragment sign: simple bone cyst of proximal humerus", "2021"], ["Salter-Harris Type V = compression of physis; worst prognosis", "2022, 2024"], ["Unhappy triad = ACL + MCL + medial meniscus", "2020, 2022"], ["Cod fish vertebrae: osteomalacia", "2020, 2023"], ["Rugger jersey spine: renal osteodystrophy (secondary HPT)", "2021, 2024"], ["Paget's: ALP markedly ↑; sarcomatous change 1%", "2020, 2021, 2024"], ["Central cord syndrome: most common incomplete SCI; arms > legs", "2019, 2020, 2021, 2023"], ["Brodie's abscess: subacute OM with sclerotic rim; target sign on MRI", "2020, 2023"], ["Posterior hip dislocation: dashboard mechanism; sciatic nerve; reduce <6h","2021, 2023"], ["Galeazzi fracture: distal radius + DRUJ dislocation", "2020, 2023"], ["Maisonneuve fracture: medial ankle injury + proximal fibula fracture", "2022, 2024"], ["Calcaneal fracture: check L1 vertebra", "2022, 2024"], ["Jones fracture: base 5th MT diaphysis; non-union risk", "2023, 2025"], ["Blood at urethral meatus in pelvic Fx → retrograde urethrogram first", "2021, 2022"], ["Ponseti method: treatment of choice for CTEV", "2019, 2021, 2023"], ["Kocher criteria: 4/4 = 99% probability septic arthritis of hip", "2021, 2024"], ["N. gonorrhoeae: MC organism septic arthritis in sexually active adults", "2020, 2022"], ["Mallet finger: splint DIP in extension 6–8 weeks", "2022, 2025"], ["Thompson test positive → Achilles tendon rupture", "2023"], ["Ewing's sarcoma: t(11;22); onion peel periosteal reaction", "2022"], ["Open book pelvic fracture: pelvic binder at greater trochanters", "2021, 2022"], ["Physis most vulnerable to Salter II: metaphyseal fragment retained", "2022, 2024"], ["Supraspinatus most commonly torn rotator cuff muscle", "2021, 2023"], ["Wrist drop = radial nerve at spiral groove; 'Saturday night palsy'", "2019, 2023"], ["Winged scapula: long thoracic nerve (serratus anterior)", "2021, 2022"], ["Trousseau/Chvostek positive: hypocalcaemia (hypoparathyroidism)", "2020"], ], col_widths=[13*cm, 4.6*cm]), sp(6), section("12.2 Orthopaedic Eponyms Quick Reference"), table([ ["Eponym", "What it refers to"], ["Codman's triangle", "Periosteal elevation at tumour edge (osteosarcoma)"], ["Sunburst pattern", "Radiating periosteal reaction – osteosarcoma"], ["Onion peel pattern", "Laminated periosteal reaction – Ewing's sarcoma"], ["Soap bubble appearance", "Giant cell tumour / aneurysmal bone cyst"], ["Baumann angle", "Supracondylar fracture assessment (normal 70–75°)"], ["Bohler angle", "Calcaneal fracture (<20° = depressed)"], ["Garden alignment index", "Femoral neck fracture assessment"], ["Shenton's arc", "Hip joint integrity; disrupted in hip dislocation/DDH"], ["Lisfranc injury", "Tarsometatarsal joint fracture-dislocation"], ["Maisonneuve", "Proximal fibula Fx + medial ankle disruption"], ["Froment's sign", "Ulnar nerve palsy (FPL compensates for adductor pollicis)"], ["Trendelenburg sign", "Abductor weakness (DDH, Perthes, neck of femur Fx)"], ["Murphy's sign", "Lunate dislocation (3rd MCP does not project)"], ["Watson's test", "Scapholunate instability (scaphoid shift test)"], ["Speed test", "Biceps tendinopathy (anterior shoulder pain with resistance)"], ["Apprehension test", "Anterior shoulder instability"], ["McMurray's test", "Meniscal tear"], ["Thessaly test", "Most sensitive for meniscal pathology"], ["Lachman test", "Most sensitive for ACL tear"], ["Anterior drawer", "ACL integrity at 90°"], ["Posterior drawer", "PCL integrity at 90°"], ["Valgus stress test", "MCL integrity"], ["Thompson test", "Achilles tendon rupture"], ["Ortolani / Barlow", "DDH screening in neonates"], ["Ober test", "IT band tightness"], ["Thomas test", "Hip flexion contracture"], ["FABER/FADIR test", "Hip pathology / sacroiliac joint"], ["Tinel / Phalen", "Carpal tunnel syndrome (median nerve)"], ["Finkelstein test", "De Quervain's tenosynovitis (APL + EPB)"], ["Hawkins-Kennedy", "Subacromial impingement"], ], col_widths=[5*cm, 12.6*cm]), sp(6), section("12.3 Imaging Quick Reference"), table([ ["Finding", "Diagnosis"], ["'Sunburst' periosteal reaction", "Osteosarcoma"], ["'Onion peel' periosteal reaction", "Ewing's sarcoma"], ["'Soap bubble' lytic lesion", "GCT / ABC"], ["'Eggshell' calcification", "Osteochondroma"], ["'Codfish/fish vertebrae'", "Osteomalacia / Sickle cell / Gaucher"], ["'Cotton wool skull'", "Paget's disease"], ["'Rugger jersey spine'", "Renal osteodystrophy"], ["'Punched out' lytic lesions", "Multiple myeloma"], ["'Looser zones'", "Osteomalacia"], ["'Fallen fragment sign'", "Simple bone cyst"], ["'Crescent sign' on X-ray/MRI", "AVN of femoral head (subchondral fracture)"], ["'Blade of grass' sign (long bones)", "Paget's disease"], ["Chondrocalcinosis on X-ray", "Pseudogout (CPPD)"], ["'Rat bite erosions' with overhanging edges","Gout"], ["'Ivory vertebra'", "Paget's / Lymphoma / Prostate mets / Fluorosis"], ["Double density sign (SPECT/bone scan)","Osteoid osteoma"], ["Fluid-fluid level on MRI", "Aneurysmal bone cyst"], ], col_widths=[7*cm, 10.6*cm]), sp(8), hr(), Paragraph("<b>End of Notes</b> | UPSC CMS Orthopaedics High-Yield Notes | Compiled July 2026", footer_sty), Paragraph("For educational purposes only. Always verify with standard textbooks.", footer_sty), ] # ── Build PDF ──────────────────────────────────────────────────────────── def add_page_numbers(canvas_obj, doc_obj): canvas_obj.saveState() canvas_obj.setFont('Helvetica', 8) canvas_obj.setFillColor(colors.grey) page_num = canvas_obj.getPageNumber() canvas_obj.drawCentredString(A4[0]/2, 1.2*cm, f"UPSC CMS Orthopaedics Notes | Page {page_num}") canvas_obj.restoreState() doc.build(story, onFirstPage=add_page_numbers, onLaterPages=add_page_numbers) print(f"PDF generated: {output_path}") import os size_kb = os.path.getsize(output_path) // 1024 print(f"File size: {size_kb} KB") PYTHON_SCRIPT echo "Script written successfully"
cd /tmp/workspace/upsc-cms-ortho && python generate_pdf.py 2>&1
UPSC CMS Orthopaedics Notes
PDF Document · PDF
| # | Chapter | Key PYQ Topics Covered |
|---|---|---|
| 1 | Fractures - General Principles | Classifications (Gustilo, Salter-Harris, Garden, Neer, Mason, AO), healing, complications (fat embolism, myositis ossificans, AVN) |
| 2 | Upper Limb Fractures | Posterior shoulder dislocation, supracondylar AIN injury, radial nerve palsy, Colles/Smith, scaphoid, Monteggia/Galeazzi |
| 3 | Lower Limb Fractures | Garden classification, hip dislocation, ACL/meniscus, ankle (Maisonneuve), calcaneal + L1 association |
| 4 | Spine & Pelvis | Cord syndromes (central cord most common), Jefferson/Hangman, Denis 3-column, pelvic binder placement, urethral injury |
| 5 | Bone & Joint Infections | Osteomyelitis (Brodie's abscess), Pott's disease paraplegia (early vs late), septic arthritis Kocher criteria |
| 6 | Bone Tumours | Osteoid osteoma (aspirin-relieved), osteosarcoma vs Ewing's, GCT, X-ray patterns (sunburst, onion peel, soap bubble) |
| 7 | Metabolic Bone Disease | Biochemistry table (Ca/PO4/ALP/PTH), Paget's disease, looser zones, rugger jersey spine |
| 8 | Congenital Disorders | DDH (Ortolani/Barlow/Pavlik), CTEV (Ponseti), Perthes disease |
| 9 | Nerve & Tendon Injuries | Seddon/Sunderland, LOAF muscles, Erb's/Klumpke's, carpal tunnel, mallet finger |
| 10 | Arthritis | OA vs RA X-ray differences, gout crystal birefringence (PYQ 2020, 2022, 2024), CPPD |
| 11 | Compartment Syndrome | 6 P's, fasciotomy threshold, rhabdomyolysis, Volkmann's contracture |
| 12 | Rapid Revision | 30+ one-liners with PYQ years, 30+ eponyms, 17 classic X-ray findings |