Give answers according to ent dingra textbook
| Method | Device | Voice Quality | Ease | Hands-free |
|---|---|---|---|---|
| Oesophageal | None | Fair | Difficult | Yes |
| TEP (Blom-Singer) | Valve | Best | Moderate | No (must occlude stoma) |
| Electrolarynx | Machine | Robotic | Easy | No |
| Stage | Name | Features |
|---|---|---|
| I | Inflammatory oedema (preseptal cellulitis) | Oedema of eyelids; no proptosis, normal vision |
| II | Orbital cellulitis | Oedema of orbital fat; mild proptosis; EOM intact |
| III | Subperiosteal abscess | Pus between periorbita and orbital wall; proptosis + displacement of globe |
| IV | Orbital abscess | Pus within orbital fat; severe proptosis, ophthalmoplegia, chemosis |
| V | Cavernous sinus thrombosis | Bilateral proptosis, high fever, septicemia - this is intracranial |
Can you above answers in pdf format
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/ent-answers && cat > /tmp/workspace/ent-answers/generate_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.lib import colors from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY from reportlab.platypus import KeepTogether doc = SimpleDocTemplate( "/tmp/workspace/ent-answers/ENT_Dhingra_Answers.pdf", pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2*cm, bottomMargin=2*cm ) styles = getSampleStyleSheet() # Custom styles title_style = ParagraphStyle('CustomTitle', parent=styles['Title'], fontSize=18, textColor=colors.HexColor('#1a237e'), spaceAfter=6, spaceBefore=4, alignment=TA_CENTER, fontName='Helvetica-Bold') subtitle_style = ParagraphStyle('Subtitle', parent=styles['Normal'], fontSize=11, textColor=colors.HexColor('#37474f'), spaceAfter=12, alignment=TA_CENTER, fontName='Helvetica-Oblique') h1_style = ParagraphStyle('H1', parent=styles['Heading1'], fontSize=14, textColor=colors.white, backColor=colors.HexColor('#1a237e'), spaceBefore=14, spaceAfter=6, leftIndent=-12, rightIndent=-12, fontName='Helvetica-Bold', leading=20, borderPad=5) h2_style = ParagraphStyle('H2', parent=styles['Heading2'], fontSize=12, textColor=colors.HexColor('#1a237e'), spaceBefore=10, spaceAfter=4, fontName='Helvetica-Bold', borderPad=2) h3_style = ParagraphStyle('H3', parent=styles['Heading3'], fontSize=11, textColor=colors.HexColor('#4a148c'), spaceBefore=8, spaceAfter=3, fontName='Helvetica-Bold') body_style = ParagraphStyle('Body', parent=styles['Normal'], fontSize=10, textColor=colors.HexColor('#212121'), spaceAfter=4, spaceBefore=2, leading=14, fontName='Helvetica', alignment=TA_JUSTIFY) bullet_style = ParagraphStyle('Bullet', parent=styles['Normal'], fontSize=10, textColor=colors.HexColor('#212121'), spaceAfter=3, spaceBefore=1, leading=13, leftIndent=12, fontName='Helvetica', bulletIndent=4) note_style = ParagraphStyle('Note', parent=styles['Normal'], fontSize=9, textColor=colors.HexColor('#37474f'), spaceAfter=4, spaceBefore=2, leading=12, fontName='Helvetica-Oblique', leftIndent=6) section_box = ParagraphStyle('SectionBox', parent=styles['Normal'], fontSize=10, textColor=colors.HexColor('#212121'), spaceAfter=4, spaceBefore=4, leading=13, fontName='Helvetica', leftIndent=10, borderPad=4) story = [] # ── TITLE PAGE ── story.append(Spacer(1, 1*cm)) story.append(Paragraph("ENT Examination Answers", title_style)) story.append(Paragraph("As per Dhingra's Diseases of Ear, Nose & Throat", subtitle_style)) story.append(Paragraph("6th / 7th Edition", subtitle_style)) story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a237e'), spaceAfter=10)) story.append(Paragraph( "This document contains complete answers to all Long Essays, Short Essays, and Short Answer questions " "from the attached ENT question paper, prepared according to Dhingra's textbook.", body_style)) story.append(Spacer(1, 0.5*cm)) # ── SECTION HEADER HELPER ── def section_header(text, color='#1a237e'): tbl = Table([[Paragraph(text, ParagraphStyle('SH', fontSize=13, textColor=colors.white, fontName='Helvetica-Bold', leading=16))]], colWidths=[17*cm]) tbl.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), colors.HexColor(color)), ('TOPPADDING', (0,0), (-1,-1), 6), ('BOTTOMPADDING', (0,0), (-1,-1), 6), ('LEFTPADDING', (0,0), (-1,-1), 10), ('RIGHTPADDING', (0,0), (-1,-1), 10), ])) return tbl def q_header(text): tbl = Table([[Paragraph(text, ParagraphStyle('QH', fontSize=12, textColor=colors.white, fontName='Helvetica-Bold', leading=15))]], colWidths=[17*cm]) tbl.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#283593')), ('TOPPADDING', (0,0), (-1,-1), 5), ('BOTTOMPADDING', (0,0), (-1,-1), 5), ('LEFTPADDING', (0,0), (-1,-1), 10), ])) return tbl def subq_header(text): return Paragraph(f'<font color="#1565c0"><b>{text}</b></font>', ParagraphStyle('SQ', fontSize=11, fontName='Helvetica-Bold', spaceBefore=8, spaceAfter=3, leftIndent=0, leading=14)) def bullet(text): return Paragraph(f"• {text}", bullet_style) def body(text): return Paragraph(text, body_style) def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#90caf9'), spaceAfter=6, spaceBefore=4) # ═══════════════════════════════════════ # LONG ESSAYS # ═══════════════════════════════════════ story.append(section_header("LONG ESSAYS (2 × 10 = 20 Marks)")) story.append(Spacer(1, 0.3*cm)) # ── Q1: Meniere's Disease ── story.append(q_header("Q1. Meniere's Disease (Endolymphatic Hydrops)")) story.append(Spacer(1, 0.2*cm)) story.append(body("A 55-year-old male with acute vertigo (episodic, few hours), right-sided ear block, tinnitus, and fluctuating sensorineural hearing loss = <b>Meniere's Disease</b>")) story.append(subq_header("a. Diagnosis")) story.append(body("<b>AAO-HNS Diagnostic Criteria:</b>")) story.append(bullet("Two or more spontaneous episodes of vertigo each lasting 20 min – 12 hours")) story.append(bullet("Audiometrically documented low-to-mid frequency SNHL on at least one occasion")) story.append(bullet("Fluctuating aural symptoms (hearing loss, tinnitus, aural fullness) in the affected ear")) story.append(bullet("Not better accounted for by another vestibular diagnosis")) story.append(subq_header("b. Aetiopathogenesis")) story.append(body("The underlying pathology is <b>Endolymphatic Hydrops</b> – excess endolymph in the membranous labyrinth.")) story.append(body("<b>Theories:</b>")) story.append(bullet("<b>Malabsorption theory</b> – decreased reabsorption by endolymphatic sac (most accepted)")) story.append(bullet("<b>Hypersecretion theory</b> – overproduction by stria vascularis")) story.append(bullet("<b>Obstruction theory</b> – fibrosis/bony anomaly of endolymphatic duct")) story.append(bullet("<b>Immune-mediated</b> – autoimmune endolymphatic hydrops")) story.append(bullet("<b>Viral</b> – past viral infection of endolymphatic sac")) story.append(bullet("<b>Vascular/allergic</b> – associated with migraine, allergy, hypothyroidism")) story.append(body("<b>Mechanism of attacks:</b> Raised endolymph pressure ruptures Reissner's membrane → endolymph (high K⁺) mixes with perilymph (low K⁺) → K⁺ intoxication of 8th nerve → acute attack. Membrane heals and cycle repeats.")) story.append(subq_header("c. Investigations")) story.append(body("<b>Audiological:</b>")) story.append(bullet("<b>Pure Tone Audiometry (PTA):</b> Low-frequency SNHL; hearing fluctuates; no Carhart notch")) story.append(bullet("<b>SISI test:</b> High score (positive recruitment = cochlear pathology)")) story.append(bullet("<b>Tone Decay test:</b> Negative (no retrocochlear involvement)")) story.append(bullet("<b>Impedance:</b> Type A tympanogram; absent acoustic reflexes if significant SNHL")) story.append(body("<b>Vestibular Tests:</b>")) story.append(bullet("<b>ENG/VNG:</b> Reduced caloric response (canal paresis) on affected side")) story.append(bullet("<b>VEMP:</b> Reduced amplitude on affected side")) story.append(body("<b>Special/Definitive Tests:</b>")) story.append(bullet("<b>Electrocochleography (ECochG):</b> SP/AP ratio >0.45 is diagnostic – most specific test")) story.append(bullet("<b>Glycerol (Dehydration) test:</b> Oral glycerol 1.5 g/kg; PTA improves ≥10 dB or SDS improves ≥12% at 2–3 hours = positive (confirms hydrops)")) story.append(bullet("<b>MRI posterior fossa with gadolinium:</b> Exclude acoustic neuroma / CPA tumour")) story.append(subq_header("d. Treatment")) story.append(body("<b>Medical:</b>")) story.append(bullet("Salt restriction (<1.5 g/day) + fluid intake 2L/day")) story.append(bullet("<b>Diuretics:</b> Acetazolamide 250 mg BD or hydrochlorothiazide + amiloride")) story.append(bullet("<b>Vestibular sedatives (acute attack):</b> Prochlorperazine IM/oral; Diazepam")) story.append(bullet("<b>Betahistine (Serc) 8–16 mg TDS:</b> Improves cochlear microcirculation; reduces attack frequency")) story.append(bullet("<b>Antihistaminics:</b> Cinnarizine, Meclizine")) story.append(bullet("<b>Steroids:</b> For immune-mediated cases")) story.append(body("<b>Intratympanic Therapy:</b>")) story.append(bullet("<b>IT Gentamicin:</b> Chemical labyrinthectomy; ablates vestibular function; preserves hearing")) story.append(bullet("<b>IT Dexamethasone:</b> Preserves hearing and vestibular function; multiple sessions needed")) story.append(body("<b>Surgical (refractory cases):</b>")) story.append(bullet("<b>Endolymphatic sac decompression/shunt:</b> Least destructive; preserves hearing")) story.append(bullet("<b>Vestibular neurectomy:</b> Best vertigo control; preserves hearing")) story.append(bullet("<b>Labyrinthectomy:</b> Only when hearing is non-functional; complete vertigo control")) story.append(Spacer(1, 0.4*cm)) story.append(hr()) # ── Q2: Acute Epiglottitis ── story.append(q_header("Q2. Male Child 3 yrs – URTI, High Fever, Stridor, X-ray shows Thumb Sign")) story.append(Spacer(1, 0.2*cm)) story.append(subq_header("a. Diagnosis: Acute Epiglottitis")) story.append(body("Causative organism: <b>Haemophilus influenzae type b (Hib)</b>. X-ray lateral neck showing <b>Thumb sign</b> (swollen epiglottis resembling a thumb) is pathognomonic.")) story.append(subq_header("b. Definition of Stridor")) story.append(body("Stridor is a <b>harsh, high-pitched, noisy breathing</b> produced by turbulent airflow through a partially obstructed larynx or upper airway. It is a <b>sign, not a diagnosis.</b>")) story.append(body("<b>Types:</b>")) story.append(bullet("<b>Inspiratory stridor:</b> Obstruction at or above the glottis (e.g., epiglottitis, croup)")) story.append(bullet("<b>Expiratory stridor:</b> Intrathoracic tracheal/bronchial obstruction")) story.append(bullet("<b>Biphasic stridor:</b> Subglottic or tracheal obstruction")) story.append(body("Acute epiglottitis produces <b>inspiratory stridor.</b>")) story.append(subq_header("c. Two Causes of Stridor in Children")) story.append(bullet("<b>Acute Epiglottitis</b> – H. influenzae type b; supraglottic obstruction; inspiratory stridor")) story.append(bullet("<b>Acute Laryngotracheobronchitis (Croup)</b> – Parainfluenza virus; subglottic obstruction; barking cough + stridor")) story.append(subq_header("d. Treatment of Acute Epiglottitis")) story.append(body("<b>⚠ EMERGENCY – Do NOT examine throat with tongue depressor (may cause complete obstruction)</b>")) story.append(body("<b>Immediate Airway Management:</b>")) story.append(bullet("Keep child calm; allow to sit upright (sniffing position); oxygen by face mask")) story.append(bullet("Do NOT force child to lie down")) story.append(bullet("<b>Nasotracheal intubation</b> by experienced anaesthetist in OT under controlled conditions (preferred)")) story.append(bullet("<b>Tracheostomy</b> if intubation fails")) story.append(body("<b>Antibiotics:</b>")) story.append(bullet("<b>IV Cefuroxime or Ceftriaxone</b> – covers H. influenzae")) story.append(bullet("Chloramphenicol if beta-lactam allergy")) story.append(body("<b>Steroids:</b> IV Dexamethasone – reduces airway oedema")) story.append(body("<b>Supportive:</b> IV fluids, humidified oxygen, adrenaline nebulization")) story.append(body("<b>Prevention:</b> Hib vaccine (pentavalent vaccine in immunization schedule)")) story.append(Spacer(1, 0.4*cm)) story.append(hr()) # ── Q3: Atrophic Rhinitis ── story.append(q_header("Q3. Female 30 yrs – Loss of Smell, Nasal Obstruction, Foul Smell, Crusting (p.178)")) story.append(Spacer(1, 0.2*cm)) story.append(subq_header("a. Diagnosis: Primary Atrophic Rhinitis (Ozaena)")) story.append(body("Chronic disease characterized by progressive atrophy of the nasal mucosa and underlying turbinate bones with characteristic foul odour.")) story.append(subq_header("b. Aetiopathogenesis")) story.append(body("<b>1. Infective theory (Klebsiella ozaenae) – Most accepted:</b>")) story.append(bullet("Klebsiella ozaenae isolated in most cases")) story.append(bullet("Other organisms: Coccobacillus foetidus, Diphtheroids, Proteus")) story.append(body("<b>2. Endocrine theory:</b>")) story.append(bullet("Predominantly affects young females at puberty; oestrogen deficiency impairs mucosal nutrition")) story.append(body("<b>3. Nutritional deficiency:</b>")) story.append(bullet("Deficiency of iron, vitamin A, vitamin D, calcium – leads to mucosal atrophy")) story.append(body("<b>4. Autonomic imbalance:</b>")) story.append(bullet("Sympathetic overactivity → vasoconstriction → mucosal ischaemia → atrophy")) story.append(body("<b>5. Autoimmune theory:</b>")) story.append(bullet("Elevated serum IgG and IgA found in some patients")) story.append(body("<b>Pathology:</b> Ciliated columnar → squamous metaplasia. Mucosal glands atrophy. Endarteritis obliterans. Turbinate bone undergoes osteoclastic resorption. Wide nasal cavity paradoxically feels obstructed.")) story.append(subq_header("c. Management")) story.append(body("<b>Medical:</b>")) story.append(bullet("<b>Nasal irrigation:</b> Alkaline nasal douche (NaHCO₃ + NaCl + sodium biborate) – removes crusts")) story.append(bullet("<b>25% glucose in glycerine nasal drops:</b> Inhibits proteolytic organisms")) story.append(bullet("<b>Oestrogen spray:</b> Increases vascularity of mucosa")) story.append(bullet("<b>Antibiotics:</b> Ciprofloxacin (based on culture sensitivity) for Klebsiella")) story.append(bullet("<b>Vitamins A + D, iron supplementation</b>")) story.append(bullet("<b>Potassium iodide orally:</b> Stimulates mucosal secretion")) story.append(body("<b>Surgical:</b>")) story.append(bullet("<b>Young's operation:</b> Complete bilateral nasal closure with mucoperiosteal flaps → rest for 3 months → reopened (Modified Young's closes one nostril)")) story.append(bullet("<b>Submucosal implants (Teflon/cartilage/bone/fat):</b> Narrows the wide nasal cavity")) story.append(bullet("<b>Parotid duct (Stensen's duct) transposition:</b> Into maxillary antrum to provide moisture")) story.append(Spacer(1, 0.4*cm)) story.append(PageBreak()) # ═══════════════════════════════════════ # SHORT ESSAYS # ═══════════════════════════════════════ story.append(section_header("SHORT ESSAYS (8 × 5 = 40 Marks)")) story.append(Spacer(1, 0.3*cm)) # Q4 Mucormycosis story.append(q_header("Q4. Rhinocerebral Mucormycosis – Clinical Features and Management")) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>Causative organisms:</b> Rhizopus (MC), Mucor, Absidia (Class: Zygomycetes / Mucorales)")) story.append(body("<b>Predisposing factors:</b> Diabetic ketoacidosis (MC), immunocompromised (chemo, steroids, HIV), renal failure")) story.append(body("<b>Staging / Clinical Features:</b>")) story.append(bullet("<b>Stage 1 – Nasal:</b> Nasal congestion, bloodstained discharge, black necrotic crusts (eschar) on turbinates/palate – pathognomonic")) story.append(bullet("<b>Stage 2 – Sinus:</b> Fever, facial pain, periorbital swelling")) story.append(bullet("<b>Stage 3 – Orbital:</b> Proptosis, ophthalmoplegia, chemosis, loss of vision (orbital apex syndrome)")) story.append(bullet("<b>Stage 4 – Cerebral:</b> Cavernous sinus thrombosis, cerebral infarction, coma, death")) story.append(body("<b>Mechanism:</b> Fungal hyphae invade blood vessel walls → thrombosis → ischaemic necrosis → black eschar")) story.append(body("<b>Diagnosis:</b>")) story.append(bullet("KOH mount: Broad, non-septate hyphae branching at 90° (right angles) – distinguishes from Aspergillus (45°)")) story.append(bullet("Biopsy: Hyphae invading vessel walls (tissue diagnosis)")) story.append(bullet("CT/MRI: Bony erosion, orbital and intracranial involvement")) story.append(body("<b>Treatment:</b>")) story.append(bullet("<b>Control underlying condition:</b> Correct DKA, normalize blood glucose")) story.append(bullet("<b>Systemic Amphotericin B (drug of choice):</b> 1–1.5 mg/kg/day IV; liposomal form preferred (less nephrotoxic)")) story.append(bullet("<b>Posaconazole / Isavuconazole:</b> Alternative/salvage therapy")) story.append(bullet("<b>Aggressive surgical debridement:</b> Remove all necrotic tissue; maxillectomy; orbital exenteration if needed")) story.append(bullet("<b>Prognosis:</b> Poor with cerebral involvement; mortality >50% in advanced disease")) story.append(Spacer(1, 0.3*cm)) story.append(hr()) # Q5 Vocal rehabilitation story.append(q_header("Q5. Vocal Rehabilitation Following Total Laryngectomy")) story.append(Spacer(1, 0.2*cm)) story.append(body("After total laryngectomy: patient has permanent tracheostoma; no larynx; trachea disconnected from pharynx. Three main methods of voice rehabilitation:")) story.append(body("<b>1. Oesophageal Voice (Oesophageal Speech):</b>")) story.append(bullet("Patient injects air into the oesophagus and expels it to vibrate the pharyngo-oesophageal (PE) segment")) story.append(bullet("No device needed; natural; requires intensive training (weeks to months)")) story.append(bullet("Voice quality: Low pitch, limited volume, staccato; success rate ~30%")) story.append(body("<b>2. Tracheo-oesophageal Puncture (TEP) with Blom-Singer Prosthesis – Most popular/best quality:</b>")) story.append(bullet("Surgical fistula created between posterior tracheal wall and anterior oesophageal wall")) story.append(bullet("Blom-Singer one-way valve prosthesis inserted; patient occludes stoma with finger → air passes into oesophagus → vibrates PE segment")) story.append(bullet("Best voice quality; most natural sounding")) story.append(bullet("Primary (at time of laryngectomy) or secondary (later)")) story.append(bullet("Complications: Aspiration through valve, candidal colonization, prosthesis dislodgement")) story.append(body("<b>3. Electrolarynx (Artificial Larynx):</b>")) story.append(bullet("Battery-operated vibrating device held against the neck; vibration transmitted to pharynx")) story.append(bullet("Easiest to use; immediate post-op use; hands not free")) story.append(bullet("Drawback: Robotic/electronic voice quality")) # Summary table data = [ [Paragraph('<b>Method</b>', body_style), Paragraph('<b>Device</b>', body_style), Paragraph('<b>Voice Quality</b>', body_style), Paragraph('<b>Ease</b>', body_style), Paragraph('<b>Hands-free</b>', body_style)], ['Oesophageal', 'None', 'Fair', 'Difficult', 'Yes'], ['TEP (Blom-Singer)', 'Valve', 'Best', 'Moderate', 'No'], ['Electrolarynx', 'Machine', 'Robotic', 'Easy', 'No'], ] t = Table(data, colWidths=[3.5*cm, 3*cm, 3*cm, 2.7*cm, 2.5*cm]) t.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a237e')), ('TEXTCOLOR', (0,0), (-1,0), colors.white), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTSIZE', (0,0), (-1,-1), 9), ('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#90caf9')), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#e8eaf6'), colors.white]), ('ALIGN', (0,0), (-1,-1), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ])) story.append(Spacer(1, 0.2*cm)) story.append(t) story.append(Spacer(1, 0.3*cm)) story.append(hr()) # Q6 FESS story.append(q_header("Q6. FESS – Indications, Steps, and Complications")) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>Indications:</b>")) story.append(bullet("Chronic rhinosinusitis not responding to medical treatment (>12 weeks)")) story.append(bullet("Nasal polyposis / Antrochoanal polyp")) story.append(bullet("Mucopyocele / Mucocele of sinuses")) story.append(bullet("Fungal sinusitis (allergic or invasive)")) story.append(bullet("Orbital complications of sinusitis")) story.append(bullet("CSF rhinorrhoea repair; Dacryocystorhinostomy (DCR)")) story.append(bullet("Choanal atresia; Biopsy/resection of sinonasal tumours")) story.append(bullet("Optic nerve decompression")) story.append(body("<b>Steps (Stammberger/Kennedy technique):</b>")) story.append(bullet("<b>1.</b> GA with hypotensive technique; nasal decongestion with adrenaline-soaked pledgets")) story.append(bullet("<b>2. Uncinectomy:</b> Removal of uncinate process – key first step (gatekeeper of ostiomeatal complex)")) story.append(bullet("<b>3. Middle meatal antrostomy:</b> Enlargement of maxillary ostium")) story.append(bullet("<b>4. Anterior ethmoidectomy:</b> Opening anterior ethmoidal cells")) story.append(bullet("<b>5. Posterior ethmoidectomy:</b> If needed")) story.append(bullet("<b>6. Sphenoidotomy:</b> Via natural ostium")) story.append(bullet("<b>7. Frontal recess surgery:</b> Draf I/II/III for frontal sinus disease")) story.append(body("<b>Complications:</b>")) story.append(bullet("<b>Minor:</b> Synechiae (MC complication), haemorrhage, infection, polyposis recurrence")) story.append(bullet("<b>Orbital:</b> Lamina papyracea breach → orbital haematoma, diplopia, blindness")) story.append(bullet("<b>Vascular:</b> Anterior ethmoidal artery injury → orbital haematoma")) story.append(bullet("<b>Intracranial:</b> CSF leak (cribriform plate injury), meningitis, brain abscess")) story.append(bullet("<b>Nasolacrimal duct injury:</b> Epiphora")) story.append(Spacer(1, 0.3*cm)) story.append(hr()) # Q7 Retropharyngeal Space story.append(q_header("Q7. Applied Anatomy of Retropharyngeal Space + Acute Retropharyngeal Abscess")) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>Boundaries of Retropharyngeal Space:</b>")) story.append(bullet("<b>Anterior:</b> Posterior wall of pharynx (buccopharyngeal fascia)")) story.append(bullet("<b>Posterior:</b> Alar layer of prevertebral fascia")) story.append(bullet("<b>Lateral:</b> Carotid sheaths")) story.append(bullet("<b>Superior:</b> Base of skull")) story.append(bullet("<b>Inferior:</b> Upper mediastinum at T1–T2 (where alar and prevertebral fascia fuse)")) story.append(body("<b>Contents:</b> Loose areolar tissue, fat, <b>retropharyngeal lymph nodes of Rouviere</b> (present in children, involute by age 4–6 years)")) story.append(body("<b>Clinical importance:</b> Midline raphe divides into 2 compartments; communicates with parapharyngeal space; danger space extends to posterior mediastinum.")) story.append(body("<b>Acute Retropharyngeal Abscess:</b>")) story.append(bullet("<b>Aetiology:</b> Suppuration of retropharyngeal nodes following URTI; common in children <4 years; organisms: Streptococcus, Staphylococcus, anaerobes")) story.append(body("<b>Clinical Features:</b>")) story.append(bullet("High fever, rigors, toxemia")) story.append(bullet("<b>Dysphagia</b> – pain and difficulty swallowing")) story.append(bullet("<b>Muffled/hot potato voice</b>")) story.append(bullet("<b>Neck stiffness</b> – 'cock robin' position")) story.append(bullet("<b>Stridor</b> if larynx compressed")) story.append(bullet("Bulging of posterior pharyngeal wall (unilateral, lateral to midline)")) story.append(body("<b>Investigations:</b>")) story.append(bullet("X-ray soft tissue neck lateral view: Increased prevertebral soft tissue shadow (>7 mm at C2, >14 mm at C6); loss of cervical lordosis")) story.append(bullet("CT neck with contrast: Hypodense collection with ring enhancement; defines extent")) story.append(body("<b>Treatment:</b>")) story.append(bullet("IV antibiotics: Penicillin + Metronidazole or Ampicillin-Sulbactam")) story.append(bullet("<b>I&D:</b> Transoral with patient in Rose position (head-low); suction immediately available; incision at most prominent point")) story.append(bullet("If mediastinal spread: Transcervical drainage or thoracotomy")) story.append(body("<b>Complications:</b> Aspiration of pus (asphyxia), descending necrotizing mediastinitis, meningitis, jugular vein thrombosis")) story.append(Spacer(1, 0.3*cm)) story.append(hr()) # Q8 Cholesteatoma story.append(q_header("Q8. Cholesteatoma – Classification and Theories of Formation")) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>Classification:</b>")) story.append(body("<b>A. Congenital Cholesteatoma:</b>")) story.append(bullet("Present from birth; behind intact tympanic membrane (anterosuperior quadrant)")) story.append(bullet("No history of ear discharge or perforation")) story.append(bullet("Arises from ectodermal cell rests (epidermoid formation of Teed)")) story.append(body("<b>B. Acquired Cholesteatoma:</b>")) story.append(bullet("<b>Primary Acquired:</b> No prior OM/perforation; arises from retraction pocket in pars flaccida; attic/epitympanic location; Eustachian tube dysfunction")) story.append(bullet("<b>Secondary Acquired:</b> Follows CSOM with marginal/attic perforation; squamous epithelium migrates through perforation into middle ear")) story.append(body("<b>Theories of Formation:</b>")) story.append(body("<b>1. Invagination theory (Wittmaack) – Most Accepted:</b>")) story.append(bullet("ET dysfunction → negative middle ear pressure → retraction pocket in pars flaccida → deepens progressively → keratin accumulates")) story.append(body("<b>2. Metaplasia theory (Sade):</b>")) story.append(bullet("Chronic inflammation → squamous metaplasia of middle ear mucosa → keratin accumulation")) story.append(body("<b>3. Epithelial migration theory (Habermann, Bezold):</b>")) story.append(bullet("Squamous epithelium of EAC migrates through a marginal perforation into middle ear")) story.append(body("<b>4. Basal cell hyperplasia theory (Ruedi):</b>")) story.append(bullet("Basal cells of Shrapnell's membrane proliferate under chronic inflammatory stimulation → form keratinizing epithelium")) story.append(body("<b>Structure:</b> Outer matrix (squamous epithelium) + keratin debris centre + perimatrix (fibrous). Produces collagenases, IL-1, TNF → bone erosion and complications.")) story.append(Spacer(1, 0.3*cm)) story.append(hr()) # Q9 Extra-cranial complications of sinusitis story.append(q_header("Q9. Extra-cranial Complications of Sinusitis")) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>Orbital Complications (Chandler's Classification) – Most Common Group:</b>")) data2 = [ [Paragraph('<b>Stage</b>', body_style), Paragraph('<b>Name</b>', body_style), Paragraph('<b>Features</b>', body_style)], ['I', 'Inflammatory Oedema\n(Preseptal cellulitis)', 'Eyelid oedema; no proptosis; normal EOM and vision'], ['II', 'Orbital Cellulitis', 'Oedema of orbital fat; mild proptosis; EOM intact'], ['III', 'Subperiosteal Abscess', 'Pus between periorbita and orbital wall; proptosis + globe displacement'], ['IV', 'Orbital Abscess', 'Pus in orbital fat; severe proptosis, ophthalmoplegia, chemosis'], ['V', 'Cavernous Sinus\nThrombosis', 'Bilateral proptosis, high fever, septicemia (intracranial)'], ] t2 = Table(data2, colWidths=[1.5*cm, 4.5*cm, 10.5*cm]) t2.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a237e')), ('TEXTCOLOR', (0,0), (-1,0), colors.white), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTSIZE', (0,0), (-1,-1), 9), ('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#90caf9')), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#e8eaf6'), colors.white]), ('ALIGN', (0,0), (0,-1), 'CENTER'), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ])) story.append(t2) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>Most common complication = Orbital cellulitis</b> (from ethmoid sinusitis)")) story.append(body("<b>Management:</b>")) story.append(bullet("Stages I, II: IV antibiotics (Cefuroxime/Ceftriaxone); CT orbit to monitor")) story.append(bullet("Stage III: IV antibiotics + surgical drainage")) story.append(bullet("Stages IV, V: Urgent surgical drainage (FESS or external) + IV antibiotics")) story.append(body("<b>Osseous Complications:</b>")) story.append(bullet("<b>Pott's Puffy Tumour:</b> Osteomyelitis of frontal bone with subperiosteal abscess; doughy tender swelling over forehead; complication of frontal sinusitis; Rx: IV antibiotics + surgical drainage + sinus obliteration")) story.append(bullet("Osteomyelitis of maxilla")) story.append(body("<b>Facial:</b> Facial cellulitis/oedema; oro-antral fistula (from maxillary sinusitis)")) story.append(Spacer(1, 0.3*cm)) story.append(hr()) # Q10 Malignant otitis externa story.append(q_header("Q10. Elderly Diabetic – Deep-seated Gnawing Ear Pain, Granulation in EAC")) story.append(Spacer(1, 0.2*cm)) story.append(body("<b>a. Diagnosis: Malignant (Necrotising) Otitis Externa</b>")) story.append(body("A skull base osteomyelitis starting from the EAC, overwhelmingly seen in elderly diabetics and immunocompromised patients.")) story.append(body("<b>b. Causative Organisms:</b>")) story.append(bullet("<b>Pseudomonas aeruginosa</b> – >95% of cases (by far the most common)")) story.append(bullet("Staphylococcus aureus – less common")) story.append(bullet("Aspergillus – in non-diabetic immunocompromised")) story.append(body("<b>c. Treatment Modalities:</b>")) story.append(body("<b>Medical:</b>")) story.append(bullet("<b>IV/oral Ciprofloxacin (first line):</b> Anti-pseudomonal; excellent bioavailability; minimum 6–8 weeks")) story.append(bullet("Piperacillin-tazobactam + aminoglycoside (severe cases)")) story.append(bullet("Ceftazidime")) story.append(bullet("<b>Strict glycaemic control:</b> Essential for treatment response")) story.append(bullet("Topical ciprofloxacin drops + gentle aural toilet")) story.append(bullet("<b>Hyperbaric oxygen therapy:</b> Adjunct; improves tissue oxygenation in refractory cases")) story.append(body("<b>Surgical:</b>")) story.append(bullet("Debridement of granulation tissue and necrotic bone in EAC")) story.append(bullet("Osteomyelitis of temporal bone/skull base: Mastoidectomy, partial temporal bone resection (conservative approach)")) story.append(body("<b>Monitoring response:</b>")) story.append(bullet("<b>Gallium-67 scan or SPECT:</b> Best for monitoring treatment response (better than CT)")) story.append(bullet("ESR/CRP normalization; clinical improvement (pain relief)")) story.append(Spacer(1, 0.4*cm)) story.append(PageBreak()) # ═══════════════════════════════════════ # SHORT ANSWERS # ═══════════════════════════════════════ story.append(section_header("SHORT ANSWERS (10 × 3 = 30 Marks)")) story.append(Spacer(1, 0.3*cm)) shorts = [ ("11. Fistula Test", [("Definition", "A test to detect perilymph fistula or erosion of the lateral semicircular canal (commonly by cholesteatoma)."), ("Method", "EAC pressure is increased or decreased using Siegel's speculum, tympanometer, or finger compression."), ("Positive test", "Pressure change causes <b>nystagmus and vertigo</b> (Hennebert's sign)."), ("Types", "• <b>True positive:</b> Cholesteatoma eroding SCC with intact membrane → nystagmus + vertigo<br/>• <b>False positive:</b> Congenital syphilis (Hennebert's sign)<br/>• <b>Negative:</b> Fistula present but dead labyrinth → no response"), ("Significance", "Positive test in CSOM with cholesteatoma = lateral SCC fistula until proven otherwise; modifies surgical plan"), ]), ("12. Water's View X-ray (Occipito-mental View)", [("Position", "Patient faces cassette; chin extended; orbito-meatal line at 45° to film. Central ray passes through occipital bone."), ("Structures seen", "Maxillary sinuses (best visualized), frontal sinuses, ethmoid sinuses, orbit, nasal bones, zygomatic arches"), ("Uses", "• Maxillary sinusitis (air-fluid level, opacity, mucosal thickening)<br/>• Orbital blow-out fracture ('hanging drop' sign)<br/>• Zygomatic tripod fracture<br/>• Maxillary tumours<br/>• Nasal polyposis causing antral opacification"), ]), ("13. Cavernous Sinus Thrombosis", [("Definition", "Septic thrombosis of the cavernous sinus – intracranial complication of sinusitis/facial infection."), ("Source", "• Sphenoidal sinusitis (most direct)<br/>• Ethmoidal/frontal sinusitis via superior ophthalmic vein<br/>• Furuncle of nose/upper lip (danger triangle) via facial vein"), ("Clinical Features", "• High fever, rigors, toxemia, severe headache<br/>• <b>Bilateral proptosis</b> (distinguishes from unilateral orbital cellulitis)<br/>• Chemosis, ophthalmoplegia (CN III, IV, VI palsies)<br/>• V1, V2 anaesthesia; papilloedema; meningism"), ("Investigations", "MR venography (gold standard); CT/MRI with contrast; blood cultures"), ("Treatment", "High-dose IV antibiotics (Ceftriaxone + Metronidazole + Vancomycin); anticoagulation (heparin); sphenoid sinus drainage"), ]), ("14. Fracture Nasal Bones", [("Features", "Commonest facial bone fracture. Epistaxis, external deformity, tenderness, crepitus, nasal obstruction."), ("Septal haematoma", "<b>Must be drained immediately</b> to prevent avascular necrosis and saddle nose deformity"), ("X-ray", "Lateral nasal bones view; CT face for associated fractures"), ("Treatment", "• <b>Immediate (within 2–3 hrs):</b> Closed reduction under LA/GA<br/>• <b>Delayed (7–10 days after swelling subsides):</b> Closed reduction<br/>• Instruments: Walsham's forceps (lateral displacement) + Asch's forceps (septal displacement)<br/>• External splint for 10 days<br/>• If delayed >14 days: Wait 6 months → septorhinoplasty"), ]), ("15. Unpaired Cartilages of the Larynx", [("There are 3 unpaired cartilages", ""), ("1. Thyroid cartilage", "Largest; hyaline cartilage; two laminae meeting at 90° (male)/120° (female); forms Adam's apple; superior and inferior cornua"), ("2. Cricoid cartilage", "Only <b>complete ring</b> in the airway; signet ring shape – narrow arch anteriorly, broad quadrate lamina posteriorly; hyaline cartilage"), ("3. Epiglottis", "Leaf-shaped; <b>elastic fibrocartilage</b> (does NOT calcify); attached to thyroid cartilage by thyroepiglottic ligament; petiolus = lower stalk; deflects food during swallowing"), ("Paired cartilages (for reference)", "Arytenoid, Corniculate (Santorini), Cuneiform (Wrisberg)"), ]), ("16. Secondary Acquired Cholesteatoma", [("Definition", "Cholesteatoma arising secondary to CSOM, where squamous epithelium gains entry into the middle ear via a marginal or attic perforation."), ("Pathogenesis", "Marginal/attic perforation → squamous epithelium from EAC migrates into middle ear (Habermann's epithelial migration theory) → retained keratin accumulates in enclosed space → forms expanding sac"), ("Features", "• History of chronic ear discharge precedes diagnosis<br/>• Perforation visible (marginal or pars flaccida)<br/>• May be larger at presentation (later detection)"), ("Complications (from bone erosion)", "Ossicular destruction (CHL), lateral SCC fistula, facial nerve palsy, tegmen erosion (meningitis), sigmoid sinus thrombophlebitis"), ]), ("17. PTA and Impedance Audiometry in Otosclerosis", [("PTA findings", "• <b>Type:</b> Conductive hearing loss (mixed if cochlear involvement)<br/>• <b>Air-bone gap:</b> 30–60 dB<br/>• <b>Carhart's notch:</b> Dip in bone conduction at 2000 Hz (~15 dB) – mechanical artifact, not true SNHL<br/>• <b>Air conduction:</b> Elevated especially at low frequencies<br/>• <b>SDS:</b> Good (pure CHL)"), ("Impedance audiometry", "• <b>Tympanogram:</b> <b>Type As (shallow)</b> – reduced compliance peak (stiffness-dominant); NOT Type B<br/>• <b>Acoustic reflexes:</b> <b>Absent</b> bilaterally (fixed stapes cannot move)<br/>• <b>Early otosclerosis:</b> 'On-off effect' (biphasic reflex) → disappears as fixation progresses"), ]), ("18. Eagle's Syndrome", [("Definition", "Symptomatic elongation of the styloid process (>2.5–3 cm) or calcification of the stylohyoid ligament."), ("Two types", "• <b>Classic Eagle's syndrome:</b> After tonsillectomy/trauma; persistent sore throat, dysphagia, foreign body sensation, referred otalgia; tender tip in tonsillar fossa<br/>• <b>Stylocarotid syndrome:</b> Elongated styloid presses on internal carotid; unilateral headache, orbital pain, syncope, TIA"), ("Diagnosis", "OPG or CT (shows elongated styloid); diagnostic test: LA injection in tonsillar fossa → pain relief"), ("Treatment", "Transoral or external cervical styloidectomy; NSAIDs/steroids for mild cases"), ]), ("19. Acute Necrotising Otitis Media (ANOM)", [("Definition", "Severe, rapidly progressive AOM with massive TM destruction due to necrotizing infection during exanthematous fevers."), ("Aetiology", "Exanthematous fevers: <b>Measles, Scarlet fever, Diphtheria, Influenza</b>; organisms: Streptococcus pyogenes (group A beta-haemolytic Strep), Staphylococcus"), ("Clinical Features", "• Sudden profuse blood-stained ear discharge during acute febrile illness<br/>• Severe otalgia; large/total TM perforation; conductive hearing loss"), ("Treatment", "IV antibiotics (Penicillin, Amoxicillin-clavulanate); aural toilet; myringoplasty later; mastoidectomy if mastoiditis"), ("Prognosis", "Can lead to permanent perforation, ossicular damage, long-standing conductive hearing loss"), ]), ("20. Lupus Vulgaris", [("Definition", "Most common form of <b>cutaneous tuberculosis</b>; caused by Mycobacterium tuberculosis."), ("Nasal/facial involvement", "Affects nasal vestibule, nasolabial fold; soft reddish-brown papules/nodules; <b>apple-jelly nodules on diascopy</b> (glass slide pressed on skin) – pathognomonic"), ("Pathology", "Tuberculoid granuloma in dermis (giant cells, epithelioid cells, minimal caseation); heals with scarring; new lesions at periphery"), ("Complications", "Alar collapse, saddle nose deformity, nasal septal perforation, ectropion"), ("Diagnosis", "Biopsy (tuberculoid granuloma); Mantoux strongly positive; PCR for MTB DNA"), ("Treatment", "<b>Standard ATT:</b> HRZE × 2 months → HR × 4 months (total 6 months); surgical reconstruction after disease control"), ]), ] for title, points in shorts: story.append(q_header(title)) story.append(Spacer(1, 0.15*cm)) for label, content in points: if content: story.append(Paragraph(f"<b>{label}:</b> {content}", body_style)) else: story.append(Paragraph(f"<b>{label}</b>", body_style)) story.append(Spacer(1, 0.2*cm)) story.append(hr()) # Footer note story.append(Spacer(1, 0.5*cm)) story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a237e'), spaceAfter=6)) story.append(Paragraph( "All answers prepared as per <i>Dhingra's Diseases of Ear, Nose & Throat</i>, 6th/7th Edition. " "Page references: Meniere's p.135 | Epiglottitis p.338 | Atrophic Rhinitis p.178", note_style)) # Build doc.build(story) print("PDF generated successfully!") PYEOF echo "Script written"
cd /tmp/workspace/ent-answers && python generate_pdf.py
ls -lh /tmp/workspace/ent-answers/ENT_Dhingra_Answers.pdf
ENT Dhingra Answers
PDF Document · PDF