LabHub
배우기 러닝패스 코스

보험 도메인 심화 · 중복 청구 탐지 · 실습

같은 영수증을 두 번 청구한 건 찾아내기

LabHub 에서 이어서 보기

목표

접수된 청구에서 완전 중복과 사실상 중복을 갈라내고, 같은 날 같은 병원의 다른 진료라는 오탐을 뺀 판정을 근거와 함께 내는 탐지기 dedup.py 를 만든다.

왜 중요한가

같은 진료 한 건이 앱·웹·창구로 여러 번 들어오는 일은 예외가 아니라 일상이다. 청구번호까지 같은 재전송은 묶으면 끝나지만, 청구번호가 다르고 표기만 흔들린 사실상 중복은 정규화해야 드러난다. 놓치면 같은 돈이 두 번 나간다.
반대 방향의 사고가 더 조용하다. 같은 날 같은 병원에서 정말로 두 번 진료받은 사람의 청구를 중복으로 막으면, 고객은 이유도 모른 채 지급을 못 받는다. 탐지기를 만드는 일의 절반은 이 오탐을 줄이는 일이고, 그래서 판정에는 반드시 근거가 붙는다.
채점기는 여러분의 판정을 믿지 않는다. 임시 청구 표를 차려 놓고 여러분의 dedup.py 를 실행해 정규화 결과·블록·점수·판정을 채점기가 계산한 값과 대조한다. 환자와 병원, 영수증 번호, 금액은 실행마다 바뀐다.

단계

1. /root/dupclaim/gen_claims.py 를 만들어 실행해 /root/dupclaim/claims.db 에 하루치 접수분을 만든다.
2. 청구번호가 같은 재전송을 /root/dupclaim/exact_dup.csv 로 뽑는다.
3. /root/dupclaim/dedup.py 가 환자·병원·영수증을 정규화하고 블록 키를 계산하게 한다.
4. dedup.py 가 블록을 만들어 견줄 쌍을 줄이게 한다.
5. dedup.py 가 블록 안의 모든 쌍에 유사도와 합산 점수, 점수 등급을 매기게 한다.
6. dedup.py 에 금액과 날짜의 허용 오차를 넣는다.
7. dedup.py 가 연번 영수증을 오탐으로 빼고 최종 판정과 근거를 내게 한다.
8. 자기 청구 표로 판정해 /root/dupclaim/dedup_result.json, /root/dupclaim/review.csv, /root/dupclaim/dup_report.md 를 남긴다.

참고

단계 8개

  1. 하루치 접수분 만들기
  2. 청구번호가 같은 재전송부터 묶기
  3. 표기 흔들림을 정규화로 접기
  4. 블록으로 견줄 쌍 줄이기
  5. 유사도와 합산 점수 매기기
  6. 금액과 날짜의 허용 오차
  7. 연번 영수증이라는 오탐 빼기
  8. 심사 담당자가 그대로 볼 수 있게 내기