방문 전 보험 승인(Pre-Visit Insurance Clearance)을 위한 음성 AI 에이전트 구축기
요약
Telnyx의 'Gather Using AI' 기능을 활용하여 의료 행정 업무를 자동화하는 음성 AI 에이전트 구축 방법을 소개합니다. 환자의 전화 통화를 구조화된 데이터로 변환하여 티켓 생성, SMS 확인, Slack 알림까지 이어지는 워크플로우를 구현합니다.
핵심 포인트
- Telnyx의 Gather Using AI를 통한 구두 정보의 구조화된 데이터 수집
- 음성 통화를 기반으로 한 자동 접수 티켓 생성 및 분류 프로세스
- 긴급도 판단 및 Slack/SMS를 활용한 후속 조치 자동화
- 비임상적 행정 업무 최적화를 위한 AI 에이전트 패턴 제시
방문 전 보험 승인(Pre-visit insurance clearance)은 얼마나 많은 전화 통화를 유발하는지 직접 보기 전까지는 단순해 보이는 워크플로우 중 하나입니다.
환자는 예약 전에 전화를 겁니다. 그들은 특정 시술, 검사 또는 약물에 사전 승인(prior authorization)이 필요한지 알고 싶어 합니다. 직원들은 환자를 식별하고, 무엇을 요청하는지 이해하며, 지불인(payer) 및 제공자(provider)의 맥락을 수집하고, 긴급도를 결정한 다음, 요청을 적절한 청구 대기열(billing queue)로 전달해야 합니다.
저는 이러한 통화를 구조화된 접수 티켓(intake ticket)으로 변환하는 Telnyx 코드 예제를 구축했습니다.
흐름 (The Flow)
환자가 Telnyx 번호로 전화를 겁니다. Telnyx는 인바운드 통화 이벤트(inbound call event)를 Flask 웹훅(webhook)으로 보냅니다. 앱은 Call Control로 응답한 다음, 환자가 말하는 사전 승인 요청을 구조화된 필드로 수집하기 위해 gather_using_ai를 시작합니다.
Telnyx가 해당 필드 수집을 완료하면, 앱은 call.ai_gather.ended를 수신합니다. 거기서부터 앱은 AI 추론(AI Inference)을 통해 요청을 분류하고, 환자와 세부 사항을 확인하며, 직원용 티켓을 생성하고, 환자에게 SMS 확인 메시지를 보내며, 선택적으로 Slack을 통해 청구 담당 직원에게 알림을 보냅니다.
이 에이전트는 비임상적(non-clinical)입니다. 의료적 조언을 제공하거나, 보장 범위를 승인 또는 거부하거나, 진단을 내리지 않습니다. 대신 행정 데이터를 수집하고 이를 전달하는 역할을 수행하며, 이는 많은 의료 수익 사이클(healthcare revenue-cycle) 업무에서 병목 현상이 발생하는 지점입니다.
이 패턴이 중요한 이유
여기서 핵심적인 Telnyx 기본 요소(primitive)는 Gather Using AI입니다.
앱은 Telnyx에 통화 내에서 직접 필요한 필드를 수집하도록 요청합니다. 웹훅 응답은 백엔드에 워크플로우에서 사용할 수 있을 만큼 충분히 구조화된 데이터를 제공합니다.
덕분에 앱의 나머지 부분이 더 깔끔해집니다:
- Call Control (호출 제어)이 인바운드 통화 라이프사이클을 관리합니다.
- Gather Using AI (AI를 사용한 수집)가 구두로 전달된 접수 세부 정보를 수집합니다.
call.ai_gather.ended가 워크플로우를 진행시킵니다.- AI 추론 (AI Inference)이 긴급도와 유형을 분류합니다.
- Messaging (메시징)이 환자에게 확인 메시지를 보냅니다.
- Slack (슬랙)이 청구 담당 직원에게 대기열 신호를 전달합니다.
포함된 구현 패턴은 다음과 같습니다:
- 발신자 ID를 알 수 없을 때 생년월일 (DOB) 폴백 (fallback)
- Call Control 명령에 대한
command_id사용 - 응답 시
send_silence_when_idle적용 - 시술, 긴급도 및 요청 유형에 대한 구조화된 JSON 분류
- "ASAP" 또는 "기다릴 수 없어요"와 같은 문구에 대한 키워드 기반 긴급도 오버라이드 (override)
- 티켓 생성 전 확인 절차
- 유용한 문맥을 제공한 후 발신자가 전화를 끊은 경우 부분적인 티켓 생성
로컬에서 실행하기 (Run It Locally)
git clone https://github.com/team-telnyx/telnyx-code-examples.git
cd telnyx-code-examples/ai-pre-visit-clearance-voice-agent-python
cp .env.example .env
...
Telnyx Call Control 애플리케이션의 웹훅을 다음으로 지정하세요:
환자 데이터 시딩 (Seed a patient):
curl -X POST http://localhost:5000/patients \
-H "Content-Type: application/json" \
-d '{"patient_id":"P001","name":"Jordan Lee","phone":"+15551112233","dob":"03/15/1990","insurance":"Blue Cross","provider":"Dr. Smith"}'
번호로 전화를 걸어 다음과 같이 말하세요:
I need clearance for an MRI on my lower back.
앱은 요청을 수집하고, 분류하고, 세부 정보를 확인하며, 티켓을 생성하고, SMS 확인 메시지를 보냅니다.
다음 단계 (Where To Take It Next)
인메모리 (in-memory) 저장소를 EHR, PMS 또는 청구 시스템 통합으로 교체하세요. 티켓 완료 처리를 실제 사전 승인 (prior auth) 제출 API와 연결하세요. 프로덕션 사용 전 개인정보 보호 검토 및 HIPAA 준수 운영 제어 기능을 추가하세요. 웹훅 응답 속도를 유지할 수 있도록 Slack 및 SMS 부수 효과 (side effects)를 큐 (queue)에 넣으세요.
핵심 경계는 동일하게 유지되어야 합니다: 에이전트는 수집 및 라우팅을 수행합니다. 실제 보장 결정은 직원과 보험사 시스템이 내립니다.
리소스 (Resources)
리소스 (Resources)
- Code: https://github.com/team-telnyx/telnyx-code-examples/tree/main/ai-pre-visit-clearance-voice-agent-python
- Gather Using AI: https://developers.telnyx.com/api-reference/call-commands/gather-using-ai
call.ai_gather.ended: https://developers.telnyx.com/api-reference/callbacks/call-ai-gather-ended- Voice API commands: https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-commands-and-resources
- AI Inference docs: https://developers.telnyx.com/docs/inference
- Messaging docs: https://developers.telnyx.com/docs/messaging
- Telnyx Portal: https://portal.telnyx.com
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기