Recurrent facial nerve palsy
recurrent facial nerve palsy causes management
| Pattern | Clinical Significance |
|---|---|
| Ipsilateral recurrence | Must suspect tumour - in 6/20 patients with ipsilateral recurrence, a facial nerve tumour was found (May & Hardin) |
| Contralateral recurrence | Almost always benign |
| Alternating (ipsilateral + contralateral) | Hallmark of Melkersson-Rosenthal syndrome |
| Bilateral simultaneous | Suggests systemic disease - Guillain-Barre, sarcoidosis, Lyme disease |
| Organism | Notes |
|---|---|
| HSV-1 | Most common; recurrence common unlike VZV |
| Herpes zoster (Ramsay Hunt) | Recurrence rare |
| Lyme disease (Borrelia burgdorferi) | May cause bilateral facial palsy; bilateral presentation in endemic areas demands serology |
| Infectious mononucleosis (EBV) | |
| HIV |
| Cause Identified | Treatment |
|---|---|
| Idiopathic recurrence | Oral corticosteroids (prednisolone) + antiviral (aciclovir/valaciclovir); eye protection |
| Melkersson-Rosenthal | Conservative; facial nerve decompression if recurrent severe episodes |
| Tumour | Surgical resection/nerve grafting; radiotherapy for parotid malignancy |
| Lyme disease | Antibiotics (doxycycline / amoxicillin / ceftriaxone) |
| Sarcoidosis | Systemic corticosteroids |
| GPA (Wegener's) | Steroids + cyclophosphamide; long-term cotrimoxazole |
| Hypertension | Antihypertensive control |
Give me this in document format
ls /home/daytona/workspace/ 2>/dev/null && ls /home/daytona/skills/docx/scripts/office/ 2>/dev/null
mkdir -p /home/daytona/workspace/facial-nerve-palsy && cat > /home/daytona/workspace/facial-nerve-palsy/generate.js << 'EOF' const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell, HeadingLevel, AlignmentType, BorderStyle, WidthType, ShadingType, VerticalAlign, Header, Footer, PageNumber, NumberFormat, TableOfContents, UnderlineType } = require('docx'); const fs = require('fs'); // ─── Colour palette ──────────────────────────────────────────────────────── const BLUE = "1F4E79"; // dark navy – headings const LIGHTBLUE = "D6E4F0"; // table header background const ACCENT = "2E75B6"; // rule colour / accent text const WHITE = "FFFFFF"; const DARK = "1A1A1A"; // ─── Helpers ──────────────────────────────────────────────────────────────── function heading1(text) { return new Paragraph({ text, heading: HeadingLevel.HEADING_1, spacing: { before: 320, after: 120 }, thematicBreak: false, run: { color: BLUE, bold: true, size: 28 } }); } function heading2(text) { return new Paragraph({ children: [new TextRun({ text, bold: true, color: BLUE, size: 24 })], spacing: { before: 280, after: 80 }, border: { bottom: { style: BorderStyle.SINGLE, size: 6, color: ACCENT, space: 4 } } }); } function heading3(text) { return new Paragraph({ children: [new TextRun({ text, bold: true, color: ACCENT, size: 22 })], spacing: { before: 200, after: 60 } }); } function body(text, opts = {}) { return new Paragraph({ children: [new TextRun({ text, size: 20, color: DARK, ...opts })], spacing: { before: 60, after: 60 }, alignment: AlignmentType.JUSTIFIED }); } function bullet(text, level = 0) { return new Paragraph({ children: [new TextRun({ text, size: 20, color: DARK })], bullet: { level }, spacing: { before: 40, after: 40 } }); } function keyPoint(text) { return new Paragraph({ children: [new TextRun({ text: "• ", bold: true, color: ACCENT, size: 20 }), new TextRun({ text, size: 20, color: DARK })], spacing: { before: 60, after: 60 }, indent: { left: 360 } }); } function spacer() { return new Paragraph({ text: "", spacing: { before: 80, after: 80 } }); } // Shaded info box via a 1-col table function infoBox(lines, bgColor = "EAF2FB") { const cells = lines.map(l => new Paragraph({ children: [new TextRun({ text: l, size: 19, color: DARK })], spacing: { before: 40, after: 40 } }) ); return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows: [new TableRow({ children: [new TableCell({ children: cells, shading: { fill: bgColor, type: ShadingType.CLEAR, color: "auto" }, margins: { top: 120, bottom: 120, left: 200, right: 200 }, borders: { top: { style: BorderStyle.SINGLE, size: 8, color: ACCENT }, bottom: { style: BorderStyle.SINGLE, size: 8, color: ACCENT }, left: { style: BorderStyle.SINGLE, size: 8, color: ACCENT }, right: { style: BorderStyle.SINGLE, size: 8, color: ACCENT }, } })] })] }); } function makeTable(headers, rows, colWidths) { const headerRow = new TableRow({ tableHeader: true, children: headers.map((h, i) => new TableCell({ children: [new Paragraph({ children: [new TextRun({ text: h, bold: true, color: WHITE, size: 19 })], alignment: AlignmentType.CENTER })], shading: { fill: BLUE, type: ShadingType.CLEAR, color: "auto" }, width: colWidths ? { size: colWidths[i], type: WidthType.PERCENTAGE } : undefined, margins: { top: 80, bottom: 80, left: 120, right: 120 }, verticalAlign: VerticalAlign.CENTER, })) }); const dataRows = rows.map((row, ri) => new TableRow({ children: row.map((cell, ci) => new TableCell({ children: [new Paragraph({ children: [new TextRun({ text: cell, size: 19, color: DARK })], alignment: AlignmentType.LEFT })], shading: { fill: ri % 2 === 0 ? "F7FBFF" : WHITE, type: ShadingType.CLEAR, color: "auto" }, width: colWidths ? { size: colWidths[ci], type: WidthType.PERCENTAGE } : undefined, margins: { top: 80, bottom: 80, left: 120, right: 120 }, })) })); return new Table({ width: { size: 100, type: WidthType.PERCENTAGE }, rows: [headerRow, ...dataRows], }); } // ─── Document body ────────────────────────────────────────────────────────── const children = [ // Title block new Paragraph({ children: [new TextRun({ text: "RECURRENT FACIAL NERVE PALSY", bold: true, color: WHITE, size: 36, allCaps: true })], alignment: AlignmentType.CENTER, shading: { fill: BLUE, type: ShadingType.CLEAR, color: "auto" }, spacing: { before: 0, after: 0 }, border: { bottom: { style: BorderStyle.SINGLE, size: 12, color: ACCENT } }, indent: { left: 0, right: 0 }, frame: undefined }), new Paragraph({ children: [new TextRun({ text: "Clinical Review | ENT / Neurology", color: "A0C4E8", size: 20, italics: true })], alignment: AlignmentType.CENTER, shading: { fill: BLUE, type: ShadingType.CLEAR, color: "auto" }, spacing: { before: 0, after: 200 } }), spacer(), // ── 1. Definition ────────────────────────────────────────────────────────── heading1("1. Definition"), body("Recurrent facial nerve palsy refers to more than one episode of peripheral (lower motor neuron) facial weakness, occurring either on the same side (ipsilateral) or the opposite side (contralateral). This pattern forces the clinician to move beyond the default diagnosis of idiopathic (Bell's) palsy and undertake a structured search for underlying causes."), spacer(), // ── 2. Epidemiology ──────────────────────────────────────────────────────── heading1("2. Epidemiology of Recurrence"), makeTable( ["Parameter", "Data"], [ ["Recurrence rate in idiopathic palsy", "~13% of all patients"], ["Ipsilateral recurrences", "38% of recurrent cases"], ["Contralateral recurrences", "62% of recurrent cases"], ["Mean interval between episodes", "9.8 years (range: 1 month – 43 years)"], ["Family history association", "2.5× more likely in recurrent cases"], ], [55, 45] ), spacer(), body("Source: Pitts et al., as cited in Scott-Brown's Otorhinolaryngology Head & Neck Surgery, Vol. 2.", { italics: true, size: 18, color: "555555" }), spacer(), // ── 3. Classification by Pattern ─────────────────────────────────────────── heading1("3. Classification by Recurrence Pattern"), makeTable( ["Pattern", "Clinical Significance"], [ ["Ipsilateral recurrence", "Must suspect tumour — tumour was found in 6/20 patients with ipsilateral recurrence (May & Hardin)"], ["Contralateral recurrence", "Almost always benign"], ["Alternating (ipsilateral + contralateral)", "Hallmark of Melkersson–Rosenthal syndrome"], ["Bilateral simultaneous", "Suggests systemic disease: Guillain–Barré, sarcoidosis, Lyme disease, lymphoma"], ], [35, 65] ), spacer(), infoBox([ "⚠ KEY RULE: Ipsilateral recurrent facial palsy must be treated as a tumour until proven otherwise.", " Progressive palsy (>3 weeks) or failure to recover within 3–6 weeks also warrants urgent imaging." ], "FFF3CD"), spacer(), // ── 4. Causes ────────────────────────────────────────────────────────────── heading1("4. Causes of Recurrent Facial Palsy"), heading2("4.1 Idiopathic (Bell's Palsy)"), body("Bell's palsy remains the most common cause of facial palsy in adults and is the most frequent diagnosis in recurrent cases. The leading mechanism is HSV-1 reactivation within the geniculate ganglion, causing oedema and compression within the narrow Fallopian canal."), bullet("Recurrence is well-documented but remains a diagnosis of exclusion"), bullet("Family history is more common in recurrent cases — a possible genetic predisposition to nerve swelling"), bullet("HSV-1 recurrence is relatively common; VZV (Ramsay Hunt syndrome) recurrence is rare"), spacer(), heading2("4.2 Melkersson–Rosenthal Syndrome"), body("A rare granulomatous condition that is the classic cause of alternating recurrent facial palsy. The complete clinical triad comprises:"), bullet("Recurrent episodes of facial palsy (unilateral or alternating sides)"), bullet("Recurrent orofacial oedema — characteristically lip swelling (granulomatous cheilitis)"), bullet("Fissured tongue (lingua plicata / scrotal tongue)"), spacer(), makeTable( ["Feature", "Details"], [ ["Onset", "Childhood/adolescence, predominantly second decade of life"], ["Facial palsy frequency", "Occurs in ~20% of cases"], ["Family history", "Often positive"], ["Histology", "Granulomatous inflammation on lip biopsy"], ["Treatment", "Conservative; facial nerve decompression for recurrent severe episodes"], ], [35, 65] ), spacer(), heading2("4.3 Tumours of the Facial Nerve"), body("May & Hardin found a tumour in 6 of 20 patients with ipsilateral recurrent facial palsy. Tumour types include:"), bullet("Facial nerve schwannoma or haemangioma"), bullet("Parotid gland malignancy with perineural invasion"), bullet("Cholesteatoma eroding the Fallopian canal"), bullet("Cerebellopontine angle (CPA) tumours"), bullet("Leukaemic / lymphomatous infiltration"), spacer(), infoBox([ "Red flags pointing to tumour:", " • Progressive palsy over more than 3 weeks", " • Incomplete palsy not recovering after 3–6 weeks", " • Any ipsilateral recurrence", " • Nodular (not linear/diffuse) gadolinium enhancement on MRI", ], "FDECEA"), spacer(), heading2("4.4 Infectious Causes"), makeTable( ["Organism", "Notes"], [ ["HSV-1 (Herpes simplex)", "Most common viral cause; recurrence well recognised"], ["Herpes zoster (Ramsay Hunt)", "Recurrence rare; associated with ear vesicles, vertigo, hearing loss"], ["Lyme disease (Borrelia burgdorferi)", "Can cause bilateral facial palsy; serology mandatory in endemic areas"], ["Infectious mononucleosis (EBV)", "Rare but recognised cause"], ["HIV", "Can cause facial palsy at seroconversion or advanced disease"], ["Acute otitis media", "Pathophysiology: neuropraxia from oedema or dehiscent Fallopian canal"], ], [35, 65] ), spacer(), heading2("4.5 Systemic and Granulomatous Diseases"), makeTable( ["Condition", "Key Points"], [ ["Sarcoidosis", "Heerfordt syndrome (uveoparotid fever) — uveitis, parotitis, facial palsy; serum ACE elevated; treat with steroids"], ["GPA (Wegener's granulomatosis)", "Vasculitis + granulomas of respiratory tract and kidneys; cANCA + ESR; treat with steroids + cyclophosphamide"], ["Osteopetrosis", "Narrowing of cranial foramina → recurrent facial palsy, deafness, optic atrophy"], ["Van Buchem disease", "Progressive jaw enlargement + recurrent facial palsy; SOST enhancer deletions"], ["Hypertension (especially children)", "Recurrent alternating palsy; antihypertensive control prevents relapses"], ], [35, 65] ), spacer(), heading2("4.6 Neurological Conditions"), bullet("Guillain–Barré syndrome — bilateral simultaneous facial palsy; ascending areflexic paralysis"), bullet("Moebius syndrome — bilateral congenital facial palsy"), bullet("Hereditary neuropathy with liability to pressure palsies (HNPP) — PMP22 mutations"), spacer(), // ── 5. Investigations ────────────────────────────────────────────────────── heading1("5. Investigations"), body("A structured workup is mandatory in any recurrent facial palsy. The extent of investigation is guided by the clinical pattern."), spacer(), heading3("5.1 Clinical Examination"), bullet("Full ENT and cranial nerve examination — look for subtle weakness"), bullet("Otoscopy: exclude cholesteatoma, chronic suppurative otitis media (CSOM), vesicles of Ramsay Hunt"), bullet("Parotid examination: masses, tenderness"), bullet("Orofacial inspection: lip swelling, tongue fissuring (Melkersson–Rosenthal)"), bullet("Blood pressure measurement (especially in children)"), spacer(), heading3("5.2 Blood Tests"), makeTable( ["Test", "Purpose"], [ ["FBC, ESR, CRP", "Baseline inflammation / infection markers"], ["Serum ACE", "Sarcoidosis screening"], ["Lyme serology (ELISA + Western blot)", "Borrelia infection (endemic areas)"], ["cANCA", "Granulomatosis with polyangiitis"], ["Viral serology: EBV, HSV, VZV, HIV", "Infectious causes"], ["Fasting glucose / HbA1c", "Diabetes as predisposing factor"], ["Blood pressure / renal function", "Hypertensive aetiology (especially children)"], ], [45, 55] ), spacer(), heading3("5.3 Imaging"), makeTable( ["Modality", "Indication / Findings"], [ ["MRI with gadolinium", "First-line for soft tissue / nerve — covers pons to parotid; Bell's = diffuse, linear, intense enhancement; tumour = nodular enhancement. Recommended at 3 months if no improvement, or earlier if progressing."], ["HRCT temporal bone", "Superior bony detail: cholesteatoma, Fallopian canal erosion, fractures, bony dysplasias (osteopetrosis)"], ["Both combined", "Complementary — used together when aetiology unclear"], ], [25, 75] ), spacer(), heading3("5.4 Electrophysiology"), bullet("Electroneurography (ENoG): useful for prognosis in complete palsy — no value in incomplete palsy"), bullet("EMG: detects reinnervation potentials; guides timing of surgical intervention"), spacer(), heading3("5.5 Tissue Biopsy"), bullet("Lip biopsy: granulomatous inflammation confirms Melkersson–Rosenthal syndrome"), bullet("Parotid biopsy / excision: if tumour suspected on imaging"), bullet("Temporal bone biopsy: rarely needed but considered for infiltrative disease"), spacer(), // ── 6. Management ───────────────────────────────────────────────────────── heading1("6. Management"), body("Management is directed at the identified cause. Eye protection must be addressed in every acute episode regardless of aetiology."), spacer(), makeTable( ["Cause", "Treatment"], [ ["Idiopathic recurrence (Bell's palsy)", "Oral prednisolone (1 mg/kg/day × 10 days) + antiviral (aciclovir / valaciclovir); artificial tears and eye taping at night"], ["Melkersson–Rosenthal syndrome", "Conservative initially; facial nerve decompression for recurrent severe episodes; lip reduction for disfiguring cheilitis"], ["Facial nerve tumour", "Surgical resection with nerve grafting; radiotherapy for parotid malignancy"], ["Lyme disease", "Doxycycline / amoxicillin (oral, early disease); ceftriaxone IV (neurological involvement)"], ["Sarcoidosis", "Systemic corticosteroids; methotrexate as steroid-sparing agent"], ["GPA (Wegener's)", "Corticosteroids + cyclophosphamide; long-term cotrimoxazole to reduce remissions"], ["Hypertension", "Antihypertensive therapy — control prevents further facial palsy relapses"], ["Cholesteatoma / CSOM", "Canal wall down mastoidectomy; facial nerve decompression if involved"], ], [35, 65] ), spacer(), // ── 7. Key Clinical Pearls ───────────────────────────────────────────────── heading1("7. Key Clinical Pearls"), infoBox([ "1. Ipsilateral recurrence = tumour until proven otherwise — imaging is mandatory.", "2. Contralateral recurrence is usually benign.", "3. Alternating recurrence = Melkersson–Rosenthal syndrome until proven otherwise.", "4. Bilateral simultaneous palsy = systemic disease screen (Guillain–Barré, Lyme, sarcoidosis, lymphoma, leukaemia).", "5. Progressive palsy (>3 weeks) or failure to recover within 3–6 weeks — suspect malignancy.", "6. Any recurrent or non-recovering facial palsy requires further investigation and imaging.", "7. HSV-1 recurrence is common; VZV recurrence is rare.", "8. Contralateral recurrence of idiopathic palsy accounts for 62% of all recurrences.", ], "EAF2FB"), spacer(), // ── 8. References ────────────────────────────────────────────────────────── heading1("8. References"), body("1. Scott-Brown's Otorhinolaryngology Head & Neck Surgery, Volume 2 (8th ed.). CRC Press.", { size: 18 }), body("2. Adams and Victor's Principles of Neurology, 12th Edition. McGraw-Hill.", { size: 18 }), body("3. Localization in Clinical Neurology, 8th Edition. Wolters Kluwer.", { size: 18 }), body("4. Rheumatology, 2-Volume Set (2022). Elsevier.", { size: 18 }), body("5. Andrews' Diseases of the Skin: Clinical Dermatology. Elsevier.", { size: 18 }), body("6. Bradley and Daroff's Neurology in Clinical Practice. Elsevier.", { size: 18 }), body("7. Pitts et al. — Recurrent idiopathic facial palsy: mean interval and family history analysis.", { size: 18 }), body("8. May M, Hardin WB — Facial palsy: interpretation of neurologic findings. Laryngoscope 1978.", { size: 18 }), spacer(), ]; // ─── Assemble document ────────────────────────────────────────────────────── const doc = new Document({ creator: "Orris Medical AI", title: "Recurrent Facial Nerve Palsy – Clinical Review", description: "Comprehensive clinical review of recurrent facial nerve palsy", styles: { default: { document: { run: { font: "Calibri", size: 20, color: DARK } }, heading1: { run: { font: "Calibri", bold: true, size: 28, color: BLUE, allCaps: false }, paragraph: { spacing: { before: 320, after: 120 } } }, heading2: { run: { font: "Calibri", bold: true, size: 24, color: BLUE }, paragraph: { spacing: { before: 280, after: 80 } } }, } }, sections: [{ properties: { page: { margin: { top: 900, bottom: 900, left: 1080, right: 1080 } } }, headers: { default: new Header({ children: [new Paragraph({ children: [new TextRun({ text: "Recurrent Facial Nerve Palsy — Clinical Review", color: ACCENT, size: 18, italics: true })], alignment: AlignmentType.RIGHT, border: { bottom: { style: BorderStyle.SINGLE, size: 4, color: ACCENT } } })] }) }, footers: { default: new Footer({ children: [new Paragraph({ children: [ new TextRun({ text: "Page ", size: 18, color: "888888" }), new PageNumber(NumberFormat.DECIMAL), new TextRun({ text: " | Orris Medical AI | For educational use only", size: 18, color: "888888" }) ], alignment: AlignmentType.CENTER, border: { top: { style: BorderStyle.SINGLE, size: 4, color: ACCENT } } })] }) }, children }] }); Packer.toBuffer(doc).then(buffer => { fs.writeFileSync("/home/daytona/workspace/facial-nerve-palsy/Recurrent_Facial_Nerve_Palsy.docx", buffer); console.log("Done"); }).catch(err => { console.error(err); process.exit(1); }); EOF cd /home/daytona/workspace/facial-nerve-palsy && node generate.js
~/facial-nerve-palsy/generate.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/facial-nerve-palsy/generate.js'
cd /home/daytona/workspace/facial-nerve-palsy && node generate.js
python /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/facial-nerve-palsy/Recurrent_Facial_Nerve_Palsy.docx
python3 -c "import zipfile, os; z = zipfile.ZipFile('/home/daytona/workspace/facial-nerve-palsy/Recurrent_Facial_Nerve_Palsy.docx'); print('Valid ZIP, files:', z.namelist()[:8]); print('Size:', os.path.getsize('/home/daytona/workspace/facial-nerve-palsy/Recurrent_Facial_Nerve_Palsy.docx'), 'bytes')"
Recurrent Facial Nerve Palsy
Word Document · DOCX