Pleural Infection / Empyema
NEW dossier authored design-disease-first (brief src/lib/dossiers/_briefs/pulm.empyema.v1.md FIRST). pulm.empyema.v1 is the complicated-parapneumonic / pleural-infection executor referenced as a complication/route by pulm.pleural-effusion.core.v1 and pulm.cap.core.v1. Status PLANNED — manifest points at the shared id.sepsis.core.v1 manifest (exists on disk) per dispatch; package undefined; atoms []. Promotion to AUTHORED/INTEGRATED needs a dedicated, scoped manifest/registry pass (out of scope here — _registry.ts/clinical-tools-registry.ts untouched). §5.5.2 Bayesian parapneumonic-staging fork encoded as data: SIMPLE (pH ≥7.2, glucose ≥60, Gram/culture neg) → antibiotics alone; COMPLICATED (pH <7.20 OR glucose <60 OR LDH >1000 OR loculation) → drain; EMPYEMA (frank pus OR +Gram/culture) → drain. Pleural pH is the highest-accuracy chemistry test (Heffner 1995 PMID 7767510, ROC AUC 0.92 vs glucose 0.84, LDH 0.82; decision threshold 7.21-7.29 — engine uses 7.20 per BTS 2023). Look-alike pivots (malignant/TB/haemothorax/chylothorax/lung-abscess vs empyema split-pleura sign) encoded in DIFFERENTIAL phase + sibling_differentiation. Effect-size numbers with PMIDs (≥8): (1) MIST2 opacity change -29.5% vs -17.2% placebo (PMID 21830966); (2) MIST2 surgical-referral OR 0.17 (95% CI 0.03-0.87) tPA+DNase vs placebo; (3) MIST2 LOS difference -6.7 days; (4) MIST2 DNase-alone OR 3.56 (harmful); (5) MIST1 death/surgery RR 1.14 (streptokinase NULL) + serious-AE RR 2.49 (PMID 15745977); (6) RAPID 3-mo mortality low 2.3% / medium 9.2% / high 29.3% (PILOT PMID 32675200); (7) RAPID derivation OR 24.4 (med) / 192.4 (high) vs low-risk for 3-mo death (PMID 24264558); (8) Heffner pleural-pH ROC AUC 0.92 (best chemistry test) vs glucose 0.84 / LDH 0.82, threshold 7.21-7.29 (PMID 7767510); (9) ACCP 4-tier risk, drainage category 3-4 (PMID 11035692); (10) >30% pleural-infection death/surgery across MIST/PILOT cohorts. All PMIDs PubMed-verified 2026-05-16 (title/journal/DOI confirmed in research bundle). Cross-dossier routing via workups[].branches_to + sibling_differentiation (≥3 real engine_ids, all confirmed on disk): pulm.pleural-effusion.core.v1 (parent), pulm.cap.core.v1 (antecedent), pulm.tuberculosis.v1 (TB-pleuritis mimic), pulm.aspiration-pneumonia.core.v1 (aspiration branch), id.sepsis.core.v1 (septic-shock route), pulm.pneumothorax.core.v1 (BPF/hydropneumothorax overlap, narrative). Antibiotic-by-acquisition axis with ≥6 special-pop branches encoded as RegimenDrug.triggers + contraindication_rules data: community (amp-sulbactam 1009148 OR ceftriaxone 2193 + metronidazole 6922 — anaerobic obligatory), hospital/post-surgical (pip-tazo 74169 ± vancomycin 11124; meropenem 29561 if ESBL), aspiration (clindamycin 2582 add-on; route to aspiration dossier), immunocompromised (broaden pip-tazo+vanco; route to id.sepsis), anticoagulated/bleeding-risk (intrapleural tPA 8410 CONTRAINDICATED — DNase-alone NOT a substitute, escalate to surgery), renal/hepatic (calc.ckd_epi_2021 dose-adjust; metronidazole hepatic caution). Intrapleural tPA 10 mg + DNase 5 mg BID ×3 d (MIST2 dosing); combination-only + bleeding contraindication encoded as severity_trigger + contraindication_rule. RxCUIs RxNav-verified 2026-05-16 (https://rxnav.nlm.nih.gov/REST/rxcui/{cui}/properties.json): ampicillin-sulbactam 1009148, ceftriaxone 2193, metronidazole 6922, clindamycin 2582, piperacillin-tazobactam 74169 (ingredient-level; parent uses product-level 1659131 — both resolve), meropenem 29561, vancomycin 11124, alteplase 8410, dornase alfa 337623, amoxicillin-clavulanate 19711, enoxaparin 67108, oxygen 7806, acetaminophen 161, lidocaine 6387. Confirmed parent-documented hazard: 18631 = azithromycin, NOT pip-tazo. Registry ids reused (all resolve in clinical-tools-registry.ts — registry NOT modified): panel.pleural (workup + panel), calc.curb65, calc.qsofa, calc.sofa, calc.sirs, calc.ckd_epi_2021, calc.aa_gradient. No invented unresolved ids. Schema-gap notes (mirrors pulm.pe.core.v1 approach): (1) EngineDossier has no first-class Bayesian LR / pretest / decision-threshold field — parapneumonic-staging thresholds encoded narratively in DIFFERENTIAL phase purpose, severity_triggers, calculator guideline_basis, and the .depth.md authoritative table; (2) RAPID score is NOT yet a clinical-tools-registry calculator — encoded via severity_triggers + RISK_STRATIFICATION phase logic (same pattern PE uses for Wells/PERC); (3) DossierSetting has no "acute" — playbooks use ed/inpatient/icu while top-level settings uses inpatient/acute/icu; (4) no engine-specific test file beyond the shared dossier-contract; (5) PLANNED status — not in ALL_DOSSIERS until _registry.ts is updated in a later scoped pass.
Entry points (4)
- problem_listPneumonia with persistent/recrudescent fever or failure to improve on antibiotics + new/enlarging effusion (BTS 2023 Roberts PMID 37553157)pneumonia_with_persistent_fever
- imagingPleural effusion / loculated collection complicating pneumonia on CXR / lung ultrasound / CT (BTS 2023)effusion_complicating_pneumonia
- lab_abnormalityFrank pus on aspiration, pleural pH <7.20, or positive pleural Gram stain/culture (BTS 2023; Heffner 1995 PMID 7767510)frank_pus_or_low_ph_on_tap
- vital_abnormalitySepsis / septic shock with a pleural collection — pleural-space source (BTS 2023; SSC 2026)sepsis_with_pleural_collection
Required inputs (21)
- agerequireddemographic • used at CONTEXTRAPID age term (≥70 highest-risk) + mortality pretest (Rahman Chest 2014 PMID 24264558)
- temprequiredvital • used at CONTEXTPersistent fever despite antibiotics is the cardinal pleural-infection trigger (BTS 2023)
- spo2requiredvital • used at CONTEXTHypoxia → respiratory-failure severity + ICU disposition (BTS 2023)
- rrrequiredvital • used at CONTEXTTachypnea + work-of-breathing severity (BTS 2023)
- sbprequiredvital • used at CONTEXTSeptic-shock screen from empyema source (SSC 2026)
- acquisition_route_community_vs_hospitalrequiredhistory • used at CONTEXTCommunity (Strep anginosus/milleri + anaerobes) vs hospital/post-surgical (Staph/MRSA/GNB) drives empiric antibiotic axis (BTS 2023)
- aspiration_riskhistory • used at CONTEXTAspiration → obligatory anaerobic cover; route to pulm.aspiration-pneumonia.core.v1 (BTS 2023)
- immunocompromisehistory • used at CONTEXTBroaden empiric + atypical/fungal threshold; route to id.sepsis.core.v1 (BTS 2023)
- anticoagulation_or_bleeding_riskrequiredhistory • used at CONTEXTIntrapleural tPA contraindicated with active intrapleural haemorrhage / recent thoracic-surgery bleeding risk / coagulopathy (MIST2 Rahman NEJM 2011 PMID 21830966)
- pleural_fluid_phrequiredlab • used at INITIAL_WORKUPpH <7.20 → complicated parapneumonic = drainage decision; highest-accuracy chemistry test (Heffner 1995 PMID 7767510, ROC AUC 0.92); collect anaerobically in heparinised ABG syringe on ice
- pleural_fluid_glucoselab • used at INITIAL_WORKUPPleural glucose <60 mg/dL (or pleural/serum <0.5) supports complicated parapneumonic drainage when pH unavailable (Heffner 1995 PMID 7767510; ACCP Colice 2000 PMID 11035692)
- pleural_fluid_ldhlab • used at INITIAL_WORKUPPleural LDH >1000 IU/L marks complicated parapneumonic (Light class); rising LDH = progression (BTS 2023; Heffner 1995 PMID 7767510)
- pleural_fluid_gram_culturerequiredlab • used at INITIAL_WORKUPPositive Gram stain / culture (or frank pus) = empyema → drainage regardless of pH; also de-escalation target (BTS 2023)
- blood_cultureslab • used at INITIAL_WORKUPBacteraemia in ~12-14% pleural infection; microbiology de-escalation + sepsis source (BTS 2023)
- serum_urealab • used at RISK_STRATIFICATIONRAPID renal term (urea >5 mmol/L scores) (Rahman Chest 2014 PMID 24264558)
- serum_albuminlab • used at RISK_STRATIFICATIONRAPID dietary term (albumin <27 g/L scores) + nutrition status (Rahman Chest 2014 PMID 24264558; PILOT Corcoran 2020 PMID 32675200)
- crplab • used at MONITORINGCRP trend tracks treatment response in pleural infection (BTS 2023)
- lactatelab • used at RED_FLAGSSepsis severity from empyema source (SSC 2026)
- lung_ultrasoundrequiredimaging • used at INITIAL_WORKUPBedside loculation/septation characterisation + always US-guided thoracentesis/drain (BTS 2023)
- ct_chest_contrastimaging • used at BRANCHING_WORKUPSplit-pleura sign, loculation, pleural enhancement, organising rind, lung abscess vs empyema, malignant features (BTS 2023)
- cxrrequiredimaging • used at INITIAL_WORKUPInitial confirmation + serial post-drain CXR (BTS 2023)
12-phase flow (12)
- 1FRAMEConfirm a pleural collection complicating pneumonia / sepsis (vs simple effusion, consolidation, abscess) on CXR/US and set acuity — acute parapneumonic vs subacute organising empyemainputs: cxr, lung_ultrasoundadvance: Pleural collection complicating infection confirmed by imaging
- 2ENTRYTrigger from pneumonia with persistent/recrudescent fever, failure to improve on antibiotics, new/enlarging effusion, frank pus on a tap, or sepsis with a pleural collectioninputs: tempadvance: Pleural-infection entry trigger present
- 3CONTEXTAcquisition route (community vs hospital/post-surgical), aspiration risk, immune status, anticoagulation/bleeding risk, renal/hepatic function, nutrition (albumin), allergies — these select the empiric antibiotic branch and the tPA contraindicationinputs: age, spo2, rr, sbp, acquisition_route_community_vs_hospital, aspiration_risk, immunocompromise, anticoagulation_or_bleeding_riskadvance: Acquisition route + host factors + bleeding-risk captured
- 4RED_FLAGSSeptic shock from empyema (vasopressor/organ dysfunction), frank pus, bronchopleural fistula (continuous air leak + pus), large effusion with hypoxic respiratory failure — emergent drainage + source controlinputs: sbp, spo2, lactateactions: calc.qsofaadvance: Emergent drainage / sepsis bundle initiated or escalated
- 5INITIAL_WORKUPLung ultrasound then US-guided diagnostic thoracentesis: send pleural pH (anaerobic heparinised syringe on ice), glucose, LDH, protein, cell count + differential, Gram stain, aerobic + anaerobic culture; plus blood cultures, CRP, albumin, lactate, CBC, BMP, LFTsinputs: pleural_fluid_ph, pleural_fluid_glucose, pleural_fluid_ldh, pleural_fluid_gram_culture, blood_cultures, cxr, lung_ultrasoundactions: panel.pleuraladvance: Diagnostic thoracentesis performed and pleural-fluid biomarkers available
- 6BRANCHING_WORKUPStage SIMPLE vs COMPLICATED parapneumonic vs EMPYEMA using pH/glucose/LDH/micro/pus thresholds; CT chest with contrast for split-pleura sign / loculation / organising rind / lung abscess; exclude malignant, TB, haemothorax, chylothorax, aspiration look-alikes by fluid characteristicsinputs: ct_chest_contrast, pleural_fluid_ph, pleural_fluid_glucose, pleural_fluid_gram_cultureactions: panel.pleuraladvance: Parapneumonic stage assigned and mimics excluded
- 7DIFFERENTIALBayesian fork: SIMPLE (pH ≥7.2, glucose ≥60, Gram/culture neg, free-flowing, small) → antibiotics alone; COMPLICATED (pH <7.20 OR glucose <60 OR LDH >1000 OR loculation) → drain; EMPYEMA (frank pus OR +Gram/culture) → drain. Look-alike pivots: malignant (cytology, chronicity), TB (lymphocyte-predominant, ADA >40), haemothorax (Hct >50% serum), chylothorax (triglyceride >110), lung abscess vs empyema (split-pleura sign on CT)inputs: pleural_fluid_ph, pleural_fluid_glucose, pleural_fluid_ldh, pleural_fluid_gram_cultureadvance: Stage assigned with drainage decision set; mimics adjudicated
- 8RISK_STRATIFICATIONRAPID score (Renal urea / Age / fluid Purulence / Infection source community-vs-hospital / Dietary albumin) → 3-mo mortality band: low 0-2 (2.3%), medium 3-4 (9.2%), high 5-7 (29.3%) (PILOT Corcoran 2020 PMID 32675200). CURB-65 for source-pneumonia severity; qSOFA/SOFA for sepsisinputs: age, serum_urea, serum_albumin, acquisition_route_community_vs_hospitalactions: calc.curb65, calc.qsofa, calc.sofaadvance: RAPID band documented + escalation intensity set
- 9TREATMENTEmpiric antibiotics by acquisition route (community: ampicillin-sulbactam OR ceftriaxone+metronidazole — anaerobic cover obligatory; hospital/post-surgical: piperacillin-tazobactam ± vancomycin for MRSA; aspiration: obligatory anaerobic; immunocompromised: broaden) + small-bore chest tube + intrapleural tPA 10 mg + DNase 5 mg BID ×3 d if loculated/failing (MIST2 PMID 21830966 — combination only; monotherapy ineffective; CONTRAINDICATED with bleeding risk) + nutrition + VTE prophylaxis; prolonged total course 2-6 weeksinputs: acquisition_route_community_vs_hospital, pleural_fluid_gram_cultureadvance: Antibiotics + drainage strategy + nutrition initiated
- 10DISPOSITIONAdmit ward for chest tube + IV antibiotics; ICU for septic shock / respiratory failure / BPF; surgical (VATS decortication) referral if failed medical therapy + intrapleural tPA/DNase at 5-7 d or RAPID-high not improvinginputs: sbp, spo2advance: Disposition + surgical-referral decision set
- 11MONITORINGDrain output + patency, daily post-tube CXR, CRP/fever curve, repeat US for residual loculation, pleural-space bleeding watch during tPA/DNase course, microbiology for de-escalationinputs: crp, cxradvance: Drainage + inflammatory trend documented; de-escalation considered
- 12FOLLOWUPComplete prolonged antibiotic course (2-6 weeks; longer for organising empyema), follow-up imaging to radiographic resolution, nutritional rehabilitation, source-pneumonia / aspiration-risk workup, return-to-work counselling (~4 wk; Meggyesy 2024 PMID 39037060)advance: Antibiotic plan + imaging follow-up + nutrition plan scheduled