Skip to content

Latest commit

 

History

History

salicylate-poisoning

README.md

살리실산(아스피린) 중독 — QSP 모델

Salicylate (Aspirin) Poisoning — Quantitative Systems Pharmacology Model

검사실이 보고하는 수치와 환자를 죽이는 수치 사이에는 아무도 재지 않는 두 번의 곱셈이 있다. 이 모델은 그 두 배수를 명시적으로 계산하고, 살리실산 중독의 임상적 역설들이 거기서 산술적으로 따라나오는지를 확인한다.


1. 이 모델의 주장 (The thesis)

살리실산 중독은 하나의 숫자 — 총 혈장 살리실산 농도 — 로 분류되고, 그 숫자로 투석이 결정된다. 그런데 실제로 사람을 죽이는 양은 뇌세포 안의 살리실산이고, 둘 사이에는 측정되지 않는 두 개의 곱셈이 있다.

C_brain  =  C_total  ×  fu(C_total, pH)  ×  f_n(pH_plasma) / f_n(pH_brain)
            ─────────   ────────────────    ─────────────────────────────
            검사실이     ① 알부민 포화        ② 약산(pKa 3.0)의 pH 분배
            보고하는     150 mg/L → 8.5%      뇌 세포내 pH는 완충되어 있고
            유일한 값    800 mg/L → 43%       혈장 pH는 그렇지 않다

② 가 이 모델의 핵심이며, 보통의 PK 모델에서 빠져 있는 생리를 필요로 한다. CO₂는 세포막을 즉시 통과하고, 세포 안에서 비-중탄산 완충계(β ≈ 35 mmol/L per pH)에 흡수된다. 그래서 PaCO₂를 25 → 60 mmHg로 올리면

변화
혈장 pH 0.380 하강
뇌 세포내 pH 0.143 하강 (2.7배 덜 움직인다)
뇌:혈장 분배계수 1.73배 상승

즉 기울기가 바뀐다. 급성 호흡성 산증과 대사성 산증은 뇌에 대해 결코 같지 않다.


2. 모델이 유도하는 세 가지 결과 (derived, not assumed)

(1) 인공호흡기는 치료역이 좁은 약이다 — 이 모델의 중심 실험

30 g 섭취 8시간 뒤, 스위치 하나만 바꾼다. A군은 통상적인 분당환기량으로 삽관, B군은 환자 자신의 분당환기량(정상의 2.30배)에 맞춰 삽관. 나머지는 완전히 동일하다.

시각 혈장 A 혈장 B 뇌 A 뇌 B 뇌 A/B
8 h (스위치 직전) 813.8 813.8 143.3 143.3 1.00
9 h 581.6 811.6 162.3 144.5 1.12
12 h 577.5 796.4 158.1 141.3 1.12
24 h 547.1 692.0 128.7 106.6 1.21
36 h 496.7 569.6 98.6 71.9 1.37

한 시간 만에 pH 7.47 → 7.11, PaCO₂ 25 → 57 mmHg, 뇌:혈장 비 0.178 → 0.279(1.57배). 검사실 수치는 28% 내려가고, 뇌 농도는 올라간다. 36시간 누적 중추신경 노출은 1.31배.

같은 병변의 약한 형태가 아편유사제 병용 섭취다 — 호흡 구동을 45%만 억제해도 뇌 농도가 올라간다(시나리오 S13).

(2) 탄산수소나트륨만이 두 배수를 동시에 건드린다

처치 요 pH (12 h) 신장 청소율 24 h 혈장 24 h 뇌
지지요법만 (수액) 6.10 3.5 mL/min 670 109
등량 생리식염수 이뇨 6.10 16.6 409 43
NaHCO₃ + K 7.54 38.5 191 7.7
  • 혈장 pH 팔: 투여 40분 만에, 요가 반응하기도 전에 뇌 농도가 내려간다.
  • 요 pH 팔: 요 pH 5에서 여과된 약물의 97%가 비이온 확산으로 재흡수되는데, 요 pH 7.5–8에서는 3% 미만이 된다. 청소율 11배.
  • 아세타졸아미드는 요는 알칼리화하면서 혈액은 산성화한다 — 이 모델에서 가능한 최악의 조합이다.

(3) 이 치료의 율속 시약은 칼륨이다

요는 혈장 중탄산이 신세뇨관 중탄산 역치를 넘어야 알칼리화되는데, 저칼륨혈증이 그 역치를 올린다(K 결핍 1 mmol/L당 +5.5 mmol/L).

K 보충 K 미보충
요 pH 7.5 도달 시각 11.7 h 21.9 h
그때 필요한 혈장 HCO₃ — +2.9 mmol/L 더
12시간 신장 청소율 38.5 mL/min 17.9
48시간 뇌 농도 기준 2.97배

칼륨을 안 주면 알칼리화가 불가능해지는 것이 아니라 10시간 늦어지고, 그 대가로 더 심한 알칼리혈증을 감수해야 한다 — 모델은 이것을 "실패"가 아니라 "지연과 비용"으로 정확히 구분한다.


3. 같은 숫자, 다른 환자 (why a single level means nothing)

상황 혈장 mg/L fu 동맥혈 pH 뇌 pHi 뇌 mg/L 뇌/혈장
급성 30 g, 6 h 809 0.43 7.51 7.11 133.0 0.164
급성 30 g, 30 h 611 0.35 7.41 7.04 92.6 0.151
통상 환기로 삽관 582 0.40 7.11 6.96 162.3 0.279
만성, 고령, 14일째 216 0.33 6.75 6.92 109.2 0.505

만성 환자의 혈장 농도 216 mg/L(21.6 mg/dL)는 흔히 "경도–중등도"로 읽힌다. 그러나 평형에 도달했고, 알부민이 낮고, 산혈증이 있으므로 뇌 농도는 109 mg/L로 급성 대량 섭취 환자와 맞먹는다. 같은 혈장 농도에 처음 도달한 급성 환자(섭취 후 0.9시간)의 뇌 농도는 3.0 mg/L — 뇌:혈장 비가 36배 다르다.

이것이 Done 노모그램이 실패하는 이유다. 모델은 노모그램을 가정하지 않고 출력으로 취급해 채점한다(검증 보고서 8절): 6개 상황 중 4개에서 노모그램 등급과 모델이 계산한 뇌 농도 등급이 어긋난다.


4. 파일 구성 (Deliverables)

파일 내용
sal_qsp_model.dot / .svg / .png 기계론적 지도 — 125개 노드, 16개 클러스터. 노출·흡수·단백결합·pH 분배·간대사·신장처리·탈공역·산염기·중추신경·타 장기·전해질·치료·의원성 위해·측정·임상 엔드포인트
sal_mrgsolve_model.R 28개 ODE, 14개 시나리오의 mrgsolve 모델. 단계별 파라미터 변경 러너 포함
sal_shiny_app.R 11개 탭 대시보드 (환자·PK·두 배수·산염기·신장·엔드포인트·시나리오 비교·인공호흡기 실험·노모그램·EXTRIP·검사 패널)
sal_verify_python.py 28개 ODE의 독립 Python/scipy 재구현
sal_verification_output.txt 검증 보고서 — 문헌 기준 54개 중 54개 통과
sal_references.md 83개 참고문헌, PMID는 전부 PubMed에서 조회 확인

5. 모델 구조 (28 ODE)

군 상태변수
위장관 AST 위 · AGUT 소장 · ACONC 결석 · AAC 활성탄
전신 AASA 미가수분해 아스피린 · ACENT 중심 · APER 조직 · ACNS 뇌
대사·배설 ASU 살리실루르산 · APG/AAG 글루쿠론산포합 · AGA 젠티스산 · AUR 요배설 · AHD 투석 제거 · GLY 글리신 풀
산-염기 HCO3 · PACO2 · BBB 뇌 완충염기 · BBT 근육 완충염기 · LAC · KET · FATIG 호흡근 피로
전해질·용적 KBAL 칼륨 수지 · VECF 세포외액
독성역학 TCORE 체온 · GLUB 뇌 포도당 · LUNG 폐손상 · CNSI 누적 중추신경 노출

핵심 대수식 세 개는 mrgsolve $GLOBAL과 Python에 동일한 알고리즘으로 구현되어 있다.

  1. freeSal() — 2종 알부민 결합 부위의 Newton 해
  2. phIntra() — 완충염기 + 비-중탄산 완충능으로부터 세포내 pH를 푸는 Newton 해
  3. phUrine() — 요 중탄산 농도로부터 요 pH

6. 무엇을 맞췄고 무엇을 예측했는가

보정(fitted) — 정상 또는 치료 용량 자료에만 맞춤

  • 2종 알부민 결합 (fu 8.5% @150, 29% @500, 43% @800 mg/L)
  • Levy의 용량제한 대사 (살리실루르산 Vmax/Km, 페놀성 글루쿠로나이드) → 650 mg 단회 t½ 3.6 h, 3.9 g/day 정상상태 202 mg/L
  • 세뇨관 비이온 역확산 상수 (치료 용량에서 산성뇨 미변화 배설분율 1–6%)
  • 세포내 완충능 (급성 PaCO₂ 변화에 뇌 pHi가 방어된다는 ³¹P-MRS 관찰)

예측(predicted) — 어떤 것도 여기에 맞추지 않았다

  • 과량에서 t½ 37 h, 겉보기 Vd 0.11 → 0.32 L/kg 증가
  • 먼저 호흡성 알칼리증, 나중에 혼합 장애 (6시간 pH 7.51, PaCO₂ 24 mmHg)
  • 삽관 재앙과 그때 혈장 농도가 오히려 내려가는 현상
  • 칼륨 10시간 지연
  • 혈당이 정상인데 뇌 포도당이 0.43 mmol/L로 떨어지는 저포도당뇌증
  • Done 노모그램의 오분류 패턴

7. 검증이 잡아낸 결함 (defects the verification found)

Python 재구현은 장식이 아니라 네 개의 실질적 오류를 잡아냈고, 둘 다 고쳤다.

  1. 뇌 세포내 pH를 고정된 세포내 중탄산으로 계산하고 있었다. 그러면 급성 고탄산혈증이 혈장 pH만큼 뇌 pH도 떨어뜨려 분배 효과가 통째로 사라진다. 완충염기 + 완충능 방식으로 바꾼 뒤에야 이 모델의 중심 실험이 성립했다.
  2. 단일 부위 알부민 결합은 800 mg/L에서 유리분율 64%까지 포화되어, 산혈증이 더 밀어낼 자리가 남지 않았다. 2종 부위로 재적합.
  3. 유지 수분 섭취항이 없어서 모든 장기 시뮬레이션이 가짜 수축성 산증으로 끝나고 GFR이 하한에 붙었다 (만성 시나리오가 전부 무의미했다).
  4. 적정 없는 중탄산 주입은 혈장 HCO₃를 45 mmol/L까지 올려 칼륨 실패 모드를 완전히 가렸다. 동맥혈 pH 상한(7.60)에서 주입을 멈추는 임상 규칙을 넣자 칼륨 의존성이 제대로 드러났다.

8. 한계 (stated, not hidden)

  • 이 모델의 핵심 변수인 뇌 농도는 살아 있는 사람에게서 측정된 적이 없다. 동물 분배 실험(Hill 1971 · PMID 5089754)과 약산의 pH 물리학으로 계산했을 뿐, 임상 결과에 맞춰 보정하지 않았다.
  • 반증 가능한 예측은 방향과 크기다: PaCO₂ 변화 직후 혈장(−28%)과 뇌(+12%)가 서로 반대로 움직이고, 24시간에는 뇌가 +21%가 된다.
  • 요 알칼리화 대비 지지요법의 청소율 이득(11배)은 비교 대상(지지요법 환자의 요 pH·요량)에 민감하다. 문헌의 "10–20배"는 대개 탈수·산성뇨 환자와의 비교다.
  • 신세뇨관 분비(OAT1/3)는 지도에는 있으나 ODE에서는 여과·역확산에 흡수시켰다.
  • 소아 파라미터(체중 스케일링 외), 임신, 투석막 종류별 청소율 차이는 다루지 않는다.

9. 실행 (Running)

# 기계론적 지도 렌더링
dot -Tsvg sal_qsp_model.dot -o sal_qsp_model.svg
dot -Tpng -Gdpi=150 sal_qsp_model.dot -o sal_qsp_model.png

# 독립 검증 (Python)
pip install numpy scipy
python3 sal_verify_python.py            # 54/54 통과 리포트

# mrgsolve 모델
R -e "source('sal_mrgsolve_model.R'); print(summarise_scenario(run_scenario('S07')))"

# Shiny 대시보드
R -e "shiny::runApp('sal_shiny_app.R', port = 8080)"

10. 시나리오 (14 scenarios)

ID 내용
S01 치료 용량 아스피린 650 mg q4h × 5일
S02 급성 30 g, 지지요법(수액)만
S03 급성 30 g, 수액 없음 — 신장 청소율 붕괴
S04 급성 30 g + 생리식염수 이뇨 250 mL/h
S05 급성 30 g + NaHCO₃ + 칼륨 (표준 치료)
S06 급성 30 g + NaHCO₃, 칼륨 없음
S07 급성 30 g, 8시간에 통상 PaCO₂로 삽관
S08 급성 30 g, 8시간에 분당환기량 일치 삽관
S09 급성 30 g + NaHCO₃, 6시간에 혈액투석
S10 급성 30 g + NaHCO₃, 18시간으로 투석 지연
S11 장용정 30 g + 45% 결석, 다회 활성탄
S12 만성 살리실산증: 1.3 g q6h, 80세, GFR 60, 알부민 28
S13 급성 30 g + 아편유사제 병용 (호흡 구동 45% 억제)
S14 급성 30 g + NaHCO₃ + 포도당 (혈당 11 mmol/L)

11. 참고문헌

sal_references.md — 83개 항목, 18개 절로 분류. 모든 PMID는 PubMed E-utilities로 조회해 확인했으며, 확인하지 못한 2편은 17절에 따로 분리해 두었다. [CAL]은 파라미터를 맞춘 근거, [VAL]은 맞추지 않고 검증한 근거다.

핵심 문헌 다섯 편:

  • Palmer BF, Clegg DJ. Salicylate Toxicity. N Engl J Med 2020 — PMID 32579814
  • Hill JB. Experimental salicylate poisoning: effects of altering blood pH on tissue and plasma salicylate. Pediatrics 1971 — PMID 5089754
  • Levy G. Pharmacokinetics of salicylate elimination in man. J Pharm Sci 1965 — PMID 5862532
  • Stolbach AI, et al. Mechanical ventilation was associated with acidemia in salicylate-poisoned patients. Acad Emerg Med 2008 — PMID 18821862
  • Juurlink DN, et al. EXTRIP recommendations for salicylate poisoning. Ann Emerg Med 2015 — PMID 25986310

⚠️ 면책: 교육·연구 목적의 QSP 모델입니다. 독립적으로 검증·인증되지 않았으며 실제 임상 의사결정, 처방, 규제 제출에 사용해서는 안 됩니다.