neurological examination
Which part of the neurological examination should I go into in detail?
general neurological examination
Create a quick reference PDF checklist for performing the neurological exam
mkdir -p /tmp/workspace/neuro-exam-checklist && ls -la /tmp/workspace/
~/neuro-exam-checklist/build_pdf.py
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER
OUT = "/tmp/workspace/neuro-exam-checklist/Neurological_Exam_Checklist.pdf"
styles = getSampleStyleSheet()
title_style = ParagraphStyle(
"TitleStyle", parent=styles["Title"], fontSize=20, textColor=colors.HexColor("#1a3a5c"),
spaceAfter=2, alignment=TA_CENTER
)
subtitle_style = ParagraphStyle(
"SubtitleStyle", parent=styles["Normal"], fontSize=10, textColor=colors.HexColor("#555555"),
alignment=TA_CENTER, spaceAfter=14
)
section_style = ParagraphStyle(
"SectionStyle", parent=styles["Heading2"], fontSize=13, textColor=colors.white,
backColor=colors.HexColor("#1a3a5c"), leftIndent=4, spaceAfter=6, spaceBefore=10,
borderPadding=(4, 4, 4, 4)
)
note_style = ParagraphStyle(
"NoteStyle", parent=styles["Normal"], fontSize=8.5, textColor=colors.HexColor("#444444"),
leftIndent=4, spaceBefore=2, spaceAfter=4, fontName="Helvetica-Oblique"
)
item_style = ParagraphStyle(
"ItemStyle", parent=styles["Normal"], fontSize=9.5, leading=13
)
footer_style = ParagraphStyle(
"FooterStyle", parent=styles["Normal"], fontSize=7.5, textColor=colors.HexColor("#888888"),
alignment=TA_CENTER
)
CHECK = "\u2610" # empty checkbox glyph
def checkbox_table(rows, col_widths=(14, 480)):
data = []
for r in rows:
data.append([CHECK, Paragraph(r, item_style)])
t = Table(data, colWidths=col_widths)
t.setStyle(TableStyle([
("VALIGN", (0, 0), (-1, -1), "TOP"),
("TOPPADDING", (0, 0), (-1, -1), 2),
("BOTTOMPADDING", (0, 0), (-1, -1), 2),
("LEFTPADDING", (0, 0), (0, -1), 2),
("FONTSIZE", (0, 0), (0, -1), 12),
]))
return t
def section(title):
return Paragraph(title, section_style)
def note(text):
return Paragraph(text, note_style)
story = []
story.append(Paragraph("Neurological Examination", title_style))
story.append(Paragraph("Quick Reference Checklist for Clinical Practice", subtitle_style))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor("#1a3a5c")))
story.append(Spacer(1, 8))
# 1. Mental Status
story.append(section("1. Mental Status (usually assessed during history-taking)"))
story.append(checkbox_table([
"Orientation - person, place, time",
"Insight into illness and judgment",
"Language - fluency, comprehension, naming",
]))
# 2. Cranial Nerves
story.append(section("2. Cranial Nerves"))
story.append(checkbox_table([
"Pupils - size, symmetry, reaction to light",
"Extraocular movements (full ductions in all directions); check for nystagmus",
"Facial sensation and corneal reflex (compare both sides)",
"Facial strength and symmetry (CN VII)",
"Gross visual acuity and hearing (CN II, VIII)",
"Palatal elevation and tongue protrusion (CN IX, X, XII)",
"Trapezius and sternocleidomastoid strength (CN XI)",
]))
story.append(note("Asymmetric facial sensation + corneal reflex on one side can suggest a posterior fossa mass (CN V/VII/VIII relationship)."))
# 3. Motor
story.append(section("3. Motor Examination"))
story.append(checkbox_table([
"Inspect muscle bulk - atrophy, fasciculations, involuntary movements/tremor",
"Tone - normal / increased (spasticity, cogwheel rigidity) / decreased",
"Pronator drift - outstretched arms, eyes closed",
"Strength by muscle group (grade 0-5, MRC scale)",
"Grip power and wrist dorsiflexion (upper limb)",
"Hip, knee, and ankle flexion/extension (lower limb)",
]))
story.append(note("Cogwheel rigidity can be an early sign of a neurodegenerative disorder."))
# 4. Reflexes
story.append(section("4. Reflexes"))
story.append(checkbox_table([
"Biceps reflex (C5-C6)",
"Brachioradialis / supinator reflex (C5-C6)",
"Triceps reflex (C7-C8)",
"Patellar reflex (L3-L4)",
"Achilles reflex (S1-S2)",
"Plantar response (Babinski sign)",
"Compare left vs right for symmetry",
]))
story.append(note("A degree of decreased vibratory sensation and absent ankle jerks can be a normal finding in elderly patients."))
# 5. Sensory
story.append(section("5. Sensory Examination"))
story.append(checkbox_table([
"Vibration sense - fingers and toes",
"Proprioception / position sense - fingers and toes",
"Pain and temperature sensation",
"Light touch",
]))
story.append(note("Absent Achilles reflex + diminished vibratory sense in the feet can flag diabetic or nutritional neuropathy, even before symptoms are reported."))
# 6. Coordination
story.append(section("6. Coordination (Cerebellar Testing)"))
story.append(checkbox_table([
"Finger-to-nose (or finger-nose-finger) test",
"Heel-to-shin (heel-knee-shin) test",
"Rapid alternating movements (dysdiadochokinesia check)",
]))
# 7. Gait
story.append(section("7. Gait and Station"))
story.append(checkbox_table([
"Observe spontaneous walking, including turning",
"Tandem gait",
"Romberg test (where indicated)",
]))
# 8. Special situations
story.append(section("8. Special Situations"))
story.append(checkbox_table([
"Comatose/stuporous patient - most components (except cognition) can still be tested; look for focal signs and meningeal irritation",
"Dizziness workup - emphasize ocular motor findings, cranial nerve symmetry, and coordination to distinguish central vs. peripheral cause",
]))
story.append(Spacer(1, 10))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#aaaaaa")))
story.append(Spacer(1, 4))
story.append(Paragraph(
"Sources: Adams and Victor's Principles of Neurology, 12th Ed. (Screening Neurological Examination); "
"Bradley and Daroff's Neurology in Clinical Practice (General Neurological Examination). "
"For clinical reference and educational use only - not a substitute for full clinical judgment.",
footer_style
))
doc = SimpleDocTemplate(
OUT, pagesize=letter,
topMargin=0.55 * inch, bottomMargin=0.55 * inch,
leftMargin=0.6 * inch, rightMargin=0.6 * inch,
)
doc.build(story)
print("Saved to", OUT)
cd /tmp/workspace/neuro-exam-checklist && python3 build_pdf.py
cd /tmp/workspace/neuro-exam-checklist && python3 -c " import pdfplumber with pdfplumber.open('Neurological_Exam_Checklist.pdf') as pdf: print('pages:', len(pdf.pages)) " && ls -la /tmp/workspace/neuro-exam-checklist/
Neurological Exam Checklist
PDF Document · PDF