시작하기
KPIS DSR API는 의약품 도매상의 공급내역 보고 업무를 자동화하는 시스템입니다. 엑셀 파일을 업로드하면 자동으로 표준코드를 매핑하고, 데이터를 검증한 뒤, KPIS (의약품관리종합정보센터) OpenAPI를 통해 공급내역을 보고할 수 있습니다.
시스템 개요
의약품 도매상은 분기마다 KPIS 포털에 공급내역(갑지/을지)을 보고해야 합니다. 기존에는 수천 건의 데이터를 수작업으로 입력하거나 엑셀 파일을 직접 업로드해야 했으며, 오류 발생 시 반송과 재작업이 빈번했습니다.
이 시스템은 다음 과정을 자동화합니다.
- 엑셀 파일 업로드 및 날짜 자동 추출
- 제품명 기반 표준코드 자동 매핑 (5단계 필터 체인)
- 사용자 정의 규칙에 따른 일괄 데이터 수정
- 3단계 유효성 검증 (필수값 → 형식 → 비즈니스 규칙)
- KPIS API를 통한 자동 제출 및 결과 확인
- 반송 건 자동 감지 및 재제출 지원
사용자 역할
시스템에는 두 가지 역할이 있습니다.
| 역할 | 접근 범위 | 주요 기능 |
|---|---|---|
| 관리자 | 전체 기능 | API 설정 (KPIS API KEY, 공동인증서 등록), 마스터 DB 관리, 사용자 승인/삭제, 데이터 관리, 휴일 설정 |
| 일반 사용자 | 업무 기능 | 파일 업로드, 데이터 편집, 규칙 관리, 검증, 내보내기, API 제출, 반송 관리 |
주의: 최초 로그인 시 관리자 승인이 필요합니다. 첫 번째 가입자는 자동으로 관리자 역할이 부여됩니다.
로그인
- 웹 브라우저에서 시스템 주소에 접속합니다.
- Google 계정으로 로그인 버튼을 클릭합니다.
- Google 계정으로 인증을 완료합니다.
- 최초 로그인 시 승인 대기 화면이 표시됩니다. 관리자가 사용자관리에서 승인하면 서비스를 이용할 수 있습니다.
주의: 인증이 비활성화된 환경에서는 로그인 없이 바로 접속됩니다. 이 경우 모든 사용자가 관리자 권한을 갖습니다.
지원 브라우저
| 브라우저 | 지원 수준 | 비고 |
|---|---|---|
| Chrome 86+ | 전체 기능 | 내보내기 폴더 지정 지원 (권장) |
| Edge 86+ | 전체 기능 | 내보내기 폴더 지정 지원 (권장) |
| Firefox | 기본 기능 | 내보내기는 기본 다운로드 폴더만 사용 |
| Safari | 기본 기능 | 내보내기는 기본 다운로드 폴더만 사용 |
Chrome 또는 Edge를 사용하면 바탕화면의 지정 폴더에 엑셀 파일을 직접 저장할 수 있어 업무 효율이 높아집니다.
화면 구성
사이드바 메뉴
사이드바는 5개 그룹으로 구성되어 있습니다. 좌측 상단 햄버거 버튼으로 아이콘 모드로 축소할 수 있습니다.
| 그룹 | 메뉴 | 설명 |
|---|---|---|
| 허브 | 대시보드 | 월간 보고 현황, KPI 카드, 차트 |
| 파일 업로드 | 갑지/을지 엑셀 업로드 | |
| 공급구분 | 출고 / 반품 / 폐기 / 정정 / 취소 | 각 탭 클릭 시 해당 공급구분 데이터 표시 |
| 현황 | 통계 카드 | 갑지 건수, 을지 건수, 매칭 수, 오류/경고 건수 |
| 보고 | API 제출 | KPIS API 일괄 등록 (MA111~MA114) |
| 반송 관리 | 반송 건 조회 및 재제출 | |
| 반송코드 가이드 | DC001~DC007 반송코드 안내 | |
| 도구 | 데이터 관리 | 날짜별 데이터 조회/삭제 |
| 마스터 DB | 표준코드 업로드/검색 (관리자) | |
| 사용자관리 | 사용자 승인/삭제 (관리자) | |
| 휴일 관리 | 공휴일/회사 휴일 설정 |
공급구분 탭과 현황 카드는 해당 날짜에 데이터가 있을 때만 표시됩니다. 각 탭 우측의 배지 숫자는 해당 공급구분의 행 수를 나타냅니다.
주의: LIVE 모드일 때 사이드바 상단에 빨간색 “LIVE 운영 서버” 경고 스트라이프가 표시됩니다. LIVE 모드에서는 실제 KPIS 운영 서버에 데이터가 전송되므로 주의가 필요합니다.
상단 헤더 (PageHeader)
데이터 편집 화면의 상단 헤더에는 다음 요소가 표시됩니다.
| 요소 | 설명 |
|---|---|
| 날짜 선택기 | 달력 팝업으로 날짜를 선택합니다. 색상 점으로 보고 상태를 확인할 수 있습니다 |
| 검색창 | 키워드를 입력하면 데이터가 실시간으로 필터링됩니다 |
| 내보내기 | 현재 탭의 갑지/을지를 엑셀로 내보냅니다 |
| 규칙관리 | 배치 규칙 생성, 편집, 적용 (번개 아이콘) |
| 코드매핑 | 제품명-표준코드 자동매핑 관리 |
| 규격검증 | 마스터 DB 기준 규격 불일치 자동 보정 (자 아이콘) |
| 수정이력 | 편집 이력 조회 |
| API제출 | KPIS API 일괄 등록 (종이비행기 아이콘) |
| 활동 로그 | 시스템 활동 이력 (벨 아이콘) |
배지 카운터
사이드바와 헤더에 표시되는 배지 카운터의 의미는 다음과 같습니다.
| 위치 | 배지 내용 | 의미 |
|---|---|---|
| 공급구분 탭 | 숫자 | 해당 공급구분의 전체 행 수 |
| 현황 - 갑지 | 숫자 | 현재 날짜의 갑지 총 행 수 |
| 현황 - 을지 | 숫자 | 현재 날짜의 을지 총 행 수 |
| 현황 - 매칭 | 숫자 | 표준코드가 자동 매칭된 행 수 |
| 현황 - 오류 | 빨간 숫자 | 제출 불가능한 오류 행 수 (클릭 시 해당 행으로 스크롤) |
| 현황 - 경고 | 노란 숫자 | 확인이 필요한 경고 행 수 (클릭 시 해당 행으로 스크롤) |
| 마스터 DB | 숫자 | 등록된 표준코드 마스터 건수 |
| 규격검증 | 빨간/초록 | 빨간색: 불일치 건 존재, 초록색: 불일치 없음 |
미보고 날짜 배너
앱 상단에 미보고 또는 부분보고 날짜 목록이 표시됩니다. 날짜를 클릭하면 해당 날짜로 이동합니다. 보고가 불필요한 날짜는 무시 버튼으로 배너에서 제외할 수 있습니다.
핵심 용어
| 용어 | 설명 |
|---|---|
| KPIS | 의약품관리종합정보센터 (Korean Pharmaceutical Information Service) |
| DSR | Drug Supply Report — 의약품 공급내역 보고서 |
| 갑지 | 공급자 보고 문서 (21열) — 공급사업자, 제품명, 표준코드, 수량/단가/금액, 공급구분 |
| 을지 | 일련번호 문서 (3열) — 갑지 연번에 매칭되는 의약품 일련번호/RFID |
| 표준코드 | KPIS 13자리 의약품 식별코드 (예: 8806497012345) |
| 공급구분 | 1:출고, 2:반품, 3:폐기, 4:정정, 5:취소 |
| 반송코드 (DC코드) | KPIS가 접수를 거부할 때 부여하는 사유 코드 (DC001~DC007) |
| 코드매핑 | 제품명과 표준코드의 매칭 이력. 동일 제품명 재등장 시 자동 적용 |
기본 워크플로우
전체 업무 흐름은 다음과 같습니다.
1. 로그인 (Google OAuth, 관리자 승인)
↓
2. 대시보드에서 보고 현황 확인
↓
3. 상단 달력에서 날짜 선택
↓
4. 파일 업로드 (갑지 + 을지 엑셀)
↓ 자동: 코드매핑 + 마스터매칭 + 규격보정 + 규칙 적용
5. DataGrid에서 데이터 확인 및 편집
↓ 규칙관리, 코드검색, 규격검증
6. 검증 오류 해결 (하단 검증 바 확인)
↓
7. 내보내기 (수동보고) 또는 API 제출 (자동보고)
↓
8. 결과 확인 (MA112)
├→ 등록 완료 → 대시보드 보고율 반영
└→ 반송 발생 → 반송 관리에서 수정 후 재제출