Make cases according to osce station in ent

Asking for Preferences

Which ENT topics should the OSCE cases cover? · How many OSCE cases do you need? · What format do you want the output in?

Reading File
Reading File
Finding Sources
I have two ENT textbooks available. Let me now search for key ENT topics to build the 20 OSCE cases, then generate the Word document.
Finding Sources
Finding Sources
Finding Sources
Finding Sources
I have enough grounding in the ENT library. Now I'll generate the comprehensive 20-case OSCE document directly.
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null | head -20

Running Command

mkdir -p /home/daytona/workspace/ent-osce && ls /home/daytona/skills/docx/

Writing File

~/ent-osce/create_ent_osce.js

const fs = require('fs');
const { Document, Packer, Paragraph, TextRun, HeadingLevel, AlignmentType, PageBreak } = require('docx');

const cases = [
  {
    title: "Station 1: Acute Otitis Media in a Child",
    type: "Focused history + counseling",
    stem: "A 4-year-old child presents with ear pain and fever for 2 days.",
    tasks: [
      "Take a focused ENT history",
      "Explain likely diagnosis and initial management to parent",
      "Give safety-net advice"
    ],
    keyPoints: [
      "History: otalgia, fever, recent URTI, hearing change, otorrhea",
      "Red flags: mastoid swelling, persistent vomiting, severe systemic toxicity",
      "Management: analgesia first, selective antibiotics per local protocol",
      "Counseling on hydration, follow-up, and return precautions"
    ]
  },
  {
    title: "Station 2: Chronic Suppurative Otitis Media",
    type: "Examination interpretation + management plan",
    stem: "A 22-year-old has recurrent foul-smelling ear discharge and reduced hearing in the right ear.",
    tasks: [
      "Interpret otoscopy findings provided",
      "Classify disease and complications risk",
      "Outline treatment and referral"
    ],
    keyPoints: [
      "Differentiate tubotympanic vs atticoantral disease",
      "Identify unsafe features suggesting cholesteatoma",
      "Aural toilet + topical therapy + water precautions",
      "Indications for imaging and otology referral"
    ]
  },
  {
    title: "Station 3: Sudden Sensorineural Hearing Loss",
    type: "Emergency triage + initial treatment",
    stem: "A 50-year-old reports sudden unilateral hearing loss since this morning.",
    tasks: [
      "Take urgent focused history",
      "Interpret tuning fork test findings",
      "Start immediate management"
    ],
    keyPoints: [
      "Time-critical ENT emergency",
      "Differentiate conductive vs sensorineural loss (Rinne/Weber)",
      "Urgent steroids per protocol and same-day ENT/audiology",
      "Exclude stroke/neurologic red flags"
    ]
  },
  {
    title: "Station 4: Benign Paroxysmal Positional Vertigo",
    type: "Procedure station",
    stem: "A 45-year-old has brief vertigo episodes on turning in bed.",
    tasks: [
      "Explain and perform Dix-Hallpike (simulated)",
      "Interpret findings",
      "Demonstrate Epley maneuver counseling"
    ],
    keyPoints: [
      "Positional, brief, triggered vertigo supports BPPV",
      "Look for torsional upbeat nystagmus in posterior canal BPPV",
      "Explain post-maneuver advice",
      "Identify central vertigo red flags"
    ]
  },
  {
    title: "Station 5: Epistaxis Initial Management",
    type: "Acute emergency management",
    stem: "A 63-year-old with hypertension presents with active anterior epistaxis.",
    tasks: [
      "Perform immediate first-aid steps",
      "Take focused bleeding history",
      "Plan escalation if bleeding continues"
    ],
    keyPoints: [
      "ABCDE, sit forward, pinch soft nose, topical vasoconstrictor",
      "Check anticoagulants, trauma, recurrent bleeds",
      "Cautery if point visualized; otherwise anterior packing",
      "Posterior bleed suspicion requires urgent senior/ENT input"
    ]
  },
  {
    title: "Station 6: Allergic Rhinitis",
    type: "History + long-term management counseling",
    stem: "A 19-year-old has sneezing, watery rhinorrhea, and nasal blockage for months.",
    tasks: [
      "Elicit symptom pattern and triggers",
      "Differentiate from infective rhinitis",
      "Provide stepwise treatment plan"
    ],
    keyPoints: [
      "Trigger/seasonal pattern, atopy history",
      "Allergen avoidance and saline irrigation",
      "Intranasal corticosteroid technique counseling",
      "When to add antihistamine or refer"
    ]
  },
  {
    title: "Station 7: Acute Rhinosinusitis",
    type: "Clinical reasoning",
    stem: "A 32-year-old has facial pain, purulent nasal discharge, and blocked nose for 9 days.",
    tasks: [
      "Take focused history and assess severity",
      "Distinguish viral from bacterial pattern",
      "Provide evidence-based management"
    ],
    keyPoints: [
      "Most cases viral and self-limiting",
      "Analgesia, saline, intranasal steroids as indicated",
      "Antibiotics only when criteria met",
      "Red flags: orbital symptoms, severe frontal headache, neuro signs"
    ]
  },
  {
    title: "Station 8: Nasal Polyp Evaluation",
    type: "Examination image interpretation",
    stem: "Endoscopic image shows pale glistening masses in both nasal cavities.",
    tasks: [
      "Interpret likely diagnosis",
      "Identify associated conditions",
      "Outline management"
    ],
    keyPoints: [
      "Differentiate polyp from turbinate hypertrophy",
      "Assess asthma, aspirin-exacerbated respiratory disease",
      "Topical steroids and saline douching",
      "Surgical referral if refractory"
    ]
  },
  {
    title: "Station 9: Peritonsillar Abscess (Quinsy)",
    type: "Emergency recognition",
    stem: "A 27-year-old has severe unilateral sore throat, muffled voice, and trismus.",
    tasks: [
      "Identify diagnosis from history/exam",
      "Assess airway risk",
      "Initiate urgent management"
    ],
    keyPoints: [
      "Features: uvular deviation, hot-potato voice, drooling",
      "Urgent ENT assessment for drainage",
      "IV/PO antibiotics per protocol + analgesia + hydration",
      "Airway compromise signs mandate immediate escalation"
    ]
  },
  {
    title: "Station 10: Recurrent Tonsillitis and Tonsillectomy Counseling",
    type: "Shared decision-making",
    stem: "A 16-year-old reports recurrent disabling tonsillitis episodes over 2 years.",
    tasks: [
      "Confirm episode frequency and severity",
      "Discuss conservative vs surgical options",
      "Explain benefits/risks of tonsillectomy"
    ],
    keyPoints: [
      "Use accepted episode thresholds and impact on life",
      "Discuss hemorrhage, pain, recovery time",
      "Safety-net for post-tonsillectomy bleeding",
      "Document informed consent discussion"
    ]
  },
  {
    title: "Station 11: Hoarseness and Suspected Laryngeal Lesion",
    type: "Cancer red-flag station",
    stem: "A 58-year-old smoker has hoarseness for 8 weeks.",
    tasks: [
      "Take focused risk-factor history",
      "Identify red flags needing urgent referral",
      "Counsel patient on next steps"
    ],
    keyPoints: [
      "Persistent hoarseness >3 weeks needs visualization",
      "Risk factors: smoking, alcohol, HPV, reflux",
      "Urgent laryngoscopy pathway",
      "Address smoking cessation empathetically"
    ]
  },
  {
    title: "Station 12: Stridor in a Child",
    type: "Pediatric airway emergency",
    stem: "A 2-year-old presents with noisy breathing and respiratory distress.",
    tasks: [
      "Perform immediate airway assessment",
      "Differentiate croup vs epiglottitis clues",
      "Outline emergency management priorities"
    ],
    keyPoints: [
      "Minimal handling, oxygen, senior help early",
      "Look for drooling, tripod posture, toxic appearance",
      "Do not force throat exam in severe airway compromise",
      "Escalate to anesthesia/ENT for airway control"
    ]
  },
  {
    title: "Station 13: Foreign Body in Ear",
    type: "Procedure planning + communication",
    stem: "A 7-year-old inserted a bead in the left ear.",
    tasks: [
      "Take focused history and assess urgency",
      "Choose safe removal strategy",
      "Counsel caregiver"
    ],
    keyPoints: [
      "Avoid repeated traumatic attempts",
      "Contraindication to irrigation (button battery, organic swelling objects)",
      "Need for ENT referral/sedation in uncooperative child",
      "Post-removal canal/TM check"
    ]
  },
  {
    title: "Station 14: Foreign Body Aspiration / Upper Airway Concern",
    type: "Acute assessment",
    stem: "A 3-year-old had sudden coughing while playing with small toy parts and now has noisy breathing.",
    tasks: [
      "Assess airway stability",
      "Elicit choking event history",
      "Plan urgent referral and investigations"
    ],
    keyPoints: [
      "Partial vs complete airway obstruction recognition",
      "Do not delay specialist review in high suspicion",
      "Rigid bronchoscopy pathway when indicated",
      "Continuous monitoring and escalation"
    ]
  },
  {
    title: "Station 15: Neck Lump in Adult",
    type: "Head and neck cancer workup",
    stem: "A 52-year-old has a painless enlarging neck mass for 6 weeks.",
    tasks: [
      "Take focused history for malignancy risk",
      "Perform structured neck lump examination",
      "Outline urgent referral pathway"
    ],
    keyPoints: [
      "Persistent adult neck mass is malignant until proven otherwise",
      "Assess upper aerodigestive symptoms and systemic features",
      "Urgent imaging + FNA/cytology pathway",
      "Clear communication of urgency"
    ]
  },
  {
    title: "Station 16: Thyroid Nodule (ENT-linked Neck Assessment)",
    type: "Examination + investigation planning",
    stem: "A 40-year-old presents with anterior neck swelling noticed for 3 months.",
    tasks: [
      "Perform focused thyroid/neck exam",
      "Identify compressive/red flag symptoms",
      "Plan first-line investigations"
    ],
    keyPoints: [
      "Assess mobility with swallowing and nodal status",
      "TSH and thyroid ultrasound basics",
      "FNA indications based on imaging risk",
      "Urgent referral if voice change/rapid growth"
    ]
  },
  {
    title: "Station 17: Facial Nerve Palsy",
    type: "Neurologic-ENT differentiation",
    stem: "A 34-year-old wakes with sudden right facial weakness.",
    tasks: [
      "Differentiate UMN vs LMN pattern",
      "Assess eye protection needs",
      "Start initial management and counseling"
    ],
    keyPoints: [
      "Forehead involvement suggests LMN palsy",
      "Corneal protection is essential",
      "Steroid window for Bell palsy per protocol",
      "Recognize atypical features requiring urgent imaging"
    ]
  },
  {
    title: "Station 18: Obstructive Sleep Apnea (ENT Clinic)",
    type: "Clinic counseling and risk assessment",
    stem: "A 47-year-old with obesity has loud snoring and daytime somnolence.",
    tasks: [
      "Take sleep-focused history",
      "Identify OSA risk and complications",
      "Discuss investigation and management options"
    ],
    keyPoints: [
      "Screen with symptom/risk tools",
      "Complications: cardiovascular and driving risk",
      "Weight loss, CPAP, and selected surgical options",
      "Safety counseling regarding driving/work"
    ]
  },
  {
    title: "Station 19: Ménière Disease",
    type: "Differential diagnosis station",
    stem: "A 41-year-old has episodic vertigo with tinnitus and fluctuating hearing loss.",
    tasks: [
      "Recognize symptom triad",
      "Differentiate from vestibular migraine and BPPV",
      "Outline management plan"
    ],
    keyPoints: [
      "Episodic vertigo + tinnitus + fluctuating SNHL",
      "Lifestyle and trigger management",
      "Symptom control medications per protocol",
      "ENT/audiovestibular follow-up"
    ]
  },
  {
    title: "Station 20: Post-thyroidectomy Hematoma",
    type: "Postoperative emergency",
    stem: "A patient 4 hours after thyroid surgery develops neck swelling, voice change, and breathing difficulty.",
    tasks: [
      "Recognize life-threatening complication",
      "Initiate immediate emergency response",
      "Communicate with team and patient"
    ],
    keyPoints: [
      "Airway emergency: call for help immediately",
      "Release wound sutures/clips if rapidly deteriorating per protocol",
      "Prepare for definitive airway and return to theater",
      "Closed-loop communication and documentation"
    ]
  }
];

const children = [];

children.push(new Paragraph({
  text: "Comprehensive ENT OSCE Stations (20 Cases)",
  heading: HeadingLevel.TITLE,
  alignment: AlignmentType.CENTER
}));

children.push(new Paragraph({
  children: [new TextRun({ text: "Designed for undergraduate and postgraduate clinical OSCE practice.", italics: true })],
  alignment: AlignmentType.CENTER
}));

children.push(new Paragraph({ text: "" }));

cases.forEach((c, idx) => {
  children.push(new Paragraph({ text: c.title, heading: HeadingLevel.HEADING_1 }));
  children.push(new Paragraph({ children: [new TextRun({ text: `Station Type: ${c.type}`, bold: true })] }));
  children.push(new Paragraph({ children: [new TextRun({ text: `Candidate Instructions: ${c.stem}` })] }));

  children.push(new Paragraph({ text: "Tasks:", heading: HeadingLevel.HEADING_2 }));
  c.tasks.forEach(t => children.push(new Paragraph({ text: t, bullet: { level: 0 } })));

  children.push(new Paragraph({ text: "Examiner Key Points (Marking Guide):", heading: HeadingLevel.HEADING_2 }));
  c.keyPoints.forEach(k => children.push(new Paragraph({ text: k, bullet: { level: 0 } })));

  if (idx < cases.length - 1) {
    children.push(new Paragraph({ children: [new PageBreak()] }));
  }
});

const doc = new Document({
  sections: [{ children }]
});

Packer.toBuffer(doc).then(buffer => {
  fs.writeFileSync('/home/daytona/workspace/ent-osce/ENT_OSCE_20_Cases.docx', buffer);
  console.log('DOCX created successfully');
});
Running Command

node /home/daytona/workspace/ent-osce/create_ent_osce.js && ls -la /home/daytona/workspace/ent-osce/

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.

Make cases according to osce station in ent

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.