跳轉到

1847 - Semmelweis 洗手(產褥熱之謎的統計偵破)#

案件摘要#

1847 年,維也納總醫院的匈牙利醫師 Ignaz Semmelweis 發現一個可怕的數字對比: 醫生接生的產房產褥熱死亡率 18%,助產士接生的產房只有 3%—— 差了 6 倍!他推理出兇手:醫生解剖屍體後不洗手,把「屍體粒子」帶進產房。 他下令所有人接生前用氯水洗手——死亡率暴跌到 1%。 一個統計對比 + 一條命令,救活了千百萬產婦。

前因 -- 為什麼會有這個案子#

  • 產褥熱的恐怖:18–19 世紀的產院,產褥熱(產後敗血症)死亡率常達 10–30%—— 「進產院生產 = 賭命」,產婦寧願在路上生。醫院是兇手,這是當年最諷刺的事實。
  • 兩個產房的對比:維也納總醫院第一產房(醫生+醫學生接生)死亡率 18%, 第二產房(助產士接生)3%——同一家醫院、同一批病人,只有接生者不同。 這是天然的對照實驗——Semmelweis 的偵探直覺:抓住這個對比不放。
  • 關鍵線索:Kolletschka 之死:1847 年,他的同事 Kolletschka 被醫學生的解剖刀 劃傷而死,死狀與產褥熱一模一樣——Semmelweis 電光石火: 屍體的「粒子」經由醫生的手進入產婦的傷口!
  • 氯水洗手令(1847 年 5 月):所有人接生前用氯化石灰水洗手—— 死亡率從 18% 跌到 1–2%,與助產士產房持平。

線索與推理 -- 數學式、程式、理論#

核心推理:對照組的邏輯(現代流行病學的先驅)#

Semmelweis 的推理只有兩步: 1. 對比:兩個產房的唯一差異是「接觸過屍體與否」→ 差異的原因在差異之中 2. 干預:移除差異(氯水洗手)→ 死亡率趨同 → 因果確認

\[ \text{死亡率差異} = f(\text{接觸屍體}) \xrightarrow{\text{洗手干預}} \text{差異消失} \Longrightarrow \text{因果成立}. \]

這是干預實驗 (intervention) 的偵破——比 Bradford Hill 的因果準則(1965) 早了 118 年,是現代流行病學與對照試驗(RCT)的方法論先驅。

Semmelweis 的數據(1840–1848)#

年份 第一產房(醫生) 第二產房(助產士)
1846 11.4% 2.7%
1847/4(洗手前) 18.3% 3.2%
1847/6(洗手後) 1.2% 2.7%
1848(洗手令全年) 1.3% 1.3%

1848 年兩個產房首次持平——因果鏈閉合。

Python:Semmelweis 數據的統計偵查#

import numpy as np
from math import comb

def two_proportion_test(p1, n1, p2, n2):
    # 兩比例的 z 檢定(現代版重演)
    p_pool = (p1*n1 + p2*n2) / (n1 + n2)
    se = np.sqrt(p_pool*(1-p_pool)*(1/n1 + 1/n2))
    z = (p1 - p2) / se
    return z

# 1846 年數據:第一產房 vs 第二產房
births1, deaths1 = 4010, int(4010*0.114)
births2, deaths2 = 3754, int(3754*0.027)
z = two_proportion_test(deaths1/births1, births1, deaths2/births2, births2)
print(f"1846 年兩產房死亡率對比:11.4% vs 2.7%")
print(f"z 統計量 = {z:.1f}(>3 即極顯著——差異絕非偶然)")
print(f"\n洗手干預後:18.3% → 1.2%,相對風險下降 {1-0.012/0.183:.0%}")
輸出:
1846 年兩產房死亡率對比:11.4% vs 2.7%
z 統計量 = 14.8(>3 即極顯著——差異絕非偶然)

洗手干預後:18.3% → 1.2%,相對風險下降 93%

結案 -- 後果與影響#

  • 感染控制的誕生:洗手 = 第一個有效的感染控制措施—— 今天的「手部衛生五時刻」(WHO, 2009) 直接源自 Semmelweis。 COVID 期間的洗手宣導,175 年前就在維也納上演。
  • 被拒絕的偵探:Semmelweis 的理論被當時主流(屍體粒子不符合「瘴氣論」)拒絕, 他被維也納醫院解僱、精神失常,1865 年死於精神病院(死因疑似敗血症——命運的殘酷反諷)。 他的翻案要到 Pasteur 的細菌理論(1864)與 Lister 的消毒術(1865)——死後 3 年。
  • 細菌理論的鋪路:Semmelweis 的「屍體粒子」是錯誤名稱的正確概念—— 粒子就是細菌。Pasteur(1864-Pasteur天鵝頸實驗.md)與 Koch(1882-Koch結核桿菌.md) 給了它正確的名字。
  • 對照試驗的先驅:兩產房的天然對照 = 現代 RCT 的方法論源頭—— 「差異的原因在差異之中」成為流行病學的第一原則(Snow 的迴響,見 1858-Snow霍亂地圖.md)。

關鍵人物與文獻#

  • Ignaz Semmelweis:《Die Ätiologie, der Begriff und die Prophylaxis des Kindbettfiebers》(1861)。
  • Kolletschka:被解剖刀劃傷致死的同事(關鍵線索的提供者)。
  • 相關案件:1864-Pasteur天鵝頸實驗.md、1858-Snow霍亂地圖.md、1882-Koch結核桿菌.md。