의료 청구서에서 CPT 코드, 청구 금액 및환자 데이터 추출 방법

하루 80건의 의료 청구서를 처리하는 소규모 진료소 청구 전문가에게는 특정한 수학 문제가 있습니다. 각 청구서에는 CPT 시술 코드(5자리), ICD-10 진단 코드(영숫자), 수익 코드(4자리), NDC 약품 코드(11자리), 수정자 플래그(두 자리), 그리고 여러 섹션에 분산된 달러 금액이 포함되어 있습니다. 전용 청구 소프트웨어인 Kareo는 제공자당 월 150달러부터 시작하고 AdvancedMD는 429달러에서 1,070달러까지입니다. 스프레드시트가 대안이지만, 항목당 4개의 코딩 시스템을 수동으로 입력해야 하므로 해결책이 아닌 병목 현상이 발생합니다. 여기서는 의료 청구서 PDF를 모든 코드 유형이 자체 열에 정리된 구조화된 스프레드시트로 변환하는 방법을 소개합니다. 단 하나도 직접 입력할 필요 없이 말이죠.

CPT 코드 및 환자 정보가 포함된 의료 청구서 데이터를 Excel 스프레드시트로 추출

핵심 요약

  1. 청구 전문가는 매일 4시간 동안 의료 청구서에서 CPT 코드, ICD-10 진단명, 청구 금액을 스프레드시트에 입력합니다.
  2. 제공자당 월 150달러의 청구 플랫폼은 입력 후 코드를 검증하지만, PDF에서 코드를 추출하도록 설계되지는 않았습니다.
  3. ImageToTable.ai에 열 이름 12개를 입력하면 CPT는 CPT 열에, ICD-10은 ICD-10 열에, 수익 코드는 해당 열에 자동으로 배치됩니다. AI가 각 코드 유형의 의미를 읽기 때문입니다.

소규모 개업의 청구 데스크 뒤에 숨은 스프레드시트

1~5명의 제공자를 둔 독립 개업의에게 청구 소프트웨어 가격 산정은 맞지 않습니다. Kareo(현재 Tebra)는 제공자당 월 150~300달러입니다. AdvancedMD는 의료 전문과목의 경우 제공자당 월 429달러부터 시작합니다. 두 명의 제공자를 둔 클리닉은 청산소 수수료와 자격 인증 비용을 고려하기 전에 월 300~860달러를 부담해야 합니다. 이는 2024년에서 2025년 사이에 2.8% 하락한 메디케어 전환 계수로 인해 운영 마진이 이미 압박받고 있는 상황에서 큰 돈입니다.

대부분의 소규모 개업의가 선택하는 대안은 Excel입니다. 추가 비용이 들지 않고, 이미 설치되어 있으며, 청구 스프레드시트가 필요한 모든 작업(합계 계산, 노후 추적, 청구 금액과 예상 상환액 비교)을 수행합니다. 문제는 스프레드시트가 아닙니다. 스프레드시트 이전에 일어나는 일이 문제입니다.

80개의 의료 인보이스 라인 항목을 스프레드시트에 입력하려면 각 PDF를 열고, CPT 코드를 찾고, 해당 ICD-10 코드를 찾고, 청구 금액을 확인하고, 수정자 플래그를 확인하고, 진료 제공자의 NPI를 기록한 다음, 이 모든 것을 한 행씩 입력해야 합니다. 인보이스당 3분씩, 분석을 시작하기 전에 4시간의 데이터 입력이 필요합니다. Reddit에서 의료 청구 담당자들은 "50개의 열이 있고 아무도 채우고 싶어하지 않는" 스프레드시트에서 이러한 상호 참조 코드를 추적하는 것을 설명합니다.

진정한 병목 현상

스프레드시트가 문제가 아닙니다. 인보이스와 스프레드시트 사이에 있는 4시간의 수동 코드 전사 작업이 문제이며, 이를 해결하기 위해 월 500달러짜리 청구 플랫폼이 필요하지 않습니다.

의료 인보이스 데이터가 일반 인보이스와 다른 점

일반 공급업체 인보이스에는 헤더 필드(공급업체명, 날짜, 총액), 라인 항목(설명, 수량, 단가), 결제 조건의 세 가지 데이터 유형이 있습니다. 의료 인보이스에는 이 모든 정보에 더해 각 라인 항목에 동시에 적용되는 네 가지 독립적인 코딩 시스템이 있으며, 각 시스템은 완전히 다른 식별자 형식을 사용하고, 다른 관리 기관이 유지 관리하며, 상환 체인에서 서로 다른 목적을 수행합니다.

CPT 코드(Current Procedural Terminology)는 AMA가 관리하는 5자리 숫자 코드로, 수행된 시술을 설명합니다. CPT 99213은 특정 복잡성 수준의 기존 환자 외래 진료입니다. CPT 80053은 종합 대사 검사입니다. 의료 청구서의 모든 라인 항목은 최소한 하나의 CPT 코드와 연결되며, 이는 수행된 서비스와 상환 금액 간의 핵심 연결고리입니다.

ICD-10-CM 코드는 시술이 필요한 이유를 설명하는 영숫자 진단 코드입니다. E11.9는 합병증이 없는 제2형 당뇨병입니다. I10은 본태성 고혈압입니다. 이 코드는 의학적 필요성을 입증하며, 이는 지급자가 CPT 코드 시술을 상환하기 전에 요구하는 근거입니다. 의학적 필요성을 뒷받침하는 ICD-10이 연결되지 않은 CPT 코드는 거절을 기다리는 상황입니다.

수익 코드는 UB-04 병원 청구 양식에 사용되는 4자리 숫자로, 서비스가 제공된 부서나 원가 센터를 식별합니다. 수익 코드 0300은 검사실입니다. 0250은 약국입니다. 0420은 물리치료입니다. 이 코드는 지급자에게 청구가 발생한 위치를 알려주며, 이는 시설 대 비시설 상환율에 영향을 미치는 정보입니다.

NDC 코드(National Drug Code)는 약국 항목에만 표시되는 11자리 숫자 식별자입니다. 특정 약물, 제조사, 포장 크기를 식별하며, 비약국 서비스 항목에는 해당 정보가 없습니다.

이 네 가지 코드 유형 외에도 의료 청구서에는 모디파이어 코드가 포함됩니다. CPT 코드에 두 글자 접미사로 추가되어 지급 처리 방식을 변경합니다. 모디파이어 25는 같은 날 시술과 별도로 식별 가능한 평가 및 관리 서비스를 의미합니다. 모디파이어 26은 전문적 구성 요소만 지정하며, 진단 검사의 판독 및 해석을 포함하고 기술적 구성 요소는 제외합니다. 모디파이어 59는 일반적으로 다른 시술과 함께 묶이지만 별도 상황에서 수행된 별개의 시술 서비스를 표시합니다.

다음으로 서비스 장소 코드가 있습니다. CMS 표준 두 자리 코드로 상환율을 결정합니다: 11은 진료실, 21은 입원 병원, 22는 외래 병원, 23은 응급실, 24는 외래 수술 센터입니다. 동일한 CPT 코드라도 서비스가 이루어진 장소에 따라 상환율이 다릅니다.

청구 스프레드시트가 조정 및 분석에 유용하려면 각 코드 유형에 별도의 열이 필요합니다. CPT 99213, ICD-10 E11.9, 수익 코드 0300을 하나의 "코드" 열에 혼합하면 수가 검증, 거절 분석, 코딩 감사에 쓸모가 없습니다. "코드"를 단일 필드로 읽는 템플릿 기반 OCR 도구는 정확히 이렇게 작동합니다. 하나의 코드만 추출하고 나머지는 버리거나 모든 것을 한 열에 덤프합니다. 데이터를 추출 가능하게 만드는 것은 각 코딩 시스템이 AI가 인식할 수 있는 고유한 형식을 따른다는 점입니다: CPT는 5자리, ICD-10은 소수점이 있는 영숫자, 수익 코드는 4자리, NDC는 11자리입니다.

단계별 가이드: 의료 청구서 더미에서 구조화된 스프레드시트로

다음은 4시간이 걸리던 수동 입력 작업을 배치당 몇 분으로 단축하는 워크플로입니다. 핵심 메커니즘은 사용자 정의 열 추출입니다. 템플릿의 필드 주위에 사각형을 그리는 방식(다른 제공업체가 다른 형식의 청구서를 보내면 바로 작동이 중단됨) 대신, 출력 스프레드시트에 원하는 열 이름을 입력하면 AI가 각 필드가 페이지에서 어디에 있는지가 아니라 의미하는 바를 이해하여 각 문서에서 일치하는 값을 찾습니다.

1

의료 청구서 업로드 — 모든 형식을 한 번에

항목별 병원 청구서(UB-04 표 형식), CPT 코드가 포함된 클리닉 청구서, 외래 수술 센터의 CMS-1500 청구 양식, NDC 코드가 있는 약국 명세서를 모두 한 번에 업로드하세요. 제공자나 형식별로 미리 분류할 필요가 없습니다. 청구-지급 조정을 위한 해당 EOB도 있다면 같은 배치에 함께 업로드하세요.

2

열 정의 — 코드 유형별, 필드별로 하나씩

출력 스프레드시트에 표시될 열 이름을 정확히 입력하세요. 의료 청구 조정을 위한 실용적인 열 세트는 다음과 같습니다: Provider Name, Patient Name, Date of Service, Place of Service, CPT Code, Modifier, ICD-10 Dx, Revenue Code, NDC, Units, Charge Amount, Rendering Provider NPI, Billing Provider NPI. AI는 CPT 코드(5자리), ICD-10 코드(영숫자), 수익 코드(4자리), NDC 코드(11자리)를 구조와 맥락에 따라 자동으로 구분하여 각각 올바른 열에 배치합니다.

3

AI 추출 — 섹션 헤더 필터링, 코드 유형 분리

병원 청구 명세서는 "LABORATORY — GENERAL" 또는 "PHARMACY — EXTENSION OF 025X" 같은 굵은 섹션 헤더 아래에 항목을 그룹화하며, 이 헤더는 열을 가로질러 시각적 구분선 역할을 합니다. AI는 문서의 시각적 계층 구조를 읽어 이를 데이터 행이 아닌 서식 요소로 인식하고, 실제 서비스 설명, 코드, 청구 금액이 포함된 줄만 추출합니다. 출력에는 헤더가 섞이지 않은 깨끗한 데이터 행이 포함됩니다. CPT 코드는 CPT 열에, ICD-10 코드는 ICD-10 열에, NDC 코드는 NDC 열에 각각 배치되며, 모든 코드가 하나의 일반 "코드" 필드에 합쳐지지 않습니다.

4

다운로드 후 Excel에서 열기

XLSX로 내보냅니다. 각 행은 한 청구서의 한 항목입니다. 제공자 이름 열은 각 행이 어느 기관에서 왔는지 추적합니다. 약국 항목은 NDC 열에 값이 표시되고, 비약국 행은 해당 셀이 비어 있습니다. 출력은 모든 행 유형에 모든 열을 강제로 채우지 않고 행 수준의 무결성을 유지합니다. EOB를 청구서와 함께 업로드하면 보험 지급 및 조정 데이터가 포함된 행이 생성되어 청구서와 EOB를 나란히 대조할 수 있습니다.

JPG/PNG/PDF AI 추출

파일은 안전하게 처리되며 저장되지 않습니다.

스프레드시트 활용하기: CPT 코드 정리 및 수가표 검증

데이터를 열에 정리하는 것은 첫 단계에 불과합니다. 스프레드시트가 청구 도구로서 제 역할을 하려면, 각 청구서의 CPT 코드별로 지급자가 지불해야 할 금액과 실제 청구 금액을 비교할 수 있어야 합니다.

CMS 의사 수가표 조회 도구는 매년 업데이트되는 10,000개 이상의 HCPCS/CPT 코드에 대한 지급 기준액을 제공합니다. 올해 수가표를 CSV로 다운로드하여 워크북의 두 번째 시트에 가져오면, 모든 CPT 코드에 대한 참조 테이블이 완성됩니다.

추출된 데이터가 있는 시트와 CMS 수가표 시트를 준비한 후, CPT 코드 열을 기준으로 VLOOKUP을 실행하면 각 항목별 메디케어 허용 금액이 반환됩니다. 청구 금액과 허용 금액의 차이를 계산하는 열을 추가하면 이상치가 즉시 드러납니다. 예를 들어, 메디케어 기준가가 $132.74인 CPT 99214가 $350으로 청구된 경우 바로 식별됩니다. 차액 열에 조건부 서식을 적용하면 시각적 감사 도구로 변환됩니다. 검토가 필요한 항목은 빨간색, 예상 범위 내 항목은 초록색으로 표시됩니다.

동일한 방식으로 모디파이어 감사도 가능합니다. CPT 코드별로 스프레드시트를 그룹화하고 모디파이어 25 또는 59가 포함된 행을 필터링하세요. 이 모디파이어들은 지급자 감사와 CMS 부적절 지급 보고서에서 가장 자주 지적됩니다. 관련 행이 이미 분리되어 있으면, 개별 PDF를 뒤질 필요 없이 배치 단위로 문서와 모디파이어 사용의 일치 여부를 빠르게 확인할 수 있습니다.

여러 보험사에 청구하는 의료 기관이라면, 각 보험사의 수가표(대부분의 상업 보험사는 계약된 요율을 공개하거나 Medicare 대비 일정 비율 계산을 허용함)를 다운로드하여 추가 참조 시트로 확장할 수 있습니다. 동일한 VLOOKUP 패턴이 모든 보험사에 적용됩니다. CPT 코드 열이 공통 키 역할을 합니다.

실제 업무 흐름

당일 청구서 업로드 → 구조화된 열로 추출 → CMS 수가표에 대해 VLOOKUP 실행 → 변동 기준 정렬. 수동 입력 4시간에 교차 확인 1시간이 필요했던 작업이, 이상치 검토만 수동으로 하는 15분 배치 프로세스로 바뀝니다.

HIPAA 참고사항: 이 도구가 다루는 것과 다루지 않는 것

이 워크플로는 의료 청구서(제공자 청구 명세서, 항목별 병원 청구서, 클리닉 인보이스)를 처리합니다. 이 문서에는 시술 코드, 진단 코드, 청구 금액, 제공자 정보가 포함됩니다. HIPAA Safe Harbor 비식별화 표준(45 CFR 164.514(b)(2))에 따라 보호 건강 정보(PHI)를 구성하는 18개 식별자 전체가 포함될 수도 있고 아닐 수도 있습니다.

핵심 운영상 차이점: 이 도구는 사용자가 업로드한 청구서 문서를 처리합니다. EHR 데이터베이스에 연결하지 않으며, 환자 기록을 가져오지 않고, 진료 관리 시스템에 접근하지 않습니다. 페이지에 있는 내용을 스프레드시트로 추출합니다. 청구서에 환자 이름과 생년월일이 포함된 경우 해당 필드가 출력에 나타납니다. PHI가 포함된 청구서를 작업하는 경우, 모든 청구 스프레드시트에 적용되는 동일한 HIPAA 규정 준수 통제(암호화 저장, 접근 통제, 필요 시 업무상 제휴 계약)가 여기에도 적용됩니다.

청구 분석을 PHI와 분리하려는 진료 기관은 열 세트를 정의하여 환자 식별자를 완전히 건너뛸 수 있습니다. 시술 코드, 진단 코드, 청구 금액, 수식어, 제공자 NPI만 추출하세요. 결과 스프레드시트에는 환자 수준 식별자 없이 청구 및 코딩 데이터만 포함되어, PHI를 다루지 않고 집계 상환 분석, 코딩 패턴 검토, 수가표 검증에 유용합니다.

이 도구는 HIPAA 규정을 준수하는 진료 관리 소프트웨어를 대체하지 않습니다. 이는 청구서 PDF 더미와 실제 청구 분석이 이루어지는 스프레드시트 사이의 특정 병목 현상을 해결하기 위한 도구입니다. 대부분의 소규모 진료 기관에서는 이 단계가 여전히 수동으로 이루어집니다.

자주 묻는 질문

AI가 CPT 코드와 ICD-10 코드를 자동으로 구분할 수 있나요?

네. CPT 코드는 5자리 숫자 패턴을 따릅니다. ICD-10-CM 코드는 영숫자(예: E11.9, M54.5)입니다. 수익 코드는 UB-04 42열에 나타나는 4자리 숫자입니다. NDC 코드는 약국 라인 항목에만 나타나는 11자리 숫자 문자열입니다. 각 코드 유형에 대해 별도의 열을 정의하면 AI가 구조와 맥락을 통해 각각을 식별합니다. CPT 코드는 CPT 열에, ICD-10 코드는 ICD-10 열에 자동으로 배치되며 수동 분류가 필요하지 않습니다. 이는 템플릿 기반 필드 매핑이 아니라 문서에서 각 문자열이 나타내는 의미를 인식하는 방식입니다.

"LABORATORY — GENERAL" 같은 병원 섹션 헤더가 데이터 행으로 잘못 인식되면 어떻게 되나요?

그렇지 않습니다. 병원 청구 명세서는 굵은 글씨, 가운데 정렬된 섹션 헤더를 사용하여 항목을 카테고리 레이블 아래에 그룹화합니다. AI는 문서의 시각적 계층 구조(굵은 서식, 가운데 정렬, 여러 열에 걸쳐 있음, 인접 셀에 숫자 청구 데이터 없음)를 읽고 이를 건너뛸 서식 요소로 식별합니다. 이는 인간 청구 전문가가 페이지를 훑어보면서 헤더는 무시하고 데이터 행만 복사하는 방식과 동일합니다. 출력에는 헤더 오염 없이 깔끔하고 필터 가능한 항목이 포함됩니다.

여러 제공업체의 다양한 형식의 청구서를 한 번에 처리할 수 있나요?

네. 세부 항목이 포함된 병원 청구서(UB-04 형식), CPT 코드가 본문에 포함된 자유 형식의 클리닉 청구서, 외래 수술 센터의 CMS-1500 양식, 약국 명세서를 모두 동시에 업로드할 수 있습니다. 열을 한 번만 정의하면 AI가 각 문서의 고유한 레이아웃을 독립적으로 읽습니다. 제공업체 이름 열은 각 행이 어느 시설에서 왔는지 추적합니다. 이는 여러 제공업체 간 청구 조정을 위한 실질적인 요구 사항이며, 제공업체별 템플릿 구성 없이도 작동합니다.

의료 청구서와 EOB를 함께 일괄 처리하여 청구-지급 조정을 할 수 있나요?

네. 제공자 청구서와 해당 설명서(EOB)를 동일 배치에 업로드하세요. AI가 제공자 명세서에서 청구 금액을, EOB에서 승인 금액, 보험 지급액, 환자 부담액을 추출하여 동일 스프레드시트의 인접 행에 배치합니다. 이를 통해 청구 팀이 제공자가 청구한 금액과 보험사가 실제 처리한 금액을 나란히 비교하여 확인할 수 있습니다. EOB 추출에 대한 자세한 안내는 EOB 데이터 추출 워크플로 가이드를 참조하세요.

이 도구의 CPT 코드 추출 정확도는 얼마나 되나요?

주요 EHR 및 청구 플랫폼(Epic, Cerner, Meditech, eClinicalWorks)에서 디지털로 생성된 PDF의 경우 CPT 코드 추출 정확도가 98%를 초과합니다. 주요 위험은 숫자 오독이 아니라 비표준 문서에서 발생하는 맥락 오류입니다. 예를 들어, 열전사 영수증에서 숫자가 거의 보이지 않는 경우, 수정된 청구서에서 취소선이 그어진 원래 금액이 수정된 금액 옆에 있는 경우, 또는 ICD-10 코드가 표지에 있고 CPT 항목이 3페이지 뒤에 명시적인 상호 참조 없이 나타나는 다중 페이지 청구서가 이에 해당합니다. 고위험 청구 검토 또는 감사 작업의 경우, 출력물에서 CPT 및 수익 코드 열을 빠르게 시각적으로 스캔하여 값이 예상되는 빈 셀이나 잘못 분류된 코드를 찾는 작업은 항목당 몇 분이 아닌 배치당 몇 초가 소요됩니다.

이 워크플로우가 Kareo나 AdvancedMD 같은 의료 청구 소프트웨어를 대체하나요?

아니요. 이 워크플로우는 인보이스 데이터를 분석 및 조정을 위해 스프레드시트로 가져오는 하나의 특정 병목 현상만 해결합니다. 의료 청구 소프트웨어는 청구서 제출, 자격 확인, 거절 관리, 지불 게시, 청산소 통합 등 이 도구가 수행하지 않는 기능을 처리합니다. 이 워크플로우가 대체하는 것은 청구 소프트웨어나 스프레드시트 분석을 시작하기 전에 하루 4시간씩 소요되던 수동 코드 입력 작업입니다. 이미 청구 소프트웨어를 사용하는 진료소의 경우 데이터 입력 단계를 가속화합니다. 제공자당 월 300달러 이상의 청구 소프트웨어 비용을 감당하기 어려운 진료소의 경우 스프레드시트 기반 청구 조정을 규모에 맞게 실행 가능하게 만듭니다.

AI가 종이 청구서에 적힌 수기 CPT 코드나 수식어를 읽을 수 있나요?

AI는 명확하게 적힌 숫자와 인쇄된 텍스트를 안정적으로 읽을 수 있습니다. 스캔된 청구서 여백에 "25"나 "59" 같은 수기 수식어가 적혀 있는 경우, 필체가 읽기 쉬우면 정확하게 추출될 수 있습니다. 하지만 지나치게 장식적인 필기체, 희미한 연필 자국, 비표준 의학 약어는 정확도를 떨어뜨립니다. 수기 부분이 많은 문서의 경우 출력물에서 수기 필드를 직접 확인하세요. 제공자가 지속적으로 수기 청구서를 제출한다면, 추출 오류를 줄이기 위해 해당 수기 필드 몇 개만이라도 타이핑된 버전을 요청하세요.

NPI 번호는 어떻게 처리되나요? 진료 제공자와 청구 제공자의 NPI를 추출할 수 있나요?

네, 가능합니다. NPI는 10자리 숫자 식별자로 일관된 형식을 가집니다. "진료 제공자 NPI"와 "청구 제공자 NPI"에 각각 별도의 열을 지정하면, AI가 송장 내에서 문맥을 파악하여 각각을 찾아냅니다. 진료 제공자 NPI는 일반적으로 서비스 항목 근처에, 청구 제공자 NPI는 진료소 헤더나 청구 정보 섹션에 나타납니다. 두 항목 모두 해당 CPT 코드 및 청구 금액과 함께 각각의 열로 추출됩니다.

의료 청구서 PDF에서 CPT 코드, ICD-10 진단명, 청구 금액을 추출하여 스프레드시트에 옮기는 것은 소프트웨어 예산 문제가 아니라 데이터 형식 문제입니다. 의료 청구서에 사용된 네 가지 코딩 시스템은 각각 AI가 읽을 수 있는 구조를 따릅니다. 대부분의 소규모 진료소에서 병목 현상이 발생하는 이유는 청구 소프트웨어가 없어서가 아니라, 여전히 수동으로 입력하고 있기 때문입니다.

📮 contact email: [email protected]