Protocol to treat Anca Vasculitis according to Guidlines

Reading File
Finding Sources
Finding Sources
Searching PubMed

"ANCA vasculitis" AND "treatment guidelines"

Reading File
Reading File
Searching PubMed

"ANCA-associated vasculitis" AND treatment

Reading File
Reading Article

PMID: 36927642

Reading Article

PMID: 38388102

Reading Article

PMID: 40499922

Finding Sources
Finding Sources
Searching the Web

KDIGO 2024 ANCA vasculitis treatment protocol guidelines summary

Reading File
Reading Web Page

https://kdigo.org/wp-content/uploads/2024/02/KDIGO-2024-ANCA…

Reading File
Finding Sources
I now have all the information needed to write a comprehensive, guideline-based treatment protocol. Let me compile the complete response.

ANCA-Associated Vasculitis (AAV): Treatment Protocol per Current Guidelines

Based on KDIGO 2024, EULAR 2022 Update, and BSR 2025 guidelines, supported by Brenner & Rector's Kidney (2-Vol), Comprehensive Clinical Nephrology 7th Ed, Firestein & Kelley's Rheumatology, and Goldman-Cecil Medicine.

1. Classification and Initial Diagnosis

AAV encompasses three conditions:
  • GPA (Granulomatosis with Polyangiitis) - predominantly PR3-ANCA
  • MPA (Microscopic Polyangiitis) - predominantly MPO-ANCA
  • EGPA (Eosinophilic Granulomatosis with Polyangiitis) - variable ANCA
Key diagnostic steps:
  • ANCA testing (PR3-ANCA / MPO-ANCA) by ELISA
  • Kidney biopsy to confirm pauci-immune crescentic GN when feasible
  • Do NOT delay treatment while awaiting biopsy if the patient has positive ANCA serology + compatible clinical picture and is rapidly deteriorating (KDIGO 2024, Practice Point 9.1.1)
  • Treat at centers with experience in AAV management

2. Disease Severity Classification (drives treatment decisions)

CategoryDefinition
Severe / Organ-threateningActive GN, SCr elevated, pulmonary hemorrhage, mononeuritis multiplex, orbital mass, cardiac involvement
Non-severe / LimitedUpper airway disease, skin, joints - without organ-threatening features
Life-threateningPulmonary hemorrhage with hypoxemia, rapidly progressive GN, dialysis-dependent

3. INDUCTION THERAPY (Phase 1)

3.1 Standard Induction - Life-threatening or Organ-threatening AAV

Recommended regimen (KDIGO 2024 Recommendation 9.3.1.1, Grade 1B; EULAR 2022):
Glucocorticoids + Rituximab OR Cyclophosphamide

Glucocorticoids

  • IV methylprednisolone 500 mg-1 g/day x 3 days (pulse), then
  • Oral prednisolone 1 mg/kg/day (max 60-80 mg), tapered to 5 mg/day within 4-5 months (EULAR 2022 target)
  • Reduced-dose GC protocol (from PEXIVAS trial): ~60% less exposure than standard, with non-inferior outcomes in ESKD/death - now preferred to limit toxicity
  • Target: discontinue or reach ≤5 mg/day prednisolone by ~4-5 months

Option A - Rituximab (PREFERRED in most patients)

  • 375 mg/m² IV x 4 weekly doses (RAVE/RITUXVAS dosing), OR
  • 1000 mg IV x 2 doses separated by 2 weeks (ANCA-GN)
  • Preferred over cyclophosphamide in:
    • Children/adolescents
    • Pre-menopausal women / men with fertility concerns
    • Frail older adults (glucocorticoid-sparing important)
    • Relapsing disease
    • PR3-ANCA positive disease

Option B - Cyclophosphamide (alternative)

  • IV pulsed: 0.35-0.5 g/m² IV q3 weeks (CYCLOPS protocol), titrating up to 1 g/m² based on leukocyte nadir (target nadir 3,000 cells/mm³); preferred over daily oral in most cases (similar remission, lower cumulative dose)
  • Oral: 2 mg/kg/day (reduce by 25 mg in patients >60 years)
  • Preferred when rituximab is difficult to access, or for severe GN (SCr >4 mg/dL / 354 µmol/L)
  • Duration: 3-6 months, then switch to maintenance agent
Combination (CYC + RTX): A combination of 2 IV pulses of cyclophosphamide with rituximab can be considered for severe GN.

3.2 Non-severe / Limited Disease

  • Methotrexate 20-25 mg/week (PO or SC) + glucocorticoids: appropriate for early limited GPA without significant renal impairment
    • Avoid if creatinine clearance <80 mL/min; contraindicated <10 mL/min
    • Higher relapse rate than CYC (69.5% vs 46.5%) - use only in truly limited disease
  • Mycophenolate mofetil (MMF): alternative for non-severe disease, especially MPO-ANCA

3.3 Avacopan (Complement C5a Receptor Inhibitor)

  • Avacopan 30 mg PO twice daily - approved adjunct to reduce glucocorticoid exposure
  • Used as part of a glucocorticoid-sparing strategy in GPA/MPA (EULAR 2022; KDIGO 2024)
  • In the ADVOCATE trial: 72.3% remission at week 26 (vs 70.1% with prednisone), with superior sustained remission at week 52 (65.7% vs 54.9%)
  • Start as early as possible; continue for 12 months
  • Does NOT fully replace glucocorticoids; reduces overall exposure
  • Consider especially in: frail elderly, diabetes, obesity, high infection risk

3.4 Plasma Exchange (PLEX)

Consider (not routine) in:
  • SCr >3.4 mg/dL (300 µmol/L)
  • Dialysis-dependent at presentation or rapidly rising SCr
  • Diffuse alveolar hemorrhage (DAH) with hypoxemia
  • Mandatory: overlap of ANCA vasculitis + anti-GBM disease
Note: The PEXIVAS trial (2020, N=704) did NOT show benefit of plasma exchange on ESKD or death at 7 years - use is now reserved for selected high-risk patients, not routine. (Comprehensive Clinical Nephrology 7th Ed, p. 361)

4. MAINTENANCE THERAPY (Phase 2)

Start after achieving remission (typically at 3-6 months)
KDIGO 2024 Recommendation 9.3.2.1 (Grade 1C): Rituximab OR Azathioprine + low-dose GC

4.1 Rituximab (PREFERRED maintenance)

  • 500 mg IV every 6 months, OR 1000 mg every 6 months (fixed-interval dosing)
  • Preferred in:
    • Relapsing disease
    • PR3-ANCA positive disease
    • Frail older adults
    • When glucocorticoid-sparing is critical
    • Azathioprine allergy
    • Low baseline IgG (<300 mg/dL - though monitor for hypogammaglobulinemia with repeated doses)

4.2 Azathioprine (alternative)

  • 2 mg/kg/day PO (after switch from cyclophosphamide at remission)
  • Check TPMT/NUDT15 genotype before starting
  • Preferred when: rituximab difficult to access, or MPO-ANCA with low relapse risk
  • Combined with low-dose prednisolone (≤5-7.5 mg/day)

4.3 Other maintenance alternatives

  • Methotrexate 20-25 mg/week: for patients in remission who cannot tolerate azathioprine; avoid if GFR reduced
  • Mycophenolate mofetil (MMF) 1500-2000 mg/day: less preferred (inferior to azathioprine in IMPROVE trial)
  • Leflunomide 20-30 mg/day: used in some centers for GPA maintenance

4.4 Duration of Maintenance

  • Optimal duration: 18 months to 4 years after induction (KDIGO 2024)
  • When withdrawing: assess relapse risk factors (PR3-ANCA, prior relapse, persistent ANCA positivity), and counsel patients to return promptly if symptoms recur
  • Higher relapse risk: PR3-ANCA, GPA phenotype, respiratory tract disease, persistent ANCA positivity at 12 months
  • Lower relapse risk: MPO-ANCA, MPA phenotype - may sometimes avoid prolonged maintenance

5. RELAPSING DISEASE

  • Major/organ-threatening relapse: Re-induce with full induction protocol (rituximab preferred) - KDIGO 2024, Practice Point 9.3.3.1
  • Minor relapse: Increase glucocorticoid dose +/- adjust immunosuppressive maintenance
  • Remission rates for relapsing disease are similar to new-onset disease
  • After re-induction, continue maintenance (rituximab preferred for relapsing disease)

6. REFRACTORY DISEASE

  • Increase glucocorticoids (IV or oral)
  • If CYC-induced induction: add rituximab; if RTX-induced induction: add CYC pulses
  • Plasma exchange can be considered
  • Referral to specialist vasculitis center
  • Consider clinical trial enrollment

7. EGPA-SPECIFIC TREATMENT

  • Induction: Glucocorticoids + Cyclophosphamide (for severe disease with cardiac, renal, peripheral nerve involvement)
  • Mepolizumab 300 mg SC every 4 weeks (anti-IL-5): recommended for relapsing or refractory EGPA (EULAR 2022 - strong recommendation); reduces relapse rates and glucocorticoid requirements significantly
  • For mild EGPA: glucocorticoids alone may suffice
  • Rituximab: used in ANCA-positive or refractory EGPA (BSR 2025)

8. SUPPORTIVE CARE AND MONITORING

MeasureDetails
PCP prophylaxisCo-trimoxazole 480-960 mg 3x/week (or dapsone/atovaquone if intolerant) during induction
Antifungal prophylaxisConsider during intensive immunosuppression
Osteoporosis prophylaxisCalcium + Vitamin D, consider bisphosphonates for all patients on GC
Bladder protection (CYC)Mesna + high fluid intake; regular urinalysis; urology referral for hematuria
ANCA monitoringSerial PR3/MPO-ANCA; rising titer predicts relapse (especially in renal disease)
Renal functionSCr, urinalysis, urine protein/creatinine ratio at each visit
Immunoglobulin levelsMonitor IgG with rituximab maintenance; replace if IgG <400 mg/dL
VaccinationsPneumococcal, influenza, COVID-19, zoster (before starting biologic if possible)

9. SPECIAL POPULATIONS

PopulationModification
Dialysis-dependent ESKDAvoid or minimize maintenance immunosuppression (low relapse risk, high infection risk); continue treating extrarenal manifestations
PregnancyUse azathioprine (safe); avoid CYC and MMF; rituximab only if essential
PediatricRituximab preferred over CYC; same induction principles
Elderly/FrailReduce CYC dose; prefer rituximab; avacopan for steroid-sparing; vigilant infection monitoring
Pre-transplantDelay transplant until complete remission for ≥6 months; ANCA positivity alone does NOT delay transplant

10. Summary Treatment Algorithm

SUSPECTED AAV
    |
    ├─ ANCA+ & compatible clinical → START TREATMENT (biopsy when feasible, don't delay)
    |
    ├─ ORGAN-/LIFE-THREATENING?
    |      YES → Pulse methylprednisolone → Oral GC taper (reduced-dose protocol)
    |              + Rituximab (preferred) OR Cyclophosphamide
    |              ± Avacopan (GC-sparing)
    |              ± Plasma exchange (if SCr >3.4, dialysis, DAH, anti-GBM overlap)
    |
    ├─ LIMITED/NON-SEVERE?
    |      → GC + Methotrexate (or MMF)
    |
    ├─ EGPA?
    |      → GC ± CYC (severe); Mepolizumab (relapsing/refractory)
    |
    REMISSION ACHIEVED (~3-6 months)
    |
    └─ MAINTENANCE THERAPY (18 months to 4 years)
           Rituximab (preferred) OR Azathioprine + low-dose GC
           ± Avacopan (complete 12-month course)
           Monitor: ANCA, renal function, IgG, infections

Key Guideline Sources


Key takeaways:
  • Rituximab has largely replaced cyclophosphamide as the preferred induction and maintenance agent in most patients
  • Glucocorticoid dose should be minimized - target ≤5 mg/day by 4-5 months (EULAR) or use reduced-dose protocol (PEXIVAS)
  • Avacopan is a new approved option to reduce steroid exposure in GPA/MPA
  • Plasma exchange is no longer routine - reserve for selected severe cases
  • Mepolizumab is the key biologic for relapsing/refractory EGPA
  • Maintenance duration: 18 months to 4 years depending on relapse risk profile

Approach to thrombocytopenia

Reading File
Finding Sources
Finding Sources
Searching PubMed

"thrombocytopenia" AND "diagnosis" AND "approach"

Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Loading Image
Reading File
Finding Sources
Reading File
Finding Sources
I have more than enough comprehensive information to construct a thorough "Approach to Thrombocytopenia." Let me compile the full answer now.

Approach to Thrombocytopenia

Based on: Harrison's Principles of Internal Medicine 22E (2025), Frameworks for Internal Medicine, The Harriet Lane Handbook 23rd Ed, Goldman-Cecil Medicine, ROSEN's Emergency Medicine, and Robbins & Kumar Basic Pathology.

1. Definition

  • Platelet count < 150,000/µL (traditionally)
  • Counts 100,000-150,000/µL stable for >6 months may be considered normal variants
  • Clinically significant threshold: < 100,000/µL warrants active investigation
  • Critical: < 10,000-20,000/µL carries risk of spontaneous life-threatening hemorrhage

2. FIRST STEP: Rule Out Pseudothrombocytopenia

Before any workup, always rule out a lab artifact:
  • Cause: EDTA-dependent antiplatelet antibodies cause in vitro platelet clumping (~0.1% of population); the automated counter reads clumped platelets as one
  • Clue: Low platelet count with NO clinical bleeding in an otherwise well patient
  • Action:
    • Review the peripheral blood smear for platelet clumps
    • Repeat CBC in sodium citrate (blue top) or heparin (green top) tube
    • Or examine a finger-stick smear without anticoagulant

3. Clinical Assessment

History

  • Bleeding symptoms: petechiae, purpura, ecchymoses, epistaxis, gingival bleeding, menorrhagia, GI bleed, hematuria, intracranial bleed
  • Drug history (most common cause - ask about ALL drugs, herbals, OTC, quinine, heparin, NSAIDs, antibiotics, chemotherapy)
  • Infections: recent viral illness (children), HIV, hepatitis B/C, EBV, CMV, COVID-19
  • Systemic illness: liver disease, autoimmune disease (SLE, APS), malignancy
  • Family history (inherited thrombocytopenia)
  • Pregnancy (gestational thrombocytopenia is most common cause in pregnancy)
  • Prior platelet counts (chronicity matters)
  • Transfusions, ECMO, recent surgery (dilution, mechanical destruction)

Physical Examination

FindingSignificance
Petechiae (non-blanching, pinpoint)Low platelet number (typically <30,000)
Wet purpura (oral blood blisters)High risk of life-threatening hemorrhage
EcchymosesPlatelet number OR function problem
SplenomegalySequestration, portal hypertension, lymphoma
LymphadenopathyMalignancy, infection
Signs of chronic liver diseaseDecreased thrombopoietin, portal hypertension
JaundiceHemolysis (TTP/HUS), liver disease
Fever + microangiopathyTTP/HUS, DIC

4. Pathophysiologic Classification (The Core Framework)

THROMBOCYTOPENIA
        |
        ├── DECREASED PRODUCTION (bone marrow problem)
        |        → Peripheral smear: normal or small platelets
        |        → Immature Platelet Fraction (IPF): LOW or normal
        |        → Bone marrow: ↓ megakaryocytes or infiltration
        |
        ├── INCREASED DESTRUCTION / CONSUMPTION
        |        → Peripheral smear: large platelets (megakaryocytes working harder)
        |        → IPF: HIGH (elevated reticulated platelets)
        |        → Bone marrow: normal or ↑ megakaryocytes
        |
        └── SEQUESTRATION
                 → Splenomegaly traps up to 90% of platelet pool
                 → Production normal; distribution problem

Immature Platelet Fraction (IPF) / Reticulated Platelets

  • High IPF = peripheral destruction/consumption (bone marrow compensating)
  • Low/normal IPF = decreased production (marrow not responding)
  • Available on modern hematology analyzers - a useful, underused test

5. Diagnostic Algorithm

Algorithm for evaluating the thrombocytopenic patient - Harrison's Principles of Internal Medicine 22E
Harrison's Principles of Internal Medicine 22E - Algorithm for evaluating the thrombocytopenic patient
Step-by-step approach:
  1. Confirm true thrombocytopenia (rule out pseudothrombocytopenia)
  2. Check full CBC - is thrombocytopenia isolated or part of pancytopenia?
  3. Peripheral blood smear - this is the single most important next test:
    • Platelet size (large = destruction; small = production defect/congenital)
    • Schistocytes/fragmented RBCs → microangiopathic process (TTP, HUS, DIC, HELLP)
    • Platelet clumps → pseudothrombocytopenia
    • Blasts → leukemia
    • Hypersegmented neutrophils → B12/folate deficiency
    • Teardrop cells (dacrocytes) → myelofibrosis
  4. Check coagulation (PT, aPTT, fibrinogen, D-dimer) → if abnormal, consider DIC
  5. If cause unclear → bone marrow examination (especially age >60 or no response to treatment)

6. Differential Diagnosis by Mechanism

A. Decreased Production

CauseKey Features
Aplastic anemiaPancytopenia, hypocellular marrow
Myelodysplastic syndrome (MDS)Age >60, dysplastic cells on smear
Leukemia / lymphomaBlasts on smear, systemic symptoms
MyelofibrosisTeardrop cells, splenomegaly, leukoerythroblastic picture
B12/Folate deficiencyHypersegmented neutrophils, macrocytosis, pancytopenia
Chemotherapy / radiationPredictable, dose-related
Viral infectionsHIV, parvovirus B19, EBV, CMV
Alcohol toxicityMarrow suppression + hypersplenism
Liver disease↓ Thrombopoietin (made in liver) → ↓ megakaryopoiesis
CongenitalFanconi anemia, Shwachman-Diamond syndrome

B. Increased Destruction / Consumption

Immune-mediated

ConditionKey Features
ITP (Immune Thrombocytopenic Purpura)Isolated thrombocytopenia, normal smear except large platelets, otherwise well patient
Secondary ITPAssociated with SLE, HIV, HCV, H. pylori, CLL
Drug-induced immune thrombocytopeniaHeparin (HIT), quinine, sulfonamides, GP IIb/IIIa inhibitors, many others
Post-transfusion purpuraSevere thrombocytopenia 5-10 days post-transfusion
Evans syndromeITP + autoimmune hemolytic anemia (Coombs positive)

Consumptive (non-immune)

ConditionKey Features
TTP (Thrombotic Thrombocytopenic Purpura)FAT RN: Fever, microAngiopathic hemolytic Anemia, Thrombocytopenia, Renal dysfunction, Neurological symptoms; schistocytes; ADAMTS13 deficiency
HUS (Hemolytic Uremic Syndrome)Triad: MAHA + thrombocytopenia + AKI; often post-E. coli O157:H7 (children)
DIC (Disseminated Intravascular Coagulation)Sepsis, trauma, obstetric emergency; prolonged PT/aPTT, ↑D-dimer, ↓fibrinogen
HELLP syndromeHemolysis, Elevated Liver enzymes, Low Platelets - pregnancy complication
Antiphospholipid syndromeThrombosis + thrombocytopenia + positive aPL antibodies
Kasabach-MerrittGiant hemangioma consuming platelets
SepsisMulti-mechanism: DIC + direct marrow suppression

C. Sequestration

CauseFeatures
HypersplenismSplenomegaly (any cause: cirrhosis, portal HTN, lymphoma, malaria, sickle cell, Gaucher's)
Typically mild thrombocytopenia (60,000-100,000/µL)

D. Dilutional

  • Massive transfusion / fluid resuscitation
  • ECMO, cardiopulmonary bypass, hemodialysis

7. Key Specific Conditions

Immune Thrombocytopenic Purpura (ITP)

Diagnosis of exclusion - no specific confirmatory test
Lab workup:
  • CBC, peripheral smear (large platelets, otherwise normal)
  • HIV, HCV, HBV serology
  • ANA, anti-dsDNA (screen for SLE)
  • H. pylori testing
  • Serum immunoglobulins (IgG, IgA, IgM)
  • Direct Coombs test (rule out Evans syndrome)
  • Bone marrow biopsy NOT required routinely (reserve for age >60 or treatment failure)
Treatment (by severity):
Platelet CountSymptomsManagement
>30,000/µLAsymptomaticObserve; no treatment needed
20,000-30,000/µLMinor bleedingOral prednisone 1 mg/kg/day OR dexamethasone 40 mg/day x 4 days
<20,000/µL or significant bleedingActive bleedingHospitalize; high-dose steroids + IVIgG (1-2 g/kg)
Life-threatening bleedEmergencySteroids + IVIgG + platelet transfusion + consider rituximab
Second-line (chronic/refractory ITP):
  • TPO receptor agonists: romiplostim (SC weekly), eltrombopag (oral daily), avatrombopag (oral)
  • Rituximab (anti-CD20): ~30% long-term remission
  • Splenectomy: now less common; give pneumococcal, meningococcal, Hib vaccines 2 weeks before
  • Fostamatinib (spleen tyrosine kinase inhibitor): newer option

Heparin-Induced Thrombocytopenia (HIT)

  • Type 1 HIT: Non-immune, mild drop (>100,000), onset within 1-2 days, self-limiting - continue heparin
  • Type 2 HIT (TRUE HIT): Immune-mediated (anti-PF4/heparin antibodies), onset 5-10 days after heparin exposure (sooner if recent prior exposure), platelet drop typically >50% from baseline, paradoxically thrombotic (HITT)
Diagnosis - 4T Score:
Parameter2 points1 point0 points
Thrombocytopenia>50% fall, nadir ≥2030-50% fall or nadir 10-19<30% fall or nadir <10
Timing of fallDays 5-10, or ≤1 day if prior heparin within 30 days>10 days or unknown≤4 days without recent heparin
ThrombosisNew thrombosis or skin necrosisProgressive/recurrent thrombosisNone
OTher causeNone apparentPossibleDefinite
  • Score 6-8 = High pre-test probability
  • Score 4-5 = Intermediate
  • Score 0-3 = Low
Management:
  1. Stop ALL heparin immediately (including flushes, LMWH)
  2. Start non-heparin anticoagulation immediately: argatroban, bivalirudin, fondaparinux, or DOAC
  3. DO NOT give platelet transfusions (can worsen thrombosis - "feed the clot")
  4. DO NOT start warfarin until platelet count recovers (risk of limb gangrene)
  5. Confirm with anti-PF4/heparin antibody ELISA (high sensitivity) + serotonin release assay (gold standard)

Thrombotic Thrombocytopenic Purpura (TTP)

  • Mnemonic (classic pentad): Fever + microAngiopathic hemolytic Anemia + Thrombocytopenia + Renal dysfunction + Neurological symptoms (FAT RN)
  • Actually, the full pentad is rare; MAHA + thrombocytopenia is sufficient to initiate treatment
  • Mechanism: ADAMTS13 deficiency (congenital or acquired) → accumulation of ultra-large von Willebrand factor multimers → platelet thrombi in microvasculature
  • Smear: Schistocytes (fragmented RBCs) + ↓ platelets
  • Labs: ↓ADAMTS13 activity (<10% confirms diagnosis), anti-ADAMTS13 antibodies
Treatment:
  1. Plasma exchange (PLEX) - EMERGENCY, start immediately
  2. Steroids (methylprednisolone or prednisone)
  3. Caplacizumab (anti-VWF nanobody) - add to PLEX + steroids for faster platelet recovery
  4. Rituximab for acquired TTP (to reduce anti-ADAMTS13 antibodies)
  5. Avoid platelet transfusions (worsens microvascular thrombosis)

DIC (Disseminated Intravascular Coagulation)

Labs: Thrombocytopenia + prolonged PT/aPTT + ↑D-dimer + ↓fibrinogen + schistocytes
Treatment: Treat the underlying cause (sepsis, obstetric catastrophe, malignancy); FFP, cryoprecipitate, and platelets as needed for active bleeding

8. Bleeding Risk by Platelet Count

Platelet CountClinical Correlation
>100,000/µLNormal hemostasis for most procedures
50,000-100,000/µLGenerally asymptomatic; increased bleeding with major trauma/surgery
30,000-50,000/µLEasy bruising; minor procedures generally safe
10,000-30,000/µLSpontaneous bruising, mucosal bleeding (epistaxis, gingival); avoid invasive procedures
<10,000/µLSpontaneous intracranial hemorrhage risk; hospitalize; consider prophylactic transfusion
Platelet transfusion thresholds (general):
  • Non-bleeding: transfuse if <10,000/µL (prophylactic)
  • Pre-procedure: >50,000/µL for most; >100,000/µL for neurosurgery/ophthalmology
  • Active major bleeding: >50,000-100,000/µL target
  • NEVER transfuse in TTP or HIT (worsens outcome)

9. Investigations Summary

TestWhat it tells you
CBC + peripheral smearMost critical first step; platelet size, RBC morphology, blasts
Immature platelet fraction (IPF)Distinguishes production vs. destruction
PT, aPTT, fibrinogen, D-dimerDIC screen
LDH, haptoglobin, bilirubin, CoombsHemolysis (TTP/HUS/Evans)
ADAMTS13 activityTTP diagnosis
Anti-PF4/heparin antibodyHIT
HIV, HCV, HBV serologySecondary ITP
ANA, anti-dsDNASLE-associated ITP
H. pyloriSecondary ITP
Bone marrow biopsyUnexplained, age >60, or treatment failure
Liver function tests, ultrasoundHepatic cause, splenomegaly
Blood culturesSepsis-induced thrombocytopenia

10. Quick Summary Mnemonic

"DIPS" - Causes of Thrombocytopenia:
  • D - Decreased production (aplastic anemia, MDS, B12/folate, drugs, alcohol, viruses)
  • I - Increased destruction (ITP, HIT, TTP/HUS, DIC, drugs, infections)
  • P - Pooling/sequestration (hypersplenism)
  • S - Spurious/dilutional (pseudothrombocytopenia, massive transfusion)

Sources: Harrison's Principles of Internal Medicine 22E (2025); Frameworks for Internal Medicine (Lippincott Williams & Wilkins); The Harriet Lane Handbook 23rd Ed (Johns Hopkins); Goldman-Cecil Medicine; ROSEN's Emergency Medicine.

Can you teach me basics of neurology for MD medicine resident

Asking for Preferences

Can you teach me basics of neurology for MD medicine resident

Asking for Preferences
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
I have rich content from multiple authoritative sources. Let me now compile the comprehensive neurology teaching session.

Basics of Neurology for the MD Medicine Resident

Neurological Examination & Localization

Based on: Bradley & Daroff's Neurology in Clinical Practice, Adams & Victor's Principles of Neurology 12th Ed, Neuroanatomy through Clinical Cases 3rd Ed, Harrison's Principles of Internal Medicine 22E (2025)

THE FUNDAMENTAL PRINCIPLE: Think in Anatomy First

The #1 skill in neurology is localization - "Where is the lesion?" always before "What is the lesion?"
The neurological exam is your instrument to answer: Where in the nervous system is the problem?
Once you localize, the differential diagnosis becomes dramatically shorter.

PART 1: THE NEUROLOGICAL EXAMINATION - Overview

The exam has 7 domains, always assessed in this order:
1. Mental Status
2. Cranial Nerves (I–XII)
3. Motor System
4. Reflexes
5. Coordination & Cerebellar
6. Gait & Balance
7. Sensory System
A key principle from Bradley & Daroff: Examination begins during the interview. Before you even touch the patient, observe:
  • Facial expression: flat (parkinsonism), worried/surprised (progressive supranuclear palsy)
  • Ptosis: myasthenia gravis, Horner's syndrome, CN III palsy
  • Speech: dysarthria vs. aphasia vs. dysphonia
  • Posture and involuntary movements: tremor, chorea, dystonia

PART 2: MENTAL STATUS EXAMINATION

The 6 Core Domains to Test

DomainWhat to TestBedside Tools
Arousal/ConsciousnessIs the patient awake, alert, drowsy, stuporous, comatose?GCS; AVPU scale
AttentionSerial 7s (subtract 7 from 100), spelling "WORLD" backwards, digit spanMMSE, MoCA
OrientationPerson, place, time, situation"Where are you? What day is it?"
LanguageFluency, comprehension, repetition, naming"Repeat after me...", name objects
MemoryImmediate recall, short-term (3-word recall at 5 min), long-termMMSE 3-word registration/recall
VisuospatialCopy intersecting pentagons, clock-drawing testMoCA clock test

Language - Critically Important (localizes to dominant hemisphere)

Aphasia TypeFluencyComprehensionRepetitionLesion Location
Broca'sNon-fluent (effortful, telegraphic)IntactImpairedInferior frontal gyrus (L)
Wernicke'sFluent (but empty, paraphasias)ImpairedImpairedSuperior temporal gyrus (L)
GlobalNon-fluentImpairedImpairedLarge L hemisphere
ConductionFluentIntactImpairedArcuate fasciculus
AnomicFluentIntactIntactVariable
Clinical Pearl: In right-handed people (and ~70% of left-handed), language is in the LEFT hemisphere. A fluent patient with poor comprehension = Wernicke's = posterior. A non-fluent patient who understands well = Broca's = anterior.

Additional Cortical Functions

  • Neglect: Ask patient to bisect a line; hemi-neglect = non-dominant (right) parietal lesion
  • Apraxia: Inability to perform learned motor tasks despite intact motor/sensory function (dominant parietal)
  • Agnosia: Inability to recognize despite intact perception
  • Right-left disorientation + acalculia + agraphia + finger agnosia = Gerstmann syndrome (dominant angular gyrus)

PART 3: CRANIAL NERVE EXAMINATION

Quick Reference: All 12 Cranial Nerves

CNNameFunctionHow to TestKey Lesion Pattern
IOlfactorySmellEach nostril separately with coffee/soapAnosmia = frontal lobe, trauma, Parkinson's
IIOpticVisionVisual acuity, visual fields by confrontation, pupil light reflex (afferent limb), fundoscopyRAPD = optic neuritis; papilledema = ↑ICP
IIIOculomotorEye movement (SR, IR, MR, IO), pupil constriction, lid elevationEye movements in 9 cardinal positions; pupil size/reactionPtosis + down-and-out eye + dilated fixed pupil = CN III palsy (posterior communicating artery aneurysm until proven otherwise!)
IVTrochlearSuperior oblique (intorsion, depression in adduction)Ask patient to look down and in; tilt head testDiplopia on downward gaze; head tilt away from lesion
VTrigeminalFacial sensation (V1/V2/V3) + jaw movementLight touch + pinprick forehead/cheek/jaw; jaw clench/openV1 = forehead, V2 = cheek, V3 = jaw; corneal reflex (afferent limb)
VIAbducensLateral rectus (abduction)Follow finger laterallyFailure to abduct eye; diplopia on lateral gaze - "false localizing sign" in raised ICP
VIIFacialFacial muscles + taste anterior 2/3 tongueRaise eyebrows, close eyes tight, smile, puff cheeksUMN (forehead spared) vs LMN/Bell's palsy (entire face including forehead)
VIIIVestibulocochlearHearing + balanceWhisper test; Rinne/Weber tuning fork; RombergRinne: AC>BC = normal or SNHL; BC>AC = conductive
IX/XGlossopharyngeal/VagusPalate movement, gag, swallowing, voiceSay "ah" - uvula deviation; gag reflexUvula deviates AWAY from lesion; hoarse voice = X palsy
XIAccessorySCM + trapeziusHead turning against resistance; shoulder shrugWeakness turning head to opposite side of lesion
XIIHypoglossalTongue movementProtrude tongueTongue deviates TOWARD side of LMN lesion

Critical CN Pearls for Medicine Residents

The Pupil Rules:
  • Dilated, fixed pupil (mydriasis) = CN III palsy - surgical emergency (aneurysm or herniation)
  • Small, reactive pupil (miosis) + ptosis + anhidrosis = Horner syndrome (sympathetic chain disruption - think lung apex, carotid dissection, brainstem)
  • RAPD (Relative Afferent Pupillary Defect / Marcus Gunn pupil): When you swing light from normal to affected eye, the affected eye appears to dilate - indicates optic nerve or extensive retinal disease
Facial Nerve (CN VII) - UMN vs LMN:
  • UMN lesion (e.g., stroke in internal capsule): lower face weakness only (forehead SPARED because forehead has bilateral cortical representation)
  • LMN lesion (e.g., Bell's palsy): ENTIRE face on one side, including forehead - cannot close eye, cannot raise eyebrow
Diplopia quick approach:
  1. Is it monocular (one eye closed, still diploid) → ophthalmological (lens/cornea)
  2. Is it binocular → CN III, IV, VI palsy or internuclear ophthalmoplegia (INO)
  3. INO = medial longitudinal fasciculus (MLF) lesion → failure of adduction on the side of the lesion + nystagmus in the abducting eye → bilateral INO in young patient = multiple sclerosis

PART 4: MOTOR SYSTEM EXAMINATION

The Motor Pathway - From Cortex to Muscle

Motor Cortex (precentral gyrus)
    ↓ Corticospinal (pyramidal) tract
Internal Capsule (posterior limb)
    ↓
Brainstem (crosses at pyramidal decussation in medulla)
    ↓
Lateral corticospinal tract in CONTRALATERAL spinal cord
    ↓
Anterior Horn Cell (lower motor neuron)
    ↓
Peripheral nerve → Neuromuscular junction → Muscle

UMN vs LMN - The Most Important Table in Neurology

FeatureUMN LesionLMN Lesion
WeaknessYesYes
AtrophyMinimal (disuse only)Yes (prominent)
FasciculationsNoYes
ToneIncreased (spasticity)Decreased (flaccidity)
ReflexesIncreased (hyperreflexia)Decreased/Absent
Plantar responseExtensor (Babinski +ve)Flexor (normal)
LocationCortex → anterior hornAnterior horn cell to muscle
Important caveat: In acute UMN lesions (e.g., acute stroke, acute spinal cord injury), you may see flaccidity and hyporeflexia initially (spinal shock / diaschisis). Spasticity and hyperreflexia develop over days to weeks.

Muscle Strength Grading (MRC Scale)

GradeDescription
0/5No contraction at all
1/5Flicker of contraction, no movement
2/5Movement with gravity eliminated
3/5Movement against gravity, not against resistance
4/5Movement against some resistance (4-, 4, 4+)
5/5Normal strength

Motor Exam Steps

  1. Observation: Posture, involuntary movements, wasting
  2. Inspection: Fasciculations (best seen with tangential light), atrophy
  3. Tone: Roll the limb passively; spasticity = velocity-dependent resistance; rigidity = lead-pipe/cogwheel (Parkinson's)
  4. Functional testing: Pronator drift (extend arms, supinate, close eyes - weak arm pronates and drifts down); heel-toe walking; push-up, rising from floor
  5. Individual muscle group strength: Proximal vs. distal pattern
  6. Key pattern:
    • Proximal > distal weakness → myopathy
    • Distal > proximal weakness → neuropathy
    • Pure motor with UMN + LMN signs → ALS

Pronator Drift Test

Have patient extend both arms horizontally, palms up, eyes closed:
  • Downward + pronation drift = UMN weakness (corticospinal)
  • Upward drift = proprioceptive loss (sensory ataxia)
  • Tremor = essential tremor or Parkinson's
  • Pseudoathetosis = proprioceptive loss

PART 5: REFLEXES

Deep Tendon Reflexes (DTRs)

ReflexNerve RootHow to Test
BicepsC5, C6Tap biceps tendon; elbow flexion
Supinator (brachioradialis)C5, C6Tap radial styloid; forearm supination
TricepsC7Tap triceps tendon; elbow extension
Knee (patellar)L3, L4Tap below patella; knee extension
Ankle (Achilles)S1, S2Tap Achilles; plantarflexion
Grading (0 to 4+):
  • 0 = Absent; 1 = Diminished; 2 = Normal; 3 = Brisk (spread); 4 = Clonus

Pathological Reflexes

Babinski sign: Stroke the lateral sole from heel to ball with a blunt object. Normal = toes flex (plantarflex). Abnormal = great toe dorsiflexes + other toes fan out = POSITIVE Babinski = UMN lesion
Other UMN signs:
  • Hoffman's sign (hand): Flick the middle fingernail; thumb and index flex = UMN in cervical cord or cortex
  • Clonus: Rapid dorsiflexion of ankle held; sustained rhythmic beats = UMN (>5 beats = significant)
Primitive reflexes (frontal lobe release signs in dementia/frontal pathology):
  • Grasp reflex, rooting reflex, palmomental reflex, snout reflex

PART 6: COORDINATION & CEREBELLAR EXAMINATION

The cerebellum does NOT cause weakness. It causes incoordination.

Cerebellar Tests

TestTechniqueWhat abnormality looks like
Finger-nose-fingerTouch your finger, then your nose, back and forthDysmetria (past-pointing), intention tremor
Heel-shin testHeel on opposite knee, slide down shinIrregular, wobbly sliding = ataxia
Rapid alternating movements (RAM)Rapid pronation/supination of hand on thighDysdiadochokinesia = irregular, uneven movements
Tandem gaitWalk heel-to-toe in straight lineWide-based, stumbling = cerebellar or proprioceptive
Romberg testStand with feet together, eyes open then closedFalls with eyes CLOSED = proprioceptive/vestibular; falls with eyes OPEN = cerebellar

DASHING - Cerebellar Signs Mnemonic

  • D - Dysdiadochokinesia (rapid alternating)
  • A - Ataxia (gait)
  • S - Slurred speech (dysarthria - "scanning speech")
  • H - Hypotonia
  • I - Intention tremor (worsens near target; resting tremor is Parkinson's)
  • N - Nystagmus (fast phase toward lesion)
  • G - Gaze palsy / past-pointing

Localization within the Cerebellum

StructureControlsLesion Produces
Vermis / midlineGait, axial/truncal stabilityTruncal ataxia, wide-based gait, titubation
Cerebellar hemispheresIpsilateral limb coordinationIpsilateral limb ataxia, dysmetria
Key rule: Cerebellar signs are ipsilateral to the lesion (cerebellum does NOT cross). Motor cortex signs are contralateral.

PART 7: GAIT EXAMINATION

Gait is a window to the entire nervous system. Ask the patient to walk, turn, tandem walk.
Gait PatternDescriptionLocalization
HemiplegicCircumduction of stiff extended leg; arm flexedContralateral corticospinal (stroke)
Spastic scissor gaitBoth legs stiff, cross, scissorsBilateral UMN (spinal cord or bilateral hemisphere)
Ataxic (cerebellar)Wide-based, lurching, cannot tandemCerebellum
Sensory ataxiaSlapping gait, worse eyes closed (Romberg +ve)Dorsal columns / peripheral neuropathy
ParkinsonianShuffling small steps, stooped, reduced arm swing, festination, "freezing"Basal ganglia (substantia nigra)
Foot drop (steppage)High stepping to clear footCommon peroneal nerve (L4/L5), anterior horn
WaddlingSide-to-side trunk shiftProximal weakness (myopathy), hip disease
Apraxic / magneticFeet appear "glued to floor," normal leg power, wide-basedFrontal lobe (NPH, subcortical white matter disease)

PART 8: SENSORY EXAMINATION

Two Major Sensory Pathways

1. Dorsal Column - Medial Lemniscal Pathway (fine touch, proprioception, vibration)
  • First-order neuron enters ipsilateral dorsal column → ascends to medulla → crosses in medulla → reaches thalamus → parietal cortex
  • Carries: Vibration, joint position sense (proprioception), fine/discriminative touch, 2-point discrimination
2. Spinothalamic (Anterolateral) Pathway (pain and temperature)
  • First-order neuron enters spinal cord → crosses within 1-2 segments in anterior commissure → ascends in contralateral spinothalamic tract → thalamus → parietal cortex
  • Carries: Pain, temperature, crude touch
This is why Brown-Séquard syndrome (spinal cord hemisection) is so elegant: ipsilateral motor + proprioception loss, contralateral pain + temperature loss - because the two pathways cross at different levels.

What to Test

ModalityPathwayHow to Test
Light touchBothCotton wisp; ask "can you feel this?"
Pain (pinprick)SpinothalamicBroken tongue depressor or pin; compare sides
TemperatureSpinothalamicCold tuning fork or tubes
VibrationDorsal column128 Hz tuning fork on bony prominences (great toe, malleolus, knee, wrist, elbow)
Joint position (proprioception)Dorsal columnHold great toe sides; move up or down; patient says which direction with eyes closed
2-point discriminationDorsal columnFingertip normal ≤5 mm
StereognosisHigher parietalIdentify coin in hand with eyes closed
GraphesthesiaHigher parietalIdentify number drawn on palm

Sensory Patterns and Localization

PatternLocation
Glove-and-stocking (symmetric, distal)Peripheral polyneuropathy
Single nerve distributionMononeuropathy (e.g., median nerve = carpal tunnel)
DermatomalNerve root (radiculopathy)
Hemisensory loss (whole side)Contralateral thalamus or cortex
Dissociated sensory loss (pain/temp lost, vibration/proprioception preserved)Syringomyelia, anterior spinal artery infarct
Level (all modalities below a horizontal line)Spinal cord transection
Crossed sensory (face one side, body other side)Brainstem (lateral medullary syndrome)

PART 9: LOCALIZATION FRAMEWORK - The Core Skill

"Where is the lesion?" - 8 Key Levels

1. CORTEX (cerebral cortex)
2. SUBCORTEX (white matter, basal ganglia, thalamus, internal capsule)
3. BRAINSTEM (midbrain, pons, medulla)
4. CEREBELLUM
5. SPINAL CORD
6. ANTERIOR HORN CELL
7. PERIPHERAL NERVE / NERVE ROOT
8. NEUROMUSCULAR JUNCTION / MUSCLE

Localization at Each Level - Key Features

1. Cortex

  • Focal deficits reflecting the homunculus (monoparesis, or face + arm > leg)
  • PLUS cortical signs: aphasia, neglect, apraxia, visual field defects, seizures
  • Contralateral findings

2. Internal Capsule / Subcortical

  • Dense hemiplegia = face, arm, leg affected equally (because all fibers converge in the capsule)
  • NO cortical signs (aphasia, neglect)
  • Thalamic lesion: hemisensory loss with little/no weakness

3. Brainstem

  • "Crossed signs" = the hallmark:
    • Ipsilateral cranial nerve palsy + contralateral hemiplegia
    • Or: ipsilateral face sensory loss + contralateral body sensory loss
  • Diplopia, dysarthria, dysphagia, vertigo accompanying motor signs
Classic brainstem syndromes:
SyndromeLocationSigns
Weber'sMidbrain (cerebral peduncle)Ipsilateral CN III palsy + contralateral hemiplegia
Benedikt'sMidbrain (tegmentum)Ipsilateral CN III palsy + contralateral tremor/ataxia
Millard-GublerPonsIpsilateral CN VI + VII + contralateral hemiplegia
Lateral Medullary (Wallenberg)Lateral medulla (PICA)Ipsilateral: face pain/temp loss, Horner's, ataxia, dysphagia; Contralateral: body pain/temp loss
Medial MedullaryMedial medulla (ASA)Ipsilateral CN XII + contralateral hemiplegia + vibration loss

4. Cerebellum

  • Ipsilateral limb ataxia (hemispheric)
  • Truncal/gait ataxia (vermis)
  • NO weakness, NO sensory loss, NO cortical signs

5. Spinal Cord

  • Sensory level (all modalities below a segmental line)
  • UMN signs below the level
  • LMN signs AT the level
  • Bladder/bowel dysfunction
  • Brown-Séquard (hemisection): Ipsilateral UMN + dorsal column loss; contralateral pain/temp loss
Cord syndromes:
SyndromeCauseFeatures
Complete cord transectionTraumaAll modalities + UMN below level; autonomic
Central cordHyperextension injury (elderly)Arms > legs; cape-like pain/temp loss; sacral sparing
Anterior cordAnterior spinal artery occlusionMotor + spinothalamic loss preserved; dorsal columns preserved
Brown-SéquardHemisection (tumor, trauma)As above
Posterior cordB12 deficiency, tabes dorsalisDorsal column loss only: vibration + proprioception

6. Anterior Horn Cell

  • Pure LMN (weakness, atrophy, fasciculations, no sensory loss)
  • Multiple levels simultaneously
  • Causes: ALS (also has UMN), polio, spinal muscular atrophy

7. Peripheral Nerve / Nerve Root

  • Radiculopathy: dermatomal sensory + myotomal weakness; pain radiating in dermatomal pattern
  • Mononeuropathy: single nerve territory
  • Polyneuropathy: glove-and-stocking; length-dependent; distal > proximal
  • Plexopathy: brachial or lumbosacral plexus
Key nerve root levels:
RootMotorReflexSensory
C5Shoulder abduction, elbow flexionBiceps, supinatorLateral arm
C6Wrist extension, elbow flexionBiceps, supinatorThumb, index
C7Elbow/wrist extensionTricepsMiddle finger
C8Finger flexors-Ring, little finger
T1Finger abduction/adduction-Medial forearm
L3/L4Knee extension (quads)KneeAnterior thigh/knee
L4Ankle dorsiflexionKneeMedial leg
L5Great toe/foot dorsiflexion, hip abduction-Lateral leg, dorsum foot
S1Plantarflexion, toe flexionAnkleLateral foot, sole

8. Neuromuscular Junction (NMJ)

  • Fatigable weakness - worsens with activity, improves with rest
  • NO sensory involvement
  • NO reflex change (usually)
  • Myasthenia Gravis: ptosis, diplopia, dysarthria, dysphagia; anti-AChR antibodies; edrophonium test; decrement on repetitive stimulation
  • Lambert-Eaton: proximal weakness; improves briefly with activity; facilitation on repetitive stimulation; paraneoplastic (SCLC)

PART 10: THE CLINICAL LOCALIZATION APPROACH - A Practical Template

Step-by-Step When You See a Neurology Patient

Step 1 - History first: Is it focal or diffuse?
  • Focal (one side, one limb, one function) = structural lesion
  • Diffuse/symmetric = metabolic, toxic, polyneuropathy, or systemic disease
Step 2 - Review the symptoms:
  • Positive symptoms (new things happening: pain, tingling, spasms, jerks) vs. negative symptoms (things lost: weakness, numbness)
  • Acute (<24h) = vascular (stroke) until proven otherwise
  • Subacute (days-weeks) = inflammatory, infectious, neoplastic
  • Chronic/progressive = degenerative, hereditary, metabolic
Step 3 - Examine and ask: Is the defect UMN or LMN? Is there sensory involvement? Are there cortical signs? Are there cranial nerve signs?
Step 4 - Localize:
  • UMN + cortical signs = cortex
  • UMN + cranial nerve palsy = brainstem
  • UMN + sensory level = spinal cord
  • LMN only, multiple levels = anterior horn cell
  • LMN + sensory in nerve territory = peripheral nerve
  • Fatigable weakness, no sensory = NMJ
  • Proximal weakness, no sensory = muscle
Step 5 - Then ask: What pathology causes this at this location?

Quick Summary Diagram

Cortex ──────────────────── Contralateral hemiparesis
                             + Aphasia / neglect / seizures
                             FACE & ARM > LEG (MCA)
                             LEG > FACE & ARM (ACA)

Internal Capsule ─────────── Contralateral dense hemiplegia
                             (face = arm = leg)
                             NO cortical signs

Brainstem ────────────────── CROSSED signs:
                             Ipsilateral CN palsy
                             + Contralateral hemiplegia/sensory

Cerebellum ───────────────── Ipsilateral limb ataxia
                             Gait ataxia (midline)
                             NO weakness or sensory loss

Spinal Cord ──────────────── Sensory level
                             UMN below, LMN at level
                             Bladder/bowel dysfunction

Anterior Horn Cell ──────── Pure LMN, no sensory loss
                             Fasciculations prominent

Peripheral Nerve ─────────── LMN + sensory loss
                             In nerve/dermatomal territory

NMJ ─────────────────────── Fatigable weakness
                             No sensory, no reflex change

Muscle ──────────────────── Proximal symmetric weakness
                             No sensory loss
                             Elevated CK

Clinical Pearls to Remember

  1. Always rule out pseudothrombocytopenia in thrombocytopenia - analogously, always rule out pseudo-neurological signs (functional/conversion disorder) - look for inconsistency, Hoover's sign, collapsing weakness
  2. Babinski is always abnormal in adults - never dismiss it
  3. Forehead sparing = UMN facial palsy (stroke); entire face = Bell's palsy or other LMN cause
  4. A fixed dilated pupil is CN III until proven otherwise - think PCA aneurysm or uncal herniation
  5. Tandem gait is the most sensitive test for subtle cerebellar disease
  6. Crossed findings (face one side, body other) = brainstem - this is pathognomonic
  7. INO in young patient = MS; in older patient = brainstem stroke
  8. Vibration and proprioception travel together (dorsal column); pain and temperature travel together (spinothalamic)
  9. The cerebellum is always ipsilateral - left cerebellar lesion = left limb ataxia
  10. Gait examination is often the most informative single test - never skip it

Sources: Bradley & Daroff's Neurology in Clinical Practice (Elsevier); Adams & Victor's Principles of Neurology 12th Ed (McGraw Hill); Neuroanatomy through Clinical Cases 3rd Ed (Blumenfeld, Sinauer); Harrison's Principles of Internal Medicine 22E (McGraw Hill, 2025)

Detail general examination from basics for MD medicine practical examination

Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
I now have rich content from multiple authoritative textbooks. I have everything needed to deliver a comprehensive, structured general examination guide for MD medicine practical exams. Let me compile the full response.

General Physical Examination - Detailed Guide for MD Medicine Practical

Based on: Harrison's Principles of Internal Medicine 22E, S. Das Manual on Clinical Surgery 13th Ed, Bradley & Daroff's Neurology in Clinical Practice, Goldman-Cecil Medicine

THE FUNDAMENTAL PRINCIPLE

The examiner is watching HOW you examine, not just WHAT you find.
A structured, systematic approach from head to toe is mandatory. Always introduce yourself, take consent, ensure adequate light, and position the patient correctly before you start.

THE STRUCTURE OF GENERAL EXAMINATION

The general examination is divided into:
1. GENERAL SURVEY (First Impression / On Inspection)
2. VITAL SIGNS
3. ANTHROPOMETRY
4. THE "BIG 8" CLINICAL SIGNS
   - Pallor
   - Icterus (Jaundice)
   - Cyanosis
   - Clubbing
   - Lymphadenopathy
   - Edema
   - Koilonychia / other nail changes
   - Dehydration
5. SPECIFIC FACIES
6. SKIN & HAIR
7. HANDS (a complete story in themselves)

PART 1: GENERAL SURVEY (First Look)

As soon as the patient enters or you approach the bedside, observe everything simultaneously:
ParameterWhat to AssessClinical Significance
General appearanceWell / ill / toxic / moribundGuides urgency of management
ConsciousnessAlert, drowsy, stuporous, comatoseGCS or AVPU scale
Build & NutritionThin, average, obese; muscle wastingMalignancy, chronic disease, malabsorption
Posture in bedStill / restless / curled upPeritonitis = still; colic = restless; meningism = curled away from light
DecubitusActive / passive / forcedForced = orthopnea (HF), lying on one side (pleurisy)
Apparent age vs. stated ageOlder-looking = chronic illnessMalignancy, Cushing's, liver disease
Mood & behaviorAnxious, depressed, euphoricPsychiatric disorders, encephalopathy
SpeechNormal / dysarthric / aphasicCNS disease
GaitObserved as patient enters roomParkinsonian, hemiplegic, ataxic

PART 2: VITAL SIGNS

Always examine and report all four. Don't skip any.

1. Temperature

  • Normal: 36.5°C - 37.5°C (oral); rectal is 0.5°C higher
  • Pyrexia: >38°C; Hyperpyrexia: >41°C
  • Hypothermia: <35°C (septic shock, hypothyroidism, exposure)
Fever patterns (taught classically):
PatternDescriptionCause
ContinuousSustained, <1°C variation, never normalTyphoid, lobar pneumonia, UTI
RemittentSustained, >1°C variation, never normalViral fevers, most bacterial infections
IntermittentSpikes with return to normalMalaria (quotidian/tertian/quartan), abscess, TB
Hectic/SepticHigh swinging spikes with rigors, profuse sweatingSepticemia, abscess
Pel-EbsteinAlternating weeks of fever and afebrile periodsHodgkin's lymphoma
RelapsingFebrile periods separated by days of normal tempBrucellosis, Borrelia, malaria

2. Pulse

  • Rate: Bradycardia <60 bpm; Tachycardia >100 bpm
  • Rhythm: Regular / irregular / irregularly irregular
  • Volume: Full, normal, low, collapsing
  • Character:
Pulse TypeFeelCause
Collapsing (water-hammer)Rapid rise and fall, best felt by raising arm overheadAortic regurgitation, PDA, hyperdynamic states
Slow-rising (plateau)Slow to reach peakAortic stenosis
BisferiensTwo peaks per cardiac cycleAortic regurgitation + stenosis, HOCM
Pulsus paradoxusExaggerated fall in systolic BP (>10 mmHg) during inspirationCardiac tamponade, severe asthma/COPD, constrictive pericarditis
Pulsus alternansAlternating strong and weak beatsSevere LV failure
Pulsus parvus et tardusSmall and slow-risingSevere aortic stenosis
DicroticTwo beats per cardiac cycle; second beat is weakerTyphoid fever, severe heart failure
  • Compare both radials simultaneously: Delay or absent pulse = aortic dissection, Takayasu's, subclavian steal
  • Radio-femoral delay: Coarctation of aorta

3. Blood Pressure

  • Normal: <120/80 mmHg
  • Check in BOTH arms (>10 mmHg difference = aortic dissection, subclavian stenosis)
  • Postural BP: Supine → standing; fall >20 mmHg systolic or >10 mmHg diastolic = orthostatic hypotension
  • PP (Pulse Pressure) = Systolic - Diastolic: Wide PP (>60) = AR, PDA, hyperthyroidism, anemia, AV fistula; Narrow PP = tamponade, severe AS, cardiogenic shock

4. Respiratory Rate

  • Normal: 12-20 breaths/min
  • Tachypnea (>20): pneumonia, PE, metabolic acidosis, anxiety, heart failure
  • Bradypnea (<12): opioids, raised ICP, hypothyroidism
  • Cheyne-Stokes: Crescendo-decrescendo with apnea → HF, stroke, uraemia, high altitude
  • Kussmaul: Deep, sighing, regular → metabolic acidosis (DKA)
  • Biot's: Irregular with sudden apnea → brainstem lesion (pontine)
  • Apneustic: Prolonged inspiration → pontine lesion

PART 3: ANTHROPOMETRY

MeasurementHowNormal Values / Significance
HeightStanding with heels togetherBaseline; short stature = growth disorders, achondroplasia
WeightStandard scaleCompare with previous; weight loss in malignancy, CKD, liver disease
BMIWeight(kg) / Height²(m²)<18.5 = underweight; 18.5-24.9 = normal; 25-29.9 = overweight; ≥30 = obese
Waist circumferenceAt umbilicus>90 cm (M), >80 cm (F) = central obesity; cardiovascular risk
Waist-hip ratioWaist ÷ hip>0.9 (M), >0.85 (F) = abdominal obesity
BSAMosteller formula: √(Ht×Wt/3600)Chemotherapy dosing

PART 4: THE "BIG 8" CLINICAL SIGNS


1. PALLOR

Definition: Reduced or absent skin/mucous membrane color due to decreased blood flow or reduced hemoglobin.
Where to look (in order of reliability):
  1. Lower palpebral conjunctiva - most reliable site; pull down lower lid, look at inner pink surface - pale = pallor
  2. Palmar creases - if creases are pale = Hb usually <7 g/dL
  3. Nail beds - press to blanch, release; slow return + pale = pallor
  4. Oral mucosa (inner lips, buccal mucosa)
  5. Tongue
Exam Tip: Always look at the conjunctiva first. Say: "I am looking for pallor in the lower palpebral conjunctiva, palmar creases, nail beds, and oral mucosa."
Grading (clinical):
  • Mild: only detectable in conjunctiva
  • Moderate: conjunctiva + palmar creases pale
  • Severe: all sites pale, including nail beds and tongue
Causes of Pallor:
CategoryExamples
Decreased Hb (anemia)Iron deficiency, B12/folate, hemolysis, aplastic anemia, CKD, malignancy
Decreased blood flowShock, syncope, Raynaud's phenomenon
Skin (non-anemic)Albinism, vitiligo (localized)

2. ICTERUS (JAUNDICE)

Definition: Yellow discoloration of skin, sclerae, and mucous membranes due to bilirubin accumulation (>2.5-3 mg/dL).
Where to look:
  1. Sclerae (icterus) - most sensitive; look in natural light; roll eyes upward
  2. Under the tongue / oral mucosa (early jaundice)
  3. Skin (usually visible when bilirubin >5-7 mg/dL)
  4. Palms (deep jaundice)
"I am examining for icterus in the sclerae under natural light." Turn patient toward the window.
Why sclerae first? Scleral elastin has high affinity for bilirubin.
Clinical approach to jaundice:
TypeBilirubinUrineStoolKey Causes
Pre-hepatic (hemolytic)Unconjugated ↑No bilirubinuria; ↑ urobilinogenDark (↑ stercobilinogen)Hemolytic anemia, malaria, G6PD deficiency, sickle cell
Hepatic (hepatocellular)Both ↑Bilirubinuria; ↑ urobilinogenPale-normalViral hepatitis, alcoholic liver disease, drug-induced
Post-hepatic (obstructive)Conjugated ↑Dark (bilirubinuria); NO urobilinogenClay/pale (no bile in gut)Choledocholithiasis, carcinoma pancreas head, cholangiocarcinoma, strictures
Clinical grading of jaundice:
  • Grade I: Icterus only in sclerae
  • Grade II: Sclerae + skin (face/trunk)
  • Grade III: Generalized deep icterus; skin bright yellow/green
  • Grade IV: Extreme deep jaundice with greenish hue (biliary obstruction)

3. CYANOSIS

Definition: Bluish/purplish discoloration of skin and mucous membranes due to ≥5 g/dL of reduced (deoxygenated) hemoglobin in peripheral capillaries.
Key Point: Cyanosis is NOT detectable in severe anemia (even if O₂ saturation is very low, not enough Hb to reach 5 g/dL of deoxygenated form). Conversely, polycythemia patients may appear cyanotic at relatively higher O₂ saturations.
Central vs. Peripheral Cyanosis:
FeatureCentral CyanosisPeripheral Cyanosis
MechanismReduced arterial O₂ saturationReduced blood flow to periphery
Where to lookTongue, oral mucosa (warm well-perfused areas)Nail beds, fingertips, tip of nose, earlobes, toes
TongueBLUENormal pink
CauseLung disease (pneumonia, COPD, pulmonary edema), R→L cardiac shunt (cyanotic CHD), high altitude, methemoglobinemiaCold exposure, cardiac failure, shock, Raynaud's
Response to O₂Usually improves (except R→L shunt)No change
Differential cyanosisLower limbs blue, upper limbs normal = PDA + pulmonary HTN (Eisenmenger)-
How to examine:
  1. Look at tongue in natural light first (central)
  2. Then nail beds and periphery (peripheral)
  3. If central cyanosis: check SpO₂, look for clubbing (chronic hypoxia), assess respiratory/cardiac system

4. CLUBBING

Definition: Painless proliferation of soft tissue of the terminal phalanges of fingers (and toes), resulting in bulbous enlargement with loss of the normal angle between the nail and nail fold.
How to Examine:
  1. Schamroth's window test: Place dorsal surfaces of both index fingers together. Normally, a diamond-shaped window is visible at the nail bases. In clubbing, the window is obliterated (most sensitive bedside test).
  2. Look at nail from the side: Hyponychial angle >180° (normally <160°)
  3. Fluctuation test (Lovibond angle): Normally the angle between nail plate and proximal nail fold is <160°; >180° = clubbing
  4. Look for periungual erythema, shiny nails
  5. Check toes (toe clubbing confirms it is true clubbing, not pseudo-clubbing)
Grading (Grades 1-5):
GradeFeature
1Fluctuation of nail bed (spongy feel on pressing nail)
2Obliteration of hyponychial angle
3Drumstick appearance - bulbous, rounded fingertip
4Hypertrophic pulmonary osteoarthropathy (HPOA) - periosteal new bone formation, wrist/ankle pain
5Hypertrophic osteoarthropathy (full)
Causes (mnemonic: CLUBBING):
SystemCauses
CardiacCyanotic congenital heart disease (Fallot's, TGA, truncus), infective endocarditis
LungBronchiectasis, lung abscess, empyema, fibrosing alveolitis, mesothelioma, bronchogenic carcinoma (most common in adults), CF
GI / LiverCrohn's disease, ulcerative colitis, cirrhosis, celiac disease
OtherThyroid acropachy (hyperthyroidism), idiopathic/familial, POEMS syndrome
Exam Trick: Unilateral clubbing = vascular cause (AV fistula, Pancoast tumor affecting one side). Bilateral = systemic cause.

5. LYMPHADENOPATHY

How to Examine (Technique):
  • Use pulp of 2-4 fingers; gentle circular palpation
  • For cervical: stand behind the patient; systematically palpate all groups
  • Always compare both sides
Groups to Examine (in order):
Cervical chain:
  1. Submental (under chin)
  2. Submandibular
  3. Pre-auricular
  4. Post-auricular (mastoid)
  5. Occipital
  6. Anterior cervical chain (along anterior border of SCM)
  7. Posterior cervical chain (along posterior border of SCM)
  8. Supraclavicular (Virchow's node on left = gastric/abdominal malignancy)
  9. Deep cervical chain
Other groups:
  • Axillary (examine with arm relaxed at side; palpate apex, anterior, posterior, medial, lateral)
  • Epitrochlear (medial side of elbow - sarcoid, secondary syphilis, lymphoma, infections)
  • Inguinal (horizontal and vertical chains; common = lower limb/genital infections, STIs)
  • Para-aortic (not palpable unless massively enlarged)
When you find a node, describe:
FeatureOptionsSignificance
Size<1 cm usually normal; >1 cm = abnormal
ConsistencySoft = infection; Rubbery = lymphoma; Hard = metastasis; Fluctuant = abscess
TendernessTender = acute infection; Non-tender = lymphoma, metastasis
SurfaceSmooth vs. irregularIrregular = malignancy
MobilityMobile = reactive; Fixed = malignancy, TB with fibrosis
SkinSkin changes? Redness (abscess), sinus (TB), skin tethering (metastasis)
MattedNodes stuck together = TB, lymphoma
Causes of generalized lymphadenopathy:
  • Infections: EBV (glandular fever), HIV, TB, CMV, toxoplasmosis, brucellosis
  • Hematological malignancies: lymphoma, CLL, ALL
  • Autoimmune: SLE, RA, sarcoidosis
  • Drugs: phenytoin, isoniazid

6. EDEMA

Definition: Accumulation of excess fluid in interstitial tissues.
How to Examine:
  1. Press firmly with thumb over bony prominence (tibia, dorsum of foot, sacrum) for 5 seconds
  2. Pitting edema: Pit remains after releasing pressure
  3. Grade by height it extends: ankle, shin, knee, thigh, scrotal/labial, sacral, ascites → anasarca
Grading of pitting edema:
GradeDepth of pitTime to disappear
1+2 mmImmediate
2+4 mm<15 seconds
3+6 mm15-30 seconds
4+>8 mm>30 seconds
Always examine both: ankles in ambulatory patients + sacrum in bedridden patients
Distribution clues:
DistributionLikely Cause
Bilateral ankle (dependent, pitting)CCF, hypoproteinemia (nephrotic, liver), CKD, drugs (CCBs, corticosteroids), venous insufficiency
Unilateral leg edemaDVT, lymphedema, cellulitis, Baker's cyst rupture, filariasis
Periorbital edema (morning)Nephrotic syndrome, hypothyroidism, angioedema
Facial + generalizedNephrotic syndrome, severe hypoproteinemia
Non-pitting (firm, brawny)Lymphedema, myxedema (pretibial in thyroid disease)
Anasarca (generalized)Severe CCF, nephrotic syndrome, cirrhosis with hypoalbuminemia
Pathophysiology of edema (4 mechanisms):
  1. ↑Hydrostatic pressure (CCF, venous obstruction)
  2. ↓Oncotic pressure (hypoproteinemia: nephrotic, cirrhosis, malnutrition)
  3. ↑Capillary permeability (sepsis, burns, anaphylaxis, angioedema)
  4. Lymphatic obstruction (filariasis, post-surgical, malignancy)

7. KOILONYCHIA & OTHER NAIL SIGNS

Nail SignAppearanceCause
KoilonychiaSpoon-shaped nails (concave)Iron deficiency anemia
LeukonychiaWhite nails/bandsHypoalbuminemia (Terry's nails - proximal white, distal pink = liver cirrhosis)
Beau's linesTransverse ridges/groovesSystemic illness, chemotherapy, severe malnutrition
Mees' linesWhite transverse linesArsenic poisoning, renal failure, sepsis
OnycholysisNail separates from bedPsoriasis, hyperthyroidism, tinea
PittingMultiple small pits on nail surfacePsoriasis, alopecia areata, eczema
Yellow nailsThickened, slow-growing, yellowYellow nail syndrome (lymphedema + pleural effusion)
Half-and-half (Lindsay's)Proximal white, distal reddishCKD (chronic renal failure)
Splinter hemorrhagesDark brown longitudinal lines under nailInfective endocarditis (proximal), trauma (distal)
Blue nailsBluish discolorationWilson's disease, cyanosis, medications

8. DEHYDRATION

Clinical Signs of Dehydration:
SignTechniqueSignificance
Skin turgorPinch skin over forearm or abdomen; releaseNormal = snaps back immediately; Decreased turgor = dehydration (use abdomen in elderly - age-related loss of turgor in forearm)
Dry mucous membranesInspect inside mouthDry, sticky oral mucosa
Sunken eyesInspectModerate-severe dehydration
Sunken fontanelleInfants onlyDehydration in neonates/infants
Capillary refill timePress fingernail for 5 seconds; time for color to returnNormal <2 seconds; >2 seconds = poor perfusion/dehydration
Urine outputHistory<0.5 mL/kg/hr = oliguria from dehydration/shock
Postural hypotensionBP lying vs standing (see above)Volume depletion
TachycardiaPR increases with dehydrationCompensatory response
Clinical grading:
Grade% Body Water LossFeatures
Mild3-5%Thirst, dry mouth, slight tachycardia
Moderate6-9%Decreased skin turgor, dry mucosa, sunken eyes, tachycardia, oliguria
Severe≥10%All above + altered consciousness, cold clammy extremities, hypotension, no urine

PART 5: FACIES - Diagnostic at a Glance

FaciesAppearanceDisease
Hippocratic faciesSunken cheeks, pinched nose, hollow eyes, cyanotic lipsGeneralized peritonitis, severe chronic illness
Cushingoid / Moon faceRound, plethoric, hirsute, acneCushing's syndrome/steroid use
AcromegalicProminent supraorbital ridge, large jaw, broad nose, prognathismAcromegaly
MyxedematousPuffy, dull, dry skin, loss of lateral eyebrows (Queen Anne's sign), periorbital edemaHypothyroidism
ThyrotoxicAnxious, staring eyes (lid lag, exophthalmos in Graves'), sweatyHyperthyroidism / Graves' disease
Parkinson's mask faceExpressionless, reduced blinking, seborrheaParkinsonism
Mitral facies (malar flush)Bilateral rosy cheeks/telangiectasias on malar areaSevere mitral stenosis + pulmonary hypertension
PlethoricRed, florid complexionPolycythemia vera, Cushing's, SVC obstruction
MarfanoidLong, thin face; high arched palate; dolichocephalyMarfan syndrome
Turner/Down/Acromegaly/PagetsCharacteristic dysmorphic featuresRespective syndromes
Leonine faciesThick, furrowed, lion-likeLepromatous leprosy
Saddle-nose deformityDepressed nasal bridgeWegener's (GPA), syphilis, trauma
Risus sardonicusFixed "grinning" expression from masseter spasmTetanus

PART 6: HANDS - A Complete Clinical Examination Tool

The hands often tell the entire diagnosis. Always examine hands carefully.

Routine Hand Examination Sequence:

  1. Nails: Clubbing, koilonychia, leuconychia, pitting, splinter hemorrhages, onycholysis
  2. Palmar skin: Palmar erythema (liver disease, RA, pregnancy, polycythemia), Dupuytren's contracture (alcoholic liver disease, diabetes)
  3. Palmar creases: Pale = anemia; extra palmar crease (single transverse/simian crease) = Down syndrome
  4. Thenar wasting: Carpal tunnel syndrome, T1 lesion
  5. Hypothenar wasting: Ulnar nerve palsy
  6. Interosseous wasting: Ulnar nerve, RA, cord lesion
  7. Joints: Deformity, swelling, boggy synovium (RA), DIP involvement (psoriatic/OA), tophi (gout)
  8. Skin: Janeway lesions (non-tender hemorrhagic maculopapular on palms/soles = infective endocarditis), Osler's nodes (tender on pulp of fingers = IE), nodules
  9. Tremor: Rest tremor (Parkinson's), postural tremor (essential/thyrotoxic), intention tremor (cerebellar)
  10. Temperature: Hot, sweaty palms = thyrotoxicosis, anxiety; cold = hypothyroidism, Raynaud's, shock

PART 7: SUMMARY CHECKLIST FOR MD MEDICINE EXAM

When you stand before the examiner, present in this exact sequence:
"On general examination, the patient is:

1. Conscious / Oriented / Cooperative
2. Built and nourished: Well built & nourished / Moderately / Poorly
3. Vital Signs:
   - Temperature: ___°C
   - Pulse: ___ bpm, regular/irregular, volume, character
   - BP: ___/___ mmHg (both arms if relevant)
   - RR: ___ breaths/min
   - SpO2: ___%
   - BMI: ___

4. General signs:
   - Pallor: Present (mild/moderate/severe) / Absent
   - Icterus: Present (mild/moderate/deep) / Absent
   - Cyanosis: Present (central/peripheral/differential) / Absent
   - Clubbing: Present (Grade ___) / Absent
   - Lymphadenopathy: Present (location, characteristics) / Absent
   - Edema: Present (pitting, Grade ___, location) / Absent
   - Dehydration: Present (mild/moderate/severe) / Absent

5. Facies: Normal / (Specific facies noted)
6. Hands: Relevant nail signs, palmar changes, joint deformity
7. Skin: Rashes, pigmentation, jaundice, purpura, petechiae"

CLINICAL EXAM PEARLS FOR MD VIVA

  • Never say "no pallor" without actually looking at the conjunctiva - examiners watch this
  • For jaundice: Always examine in natural light (artificial light hides early jaundice); the sclerae are the most sensitive site
  • Schamroth's window test is the simplest, most elegant test for clubbing - always demonstrate it
  • Sacral edema must be checked in every bedridden patient - this is frequently missed
  • Lymph nodes: Always mention if you are palpating BOTH sides; describe all features; never omit the supraclavicular fossa (Virchow's node = carcinoma of stomach/GI tract)
  • Cyanosis: The tongue is the key - if the tongue is blue, it is central cyanosis; peripheral cyanosis never affects the tongue
  • Pulse: Always palpate both radials simultaneously first (for asymmetry); then describe rate, rhythm, volume, character
  • Edema: Specify location and grade; always check sacrum and say "bilateral pitting pedal edema up to the level of..."
  • Dehydration: Combine skin turgor + mucous membranes + pulse + BP for the clinical picture
  • Facies: Comment on it even if normal: "Facies is unremarkable / normal"

Sources: Harrison's Principles of Internal Medicine 22E (McGraw Hill, 2025); S. Das Manual on Clinical Surgery 13th Ed; Bradley & Daroff's Neurology in Clinical Practice (Elsevier); Goldman-Cecil Medicine (Elsevier)

Create a pocket guide PDF of vital signs and clinical signs for quick exam reference

Reading File
Running Command

mkdir -p /home/daytona/workspace/pocket-guide && ls /home/daytona/workspace/

Writing File

~/pocket-guide/generate_pocket_guide.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether, PageBreak
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate
from reportlab.lib.colors import HexColor
import os

OUTPUT = "/home/daytona/workspace/pocket-guide/MD_Medicine_Pocket_Guide.pdf"

# ── Colour palette ────────────────────────────────────────────────────────────
NAVY     = HexColor("#1a3c5e")
TEAL     = HexColor("#0d7377")
ACCENT   = HexColor("#14a085")
GOLD     = HexColor("#e8a838")
LIGHT_BG = HexColor("#eef4fb")
ROW_ALT  = HexColor("#f4fbf8")
WHITE    = colors.white
BLACK    = colors.black
RED      = HexColor("#c0392b")
ORANGE   = HexColor("#e67e22")
GREEN    = HexColor("#27ae60")
PURPLE   = HexColor("#8e44ad")
GREY     = HexColor("#7f8c8d")
LIGHTGREY= HexColor("#ecf0f1")

# ── Page setup ────────────────────────────────────────────────────────────────
PAGE_W, PAGE_H = A4
MARGIN = 12 * mm

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=MARGIN, rightMargin=MARGIN,
    topMargin=14*mm, bottomMargin=14*mm,
    title="MD Medicine Pocket Guide – Vital Signs & Clinical Signs",
    author="Orris Medical AI"
)

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

def S(name, **kw):
    return ParagraphStyle(name, **kw)

sTitle = S("sTitle",
    fontSize=20, textColor=WHITE, alignment=TA_CENTER,
    fontName="Helvetica-Bold", spaceAfter=2*mm, leading=24)

sSubTitle = S("sSubTitle",
    fontSize=10, textColor=HexColor("#d4e6f1"), alignment=TA_CENTER,
    fontName="Helvetica", spaceAfter=0)

sSectionHead = S("sSectionHead",
    fontSize=11, textColor=WHITE, fontName="Helvetica-Bold",
    alignment=TA_LEFT, leading=14, spaceAfter=1*mm, spaceBefore=2*mm)

sSubHead = S("sSubHead",
    fontSize=9, textColor=NAVY, fontName="Helvetica-Bold",
    alignment=TA_LEFT, leading=12, spaceAfter=1*mm, spaceBefore=2*mm)

sBody = S("sBody",
    fontSize=8, textColor=BLACK, fontName="Helvetica",
    alignment=TA_LEFT, leading=11, spaceAfter=0.5*mm)

sBodySmall = S("sBodySmall",
    fontSize=7.2, textColor=BLACK, fontName="Helvetica",
    alignment=TA_LEFT, leading=10, spaceAfter=0.5*mm)

sPearl = S("sPearl",
    fontSize=8, textColor=NAVY, fontName="Helvetica-BoldOblique",
    alignment=TA_LEFT, leading=11, spaceAfter=1*mm,
    leftIndent=4*mm, borderPad=2*mm)

sWarn = S("sWarn",
    fontSize=8, textColor=RED, fontName="Helvetica-Bold",
    alignment=TA_LEFT, leading=11, spaceAfter=1*mm)

sMnemonic = S("sMnemonic",
    fontSize=8.5, textColor=PURPLE, fontName="Helvetica-Bold",
    alignment=TA_LEFT, leading=12, spaceAfter=1*mm)

sFooter = S("sFooter",
    fontSize=6.5, textColor=GREY, fontName="Helvetica",
    alignment=TA_CENTER, leading=9)

# ── Helper builders ───────────────────────────────────────────────────────────
def section_header(text, color=NAVY):
    """Coloured banner for a section heading."""
    tbl = Table([[Paragraph(text, sSectionHead)]], colWidths=[PAGE_W - 2*MARGIN])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("ROWBACKGROUNDS", (0,0), (-1,-1), [color]),
        ("TOPPADDING",    (0,0), (-1,-1), 3),
        ("BOTTOMPADDING", (0,0), (-1,-1), 3),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("RIGHTPADDING",  (0,0), (-1,-1), 6),
        ("ROUNDEDCORNERS", [3]),
    ]))
    return tbl

def make_table(headers, rows, col_widths, header_color=TEAL, alt_row=True):
    """Build a styled data table."""
    # Build header row
    header_row = [Paragraph(f"<b>{h}</b>", S("th",
        fontSize=7.5, textColor=WHITE, fontName="Helvetica-Bold",
        alignment=TA_LEFT, leading=10)) for h in headers]
    data = [header_row]
    for i, row in enumerate(rows):
        styled = []
        for cell in row:
            if isinstance(cell, str):
                styled.append(Paragraph(cell, sBodySmall))
            else:
                styled.append(cell)
        data.append(styled)

    tbl = Table(data, colWidths=col_widths, repeatRows=1)

    style = [
        ("BACKGROUND",    (0,0), (-1,0),  header_color),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, ROW_ALT] if alt_row else [WHITE]),
        ("GRID",          (0,0), (-1,-1), 0.3, HexColor("#bdc3c7")),
        ("TOPPADDING",    (0,0), (-1,-1), 2),
        ("BOTTOMPADDING", (0,0), (-1,-1), 2),
        ("LEFTPADDING",   (0,0), (-1,-1), 4),
        ("RIGHTPADDING",  (0,0), (-1,-1), 4),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]
    tbl.setStyle(TableStyle(style))
    return tbl

def hr(color=ACCENT):
    return HRFlowable(width="100%", thickness=0.5, color=color, spaceAfter=2*mm, spaceBefore=1*mm)

def pearl(text):
    return Paragraph(f"<b>★ Pearl:</b> {text}", sPearl)

def warn(text):
    return Paragraph(f"⚠ {text}", sWarn)

def sp(h=2):
    return Spacer(1, h*mm)

# ═════════════════════════════════════════════════════════════════════════════
# CONTENT ASSEMBLY
# ═════════════════════════════════════════════════════════════════════════════
story = []

# ── COVER BANNER ─────────────────────────────────────────────────────────────
cover_data = [[
    Paragraph("MD MEDICINE POCKET GUIDE", sTitle),
    Paragraph("Vital Signs &amp; Clinical Signs  |  Quick Exam Reference", sSubTitle),
    Paragraph("For MD Medicine Residents  •  General Physical Examination", sSubTitle),
]]
cover_tbl = Table(cover_data, colWidths=[PAGE_W - 2*MARGIN])
cover_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), NAVY),
    ("TOPPADDING",    (0,0), (-1,-1), 10),
    ("BOTTOMPADDING", (0,0), (-1,-1), 10),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("RIGHTPADDING",  (0,0), (-1,-1), 10),
    ("ROUNDEDCORNERS", [5]),
]))
story.append(cover_tbl)
story.append(sp(3))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 1 – VITAL SIGNS OVERVIEW
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_header("SECTION 1 — VITAL SIGNS", NAVY))
story.append(sp(1))

vs_rows = [
    ["Temperature",  "36.5–37.5 °C (oral)", "Pyrexia >38 °C | Hyperpyrexia >41 °C | Hypothermia <35 °C"],
    ["Pulse Rate",   "60–100 bpm",           "Brady <60 (athletes, β-blockers, heart block) | Tachy >100 (fever, anaemia, HF, PE)"],
    ["Blood Pressure","<120/80 mmHg",         "Stage 1 HTN 130–139/80–89 | Stage 2 ≥140/90 | HTN crisis ≥180/120"],
    ["Respiratory Rate","12–20 /min",         "Tachypnoea >20 (pneumonia, PE, DKA) | Bradypnoea <12 (opioids, raised ICP)"],
    ["SpO₂",         "≥95 %",                "Mild hypoxia 90–94 % | Moderate 85–89 % | Severe <85 %"],
    ["Pulse Pressure","30–40 mmHg",           "Wide >60 (AR, PDA, sepsis, thyrotoxicosis) | Narrow (tamponade, severe AS, cardiogenic shock)"],
]
story.append(KeepTogether([
    Paragraph("Normal Ranges at a Glance", sSubHead),
    make_table(
        ["Parameter","Normal Value","Key Deviations"],
        vs_rows,
        [36*mm, 32*mm, 109*mm],
        header_color=TEAL
    )
]))
story.append(sp(2))

# ── Pulse types ───────────────────────────────────────────────────────────────
story.append(KeepTogether([
    Paragraph("Pulse Character — Quick Reference", sSubHead),
    make_table(
        ["Pulse Type","Character","Classic Cause"],
        [
            ["Collapsing (water-hammer)", "Rapid rise + rapid fall; best felt by lifting arm", "Aortic regurgitation, PDA, hyperdynamic states"],
            ["Slow-rising (plateau)",     "Slow to reach peak, sustained",                    "Aortic stenosis"],
            ["Bisferiens",                "Two peaks per beat",                                "AR + AS combined; HOCM"],
            ["Pulsus paradoxus",          "Systolic BP drops >10 mmHg on inspiration",         "Cardiac tamponade, severe asthma/COPD"],
            ["Pulsus alternans",          "Alternating strong and weak beats",                  "Severe LV failure"],
            ["Dicrotic",                  "Two beats per cycle; 2nd beat weaker",               "Typhoid, severe HF"],
            ["Pulsus parvus et tardus",   "Small volume + slow rising",                         "Severe aortic stenosis"],
        ],
        [42*mm, 55*mm, 80*mm],
        header_color=ACCENT
    )
]))
story.append(sp(2))

# ── Fever patterns ────────────────────────────────────────────────────────────
story.append(KeepTogether([
    Paragraph("Fever Patterns", sSubHead),
    make_table(
        ["Pattern","Description","Classic Cause"],
        [
            ["Continuous",   "Sustained; <1 °C variation; never normal",        "Typhoid, lobar pneumonia, UTI"],
            ["Remittent",    "Sustained; >1 °C variation; never normal",        "Viral fevers, most bacterial infections"],
            ["Intermittent", "Spikes with return to normal each day",           "Malaria, abscess, pyaemia"],
            ["Hectic/Septic","High swinging spikes; rigors; sweats",            "Septicaemia, liver abscess, endocarditis"],
            ["Pel-Ebstein",  "Weeks of fever alternating with afebrile weeks", "Hodgkin's lymphoma"],
            ["Relapsing",    "Febrile periods separated by days of apyrexia",  "Brucellosis, Borrelia, malaria"],
        ],
        [36*mm, 64*mm, 77*mm],
        header_color=HexColor("#c0392b")
    ),
    pearl("Use rectal temp in critically ill (0.5 °C higher than oral). Axillary is unreliable.")
]))
story.append(sp(2))

# ── BP Quick reference ────────────────────────────────────────────────────────
story.append(KeepTogether([
    Paragraph("Blood Pressure — Key Points", sSubHead),
    make_table(
        ["Scenario","Finding","Interpretation"],
        [
            ["Inter-arm difference",       ">10 mmHg systolic",                        "Aortic dissection, subclavian stenosis, Takayasu's"],
            ["Postural hypotension",        "Systolic ↓>20 or diastolic ↓>10 on standing","Volume depletion, autonomic neuropathy, drugs"],
            ["Pulse paradoxus",             "Systolic ↓>10 on inspiration",             "Cardiac tamponade (most specific), constrictive pericarditis, severe asthma"],
            ["Coarctation of aorta",        "BP higher in arms than legs + radio-femoral delay","Aortic coarctation"],
            ["Wide pulse pressure",         ">60 mmHg",                                 "AR, PDA, AV fistula, hyperthyroidism, severe anaemia, sepsis"],
        ],
        [42*mm, 55*mm, 80*mm],
        header_color=PURPLE
    )
]))
story.append(sp(2))

# ── Breathing patterns ────────────────────────────────────────────────────────
story.append(KeepTogether([
    Paragraph("Breathing Patterns", sSubHead),
    make_table(
        ["Pattern","Description","Cause"],
        [
            ["Cheyne-Stokes",     "Crescendo-decrescendo cycles with periods of apnoea",  "CCF, stroke, uraemia, opioids, high altitude"],
            ["Kussmaul",          "Deep, sighing, regular, rapid breathing",               "Metabolic acidosis (DKA, uraemia, salicylate toxicity)"],
            ["Biot's",            "Irregular rate and depth with sudden apnoeic pauses",   "Pontine/medullary lesion (raised ICP, meningitis)"],
            ["Apneustic",         "Prolonged end-inspiratory pause",                       "Pontine infarct"],
            ["Ataxic (Agonal)",   "Completely irregular, gasping",                         "Pre-terminal brainstem failure"],
        ],
        [36*mm, 66*mm, 75*mm],
        header_color=HexColor("#16a085")
    ),
    warn("Kussmaul breathing: the patient does NOT feel short of breath despite deep fast breaths. Key clue!")
]))
story.append(sp(3))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 2 – THE BIG 8 CLINICAL SIGNS
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_header("SECTION 2 — THE 'BIG 8' CLINICAL SIGNS", NAVY))
story.append(sp(1))

# 2A Pallor
story.append(KeepTogether([
    Paragraph("1. PALLOR", sSubHead),
    Paragraph(
        "<b>Where to look (in order):</b> Lower palpebral conjunctiva (most reliable) → Palmar creases → "
        "Nail beds → Oral mucosa → Tongue",
        sBody
    ),
    make_table(
        ["Grade","Features","Approximate Hb"],
        [
            ["Mild",     "Pallor only in conjunctiva",                   ">9 g/dL"],
            ["Moderate", "Conjunctiva + palmar creases pale",             "7–9 g/dL"],
            ["Severe",   "All sites pale including nail beds and tongue", "<7 g/dL"],
        ],
        [25*mm, 95*mm, 57*mm],
        header_color=HexColor("#c0392b")
    ),
    Paragraph(
        "<b>Causes:</b> Iron deficiency anaemia, B12/folate, haemolysis, aplastic anaemia, "
        "CKD, malignancy, haemorrhage, hypothyroidism",
        sBodySmall
    ),
    pearl("Palmar crease pallor = Hb usually <7 g/dL. Always assess conjunctiva in natural light.")
]))
story.append(hr(HexColor("#c0392b")))

# 2B Icterus
story.append(KeepTogether([
    Paragraph("2. ICTERUS (JAUNDICE)", sSubHead),
    Paragraph(
        "<b>Where to look:</b> Sclerae first (scleral elastin binds bilirubin avidly) → Under tongue → "
        "Skin (visible when bilirubin >5 mg/dL) | Always examine in <b>natural light</b>.",
        sBody
    ),
    make_table(
        ["Type","Bilirubin","Urine","Stool","Common Causes"],
        [
            ["Pre-hepatic\n(Haemolytic)","Unconjugated ↑","No bilirubinuria\n↑ urobilinogen","Dark\n(↑ stercobilinogen)","Haemolytic anaemia, malaria, G6PD, sickle cell"],
            ["Hepatic\n(Hepatocellular)","Both ↑","Bilirubinuria\n↑ urobilinogen","Pale/normal","Viral hepatitis, alcoholic liver disease, drugs"],
            ["Post-hepatic\n(Obstructive)","Conjugated ↑","Dark (bilirubinuria)\nNO urobilinogen","Clay/pale\n(no bile in gut)","Choledocholithiasis, Ca head pancreas, cholangiocarcinoma"],
        ],
        [26*mm, 26*mm, 28*mm, 28*mm, 69*mm],
        header_color=GOLD
    ),
    pearl("Urine colour: tea/cola-coloured = conjugated hyperbilirubinaemia (obstructive/hepatocellular). "
          "Normal urine + dark stools = haemolytic jaundice.")
]))
story.append(hr(GOLD))

# 2C Cyanosis
story.append(KeepTogether([
    Paragraph("3. CYANOSIS", sSubHead),
    Paragraph(
        "<b>Minimum threshold:</b> ≥5 g/dL of deoxygenated Hb in capillaries. "
        "<b>Not detectable in severe anaemia.</b> Polycythaemic patients may look cyanosed at higher SpO₂.",
        sBody
    ),
    make_table(
        ["Feature","Central Cyanosis","Peripheral Cyanosis"],
        [
            ["Where to look",   "Tongue, oral mucosa (warm areas)",           "Nail beds, fingertips, tip of nose, earlobes"],
            ["Tongue colour",   "<b>BLUE</b>",                                "Normal pink — KEY differentiator"],
            ["Mechanism",       "Reduced arterial O₂ saturation",             "Reduced peripheral blood flow"],
            ["Causes",          "Lung disease, R→L cardiac shunt, high altitude, methaemoglobinaemia","Cold exposure, CCF, shock, Raynaud's"],
            ["O₂ response",     "Improves (except fixed R→L shunt)",          "No significant change"],
        ],
        [38*mm, 72*mm, 67*mm],
        header_color=HexColor("#2980b9")
    ),
    warn("Differential cyanosis (lower limbs blue, upper limbs normal) = PDA + Eisenmenger syndrome."),
    pearl("The tongue never lies — if it's blue, it's central cyanosis.")
]))
story.append(hr(HexColor("#2980b9")))

# 2D Clubbing
story.append(KeepTogether([
    Paragraph("4. CLUBBING", sSubHead),
    Paragraph(
        "<b>Schamroth's window test:</b> Place dorsal surfaces of both index fingers together. "
        "Normal → diamond-shaped window at nail bases. Clubbing → window <b>obliterated</b>.",
        sBody
    ),
    make_table(
        ["Grade","Features"],
        [
            ["Grade 1","Fluctuation of nail bed (spongy feel on pressing)"],
            ["Grade 2","Obliteration of hyponychial angle (>180°)"],
            ["Grade 3","Drumstick/parrot-beak appearance — bulbous, rounded fingertip"],
            ["Grade 4","HPOA — periosteal new bone formation; wrist/ankle pain and tenderness"],
            ["Grade 5","Full hypertrophic osteoarthropathy with gross deformity"],
        ],
        [22*mm, 155*mm],
        header_color=HexColor("#8e44ad")
    ),
    make_table(
        ["System","Causes of Clubbing"],
        [
            ["Cardiac",       "Cyanotic CHD (Fallot's, TGA, truncus), infective endocarditis"],
            ["Respiratory",   "Bronchiectasis, lung abscess, empyema, fibrosing alveolitis, bronchogenic carcinoma, cystic fibrosis, mesothelioma"],
            ["GI / Hepatic",  "Crohn's disease, ulcerative colitis, cirrhosis, celiac disease"],
            ["Other",         "Thyroid acropachy (hyperthyroidism), idiopathic/familial, POEMS syndrome"],
        ],
        [28*mm, 149*mm],
        header_color=HexColor("#8e44ad")
    ),
    warn("Unilateral clubbing = local vascular cause (AV fistula, Pancoast tumour affecting one side)."),
]))
story.append(hr(HexColor("#8e44ad")))

# 2E Lymphadenopathy
story.append(KeepTogether([
    Paragraph("5. LYMPHADENOPATHY", sSubHead),
    Paragraph(
        "<b>Technique:</b> Use pulp of 2–4 fingers; gentle circular palpation. "
        "Cervical nodes — stand behind patient. Always compare both sides.",
        sBody
    ),
    make_table(
        ["Characteristic","Suggests"],
        [
            ["Soft, tender, mobile",      "Acute reactive (infection)"],
            ["Firm, rubbery, non-tender", "Lymphoma"],
            ["Hard, fixed, irregular",    "Malignant metastasis"],
            ["Fluctuant",                 "Abscess (pyogenic or TB)"],
            ["Matted together",           "TB lymphadenitis, lymphoma"],
            ["Skin changes/sinus",        "TB with sinus (collar-stud abscess)"],
        ],
        [60*mm, 117*mm],
        header_color=HexColor("#16a085")
    ),
    make_table(
        ["Node Group","Key Associations"],
        [
            ["Left supraclavicular (Virchow's node)", "Gastric/GI/pelvic/testicular malignancy (Troisier's sign)"],
            ["Right supraclavicular",                 "Lung, oesophageal malignancy"],
            ["Epitrochlear",                          "Secondary syphilis, sarcoidosis, lymphoma, hand/forearm infections"],
            ["Axillary",                              "Breast cancer, arm infections, lymphoma"],
            ["Inguinal",                              "STIs, lower limb infections, genitalia/anal cancers"],
            ["Generalized lymphadenopathy",           "HIV, EBV (glandular fever), lymphoma, CLL, SLE, sarcoidosis, TB"],
        ],
        [62*mm, 115*mm],
        header_color=HexColor("#16a085")
    ),
]))
story.append(hr(HexColor("#16a085")))

# 2F Edema
story.append(KeepTogether([
    Paragraph("6. OEDEMA", sSubHead),
    Paragraph(
        "<b>Method:</b> Press firmly with thumb over tibia/ankle for 5 seconds. Assess depth and duration of pit. "
        "<b>Always check sacrum in bedridden patients.</b>",
        sBody
    ),
    make_table(
        ["Grade","Pit Depth","Time to Disappear"],
        [
            ["1+","2 mm","Immediate"],
            ["2+","4 mm","<15 seconds"],
            ["3+","6 mm","15–30 seconds"],
            ["4+",">8 mm",">30 seconds (prolonged pit)"],
        ],
        [20*mm, 30*mm, 127*mm],
        header_color=HexColor("#2980b9")
    ),
    make_table(
        ["Pattern","Likely Cause(s)"],
        [
            ["Bilateral pitting pedal oedema", "CCF, hypoproteinaemia (nephrotic/cirrhosis/malnutrition), CKD, drugs (CCBs, corticosteroids), venous insufficiency"],
            ["Unilateral leg oedema",          "DVT, lymphoedema, cellulitis, filariasis, venous obstruction"],
            ["Periorbital oedema (AM)",         "Nephrotic syndrome, hypothyroidism, angioedema, allergy"],
            ["Non-pitting (firm/brawny)",       "Lymphoedema, pretibial myxoedema (Graves'), lipoedema"],
            ["Anasarca",                        "Severe CCF, nephrotic syndrome, severe cirrhosis, protein-losing enteropathy"],
        ],
        [52*mm, 125*mm],
        header_color=HexColor("#2980b9")
    ),
    Paragraph(
        "<b>4 mechanisms:</b> ↑Hydrostatic pressure | ↓Oncotic pressure | "
        "↑Capillary permeability | Lymphatic obstruction",
        sBodySmall
    ),
]))
story.append(hr(HexColor("#2980b9")))

# 2G Nail Signs
story.append(KeepTogether([
    Paragraph("7. NAIL SIGNS", sSubHead),
    make_table(
        ["Sign","Appearance","Disease Association"],
        [
            ["Koilonychia",           "Spoon-shaped (concave) nails",                    "Iron deficiency anaemia"],
            ["Leuconychia (Terry's)", "Proximal white, distal 1–2 mm pink band",         "Liver cirrhosis, hypoalbuminaemia"],
            ["Half-and-half (Lindsay's)","Proximal white, distal red-brown",             "Chronic kidney disease"],
            ["Mees' lines",           "White transverse bands",                          "Arsenic poisoning, renal failure, sepsis"],
            ["Beau's lines",          "Transverse ridges/grooves",                       "Systemic illness, malnutrition, chemotherapy"],
            ["Splinter haemorrhages", "Dark-brown longitudinal lines (proximal = pathological)","Infective endocarditis, vasculitis, trauma (distal)"],
            ["Onycholysis",           "Nail separates from nail bed",                    "Psoriasis, hyperthyroidism, tinea"],
            ["Nail pitting",          "Multiple small surface pits",                     "Psoriasis, alopecia areata, eczema"],
            ["Yellow nails",          "Thickened, slow-growing, yellow/green",           "Yellow nail syndrome (lymphoedema + pleural effusion)"],
            ["Muehrcke's lines",      "Double white transverse lines; disappear on pressure","Hypoalbuminaemia (nephrotic, liver disease)"],
        ],
        [42*mm, 66*mm, 69*mm],
        header_color=ACCENT
    ),
]))
story.append(hr(ACCENT))

# 2H Dehydration
story.append(KeepTogether([
    Paragraph("8. DEHYDRATION", sSubHead),
    make_table(
        ["Grade","% Water Loss","Clinical Features"],
        [
            ["Mild",     "3–5 %",  "Thirst, dry mouth, slight tachycardia — no other signs"],
            ["Moderate", "6–9 %",  "↓Skin turgor, dry mucous membranes, sunken eyes, tachycardia, oliguria, postural hypotension"],
            ["Severe",   "≥10 %",  "All above + altered consciousness, cold clammy extremities, hypotension, anuria, shock"],
        ],
        [22*mm, 22*mm, 133*mm],
        header_color=RED
    ),
    Paragraph(
        "<b>Bedside signs:</b> Skin turgor (abdomen better than forearm in elderly) | "
        "Dry sticky mouth | Sunken eyes | CRT >2 sec | Postural hypotension | Low urine output",
        sBodySmall
    ),
    warn("Skin turgor is unreliable in the elderly (age-related loss of elasticity). Use oral mucosa + postural BP.")
]))
story.append(sp(3))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 3 – FACIES
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_header("SECTION 3 — DIAGNOSTIC FACIES", TEAL))
story.append(sp(1))
story.append(make_table(
    ["Facies","Appearance","Diagnosis"],
    [
        ["Cushingoid / Moon face",  "Round, plethoric, red, hirsute, acne, lemon on stick",             "Cushing's syndrome / Steroid therapy"],
        ["Acromegalic",             "Prominent supraorbital ridge, large jaw/nose, prognathism, spaces between teeth","Acromegaly (GH excess)"],
        ["Myxoedematous",           "Puffy, dull, dry skin, periorbital oedema, loss of outer 1/3 eyebrow (Queen Anne's sign)","Hypothyroidism"],
        ["Thyrotoxic",              "Anxious, staring eyes, lid lag, exophthalmos (Graves'), sweaty",   "Hyperthyroidism / Graves' disease"],
        ["Parkinson's mask",        "Expressionless (hypomimia), seborrhoea, reduced blinking",         "Parkinsonism"],
        ["Mitral facies",           "Bilateral malar flush/telangiectasia on cheeks",                   "Severe mitral stenosis + pulmonary hypertension"],
        ["Hippocratic facies",      "Sunken cheeks, pinched nose, hollow eyes, cyanotic lips",          "Generalized peritonitis / terminal illness"],
        ["Leonine facies",          "Thick, furrowed, lion-like, loss of eyebrows",                     "Lepromatous leprosy"],
        ["Marfanoid",               "Long thin face, high-arched palate, dolichocephaly",               "Marfan syndrome, homocystinuria"],
        ["Plethoric",               "Red, florid complexion",                                           "Polycythaemia vera, Cushing's, SVC obstruction"],
        ["Saddle-nose",             "Depressed nasal bridge",                                           "GPA (Wegener's), syphilis, trauma, relapsing polychondritis"],
        ["Risus sardonicus",        "Fixed 'grinning' expression from masseter spasm",                  "Tetanus"],
        ["Adenoid facies",          "Open mouth, elongated face, dental crowding",                      "Hypertrophied adenoids"],
    ],
    [38*mm, 72*mm, 67*mm],
    header_color=TEAL
))
story.append(sp(3))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 4 – HANDS
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_header("SECTION 4 — THE HANDS (A COMPLETE CLINICAL STORY)", ACCENT))
story.append(sp(1))
story.append(make_table(
    ["Finding","Disease Association"],
    [
        ["Palmar erythema",            "Liver cirrhosis, RA, pregnancy, polycythaemia, CCF"],
        ["Dupuytren's contracture",    "Alcoholic liver disease, diabetes, epilepsy (phenobarb), idiopathic"],
        ["Thenar wasting",             "Carpal tunnel syndrome, median nerve lesion, T1 root"],
        ["Hypothenar wasting",         "Ulnar nerve palsy, C8-T1 lesion, syringomyelia"],
        ["Interosseous wasting",       "Ulnar nerve, RA, motor neurone disease, T1 root lesion"],
        ["Osler's nodes",              "Infective endocarditis (tender red nodules on fingertip pulp)"],
        ["Janeway lesions",            "Infective endocarditis (non-tender haemorrhagic macules on palms/soles)"],
        ["Palmar crease xanthomata",   "Type III hyperlipoproteinaemia (pathognomonic)"],
        ["Gottron's papules",          "Dermatomyositis (violaceous papules over MCP/PIP joints)"],
        ["Raynaud's phenomenon",       "SLE, systemic sclerosis, mixed CTD, primary Raynaud's"],
        ["'Mechanic's hands'",         "Dermatomyositis, antisynthetase syndrome"],
        ["Swan-neck / Boutonnière",    "Rheumatoid arthritis"],
        ["Heberden's / Bouchard's nodes","Osteoarthritis (DIP / PIP joints respectively)"],
        ["Tophi",                      "Gout (uric acid deposits)"],
    ],
    [55*mm, 122*mm],
    header_color=ACCENT
))
story.append(sp(3))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 5 – EXAM CHECKLIST + PEARLS
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_header("SECTION 5 — EXAM PRESENTATION CHECKLIST", NAVY))
story.append(sp(1))

checklist_text = [
    "<b>On general examination, the patient is:</b>",
    "1. Conscious / Alert / Oriented to time, place and person",
    "2. Built and nourished: Well / Moderately / Poorly",
    "3. Vital Signs: Temp ___ °C | PR ___ bpm, regular, good volume | BP ___/___ mmHg | RR ___ /min | SpO₂ ___ %",
    "4. BMI: ___ kg/m²  |  Waist circumference: ___ cm",
    "",
    "<b>Clinical Signs (state presence/absence for each):</b>",
    "• Pallor: Present (Mild / Moderate / Severe) / Absent",
    "• Icterus: Present (Mild / Moderate / Deep) / Absent",
    "• Cyanosis: Present (Central / Peripheral / Differential) / Absent",
    "• Clubbing: Present (Grade ___) / Absent",
    "• Lymphadenopathy: Present (location + characteristics) / Absent",
    "• Oedema: Present (pitting, Grade ___, level: ankle/shin/thigh/sacral) / Absent",
    "• Dehydration: Present (Mild / Moderate / Severe) / Absent",
    "• Koilonychia / Other nail signs: ___",
    "",
    "<b>Facies:</b> Normal / ___ (describe if abnormal)",
    "<b>Hands:</b> Relevant findings — palmar erythema / Dupuytren's / wasting / joint deformity",
    "<b>Skin:</b> Rashes / pigmentation / petechiae / purpura / spider naevi",
]

for line in checklist_text:
    story.append(Paragraph(line, sBody if line else sp(1) and sBody))
    story.append(sp(0.5))

story.append(sp(2))
story.append(Paragraph("Top 10 Exam Pearls", sSubHead))

pearls = [
    "Never say 'no pallor' without checking the lower palpebral conjunctiva — examiners watch this.",
    "Jaundice must be assessed in natural light. The sclerae are the MOST sensitive site.",
    "Central cyanosis: tongue is blue. Peripheral cyanosis: tongue is NORMAL. This is the key differentiator.",
    "Schamroth's window test — always demonstrate it for clubbing. Obliterated window = positive.",
    "Always check sacral oedema in bedridden patients. Ankle oedema alone will be missed.",
    "Lymph nodes — always examine BOTH sides; always describe Virchow's node (left supraclavicular).",
    "Skin turgor is unreliable in elderly patients — use oral mucosa + postural BP for dehydration.",
    "Wide pulse pressure (>60 mmHg) = AR, PDA, AV fistula, thyrotoxicosis, severe anaemia, sepsis.",
    "Kussmaul breathing: patient breathes deeply and fast but does NOT feel breathless — DKA, uraemia.",
    "Unilateral clubbing = local vascular cause. Bilateral clubbing = systemic cause. Always check toes too.",
]

for i, p in enumerate(pearls, 1):
    story.append(Paragraph(f"<b>{i}.</b> {p}", sBodySmall))
    story.append(sp(0.5))

story.append(sp(2))
# Footer
story.append(HRFlowable(width="100%", thickness=0.8, color=NAVY))
story.append(sp(1))
story.append(Paragraph(
    "MD Medicine Pocket Guide — Vital Signs &amp; Clinical Signs  |  For Educational Use  |  "
    "Based on Harrison's 22E, Goldman-Cecil Medicine, S. Das Clinical Surgery  |  Generated by Orris Medical AI",
    sFooter
))

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

cd /home/daytona/workspace/pocket-guide && python generate_pocket_guide.py 2>&1

Running Command

ls -lh /home/daytona/workspace/pocket-guide/MD_Medicine_Pocket_Guide.pdf

Running Command

cd /home/daytona/workspace/pocket-guide && python -c " from pypdf import PdfRead…

Your pocket guide is ready:

MD Medicine Pocket Guide

PDF Document · PDF


What's inside (5 pages, A4, print-ready):
SectionContent
Section 1 — Vital SignsNormal ranges, pulse character types, fever patterns, BP scenarios, breathing patterns - all in colour-coded tables
Section 2 — The Big 8 Clinical SignsPallor, Icterus, Cyanosis, Clubbing, Lymphadenopathy, Oedema, Nail signs, Dehydration - each with grading, where to look, and causes
Section 3 — Diagnostic Facies13 classic facies with appearance and diagnosis
Section 4 — The Hands14 hand signs with disease associations
Section 5 — Exam Checklist + PearlsWord-for-word presentation template + 10 clinical pearls
Design features:
  • Colour-coded by section (navy/teal/accent headers)
  • Alternating row shading for easy reading
  • Red warning boxes for critical exam mistakes
  • Star-marked clinical pearls throughout
  • Compact but readable font (7.5–9 pt) for maximum density on A4
This is a shared conversation. Sign in to Orris to start your own chat.