지연성 뇌허혈(DCI)을 "지주막하 혈액 → 혈관경련 → 허혈"의 사슬로 놓지 않고, 하나의 세동맥 확장 예비능(vasodilatory reserve)을 네 소비자가 나눠 쓰는 구조로 놓는다. 그러면 클라조센탄이 혈관조영상 혈관경련을 65% 줄이고도 3개월 결과를 전혀 바꾸지 못한 이유가 가정이 아니라 계산 결과로 나온다.
| # | 사실 | 사슬 서술의 문제 |
|---|---|---|
| i | 클라조센탄은 중등–중증 혈관조영 경련을 약 65% 줄이지만(CONSCIOUS-1) 결과를 바꾸지 못한다(CONSCIOUS-2/3) | 사슬이 맞다면 결과도 따라와야 한다 |
| ii | 니모디핀은 혈관조영상 구경을 거의 바꾸지 않는데도 결과를 개선하는 유일한 약이다 | 사슬의 방향과 반대다 |
| iii | 혈관조영 경련 없이 생기는 DCI가 있고, 중등–중증 경련 환자의 3분의 2는 DCI가 없다 | 사슬이 일대일이 아니다 |
| iv | 유도 고혈압·밀리논은 어떤 환자에서 듣고 어떤 환자에서 안 듣는다(HIMALAIA 무효) | 사슬에는 환자별 조건이 없다 |
뇌혈관 저항을 직렬 3요소로 쪼갠다.
R_large 전도동맥. 단, r⁻⁴ 를 따르는 것은 경련 구간(FSEG = 0.33)뿐이다
RA 세동맥. 유일하게 조절 가능한 요소. RA0 0.85 → RAmin 0.20
R_micro 미세혈관 + 모세혈관
자동조절: RA_desired = CPP/CBF_target − R_large − R_micro
RA = AREG·clamp(RA_desired) + (1−AREG)·RA0
CBF = CPP / (R_large + RA + R_micro)
예비능 = RA0 − RAmin = 0.65 저항단위
이 하나의 예비능을 넷이 나눠 쓴다.
| 소비자 | 무엇이 먹는가 | 관찰 가능성 |
|---|---|---|
| C1 대혈관 경련 | ΔR_large | 혈관조영·TCD가 보는 유일한 것 |
| C2 미세혈관 긴장 | 페리사이트·세동맥 수축 | 보이지 않음 |
| C3 모세혈관 미세혈전 | 모세혈관 탈락 | 보이지 않음 |
| C4a 관류압 손실 | ICP↑ / MAP↓ | 보임(그러나 약의 부작용으로 생긴다) |
| C4b 확산성 탈분극 | 예비능 요소 자체를 수축시킨다(역 신경혈관 결합) | 침습적 ECoG만 |
한 소비자에서 종말점으로 가는 사상(mapping)은 비선형이고 문맥 의존적이다. 같은 33% 구경 감소가, 예비능이 온전한 환자에서는 무해하고 이미 미세혈전에 예비능을 써버린 환자에서는 경색을 만든다. 한 소비자를 막는 약은 그 소비자가 마침 한계 소비자(marginal consumer)였던 부분집합에서만 듣는다. 이것이 약이 혈관조영을 이기고 임상시험에 지는 구조적 이유다.
Jespersen & Østergaard의 통과시간 이질성(CTH) 이론을 그대로 넣는다.
CTH = (RMIC − 1) + 2.5·MTHR
OEFmax = 0.85 / (1 + 1.75·CTH)
ISCH = 1 − DO2·OEFmax / CMRO2, DO2 = CBF × CaO2
균질한 혈관망에서 충분했던 CBF가 막힌 혈관망에서는 충분하지 않다. 이 항 때문에 미세혈전과 페리사이트 긴장이 1급 소비자가 되고, 빈혈(CaO2)과 발열(CMRO2)이 혈관경련과 정확히 같은 노드로 들어온다.
모델 어디에도 "4일" 스위치가 없다. 시간창은 전이 사슬과 유도성 싱크의 합성곱이다.
CLOT --k_mat 0.25--> RBCL --k_hem 0.23--> OXYHB --(HP · CD163 · HO-1 · CSF)-->
↑ 적혈구가 먼저 용혈에 들어가야 한다 = 지연
↑ HO-1은 유도성, t½ 1.9 d = 지체
여기서 두 가지가 바로 따라 나온다. 출혈량이 많으면 정점이 더 이르고 더 높다. 그리고 CSF 배액은 효과기를 막는 것이 아니라 입력 함수를 절단한다 — 구조적으로 다른 개입이며, 하류 차단제와 교환 가능하지 않다.
아래 숫자는 전부 sah_reference_check.py
(numpy/RK4 독립 구현, 가상환자 900명, dt 0.01일)가 산출한 것이고 전체 출력은
sah_reference_check_output.txt에 그대로 있다.
| 지표 | 값 |
|---|---|
| corr(최대 구경 감소, 최종 경색 용적) | r = 0.363, r² = 0.132 |
| corr(최고 TCD 유속, 최종 경색 용적) | r = −0.023, r² = 0.001 |
| 중등–중증 경련이 있으나 DCI가 없는 환자 | 그런 환자의 63.9% |
| 중등–중증 경련 없이 생긴 DCI | 전체 DCI의 10.9% |
TCD 유속이 경색과 사실상 무상관인 것은 우연이 아니다. 유속은 Q/A 이므로
심하게 경련하고 심하게 저관류된 혈관은 오히려 낮게 읽힌다. 진단 성능도 그대로
갈린다.
| 검사 | 민감도 | 특이도 |
|---|---|---|
| TCD > 120 cm/s | 66.4% | 39.3% |
| TCD > 160 cm/s | 13.4% | 84.9% |
| TCD > 200 cm/s | 0.8% | 98.9% |
| PbtO2 < 20 mmHg | 95.0% | 60.0% |
| PbtO2 < 15 mmHg | 82.4% | 84.9% |
PbtO2가 이기는 이유는 그것이 공유 노드 자체를 재기 때문이다. TCD는 네 소비자 중 하나만, 그것도 흐름에 교란된 형태로 본다.
| 일 | 대혈관 | 미세긴장 | 미세혈전 | CPP | SD | 총수요/예비능 |
|---|---|---|---|---|---|---|
| 2 | 29.8% | 23.8% | 3.0% | 39.9% | 3.5% | 0.24 |
| 4 | 61.8% | 18.0% | 5.0% | 13.3% | 1.9% | 0.73 |
| 6 | 70.9% | 12.0% | 6.2% | 7.9% | 2.9% | 1.27 |
| 8 | 70.3% | 9.4% | 7.4% | 6.9% | 6.1% | 1.54 |
| 10 | 67.4% | 8.2% | 8.5% | 7.1% | 8.9% | 1.58 |
| 14 | 60.3% | 7.3% | 10.4% | 8.9% | 13.1% | 1.34 |
대혈관은 확실히 가장 큰 소비자다. 그러나 전 뇌혈관 저항 중 경련 구간의 몫은 0일 15.0% → 6일 37.3% 이고, 나머지 63%는 다른 곳에 있다. 그리고 "가장 큼"과 "막으면 종말점이 움직임"은 같은 말이 아니다 — 그것이 다음 표다.
| 개입 | DCI% | DCI RR | 불량결과 RR |
|---|---|---|---|
| 표준치료 (기준) | 26.4 | 1.00 | 1.00 |
| 완벽한 대혈관 차단(비현실적) | 9.2 | 0.35 | 0.61 |
| 완벽한 미세긴장 차단 | 15.2 | 0.58 | 0.76 |
| 완벽한 미세혈전 차단 | 9.1 | 0.34 | 0.59 |
| 완벽한 SD 차단 | 23.2 | 0.88 | 0.87 |
| 자동조절능 보존 | 19.2 | 0.73 | 0.82 |
| 대혈관 + 미세혈전 동시 | 0.0 | 0.00 | 0.42 |
| 네 소비자 전부 완벽 차단 | 0.0 | 0.00 | 0.42 |
| 실제 클라조센탄 15 mg/h | 16.6 | 0.63 | 1.07 |
두 가지가 여기서 나온다.
(a) 결과 종말점의 천장. DCI를 0%까지 완전히 없애도 불량 결과는 기저의 41.8%까지만 내려간다. 남는 58%는 초기 뇌손상(EBI)과 비-DCI 채널이다. 이것이 DCI를 표적으로 하는 어떤 약에도 걸려 있는 하드 실링이다 — 시험이 왜 자꾸 실패하는지에 대한 정량적 답.
(b) 완벽함과 실제 사이의 간격. 대혈관 소비자를 완벽히 없애면 결과 RR 0.61이다. 클라조센탄은 같은 소비자를 부분적으로 없애고 결과 RR 1.07을 낸다. 그 간격이 중복성 + 위해 채널이다.
경로 두 개를 동시에 막는 실험은 상가 이하(sub-additive) 로 나왔다(단독 0.651 + 0.655 = 1.307 vs 동시 1.000). 완벽 차단은 하나만으로도 DCI의 대부분을 없애기 때문에 천장에 부딪힌다. 즉 이 모델에서 단일 표적이 실패하는 이유는 "경로가 상승작용해서"가 아니라 실제 약이 완벽 차단에 한참 못 미치고, 종말점에는 DCI 밖의 천장이 따로 있어서다.
중등–중증 혈관조영 경련 65.3% → 21.6% (RR 0.33 ; CONSCIOUS-1 목표 0.35)
최대 구경 감소(중앙값) 37% → 25%
DCI 26.4% → 16.6% (RR 0.63)
불량 결과 29.5% → 31.6% (RR 1.07 ; CONSCIOUS-2 목표 ~1.05)
반사실(counterfactual): 위해 채널만 끄면 불량 결과 18.6% (RR 0.63)
즉 혈관조영 효과는 진짜이고, 종말점 효과는 먼저 중복성에, 다음으로 위해 채널에 먹힌다. 위해 채널은 세 갈래로 같은 노드에 들어간다: 수액 정체 → 폐부종 → PaO2↓, 저혈압 → CPP↓, 혈액희석 → CaO2↓. 마지막 것이 특히 조용하다 — 산소 함량을 깎는 것은 저항을 건드리는 것과 정확히 같은 효과다. 모델의 수액 정체 부담은 중앙값 0.00 → 0.75 (IQR 0.47–1.15)로 올라가고, 임계값을 1.50으로 잡으면 13.6%가 넘는다.
| 층 | oxyHb 정점 | ET-1 정점 | 구경 최저점 | 허혈 정점 |
|---|---|---|---|---|
| 전체 | 3.0일 (0.33 RU) | 5.7일 | 8.5일 (38% 감소) | 11.2일 |
| mFisher 1-2 | 3.3일 (0.21 RU) | 6.0일 | 8.5일 (31%) | 12.2일 |
| mFisher 3-4 | 2.9일 (0.38 RU) | 5.6일 | 8.5일 (40%) | 11.0일 |
| Hp1-1/1-2 | 3.0일 (0.31 RU) | 5.8일 | 8.5일 (37%) | 11.5일 |
| Hp2-2 | 2.9일 (0.36 RU) | 5.6일 | 8.5일 (39%) | 11.0일 |
예측대로 출혈량이 많으면 더 이르고 더 높다. 층별 DCI 발생률:
- modified Fisher: mF1 2.3% · mF2 11.9% · mF3 18.0% · mF4 50.0%
- Hp 유전형: Hp1-1/1-2 25.8% vs Hp2-2 27.7%
- 자동조절능 3분위: 하위 34.3% · 중위 26.3% · 상위 18.7%
| 층 | n | DCI |
|---|---|---|
| Hb < 10 g/dL | 47 | 48.9% |
| Hb 10–13 | 479 | 29.6% |
| Hb ≥ 13 | 374 | 19.5% |
빈혈군만 수혈하면 DCI 48.9% → 42.6% (RR 0.87). 혈관을 하나도 건드리지 않고 얻은 값이다.
니모디핀 없음 : 경련 72.9% DCI 34.4% 불량결과 36.8% (4-11일 평균 CPP 85.4)
경구 니모디핀 : 경련 65.3% DCI 26.4% 불량결과 29.5% (CPP 82.7) RR 0.80
정주 니모디핀 : 경련 65.0% DCI 30.7% 불량결과 32.8% (CPP 76.3) RR 0.89
노출은 사실상 같고(Css 약 48 ng/mL), 경련 감소도 같다. 갈리는 것은 CPP 하나다. 같은 약, 같은 표적, 다른 노선 — 그리고 다른 결론.
| 시나리오 | 경련(≥33%) | DCI | 불량결과 RR |
|---|---|---|---|
| 실로스타졸 100 mg bid | 59.0% | 13.1% | 0.69 |
| 조기 요추 배액 | 52.3% | 16.2% | 0.74 |
| 척수강내 니카르디핀 삽입물 | 17.9% | 11.0% | 0.66 |
| 유도 고혈압 (MAP +20) | 65.3% | 18.1% | 0.90 |
| 밀리논 0.5 µg/kg/min | 57.8% | 18.3% | 0.82 |
| 케타민 (SD 억제) | 65.3% | 24.1% | 0.87 |
| 심바스타틴 40 mg | 63.4% | 24.1% | 0.96 |
| 클라조센탄+실로스타졸+배액 | 8.4% | 3.1% | 0.80 |
마지막 행이 CLAIM 1의 마무리다. 세 경로를 동시에 치면 DCI는 26.4% → 3.1% 로 떨어지는데 불량 결과는 20%만 개선된다 — 다시 그 천장이다.
- TCD > 120 cm/s: 중앙값 3.4일 · PbtO2 < 20 mmHg: 2.9일 · 경색 시작: 6.4일
- 저나트륨혈증 < 135 mmol/L 30.1% · < 130 mmol/L 4.6%
- 누적 SD 횟수 중앙값 6회 (DCI군 65회 vs 비DCI군 4회)
- 자동조절능 최저값 중앙값 0.59 (DCI군 0.33 vs 비DCI군 0.67)
| 파일 | 내용 |
|---|---|
sah_qsp_model.dot |
기계론적 지도 소스 (22 클러스터 · 221 노드 · 339 엣지문) |
sah_qsp_model.svg / .png |
렌더링 (150 dpi) |
sah_mrgsolve_model.R |
mrgsolve QSP 모델 — 39 ODE (8 PK/노출 + 31 질환·혈역학·손상), 15 시나리오, 12 분석함수 |
sah_shiny_app.R |
Shiny 대시보드 8탭 (예비능 게이지 · PK · 헤모글로빈 시계 · 4개 소비자 · 관류/산소 · 엔드포인트 · 시나리오 · 모니터링) |
sah_references.md |
참고문헌 89편, PMID 전부 PubMed E-utilities로 검증 |
sah_reference_check.py |
독립 numpy/RK4 전사 구현. 위 모든 숫자를 산출 |
sah_reference_check_output.txt |
위 스크립트의 전체 출력 (그대로 커밋) |
| 묶음 | 상태 |
|---|---|
| 약물 PK/노출 (8) | NIMG · NIMC · CLAZ · CILO · STAT · MILRC · NICA · KETA |
| 혈액·헤모글로빈 (8) | CLOT · IVH · RBCL · OXYHB · HP · HEME · HO1 · BOX |
| 효과기 (6) | ET1 · NOB · ROS · RHOK · INFL · PAI |
| 혈관 역학 (5) | SPASM · STRUCT · RMIC · MTHR · AREG |
| 확산성 탈분극 (3) | SDSUS · SDBUR · SDCUM |
| 관류·손상 (7) | EDEMA · HYDRO · ICP · MAP · OGD · INFVOL · EBI |
| 전신 (2) | NAS · FLUID |
S1 지지요법만 · S2 경구 니모디핀(표준) · S3 정주 니모디핀 · S4/S5 클라조센탄 15 / 5 mg/h · S6 실로스타졸 · S7 심바스타틴 · S8 조기 요추 배액 · S9 척수강내 니카르디핀 · S10 유도 고혈압 · S11 밀리논 · S12 케타민 · S13 수혈 · S14 3제 병용 · S15 전체 스택
| 항목 | 목표 | 모델 |
|---|---|---|
| 중등–중증 혈관조영 경련 (대조군) | 약 66% | 65.3% |
| DCI 발생률 | 약 30% | 26.4% |
| 불량 결과 mRS 4-6 (90일) | 30–35% | 29.5% |
| 저나트륨혈증 < 135 | 30–50% | 30.1% |
| 클라조센탄 RR 중등–중증 경련 | 0.35 | 0.33 |
| 클라조센탄 RR 불량 결과 | 약 1.05 | 1.07 |
| 니모디핀 RR 불량 결과 | 0.67 | 0.80 |
| 실로스타졸 RR DCI | 0.47 | 0.50 |
| 심바스타틴 RR 불량 결과 | 약 1.00 | 0.96 |
| 요추 배액 RR 불량 결과 | 0.76 | 0.74 |
- 니모디핀의 결과 개선폭이 얕다. RR 0.80 대 Cochrane 0.67. 방향은 맞고 크기가 작다. 모델에서 니모디핀의 이득은 미세혈관·SD·경색전환 경로로만 들어가는데, 문헌의 0.67에는 이 모델이 담지 않은 성분이 포함되어 있을 수 있다.
- 혈관조영 경련 없는 DCI가 적다. 10.9% 대 문헌 20–30%. 미세혈전·SD 경로를 더 키우면 맞출 수 있으나 전체 DCI 발생률이 목표를 넘는다. 발생률을 맞추는 쪽을 택했다.
- "임의의 혈관경련(≥25% 감소)"이 85.4%로 높다. 문헌의 60–70%와 어긋나는데, 이는 모델이 가장 심하게 영향받은 영역 하나를 대표 구획으로 삼기 때문이다. 임상시험 정의와 맞추는 지표는 ≥33%(중등–중증)이며 그것은 65.3%로 일치한다.
- modified Fisher 양극단이 벌어져 있다. mF1 2.3%(문헌 약 6–12%), mF4 50.0%(문헌 약 35–40%). 순서는 단조롭게 맞지만 기울기가 급하다.
- 저나트륨혈증 < 130 이 낮다. 4.6% 대 문헌 10–20%.
- 가설이 재현되지 않은 항목 — 유도 고혈압의 자동조절 의존성. 모델을 만들 때 "압력 수동(AREG 낮음) 환자에서만 유도 고혈압이 듣는다"를 예측했는데 계산은 반대로 나왔다(유도 고혈압 DCI RR: 자동조절 손상군 0.73 vs 온전군 0.62; 밀리논은 0.75 vs 0.60). 이 구조에서는 MAP 상승이 언제나 CPP와 최대 달성 가능 혈류를 올리고, 자동조절 손상군은 애초에 여유가 적어 상대 이득이 작다. HIMALAIA 무효를 자동조절 층화로 설명하려는 가설은 이 모델에서 지지되지 않는다 — 실패한 예측으로 남긴다.
- 위해 채널을 폐 합병증 발생률로 읽어서는 안 된다. FLUID에 개인별 감수성을 넣었지만(클라조센탄군 중앙값 0.75, IQR 0.47–1.15) 임계값을 임상 폐 합병증률 (CONSCIOUS-2 약 8% vs 3%)에 맞춰 보정하지는 않았다. 위해 항의 크기는 CONSCIOUS-2의 결과 무효를 재현하도록 맞춘 것이며, 폐부종 발생률 자체의 예측에는 쓸 수 없다.
- 비-DCI 경색(수술 관련·EBI 관련)을 별도 상태로 두지 않았다. 경색 용적은 DCI 경로만 채운다. 결과 로짓의 EBI 항이 그 몫을 대신 담고 있다.
# 지도
dot -Tsvg sah_qsp_model.dot -o sah_qsp_model.svg
dot -Tpng -Gdpi=150 sah_qsp_model.dot -o sah_qsp_model.png
# 위 README의 모든 숫자 (numpy만 필요, 약 10분)
python3 sah_reference_check.py
# mrgsolve 모델
Rscript -e 'source("sah_mrgsolve_model.R"); print(sah_run_all(300)$scenarios)'
# 대시보드
Rscript -e 'shiny::runApp("sah_shiny_app.R")'교육·연구 목적의 반정량적 QSP 모델이다. 공개 문헌과 임상시험 데이터로 구성했으나 독립적으로 검증·인증되지 않았으며 임상 의사결정·처방·규제 제출에 사용해서는 안 된다. 파라미터는 설명을 위한 근사치이고, 특히 위 "어긋나는 지점" 8개 항목은 이 모델로 답해서는 안 되는 질문의 목록이다.
