엑셀 내원 등록

병원에서 내원 정보를 대량 등록하기 위해 제공되는 엑셀 업로드 기능에 대한 가이드입니다. 이 기능은 모달 형태로 제공되며, 특정 날짜 등록전체 커스텀 등록 두 가지 방식을 지원하며, 병원 EMR의 다양한 엑셀 형태를 자동으로 인식하도록 설계되어 있습니다.


1. 개요

본 기능은 병원이 사용하는 다양한 형태의 엑셀 파일을 기반으로 내원 정보를 일괄 등록하는 기능입니다. 병원마다 EMR 시스템 또는 내부 엑셀 포맷이 다르기 때문에, 리비짓 내부에서는 확장 가능한 동의어 매핑 시스템을 운영하여 여러 형태의 헤더를 자동 인식할 수 있도록 하고 있습니다.

  • 지원 모드:

    • 특정 날짜 등록 (Specific Date Registration)

    • 전체 커스텀 등록 (Full Custom Registration)

  • EMR 다양성 대응: 엑셀 헤더 동의어 자동 매핑 시스템 적용


2. 등록 방식

2.1 특정 날짜 등록 (Specific Date Registration)

설명 사용자가 UI에서 등록 날짜를 먼저 선택하면, 선택한 날짜 기준으로 모든 환자 데이터가 일괄 등록됩니다.

특징

  • 엑셀 내 날짜 불필요

  • 선택한 날짜가 자동 적용

  • 엑셀에 날짜가 있어도 선택한 날짜로 덮어쓰기

필수 입력

  • 이름

  • 전화번호

  • 주민등록번호

선택 입력

  • 차트번호

  • 예약시간

  • 진료항목

  • 담당자


2.2 전체 커스텀 등록 (Full Custom Registration)

설명 엑셀 내부에 포함된 날짜(예약일자)를 기반으로 여러 날짜 데이터를 한 번에 등록합니다.

특징

  • 엑셀에 예약일자 필수

  • 다양한 날짜 포함된 데이터를 일괄 처리 가능

필수 입력

  • 이름

  • 전화번호

  • 주민등록번호

  • 예약일자

선택 입력

  • 차트번호

  • 예약시간

  • 진료항목

  • 담당자


3. 엑셀 필드 명세 및 매핑(동의어) 정책

✔ 병원마다 엑셀 포맷이 다르므로 동의어 기반 매핑 시스템 운영

병원 EMR은 통일된 포맷이 없기 때문에, 리비짓에서는 동일한 의미의 헤더를 여러 키워드로 인식할 수 있도록 동의어 리스트를 관리하고 있습니다.

시스템은 아래의 동의어 매핑 테이블을 기준으로 엑셀 헤더를 자동 인식합니다.

📌 동의어 매핑 테이블

✔ 실제 문서 내 표기 방식

항목
허용되는 동의어 헤더
특정 날짜
전체 커스텀
비고

이름

이름, 성명, 환자명 등

필수

필수

NAME

전화번호

전화번호, 연락처, 휴대폰 등

필수

필수

PHONE

주민등록번호

주민등록번호, 주민번호

필수

필수

RRN

차트번호

차트번호, 환자번호 등

선택

선택

CHART_NUMBER

진료항목

진료항목, 예약구분, 비고 등

선택

선택

CATEGORY

예약일자

예약일자, 예약일, 날짜 등

필요 없음

필수

RESERVED_DATE

예약시간

예약시간, 시간

선택

선택

RESERVED_TIME

담당자

담당자

선택


4. 데이터 유효성 검사 및 처리 로직

4.1 공통 유효성 검사

  • 필수 값 누락 체크

    • 이름, 전화번호, 주민등록번호가 없으면 에러 처리

  • 중복 데이터 검사 (모드별 정책 적용)

    • 동일한 환자 정보가 여러 번 등장하는지 검사

    • 단, 전체 커스텀 등록은 아래 조건에서 “중복을 허용”함

  • 담당자가 여려명인 경우

    • 같은 이름의 담당자가 등록된 상태인데 그 이름으로 담당자를 등록하려는 경우 경고 메시지 표시


🔍 전체 커스텀 등록 시 중복 허용 정책

전체 커스텀 모드는 엑셀에 여러 날짜와 시간의 예약 정보가 포함되는 경우가 많습니다. 따라서 다음 조건에서는 동일 환자 정보처럼 보이더라도 중복으로 간주하지 않고 정상적으로 모두 등록됩니다.

중복 허용 조건

아래 두 항목이 서로 다른 경우, 동일 환자라고 해도 각각 개별 내원 정보로 인정합니다:

  1. 예약시간이 다르거나

  2. 진료항목이 다를 경우

즉, 이름/전화번호/주민번호/예약일자 등이 모두 같아도, “시간 또는 진료항목”이 다르면 다른 내원 기록으로 처리합니다.

예시 (정상 등록됨)

이름
예약시간
진료항목
설명

A환자

13:00

일반검진

동일 환자이지만 시간 다름 → 등록

A환자

13:30

내시경

진료항목도 다름 → 등록

두 건 모두 정상적으로 등록됨

반대로 에러가 되는 경우 (중복으로 간주)

아래의 모든 항목이 동일하면 중복으로 판단하여 에러 처리합니다.

  • 이름

  • 전화번호

  • 주민등록번호

  • 예약일자

  • 예약시간

  • 진료항목

즉, 예약시간과 진료항목까지 동일하면 "중복"으로 간주하여 에러 처리합니다.

  • 업로드된 목록 내 중복 체크

  • 전화번호 자동 정규화

    • 공백 제거

    • ‘10’으로 시작하면 ‘010’ 자동 보정

  • 주민등록번호 자동 포맷팅

    • YYMMDD 입력 시: YYMMDD-0*******

    • 7자리 이상 입력 시: 하이픈 자동 추가


4.2 진료항목 & CRM 메시지 연동

  • 엑셀의 ‘진료항목’은 병원에 등록된 접수 카테고리와 매칭

  • 존재하지 않는 진료항목은 에러 표시

  • 정상 매칭된 경우:

    • 해당 카테고리 ID 기반으로 CRM 메시지가 자동 연동되어 등록됨


4.3 날짜와 시간 처리

  • 예약일자에 시간이 포함된 경우(예: 2023-10-25 14:30) → 날짜, 시간 자동 분리

  • 특정 날짜 등록 모드에서는:

    • 엑셀의 날짜 컬럼은 무시되거나 선택한 날짜로 덮어쓰기


4.2 담당자 유효성 검사

  • 담당자 정보는 선택 입력 항목입니다.

  • 담당자 이름 기준으로 기존 담당자 목록과 매칭을 시도합니다.

다음과 같은 경우 경고 메시지가 표시됩니다.

  • 동명이인 담당자가 존재하는 상태에서 해당 이름으로 담당자를 지정한 경우

→ 이 경우 담당자를 특정할 수 없어 등록이 제한되며, 담당자 이름을 수정하거나 담당자 관리를 통해 정리 후 다시 등록해야 합니다.


5. 에러 처리 및 사용자 피드백

  • 파일 업로드 즉시 파싱 & 유효성 검사 실행

  • 에러 항목에 셀 단위 표시

  • 사용자가 모달 내에서 직접 수정 가능

  • 에러가 존재하는 경우:

    • 등록 버튼 비활성화 또는

    • 에러 행 제외 후 정상 행만 등록(현재 기능 지원)


6. 엑셀 템플릿 다운로드

필요한 입력 구조에 맞춘 템플릿을 제공합니다.

  • 특정 날짜 등록 템플릿 reception/excel_upload_specificdate.xlsx

  • 전체 커스텀 등록 템플릿 reception/excel_upload_customdate.xlsx

Last updated