콘텐츠로 이동

중복환자 정리

이 페이지에서 찾을 수 있는 것

중복환자 / 동명이인 / 환자 중복 / 정합성 봇 7번 / 빈 환자 삭제 / 일괄 삭제 / 환자 병합 / 부모 자녀 / 강제 등록

같은 이름과 휴대폰 번호로 여러 번 등록된 환자(중복환자)를 식별하고 정리하는 가이드입니다. 정합성 봇 7번 알림에 대응하는 핵심 작업.


중복환자 발생 원인

원인 케이스 처리
환자 등록 시 자동 검사 우회 강제 등록 모드 사용 의도적 동명이인 (부모/자녀 같은 번호)
정합성 봇 fix 이전 데이터 4/21 김강희 5명 같은 누적 데이터 정리 대상
마이그레이션 시 발생 옛 시스템에서 가져온 중복 정리 대상
시스템 결함 (드물게) 동시에 두 직원이 등록 #dev 문의

자동 차단 (work-item 24 적용)

2026-05-01 fix 적용 후 신규 등록 시점에 자동 차단:

  • 휴대폰 번호 입력 → 자동 중복 검사
  • 중복 발견 시 모달 → 2가지 선택:
  • "기존 환자 정보 불러오기" (재방문)
  • "신규 등록 (강제)" (의도적 동명이인)

→ 향후 중복 발생 빈도 크게 감소.


정리 단계

Step 1 — 정합성 봇 알림 확인

매일 06:00 슬랙 알림 예시:

*환자 중복* 4건:
  - 김호영(010-2540-0897) 4명 [20260321000001,20260321000002,20260321000003,20260321000005]
  📘 상세: https://manual-jjang.genaidev.io/operations/integrity-issues/#issue-7

Step 2 — 환자 검색

  1. 메뉴 > 환자관리 > 환자 검색
  2. 봇 메시지의 이름 또는 휴대폰 번호로 검색
  3. 동명이인 4명 표시됨

Step 3 — 활동 데이터 식별

각 환자를 클릭하여 진입 → 차트/예약/결제 활동 확인:

환자 차트 예약 결제 분류
환자A 5건 3건 800만 활동 환자 (보존)
환자B 0건 0건 0원 빈 환자 (삭제 대상)
환자C 0건 1건 (취소) 0원 빈 환자 (삭제 대상)
환자D 0건 0건 0원 빈 환자 (삭제 대상)

Step 4 — 빈 환자 일괄 삭제

  1. 환자 검색 결과에서 빈 환자 체크박스 선택
  2. 하단 "선택환자 삭제" 버튼 (Level 1~2 관리자 권한 필요)
  3. 확인 모달 → 삭제 처리
  4. 시스템 자동: status='deleted' soft delete (이력 보존, 검색 결과 비표시)

Step 5 — 다음날 06:00 봇 점검

  • 정합성 봇이 deleted 환자 제외 (work-item 23 fix)
  • 알림에서 자동 사라짐

둘 다 활동 있는 환자 (병합 필요)

같은 환자가 두 번 등록되어 양쪽 모두 차트/결제가 있는 경우:

환자A (chart_no 26000123): 4월 차트 5건, 결제 80만
환자B (chart_no 26000456): 5월 차트 2건, 결제 30만

자체 처리 불가. 다음 정보 슬랙 #dev 채널에 전달: 1. 두 환자의 chart_no 2. 두 환자가 같은 사람임을 확인한 근거 (휴대폰/주민번호 등) 3. 어느 차트번호로 통합할지 (보통 먼저 등록된 chart_no)

→ 개발팀이 수동으로 데이터 병합 (차트/예약/결제를 한 환자로 이전 후 다른 환자 deleted).


실무 시나리오

시나리오 1 — 신규 등록 시 자동 차단된 환자 (재방문 케이스)

  1. 환자가 다시 내원해서 데스크가 신규 등록 시도
  2. 휴대폰 번호 입력 → 자동 중복 검사 발동
  3. 모달 표시: "이미 등록된 환자가 있습니다 (홍길동, 차트번호 26000123)"
  4. "기존 환자 정보 불러오기" 선택
  5. 차트번호/이름이 자동 채워짐 → 그대로 진행 (중복 등록 방지)

시나리오 2 — 봇 알림 일괄 정리

  1. 매일 06:00 슬랙에 "환자 중복 N건" 알림
  2. 환자 검색으로 봇 메시지의 이름/번호 검색
  3. 동명이인 N명 표시 → 각 환자 클릭하여 차트/예약/결제 확인
  4. 빈 환자(차트 0, 예약 0, 결제 0)만 체크박스 선택
  5. "선택환자 삭제" 버튼 (Level 1~2 관리자 권한)
  6. 확인 모달 → 삭제 처리 (soft delete, 이력 보존)
  7. 다음 날 06:00 봇 알림 자동 해소 확인

시나리오 3 — 부모/자녀 같은 번호 (의도적 동명이인)

  1. 어머니가 자녀 진료를 위해 본인 번호로 자녀 등록 시도
  2. 휴대폰 입력 → 중복 모달
  3. "신규 등록 (강제)" 선택 (의도적 분리)
  4. 자녀 정보(이름/생년월일/주민번호 다름)로 별도 환자 생성
  5. 정합성 봇은 휴대폰 + 이름 동일 여부로 판단하므로 이 케이스는 알림 안 뜸

시나리오 4 — 둘 다 활동 있는 환자 발견

  1. 환자 검색에서 동명이인 2명 발견
  2. 양쪽 다 차트/결제 활동 있음 (위 표 참고)
  3. 자체 처리 불가 → 슬랙 #dev 채널에 다음 정보 전달:
    • 두 환자의 chart_no
    • 같은 사람 확인 근거 (휴대폰/주민번호/이름)
    • 통합할 chart_no (보통 먼저 등록된 것)
  4. 개발팀이 수동 병합 처리

시나리오 5 — 잘못 삭제한 환자 복구

  1. 빈 환자 일괄 삭제 후 "사실 활동 있는 환자였다" 발견
  2. 자체 복구 불가 → 슬랙 #dev 채널에 chart_no + 복구 사유 전달
  3. soft delete이므로 status='deleted'를 'active'로 되돌리면 복구 (개발팀 처리)

삭제 전 활동 데이터를 꼼꼼히 확인하세요. 차트 1건이라도 있으면 보존이 안전합니다.


자주 묻는 질문 / FAQ

Q. 봇 알림에 4명이 떴는데 4명 모두 빈 환자입니다. 모두 삭제해도 되나요?

실제로 활동 있는 환자가 1명이라도 있는지 다시 확인하세요. 모두 빈 환자면 가장 먼저 등록된 1명만 보존하고 나머지 3명 삭제. 만약 모두 빈 환자라면 봇 알림이 잘못된 케이스로 슬랙 #dev에 알려주세요.

Q. 빈 환자 일괄 삭제 후 환자가 다시 내원하면?

soft delete라 검색 결과에 안 보이지만 데이터는 남아있습니다. 환자 등록 시 휴대폰 번호로 자동 중복 검사가 발동되어 "기존 환자 정보 불러오기"로 복구 가능합니다. 단 deleted 환자는 복구 시 #dev 문의 필요.

Q. 의도적 동명이인(부모/자녀)도 매일 봇 알림에 떠요

봇은 "이름 + 휴대폰 동일 + 다른 chart_no" 케이스를 감지합니다. 이름이 같으면 알림 발생. 자녀 이름을 다르게 변경하거나 (등록 시 실명) #dev에 운영 패턴 전달하면 봇 정책 보강 검토 가능합니다.

Q. 차트번호(chart_no)와 환자UID(patient_uid)가 어떻게 다른가요?
  • chart_no: YY + 6자리 (예: 26000123) — 직원이 사용하는 식별자
  • patient_uid: YYYYMMDD + 6자리 (예: 20260321000001) — 시스템 내부 식별자
  • 두 값은 1:1 대응. 환자 검색에서는 어느 쪽으로도 검색 가능.
Q. "선택환자 삭제" 버튼이 회색으로 비활성화되어 있어요

Level 1~2 관리자 권한이 필요합니다. 권한이 없으면 슬랙 #dev에 chart_no 목록을 전달하면 개발팀이 처리합니다.


권한별 차이

기능 권한
환자 검색 / 동명이인 식별 🟢 모든 직원
선택환자 삭제 (bulkDelete) 🔴 Level 1~2 관리자
활동 있는 환자 병합 🔴 #dev 문의 (자체 처리 불가)

관련 페이지