CASE STUDY / 02MEDICAL AI · TRANSFER SUPPORT
02 — VISION DEMO / VITALS MODEL

MEDI-
MATRIX

의료영상과 Vitals를 하나의 Case Context로 정리하고, 실제 학습된 Vitals AI 신호에서 필요한 의료자원을 구조화해 Golden-Time의 병원 후보 탐색까지 연결한 비임상 의사결정 지원 프로토타입입니다.

TYPEPersonal Prototype
ROLEArchitecture · Backend · Security
STATUSVision demo / Vitals model
STACKFastAPI · React · PyTorch · Three.js · Supabase
Core question
영상·Vitals AI 신호를 어떻게 안전한 전원 후보 탐색으로 연결할 것인가?
Live Demo / 01

합성 의료영상을 실제 3D Viewer에서 확인합니다.

Vision 영역은 합성 NIfTI 입력을 검증한 뒤 Mesh로 변환해 브라우저에서 시각화하는 deterministic demo입니다. 아래 화면은 공개 Medi-Matrix 데모의 실제 3D Viewer 화면입니다.

Medi-Matrix 합성 의료영상이 3D Viewer에서 렌더링된 실제 데모 화면
01 / SYNTHETIC MEDICAL IMAGE → 3D VISUALIZATIONOpen live demo ↗
Problem

중증환자 전원에는 모델 점수만으로 부족합니다.

의료영상, 생체신호, 병원 수용 자원은 서로 다른 시스템과 형식에 흩어져 있습니다. Medi-Matrix는 이를 하나의 Case Context로 묶고 AI Risk를 해석 가능한 근거와 전원 자원 조건으로 변환한 뒤, 실제 공개 응급의료 자원 탐색으로 이어지는 흐름을 구현했습니다.

System flow

Imaging + Vitals → AI Risk → Required Resources → Hospital Candidates

CASEGRUTRANSFER BRIEFGOLDEN-TIME
[VISION] synthetic / deterministic demo[VITALS] vitals_gru_challenge2019_v1 · model[HANDOFF] transfer_resources_v1[BOUNDARY] clinical_use=false
Vitals AI

PhysioNet 2019 실제 ICU 시계열로 Causal GRU를 학습했습니다.

HR, SBP, DBP, Resp, Temp, SpO2와 관측 여부·recency·시간 특성을 결합한 19개 feature를 사용하고, 공식 SepsisLabel을 대상으로 patient-level stratified split에서 평가했습니다.

0.7946Held-out test AUROC
0.3451Challenge Utility
0.0950AUPRC
0.5996Validation-selected threshold
서비스 통합 후보는 Challenge Utility와 AUROC를 기준으로 검토해 GRU를 사용했습니다. 이 결과는 비임상 연구용이며 진단 성능이나 임상 유효성을 의미하지 않습니다.
Inference boundary

Vision과 Vitals의 검증 수준을 같은 것으로 표현하지 않습니다.

Vision

공개 Vision 입력과 결과는 합성 데이터 기반 synthetic/deterministic demo입니다. 실제 임상 segmentation 성능을 주장하지 않습니다.

Vitals

공개 배포는 VITALS_INFERENCE_MODE=model에서 vitals_gru_challenge2019_v1 PyTorch 모델을 로드하고 실제 추론합니다. model provenance와 clinical_use=false를 WebSocket payload와 UI에 전달합니다.

Live Demo / 02

영상 입력과 Vitals를 하나의 화면에서 연결합니다.

아래 두 장은 공개 데모의 실제 입력·모니터링 화면입니다. 스크린샷 자체를 모델 성능 증거로 사용하지 않고, 실제 Vitals GRU provenance는 Production E2E에서 별도로 검증합니다.

IMAGEVITALSMONITOR
Medi-Matrix에서 3D 의료영상과 Vitals 업로드가 완료된 실제 화면
02 / IMAGE + VITALS → MULTI-MODAL INPUT
Medi-Matrix에서 HR, BP, Resp, Temp, SpO2를 모니터링하는 실제 화면
03 / VITALS REPLAY → LIVE MONITORING
Grounded transfer support

AI score를 자유 생성 문장이 아니라 구조화된 행동 지원 정보로 바꿨습니다.

Grounded AI Transfer Brief는 현재 GRU probability, model ID, validation threshold, inference provenance를 결정론적으로 연결합니다. 이어서 Triage와 modality를 바탕으로 ICU, CT/MRI, neurosurgery, neurology 같은 필요한 의료자원을 구조화합니다.

LLM이 임의로 진단을 만들어내는 구조가 아닙니다. below-threshold 역시 “안정”이나 “전원 불필요”로 해석하지 않도록 경계를 명시했습니다.
Decision / Triage

모델 신호를 비임상 Triage 정책과 분리해 보여줍니다.

아래 화면은 현재 Production 샘플 Case에서 캡처한 실제 Triage 상태입니다. Triage와 자원 매핑은 임상 기준이 아닌 데모 정책이며 자동 진단이나 전원 지시를 의미하지 않습니다.

Medi-Matrix Production 샘플 Case의 현재 Triage 상태가 표시된 실제 화면
04 / AI RISK CONTEXT → CURRENT TRIAGE STATEDEMO POLICY · NOT CLINICAL DIAGNOSIS
Golden-Time handoff

transfer_resources_v1로 자원 기반 후보 탐색까지 연결했습니다.

Medi-Matrix는 allowlisted capabilities와 specialties를 Golden-Time으로 전달합니다. Golden-Time은 E-Gen 기반 병원 자원 정보의 응급실 병상, ICU, CT/MRI, 진료과 적합성을 후보 탐색과 랭킹에 반영합니다.

PASSES

triage · resourceContract · capabilities · specialties · nonclinical markers

EXCLUDES

JWT · access token · patient ID · mesh ID · Signed URL

Candidate search, not automatic transfer. 이 연결은 자동 최적 병원 결정이나 임상 전원 지시가 아니라 공개 의료자원을 이용한 후보 탐색/우선순위 지원입니다.
Action / Demo Evidence

현재 Triage에서 Golden-Time 병원 후보 탐색으로 이어집니다.

현재 Production Triage 상태에서 필요한 자원 조건을 확인하고 Golden-Time 탐색으로 이어지는 실제 화면입니다.

Medi-Matrix 현재 Triage 상태에서 Golden-Time 병원 후보 탐색으로 연결하는 실제 Production 화면
05 / TRIAGE CONTEXT → GOLDEN-TIME HOSPITAL SEARCHOpen Golden-Time ↗

전달받은 쪽에서는 실제로 이렇게 후보가 나옵니다. 아래는 서울 좌표로 실행한 Golden-Time 공개 화면입니다.

Golden-Time 검색 결과 실제 화면. 총 164개 병원 검색됨 중 10개 표시, 서울성심병원 49분 6.6km 응급실 가용병상 17, 포천우리병원 99분 32.7km 응급실 가용병상 16, 검단탑병원 99분 27.2km 응급실 가용병상 18, 각 카드에 E-Gen 실시간 응급의료 가용자원 갱신 시각 표시
06 / GOLDEN-TIME 후보 탐색 결과 · 164곳 중 상위 10곳Live E-Gen
다른 시도까지 후보에 들어옵니다. 서울 좌표 한 번의 실행에서 100km 안에 걸리는 시도 8곳을 병렬 조회해 후보 164곳을 모았고, 2위로 경기도 포천시 병원이 올라왔습니다. 병상 수 옆의 갱신 시각은 E-Gen 실시간 가용자원 기준입니다.
Browser context handoff · Not clinical referral. 민감 식별정보나 인증 토큰은 전달하지 않으며, 구조화된 비임상 자원 조건만 브라우저 수준 handoff로 전달합니다.
Production E2E

배포 환경에서 모델 provenance부터 Golden-Time 수신까지 검증했습니다.

Sample Case → authenticated demo bootstrap→ WebSocket → real Vitals GRU provenance→ AI Risk UI → Grounded Transfer Brief→ structured transfer resources→ Golden-Time popup → transfer context receipt
Production smoke는 inference_mode=model, model_id=vitals_gru_challenge2019_v1, clinical_use=false, resourceContract=transfer_resources_v1을 검증합니다. 라이브 병원 카드 하나의 실제 자원 일치까지 고정 assertion한 것은 아니며 resource-fit 로직은 Golden-Time 테스트에서 별도 검증합니다.
Security

의료 파일과 결과 URL을 신뢰하지 않았습니다.

  • 50MB 업로드 상한, allow_pickle=False, object dtype·비정상 차원·NaN/Inf 차단
  • Supabase Auth JWT와 Private Storage, 사용자별 파일 경로 격리
  • 만료형 Signed URL을 통한 결과 접근
  • 익명 공모전 Demo Session도 정식 JWT를 사용하고 인증/격리를 우회하지 않음
  • Golden-Time handoff에 인증·식별·스토리지 민감값을 전달하지 않음
Model → System → Action

관련 연구와 현재 시스템, 독립 제품의 경계를 분리했습니다.

02 / SYSTEMCURRENT PROTOTYPE

Medi-Matrix

Vision demo + 실제 Vitals GRU + Transfer Brief + 구조화된 전원 자원을 하나의 Case 흐름으로 연결합니다.

Vision: demo · Vitals: modelOpen live demo ↗
03 / ACTIONCONNECTED PRODUCT

Golden-Time

독립 응급의료 탐색 서비스로, 전달받은 자원 조건을 E-Gen 기반 후보 탐색과 랭킹에 반영합니다.

Live product ↗
Troubleshooting

데모 결과가 실제 모델 결과처럼 보이는 문제를 막았습니다.

데모와 실제 모델의 구분

증상 공개 배포에서 Vision은 합성 데모이고 Vitals는 실제 GRU인데, 화면에서는 같은 수준의 결과로 보였습니다. 해결 추론 출처(provenance)를 분리해 화면에 표시하고, 모델 모드에서는 근거 없는 ARDS·shock 확률을 만들어 내지 않게 막았습니다.

실시간 triage 변화 중 응급 모달

증상 실시간 triage 문구가 바뀔 때 열어 둔 CODE RED 모달의 상태 표시가 흔들리거나 닫혔습니다. 해결 모달 수명주기를 부모 컴포넌트가 제어하게 바꾸고, RED 에피소드가 끝났을 때만 닫히게 했습니다.

Learning

의료 AI에서는 모델 성능과 제품 경계를 함께 보여줘야 합니다.

Vision demo, 실제 Vitals model, 비임상 Triage 정책, 병원 후보 탐색을 각각 검증 가능한 수준으로 분리하면서도, 실제 서비스 화면은 숨기지 않고 증거로 함께 보여주는 방향으로 정리했습니다.

NEXT CASE STUDYMEDICAL INSIGHT LAB↗