Cookbook 367: Offline Clinical Critical Care Heat Stroke Bouchama & Core Cooling Engine

This cookbook details how to deploy a localized, containerized critical care, emergency medicine, and sports resuscitation decision-support engine for trauma/emergency bays, mass-gathering medical tents, and intensive care units ($\text{ICUs}$) to ingest continuous indwelling rectal core temperatures, ambient wet-bulb globe temperatures ($\text{WBGT}$), neuro-cognitive scores, serum creatine kinase ($\text{CK}$) kinetics, and coagulation parameters, validate heat illness severity according to the Bouchama Consensus Diagnostic Criteria for Heat Stroke ($\text{Core Temp } > 40.0^{\circ}\text{C} + \text{CNS Dysfunction}$), differentiate Exertional Heat Stroke ($\text{EHS}$) from Classic Non-Exertional Heat Stroke ($\text{CHS}$), precision-track Real-Time Cold Water Immersion ($\text{CWI}$) Cooling Rates ($\text{Target } \ge 0.15 - 0.20^{\circ}\text{C/min}$), automate the $38.6 - 38.9^{\circ}\text{C}$ Hypothermic Overshoot Prevention Extraction Gating, enforce the Antipyretic (Acetaminophen / Aspirin / NSAIDs) Absolute Contraindication Sentinel, and manage Rhabdomyolysis & Shivering Mitigation according to Wilderness Medical Society ($\text{WMS 2019 / 2024}$), American College of Sports Medicine ($\text{ACSM}$), and $\text{NATA}$ consensus guidelines without external cloud API reliance.


1. Clinical Background & Thermal Critical Care Architecture

Heat Stroke is a life-threatening medical emergency characterized by catastrophic hyperthermia resulting from thermoregulatory failure when metabolic heat production and environmental heat gain overwhelm heat dissipation mechanisms, precipitating widespread cellular cytotoxicity, systemic inflammatory response syndrome ($\text{SIRS}$), Disseminated Intravascular Coagulation ($\text{DIC}$), rhabdomyolysis, multiorgan failure, and death:


2. Pipeline & Workflow Architecture

[Thermal ICU Telemetry: Rectal Temp C/F, Probe Site, Phenotype, CNS Exam, CK, Cooling Modality]
                                         │
                                         ▼
      [Thermometry Quality Sentinel: Enforce Rectal / Esophageal Thermistor Standard]
                                         │
                                         ▼
      [Bouchama Heat Stroke Classifier: Core Temp > 40.0 C + Encephalopathy / Seizures]
                                         │
                                         ▼
      [Phenotype Stratifier: Exertional EHS (Rhabdomyolysis) vs Classic CHS (Dehydration)]
                                         │
                                         ▼
      [Active Cooling Rate Engine: Track Delta T / Delta t (Target >= 0.15-0.20 C/min)]
                                         │
                                         ▼
      [Hypothermic Afterdrop Prevention Gating: Extract at 38.6 - 38.9 C]
                                         │
                                         ▼
      [Antipyretic & Dantrolene Absolute Prohibition Safety Sentinels]

3. Environment & Prerequisites

Install required scientific Python and emergency critical care modeling packages:

pip install numpy scipy pandas torch torchvision matplotlib

4. Complete Offline Python / PyTorch Implementation

"""
Cookbook 367: Offline Clinical Critical Care Heat Stroke Bouchama & Core Cooling Engine
OpenPHR Clinical AI Working Group (https://openphr.org)
"""

import math
import numpy as np
import pandas as pd
from typing import Dict, List, Tuple, Optional
from dataclasses import dataclass

@dataclass
class HeatStrokeTelemetry:
    patient_id: str
    age_years: float = 24.0
    patient_weight_kg: float = 76.0
    # Thermometry Telemetry
    rectal_core_temperature_celsius: float = 41.6 # > 40.0 C = Severe Hyperpyrexia
    thermometer_site: str = "Rectal Thermistor" # "Rectal Thermistor", "Esophageal", "Axillary", "Tympanic", "Oral"
    ambient_wbgt_celsius: float = 32.5
    # Phenotype & Exposure
    heat_stroke_phenotype: str = "Exertional Heat Stroke (EHS)" # "Exertional Heat Stroke (EHS)", "Classic Non-Exertional Heat Stroke (CHS)"
    activity_context: str = "Marathon runner collapsed at mile 22"
    # Neurological & Mental Status
    cns_status: str = "Comatose / Severe Delirium with Combativeness" # "Normal", "Mild Confusion/Ataxia", "Severe Delirium/Agitation", "Seizures/Coma"
    has_active_seizures: bool = False
    is_shivering: bool = True # Shivering generates heat -> Requires suppression!
    # Hemodynamics
    heart_rate_bpm: float = 158.0
    mean_arterial_pressure_mmhg: float = 68.0
    # Cooling Telemetry
    active_cooling_modality: str = "Cold Water Immersion (CWI, 8-12 C with water circulation)" # "Cold Water Immersion (CWI)", "Evaporative + Convective Misting", "Ice Packs Alone"
    elapsed_cooling_minutes: float = 14.0
    initial_core_temp_celsius: float = 41.6
    current_core_temp_celsius: float = 39.4
    # Laboratory Biomarkers & Rhabdomyolysis
    serum_creatine_kinase_u_l: float = 34500.0 # Severe rhabdomyolysis (> 10,000 U/L)
    serum_potassium_meq_l: float = 5.2
    platelet_count_k_ul: float = 112.0
    inr: float = 1.45
    urine_output_ml_kg_hr: float = 0.85

@dataclass
class HeatStrokeEvaluationReport:
    patient_id: str
    bouchama_diagnostic_status: str # "CONFIRMED SEVERE HEAT STROKE (Bouchama Criteria Met)"
    phenotype_risk_tier: str
    observed_cooling_rate_c_min: float # e.g. 0.157 C/min
    cooling_rate_efficacy_tier: str # "OPTIMAL ACTIVE COOLING (>= 0.15 C/min)"
    immersion_extraction_target_c: str # "Extract at 38.6 - 38.9 C (Current: 39.4 C - Continue CWI)"
    resuscitation_and_shivering_orders: List[str]
    safety_sentinels: List[str]
    clinical_wms_acsm_directive: str

class HeatStrokeDecisionEngine:
    """
    Offline clinical engine for Bouchama heat stroke diagnostic validation,
    real-time core cooling rate computation, immersion extraction gating, and antipyretic sentinels.
    """

    def audit_thermometry_quality(self, d: HeatStrokeTelemetry) -> Tuple[bool, List[str]]:
        sentinels = []
        is_valid = True

        site = d.thermometer_site.lower()
        if "rectal" not in site and "esophageal" not in site:
            is_valid = False
            sentinels.append(f"🚨 INACCURATE THERMOMETRY SITE ({d.thermometer_site}): Axillary, oral, temporal, and tympanic devices underestimate core body temperature by 2.0 - 5.0 C due to peripheral vasoconstriction. MANDATORY INDWELLING RECTAL THERMISTOR PLACEMENT REQUIRED FOR CONTINUOUS SURVEILLANCE!")

        return is_valid, sentinels

    def validate_bouchama_criteria(self, d: HeatStrokeTelemetry) -> Tuple[bool, str]:
        has_hyperpyrexia = d.rectal_core_temperature_celsius >= 40.0
        cns_lower = d.cns_status.lower()
        has_cns = ("delirium" in cns_lower or "combat" in cns_lower or "coma" in cns_lower or 
                   "seizure" in cns_lower or "confusion" in cns_lower or "ataxia" in cns_lower)

        if has_hyperpyrexia and has_cns:
            return True, "CONFIRMED LIFE-THREATENING HEAT STROKE (Bouchama Criteria Met: Core Temp > 40.0 C + Encephalopathy)"
        elif has_hyperpyrexia:
            return False, "Severe Hyperthermia without Documented Neurocognitive Dysfunction"
        elif has_cns:
            return False, "Neurocognitive Dysfunction with Sub-Threshold Core Temperature (Evaluate for post-cooling state, sepsis, or CNS infection)"
        else:
            return False, "Heat Exhaustion / Mild Heat Illness"

    def calculate_cooling_velocity(self, d: HeatStrokeTelemetry) -> Tuple[float, str, str]:
        t0 = d.initial_core_temp_celsius
        t1 = d.current_core_temp_celsius
        mins = max(1.0, d.elapsed_cooling_minutes)

        delta_t = t0 - t1
        rate = round(delta_t / mins, 3) # deg C per minute

        if rate >= 0.15:
            tier = f"OPTIMAL ACTIVE COOLING VELOCITY ({rate:.3f} C/min >= 0.15 C/min target)"
        elif rate >= 0.10:
            tier = f"SUBOPTIMAL COOLING VELOCITY ({rate:.3f} C/min) - Agitate/circulate water and add ice!"
        else:
            tier = f"CRITICALLY INADEQUATE COOLING VELOCITY ({rate:.3f} C/min < 0.10 C/min) - Transition to Cold Water Immersion immediately!"

        # Immersion Extraction Gating (Target 38.6 - 38.9 C)
        if t1 <= 38.8:
            extract = f"🚨 EXTRACT PATIENT FROM IMMERSION NOW: Core temperature ({t1:.1f} C) has reached target window (38.6 - 38.9 C). Cease active cooling to prevent hypothermic afterdrop below 35.0 C!"
        else:
            extract = f"CONTINUE ACTIVE COOLING: Current Core Temp is {t1:.1f} C. Target extraction window is 38.6 - 38.9 C (Delta remaining: {t1 - 38.8:.1f} C)."

        return rate, tier, extract

    def generate_resuscitation_orders(self, d: HeatStrokeTelemetry) -> Tuple[List[str], List[str]]:
        orders = []
        sentinels = []

        orders.append("1. FIRST-LINE RAPID ACTIVE COOLING PROTOCOL:")
        if "cold water immersion" in d.active_cooling_modality.lower() or "cwi" in d.active_cooling_modality.lower():
            orders.append("   • COLD WATER IMMERSION (CWI): Submerge patient up to neck in cold/ice water (1-15 C); vigorously circulate/stir water to disrupt warm boundary layer.")
        else:
            orders.append("   • EVAPORATIVE + CONVECTIVE RESCUE: Continuous spraying of tepid mist (20-25 C) over entire exposed body with high-flow industrial fans.")

        # Shivering Mitigation
        if d.is_shivering:
            orders.append("2. STAT SHIVERING SUPPRESSION (To maintain high cooling velocity):")
            orders.append("   • Administer IV Midazolam 1.0 - 2.0 mg IV OR Diazepam 5.0 mg IV slow push. (Shivering increases metabolic heat production and retards cooling rate).")

        # Rhabdomyolysis & Fluid Resuscitation
        if d.serum_creatine_kinase_u_l >= 5000.0:
            orders.append("3. RHABDOMYOLYSIS & RENAL PROTECTION PROTOCOL:")
            orders.append("   • Administer unheated Isotonic Saline (0.9% NaCl or Plasmalyte) boluses targeting URINE OUTPUT 2.0 - 3.0 mL/kg/hr.")
            orders.append("   • Monitor serial CK, potassium, and coagulation panels q4-6h; watch for hyperkalemic cardiac arrhythmias.")

        # Antipyretic Absolute Prohibition Sentinel
        sentinels.append("🚨 ABSOLUTE ANTIPYRETIC CONTRAINDICATION (Acetaminophen, Aspirin, NSAIDs): Heat stroke is caused by thermoregulatory overwhelming, NOT prostaglandin-mediated hypothalamic set-point elevation. Acetaminophen causes fatal acute liver necrosis in hyperthermic liver injury; Aspirin/NSAIDs exacerbate coagulopathy, DIC, and renal tubular necrosis. STRICTLY PROHIBIT ANTIPYRETICS!")

        # Dantrolene Inefficacy Sentinel
        sentinels.append("🚨 DANTROLENE INEFFECTIVE: Dantrolene has zero proven therapeutic efficacy in environmental/exertional heat stroke and is contraindicated (indicated strictly for malignant hyperthermia).")

        return orders, sentinels

    def evaluate_case(self, data: HeatStrokeTelemetry) -> HeatStrokeEvaluationReport:
        is_qc_valid, sentinels_qc = self.audit_thermometry_quality(data)
        is_bouchama, bouchama_status = self.validate_bouchama_criteria(data)
        rate, rate_tier, extract_target = self.calculate_cooling_velocity(data)
        rx_orders, sentinels_rx = self.generate_resuscitation_orders(data)

        all_sentinels = sentinels_qc + sentinels_rx

        directives = []
        directives.append(f"DIAGNOSIS: {bouchama_status}.")
        directives.append(f"COOLING VELOCITY: {rate_tier}.")
        directives.append(f"EXTRACTION: {extract_target}.")
        directives.append("RESUSCITATION: Target core temp < 39.0 C within 30 minutes of collapse.")

        return HeatStrokeEvaluationReport(
            patient_id=data.patient_id,
            bouchama_diagnostic_status=bouchama_status,
            phenotype_risk_tier=data.heat_stroke_phenotype,
            observed_cooling_rate_c_min=rate,
            cooling_rate_efficacy_tier=rate_tier,
            immersion_extraction_target_c=extract_target,
            resuscitation_and_shivering_orders=rx_orders,
            safety_sentinels=all_sentinels,
            clinical_wms_acsm_directive=" ".join(directives)
        )

# Example Execution & Verification
if __name__ == "__main__":
    engine = HeatStrokeDecisionEngine()

    print("=" * 80)
    print("OpenPHR Clinical Critical Care Heat Stroke Bouchama & Core Cooling Engine")
    print("=" * 80)

    # Test Case 1: 24-year-old marathon runner presenting to Medical Tent collapsed.
    # Telemetry: Rectal Core Temp 41.6 C (106.9 F), Comatose with combativeness (Bouchama Criteria Met!).
    # Active Cooling: Cold Water Immersion (CWI). Temp dropped from 41.6 C to 39.4 C in 14 minutes.
    # Rate: (41.6 - 39.4) / 14 = 0.157 C/min (Optimal >= 0.15 C/min!).
    # Labs: CK 34,500 U/L (Severe Rhabdomyolysis), Shivering present.
    # Triage: Continue CWI until 38.6-38.9 C + IV Midazolam for Shivering + Unheated Saline 2-3 mL/kg/h!
    # Sentinels: Acetaminophen/Aspirin Prohibition + Indwelling Rectal Thermistor Mandate!
    hs1 = HeatStrokeTelemetry(
        patient_id="CRIT-HEAT-7701",
        age_years=24.0,
        patient_weight_kg=76.0,
        rectal_core_temperature_celsius=41.6,
        thermometer_site="Rectal Thermistor",
        ambient_wbgt_celsius=32.5,
        heat_stroke_phenotype="Exertional Heat Stroke (EHS)",
        activity_context="Marathon runner collapsed at mile 22",
        cns_status="Comatose / Severe Delirium with Combativeness",
        has_active_seizures=False,
        is_shivering=True,
        heart_rate_bpm=158.0,
        mean_arterial_pressure_mmhg=68.0,
        active_cooling_modality="Cold Water Immersion (CWI, 8-12 C with water circulation)",
        elapsed_cooling_minutes=14.0,
        initial_core_temp_celsius=41.6,
        current_core_temp_celsius=39.4,
        serum_creatine_kinase_u_l=34500.0,
        serum_potassium_meq_l=5.2,
        platelet_count_k_ul=112.0,
        inr=1.45,
        urine_output_ml_kg_hr=0.85
    )

    rep1 = engine.evaluate_case(hs1)

    print(f"\n[Patient {rep1.patient_id} - Heat Stroke Assessment]")
    print(f"Bouchama Status: {rep1.bouchama_diagnostic_status}")
    print(f"Phenotype: {rep1.phenotype_risk_tier}")
    print(f"Observed Cooling Rate: {rep1.observed_cooling_rate_c_min:.3f} °C/min")
    print(f"Cooling Velocity Tier: {rep1.cooling_rate_efficacy_tier}")
    print(f"\nImmersion Extraction Guidance:\n  {rep1.immersion_extraction_target_c}")
    print("\nResuscitation & Shivering Orders:")
    for o in rep1.resuscitation_and_shivering_orders:
        print(f"  {o}")
    if rep1.safety_sentinels:
        print("\nSafety Sentinels:")
        for s in rep1.safety_sentinels:
            print(f"  🚨 {s}")
    print(f"\nWMS / ACSM Consensus Directive:\n{rep1.clinical_wms_acsm_directive}")

5. Clinical Verification & Guideline Conformance


6. References