사전 승인(Prior Authorization)을 보험사 정책 매칭 문제로 모델링하기
요약
의료 사전 승인(Prior Authorization) 프로세스를 단순한 작문이 아닌 '기준과 근거의 매칭' 문제로 정의하고, LLM을 활용해 보험사 정책과 환자 차트 간의 결합(Binding)을 자동화하는 방법론을 제시합니다.
핵심 포인트
- 사전 승인은 문장 작성이 아닌 (기준 → 근거) 쌍을 찾는 매칭 문제임
- 보험사 정책의 각 요구 기준을 차트 내 구체적 인용구와 결합해야 함
- 근거가 없는 '빈 결합(Empty binding)'을 찾아내는 것이 거절 방지의 핵심
- 의료 분야에서는 환각을 방지하기 위해 반드시 실제 차트 구간을 인용(Citation)해야 함
오후 4시 47분입니다. 대기열에는 9건의 사전 승인(Prior Authorization) 건이 쌓여 있고, 담당자는 점심시간 이후부터 이 작업에 매달려 있습니다. 매번 똑같은 의식의 반복입니다. 차트를 열고, 진단 코드(Diagnosis codes)를 찾아 헤매고, 보험사의 보장 정책(Coverage policy) PDF(지난 분기에 변경되었으나 아무도 알려주지 않은 바로 그 파일)를 대조합니다. CPT(Current Procedural Terminology)를 정당화하는 ICD-10 코드를 복사하여, 20분마다 로그아웃되는 포털에 붙여넣고 제출 버튼을 누릅니다. 그러면서도 정책의 11페이지를 모두 읽을 시간이 없었다면 잡아낼 수 있었을 이유로 거절될 확률이 70% 정도 된다는 사실을 알고 있습니다.
그러면 거절 통보가 돌아옵니다. 이제는 항소(Appeal) 단계인데, 이는 처음부터 다시 시작하는 것과 같으면서도 훨씬 더 화가 나는 과정입니다.
의료 현장 근처에서 무언가를 구축해 본 적이 있다면, 이 대기열이 절대 비워지지 않는다는 것을 알 것입니다. 그저 오래될 뿐이죠. 그리고 오래된 모든 승인 건은 공중에 떠 있는 수익(Revenue)입니다. 저는 지난 1년 동안 이 업무를 처리하기 위한 소프트웨어를 구축하며 시간을 보냈는데, 흥미로웠던 점은 AI가 아니었습니다. 사전 승인이 '작문(Writing)' 문제가 아니라 '매칭(Matching)' 문제라는 사실을 깨달은 것이었습니다.
쌓여 있는 업무는 작문 문제가 아니라 매칭 문제입니다
단순하게 구축하는 방식은 이렇습니다. 차트 내용을 LLM(Large Language Model)에 쏟아붓고, "의학적 필요성 서신(Medical necessity letter)을 작성해줘"라고 말한 뒤 전송하는 것입니다. LLM은 자신감 있고 유창한 문장을 만들어냅니다. 하지만 결과는 거절됩니다. 보험사는 문장력을 평가하는 것이 아니기 때문입니다. 보험사는 자신들의 보장 정책에 명시된 구체적이고 나열된 기준들이 차트 내의 무언가에 의해 각각 뒷받침되는지를 평가합니다.
따라서 실제 작업 단위는 서신이 아닙니다. 그것은 (기준 → 근거) 쌍(Pairs)의 집합입니다. 특정 시술에 대한 Aetna의 정책은 다음과 같은 사항을 요구할 수 있습니다: 6주 이상의 보수적 치료(Conservative therapy) 실패, 문서화된 기능적 장애, 적응증을 확인하는 영상 의학 결과. UnitedHealthcare는 이와 다른 세 가지를 요구합니다. 업무의 핵심은 각 기준을 구체적인 차트 인용(Citation)과 결합하는 것이며, 제출하기 전에 어떤 기준에 뒷받침되는 근거가 없는지를 알아차리는 것입니다. 그러한 빈 결합(Empty binding)이 바로 거절 위험이며, 여러분은 그것이 다가오고 있음을 미리 볼 수 있습니다.
def assemble_justification(chart, payer_policy):
bindings = []
for criterion in payer_policy.required_criteria:
...
솔직히 말해서 gaps 리스트가 이 제품의 핵심입니다. 이는 아무런 준비 없이 제출하는 행위를 "이 두 가지 기준이 충족되지 않았습니다 — 제출하기 전에 물리치료(PT) 기록을 가져오세요"라는 상태로 바꿔줍니다.
근거 제시(Grounding), 환각된 증거는 의료 과실이기 때문입니다
retrieve_evidence는 모든 지름길이 독이 되는 지점입니다. 모델이 보수적 치료(conservative therapy)가 이루어졌다고 단순히 "말하게" 해서는 안 됩니다. 모델은 반드시 해당 내용을 명시한 기록과 날짜를 "인용(cite)"해야 합니다. 우리는 실제 차트 구간(chart span)으로 추적할 수 없는 증거를 가진 모든 결합(binding)을 '미충족'으로 취급합니다. 잘못된 '충족'은 잘못된 '공백(gap)'보다 훨씬 더 위험합니다. 공백은 사람에게 플래그(flag)가 지정되어 검토되지만, 조작된 인용은 거절을 당하거나 더 나쁜 상황을 초래합니다.
또 다른 미묘한 점은 보장 정책(coverage policies)이 변한다는 것입니다. 기준 세트는 암기하는 것이 아니라 실제 정책으로부터 다시 파싱(re-parse)되어야 합니다. 그렇지 않으면 작년 규칙에 맞춘 훌륭한 정당화 서류를 만들게 될 것입니다.
거절(Denial) 또한 구조화되어 있습니다
거절 통보가 돌아왔을 때, 무턱대고 "항소문(appeal)을 작성"하려는 충동을 억제하십시오. 거절은 구체적인 이유를 인용합니다. 대개 보험사가 충족되지 않았다고 주장하는 특정 기준(criterion)입니다. 따라서 항소는 단지 역연산(inverse operation)일 뿐입니다. 각 거절 사유를 가져와서, 그것이 매핑되는 기준을 찾고, 이미 구축해 놓은 증거 결합(evidence binding)으로 이를 반박하는 것입니다. 보험사 고유의 용어를 사용하여 항목별로 대응하십시오. 절반의 경우 증거는 이미 존재했으나 검토자가 놓친 것이며, 이럴 때 타겟팅된 반박은 새로운 설득적 에세스보다 훨씬 강력합니다.
실제로 변화한 것
헬스케어 분야를 넘어 일반화할 수 있는 교훈은 다음과 같습니다. LLM 작업이 단순히 "문서를 생성하는 것"처럼 느껴질 때, 그것이 실제로는 감사 추적(audit trail)을 동반한 "매칭(matching)" 작업은 아닌지 확인하십시오. 기준을 모델링하고, 이를 증거에 결합하며, 공백을 노출시키십시오. 그리고 유창한 문장을 만드는 단계를 가장 마지막의, 가장 비용이 적게 드는 단계로 두십시오. 산더미 같은 업무는 여전히 존재하지만, 이제는 단순히 방치하는 대신 무언가가 그것을 처리해 나갈 것입니다.
우리는 이것을 Authorize로 패키징했습니다 — 무료로 체험해 보세요. 이것이 바로 마침내 대기열을 비워내는 결과물을 만들어낸 방식입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기