docs: 보험구분 매핑 문서 업데이트 - 전체 보험종류 포함
- 3-2절: MPRE_TYPE + MPRE_TYPE_GUBUN 조합 매핑 추가 - 건강보험(0), 의료급여1종(1), 산재(2), 의료급여2종(3) - 차상위1(7←4+C), 보훈(E←4+E), 차상위2(F←4+F), 비급여(9) - 4절: v2 쿼리에 정확한 CASE문 반영 - 5절: 2026년 3월 전체 검증 결과로 업데이트 (V1=V2 일치 확인) - 6절: 작업 이력으로 변경, 완료된 항목 체크
This commit is contained in:
@@ -60,16 +60,32 @@ LEFT JOIN PM_MAIN..TBSIR000_01 n ON n.DRUG_SEQ = m.DRUG_SEQ
|
||||
| `PaName` | `PAT_NM` | 환자명 | 동일 | ✅ |
|
||||
| `OrderName` | `YOYANG_NM` | 처방 병원명 | 동일 | ✅ |
|
||||
|
||||
### 3-2. 보험구분 (PreGubun → MPRE_TYPE)
|
||||
### 3-2. 보험구분 (PreGubun → MPRE_TYPE + MPRE_TYPE_GUBUN)
|
||||
|
||||
| v1 `PreGubun` | v2 `MPRE_TYPE` | 의미 | 건수 (20260324) |
|
||||
|---------------|---------------|------|----------------|
|
||||
| `'0'` | `'0'` | 건강보험 | 191건 ✅ |
|
||||
| `'1'` | `'1'` | 의료급여 | 16건 ✅ |
|
||||
| `'9'` | `'9'` | 비급여 | 2건 ✅ |
|
||||
| `'F'` | `MPRE_TYPE_GUBUN='F'` | 차상위 | 2건 ✅ |
|
||||
v2에서 `MPRE_TYPE='4'`는 특수보험 그룹이며, `MPRE_TYPE_GUBUN`으로 세부 구분함.
|
||||
|
||||
> **주의**: `MPRE_TYPE`이 보험구분. `PRES_GUBUN`은 다른 용도 (A/E 값)
|
||||
| v1 `PreGubun` | v2 `MPRE_TYPE` | v2 `MPRE_TYPE_GUBUN` | 의미 | 건수 (202603) |
|
||||
|---------------|---------------|---------------------|------|----------------|
|
||||
| `'0'` | `'0'` | `'0'` | 건강보험 | 3,325건 ✅ |
|
||||
| `'1'` | `'1'` | `'0'` | 의료급여1종 | 259건 ✅ |
|
||||
| `'2'` | `'2'` | `'0'` | 산재 | 17건 ✅ |
|
||||
| `'3'` | `'3'` | `'0'` | 의료급여2종 | 6건 ✅ |
|
||||
| `'7'` | `'4'` | `'C'` | **차상위1** | 7건 ✅ |
|
||||
| `'E'` | `'4'` | `'E'` | **보훈** | 32건 ✅ |
|
||||
| `'F'` | `'4'` | `'F'` | **차상위2** | 11건 ✅ |
|
||||
| `'9'` | `'9'` | `'0'` | 비급여 | 34건 ✅ |
|
||||
|
||||
**v2에서 PreGubun 변환 SQL**:
|
||||
```sql
|
||||
CASE
|
||||
WHEN m.MPRE_TYPE = '4' AND m.MPRE_TYPE_GUBUN = 'E' THEN 'E' -- 보훈
|
||||
WHEN m.MPRE_TYPE = '4' AND m.MPRE_TYPE_GUBUN = 'F' THEN 'F' -- 차상위2
|
||||
WHEN m.MPRE_TYPE = '4' AND m.MPRE_TYPE_GUBUN = 'C' THEN '7' -- 차상위1
|
||||
ELSE ISNULL(m.MPRE_TYPE, '0')
|
||||
END AS PreGubun
|
||||
```
|
||||
|
||||
> **주의**: `MPRE_TYPE`이 기본 보험구분. `PRES_GUBUN`은 다른 용도 (A/E 값)
|
||||
|
||||
> **v2 전용 필터**: `PRES_GUBUN = 'E'`인 "재고보정" 레코드는 제외해야 함
|
||||
> (DRUG_SEQ='20260324099999' 형태, v1에는 없음)
|
||||
@@ -119,7 +135,13 @@ else:
|
||||
```sql
|
||||
SELECT
|
||||
m.DRUG_SEQ AS PreSerial,
|
||||
m.MPRE_TYPE AS PreGubun,
|
||||
-- 보험구분 변환: MPRE_TYPE + MPRE_TYPE_GUBUN → PreGubun
|
||||
CASE
|
||||
WHEN m.MPRE_TYPE = '4' AND m.MPRE_TYPE_GUBUN = 'E' THEN 'E' -- 보훈
|
||||
WHEN m.MPRE_TYPE = '4' AND m.MPRE_TYPE_GUBUN = 'F' THEN 'F' -- 차상위2
|
||||
WHEN m.MPRE_TYPE = '4' AND m.MPRE_TYPE_GUBUN = 'C' THEN '7' -- 차상위1
|
||||
ELSE ISNULL(m.MPRE_TYPE, '0')
|
||||
END AS PreGubun,
|
||||
m.PAT_JUMIN_NO AS PaNum,
|
||||
m.YOYANG_NM AS OrderName,
|
||||
-- Holiday 변환: HD_ADD + PRES_TIME_GUBUN → Holiday
|
||||
@@ -177,13 +199,17 @@ PMPLUS20의 `REAL_PRICE`는 비급여 약제비를 포함한 **실제 수납액*
|
||||
|
||||
**결론**: v2(PMPLUS20)의 `REAL_PRICE`가 더 정확한 값. 차이는 시스템 개선에 의한 정상 차이.
|
||||
|
||||
### 보험구분별
|
||||
### 보험구분별 (2026년 3월 전체 검증)
|
||||
| 보험구분 | v1 건수 | v2 건수 | 일치 |
|
||||
|---------|--------|--------|------|
|
||||
| 0 (건강보험) | 191 | 191 | ✅ |
|
||||
| 1 (의료급여) | 16 | 16 | ✅ |
|
||||
| 9 (비급여) | 2 | 2 | ✅ |
|
||||
| F (차상위) | 2 | 2 | ✅ |
|
||||
| 0 (건강보험) | 3,359 | 3,359 | ✅ |
|
||||
| 1 (의료급여1종) | 271 | 271 | ✅ |
|
||||
| 2 (산재) | 17 | 17 | ✅ |
|
||||
| 3 (의료급여2종) | 6 | 6 | ✅ |
|
||||
| 7 (차상위1) | 8 | 8 | ✅ |
|
||||
| 9 (비급여) | 35 | 35 | ✅ |
|
||||
| E (보훈) | 32 | 32 | ✅ |
|
||||
| F (차상위2) | 11 | 11 | ✅ |
|
||||
|
||||
### 결제수단별
|
||||
| 구분 | v1 건수 | v2 건수 | 일치 |
|
||||
@@ -195,15 +221,17 @@ PMPLUS20의 `REAL_PRICE`는 비급여 약제비를 포함한 **실제 수납액*
|
||||
|
||||
---
|
||||
|
||||
## 6. 남은 작업
|
||||
## 6. 작업 이력
|
||||
|
||||
- [x] 테이블 매핑 확정 (PS_MAIN → TBSID040_03)
|
||||
- [x] 컬럼 매핑 확정 (13개 컬럼 전체)
|
||||
- [x] 수납 테이블 매핑 확정 (CD_SUNAB → TBSIR000_01)
|
||||
- [x] 변환 쿼리 작성
|
||||
- [ ] `queries/v2_pmplus20.py` 코드 수정
|
||||
- [ ] `/api/compare`로 전체 기간 수치 검증
|
||||
- [ ] 보험별/시간별/결제별/병원별 세부 수치 검증
|
||||
- [x] `queries/v2_pmplus20.py` 코드 수정 (2026-04-01)
|
||||
- [x] 보험구분 매핑 완료 - 보훈/차상위1/차상위2 정확히 변환 (2026-04-01)
|
||||
- [x] 2026년 3월 전체 기간 보험구분별 건수 검증 완료 (V1=V2 일치)
|
||||
- [ ] `/api/compare`로 UI 수치 검증
|
||||
- [ ] 시간별/결제별/병원별 세부 수치 검증
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user