Make cases according to osce station in ent

Asking for Preferences
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
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.