예약 노쇼(No-show) 예측: 호주 클리닉에서 실제로 효과가 있는 방법
요약
의료 분야의 예약 노쇼(No-show) 예측을 위해 언어 모델 대신 XGBoost와 같은 그래디언트 부스팅 트리를 활용하는 실무적인 방법을 제시합니다. 정형 데이터 처리, 피처 엔지니어링, 그리고 자체 데이터 기반의 기본율 측정의 중요성을 강조합니다.
핵심 포인트
- 의료 노쇼 예측에는 LLM보다 정형 데이터에 강한 XGBoost가 효과적임
- 문헌의 노쇼율을 맹신하지 말고 자체 시스템의 기본율을 먼저 측정해야 함
- 임상 정보보다 물류 및 운영 관련 피처가 예측에 더 유용함
- 정확한 모델링을 위해 데이터 쿼리 및 인프라 구축이 선행되어야 함
현재 의료 분야의 AI에 관한 모든 대화는 언어 모델(Language models)에 집중되어 있습니다. 한편, 클리닉의 역량을 가장 확실하게 낭비하게 만드는 문제인 '예약 환자의 불참(No-show)'은 약 2015년부터 이미 존재해 온 기술, 즉 예약 기록 테이블에 대한 그래디언트 부스팅 트리(Gradient boosted trees)를 통해 가장 잘 해결될 수 있습니다.
우리는 현재의 AI 열풍이 불기 훨씬 전부터 PicNet에서 이러한 모델들을 구축해 왔습니다. 이 블로그의 XGBoost에 관한 오래된 게시물들은 여전히 AI 어시스턴트들에 의해 호출되곤 하는데, 이는 약간 재미있는 현상입니다. 왜냐하면 그 근저에 깔린 조언은 크게 변하지 않았기 때문입니다. 정형 데이터(Tabular data), 세심한 피처 엔지니어링(Feature engineering), 정직한 평가(Honest evaluation). 변한 것이 있다면, 이제 의료 서비스들이 이를 수행할 가치가 있을 만큼의 예약 이력과 보고 인프라를 갖추게 되었다는 점입니다. 이 포스트는 우리의 Practical AI in Health 시리즈의 일부이며, 의도적으로 유행을 따르지 않는 해답을 제시하는 편입니다.
모델링을 시작하기 전에 자체 기본율(Base rate)을 측정하십시오
가장 흔히 범하는 단 한 가지 실수는 문헌에 나온 노쇼율을 그대로 가정하는 것입니다. 호주의 예약 불참율은 서비스와 지역에 따라 엄청나게 다릅니다. 한 지역 의료 영상 부서는 13,458건의 예약 중 724건의 불참을 기록하여, 5.4%의 비율을 보였습니다. Mount Isa의 한 외과 외래 클리닉은 6,267건의 예약 중 18.3%의 불참율을 기록했습니다. 이 두 서비스는 완전히 다른 모델, 다른 임계값(Thresholds), 그리고 솔직히 말해 다른 비즈니스 케이스(Business cases)가 필요합니다.
출판된 벤치마크(Benchmarks)에도 이와 관련된 함정이 있습니다. 2010년부터 2025년까지의 노쇼(No-show) 모델링 논문 52편을 검토한 결과, 68%에서 로지스틱 회귀(Logistic regression)가 등장하며, 가장 우수한 모델들의 AUC는 0.75에서 0.95 사이였고, 상당수의 연구가 동일한 2015-16년 브라질 데이터셋(Sciencedirect)을 재사용하고 있다는 사실이 밝혀졌습니다. 만약 어떤 업체가 측정 대상 인구 집단(Population)을 명시하지 않은 채 정확도(Accuracy) 수치를 제시한다면, 해당 수치는 귀하의 환경에 적용되지 않는다고 가정하십시오.
따라서 첫 번째 단계는 모델을 만드는 것이 아닙니다. 그것은 귀하의 PAS(Patient Administration System) 또는 예약 시스템에 대해 지난 2~3년 동안의 클리닉별, 진료 형태(Modality)별, 의뢰 출처(Referral source)별, 그리고 월별 출석률을 산출하는 쿼리(Query)를 실행하는 것입니다. 만약 그 쿼리를 작성하기 어렵다면, 그것부터 먼저 해결하십시오. 또한 이는 비즈니스 케이스(Business case)를 구축하는 데 필요한 데이터이기도 합니다.
가치를 증명하는 피처(Features)
유용한 피처(Features)들은 임상적인 정보보다는 주로 물류 및 운영적인 정보들입니다. 아래에서 계속 언급될 MRI 배치 사례의 경우, 환자의 의학적 상태를 전혀 포함하지 않고 방사선 정보 시스템(Radiology information system)과 예약 시스템에서 직접 추출한 21개의 범주형(Categorical) 및 숫자형(Numeric) 필드를 사용했습니다 (AJR). 전형적인 형태는 다음과 같습니다:
- 예약과 진료 사이의 리드 타임(Lead time): 보통 가장 강력한 단일 신호입니다.
- 환자의 이전 출석 이력: 이전의 노쇼(No-show) 및 취소 횟수를 포함합니다.
- 예약이 재조정(Rescheduled)된 횟수
- 예약 요일, 시간 및 세션
- 진료 형태(Modality) 또는 시술 유형, 그리고 의뢰 부서 또는 의뢰 기관
- 예약 방식(Appointment modality): Mount Isa 코호트 연구에 따르면 전화 및 원격 의료(Telehealth) 상담은 더 높은 출석률과 연관이 있었습니다 (조정된 OR 0.57 및 0.62).
- 거리 구간 또는 Modified Monash Model 카테고리와 같은 이동 대리 지표(Travel proxy)
마지막 항목에 대해 두 가지 참고 사항이 있습니다. 거리는 실제로 불참(non-attendance)을 예측하며, 서비스에 도달하기가 얼마나 어려운지를 나타내는 척도이기도 합니다. Mount Isa 데이터에서 원주민(Indigenous) 상태는 조정된 오즈비(Adjusted OR) 3.72(95% CI 3.22 ~ 4.29)로 불참을 예측하는 가장 강력한 독립 변수였으며, 저자들은 이를 환자 개인의 문제가 아닌 체계적이고 물류적인 장벽 때문이라고 분석했습니다. 이러한 필드로 학습된 모델은 접근성의 불평등이 환자의 위험 요소라는 점을 기꺼이 학습하여 이를 위험 점수(risk score)로 사용자에게 제시할 것입니다. 이를 어떻게 활용할지 미리 결정하십시오. 왜냐하면 그 결정이 프로젝트가 형평성(equity)을 개선할지, 아니면 불평등을 고착화할지를 결정하기 때문입니다.
클래스 불균형(Class imbalance): 생각보다 적게 하세요
기본 비율(base rate)이 5%일 때, 본능적으로 SMOTE나 클래스 가중치(class weights)를 사용하고 싶어질 것입니다. 하지만 참으십시오. 불균형 교정에 대한 실제 환경에서의 평가 결과, 비용 민감 학습(cost-sensitive learning), 무작위 오버샘플링(random over-sampling) 및 언더샘플링(under-sampling), 그리고 SMOTE는 AUROC나 AUPRC를 개선하지 못했으며, 오히려 교정(calibration) 성능을 저하시키고 고위험군으로 분류되는 환자의 비율을 최대 62.8%까지 부풀리는 것으로 나타났습니다. 자연스럽게 학습된 모델이 임상적으로 유의미한 임계값(thresholds) 전반에 걸쳐 결정 곡선 분석(decision curve analysis)에서 가장 높은 순이익(net benefit)을 보였습니다 (medRxiv).
출력값이 용량 결정(capacity decision)에 사용되기 때문에 실제로 필요한 것은 교정(calibration)입니다. AUROC와 함께 AUPRC 및 Brier score, log loss와 같은 교정 지표를 보고하고, 운영 임계값(operating threshold)은 기본값인 0.5를 사용하는 대신 개입(intervention)의 비용 비율(cost ratio)에 따라 설정하십시오. 귀하의 수치를 사용하여 다음과 같이 구성할 수 있습니다:
# 저희 수치가 아닌, 귀하의 재무팀 수치
cost_of_reminder_call = 5.00 # 행정 업무 시간 몇 분
cost_of_empty_slot = 250.00 # 유휴 의료진 및 장비
...
실무에서 배포하는 임계값은 산술적인 계산이 아니라, 행정 팀이 하루에 수행할 수 있는 전화 횟수에 의해 결정됩니다. 이는 괜찮습니다. 예측 확률(predicted probability)에 따라 순위를 매기고, 서비스 가능한 상위 N명을 선택한 다음, N이 너무 적지는 않은지 확인하는 검증 수단(sanity check)으로 비용 비율을 사용하십시오.
좋은 정확도란 실제로 어떤 모습인가
17.4%의 노쇼(no-show)율을 보이는 32,957건의 예약 데이터를 바탕으로 XGBoost를 사용하여 구축된 외래 MRI 모델은 ROC AUC 0.746, 최적화된 F1 점수 0.708, 정밀도(precision) 0.606, 재현율(recall) 0.852를 달성했습니다 (AJR). 이는 데이터가 더 풍부한 연구들에서 인용되는 0.90 이상의 수치와는 거리가 멀지만, 그것만으로도 충분했습니다. 인간의 출석 행동은 노이즈가 많으며, 많은 변동 사항이 기록되지 않습니다. 예를 들어, 집까지 태워다 주기로 한 약속이 취소되거나, 근무 교대 시간이 바뀌거나, 안내문이 옛 주소로 발송되는 등의 상황이 발생합니다.
만약 여러분의 첫 번째 모델이 AUC 0.72에서 0.78 사이의 값을 기록한다면, 그것은 정상적이고 사용 가능한 모델입니다. 더 많은 피처(feature)를 추가하여 0.85를 쫓는 것은, 대개 점수가 생성된 이후에 일어나는 일들에 동일한 노력을 쏟는 것보다 가치가 떨어집니다.
모델은 시스템의 절반일 뿐이다
동일한 MRI 팀은 이 점수를 사용하여 예약을 순위화하고, 영업일 기준 하루 전에 상위 25%에게 전화 알림을 보내는 방식을 6개월 동안 실행했습니다. 모든 예약을 '출석' 또는 '노쇼'로 분류하려고 시도하지 않았습니다. 이러한 프레임워크(framing)가 중요한 이유는, 확률적인 출력을 실제로 전화를 거는 사람들을 위한 고정된 일일 작업 대기열(work queue)로 전환해주기 때문입니다.
어떤 개입(intervention)을 결합할지에 대해서는, 모델 트리거 개입에 대한 JAMIA 신속 검토(rapid review)가 현재 이용 가능한 가장 유용한 자료입니다. 해당 검토에서는 모델이 트리거하는 SMS 알림이 노쇼를 줄인다는 높은 확실성의 증거(중앙값 RR 0.91)를 발견했으며, 전화 통화(중앙값 RR 0.61)와 환자 내비게이터(RR 0.55)에 대해서는 중간 정도의 확실성을, 모델 기반의 오버부킹(overbooking)에 대해서는 불확실한 증거를 발견했습니다. 또한 동일한 검토에서 완전한 비용 효과성 분석(cost-effectiveness analyses)이 거의 없고, 공식적인 수용성 평가도 없으며, 인종이나 민족을 보고한 임상 시험이 절반에 불과하여 형평성 관련 그룹 간의 효과 차이를 평가할 수 없음을 확인했습니다.
오버부킹 (Overbooking)은 특별한 주의가 필요합니다. Samorani와 동료들은 정확한 분류기 (Classifier)를 비용 최소화 스케줄러 (Cost-minimising scheduler)와 결합했을 때 어떤 일이 발생하는지 보여줍니다. 가장 위험도가 높은 그룹이 체계적으로 대기 시간이 가장 긴 시간대로 배정되며, 인구통계학적 필드를 삭제하더라도 우편번호, 언어, 이전 이용률이 대리 지표 (Proxies) 역할을 하기 때문에 이 문제는 해결되지 않습니다 (PMC). 이들의 권장 사항은 예측 (Prediction)과 스케줄링 목적 (Scheduling objective)을 분리하는 것입니다.
실행 가능한 대안이 있습니다. 상용 EHR (Electronic Health Record, 전자 건강 기록)의 내장된 노쇼 예측기를 운영하는 미국의 한 의료 시스템은 오버부킹 조치를 윤리적으로 문제가 있다고 판단하여 거부하고, 대신 그 점수를 환자에게 긍정적인 반응을 유도하는 데 사용했습니다. 즉, 유연한 예약 시간, 원격 의료 (Telehealth) 옵션, 교통 및 육아 지원 등을 제공하는 것입니다. 12개 클리닉을 대상으로 한 파일럿 테스트 결과, 노쇼가 평균 9% 감소하는 것을 확인했습니다 (Health Affairs). 동일한 모델을 사용하더라도, 조치가 달라지면 분포적 결과 (Distributional consequences)도 달라집니다.
어떤 조치를 취하든, 사람이 루프 안에 머물러야 합니다 (Person stays in the loop). 점수는 누구에게 연락하여 지원을 제안할지를 선택합니다. 시스템이 스스로 예약을 취소하거나, 우선순위를 낮추거나, 재배정하지 않으며, 임상 경로 (Clinical pathway)에 영향을 미치는 모든 출력값은 승인을 위해 지정된 담당자에게 전달됩니다. 이를 나중에 주의 사항으로 추가하기보다는 설계 요구 사항 (Design requirement)으로 구축하십시오.
규제 경계 (The regulatory boundary)
범위를 행정적인 영역(administrative)으로 유지하십시오. 질병의 예측(prediction) 또는 예후(prognosis)를 목적으로 하는 소프트웨어는 Therapeutic Goods Act의 s41BD에 따라 의료 기기(medical device)의 정의에 해당할 수 있습니다. 또한 임상 의사 결정 지원 소프트웨어(Clinical Decision Support Software) 면제 규정(2021년 2월 25일부터 시행된 2002년 Therapeutic Goods (Medical Devices) Regulations Schedule 4 Part 2)은 세 가지 기준을 모두 충족해야 할 뿐만 아니라, 공급 후 30 영업일 이내에 TGA에 통지해야 하며 필수 원칙(Essential Principles)을 지속적으로 준수해야 합니다 (TGA 가이드라인). 누군가가 예약에 참석할지 여부를 예측하는 모델은 질병을 예측하는 것이 아닙니다. 출석 패턴으로부터 임상적 악화(clinical deterioration)를 추론하기 시작하는 모델은 다른 제품이며, 이를 구축하기 전에 반드시 조언을 구해야 합니다.
첫 번째 프로젝트의 모습
하나의 클리닉 또는 진료 방식(modality)을 대상으로 한다면 6주에서 10주 정도가 현실적입니다. 데이터 추출(data extraction) 및 기본율 분석(base-rate analysis)에 2주, 모델 구축 및 검증(validating)에 2~3주, 그리고 나머지 기간은 일일 작업 대기열(daily work queue), 보정 모니터링(calibration monitoring), 그리고 누가 누구에게 전화할지에 대한 운영 규칙(operational rules)에 할애합니다. 구축 비용은 비싸지 않습니다. 이 프로젝트의 성공 여부를 결정하는 부분은 개입 설계(intervention design)와 6개월 후 혜택이 환자 그룹별로 어떻게 분배되는지 살펴보려는 의지입니다.
PicNet은 호주 기업들을 위한 프로덕션 AI 시스템을 구축합니다. 첫 번째 프로젝트가 어떤 모습일지에 대해 저희에게 문의하세요.
원문은 picnet.com.au에 게시되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기