From d6a1484b547382ab2a49c619bb6d4af162d91d15 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 1 Apr 2026 14:57:56 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=EB=B3=B4=ED=97=98=EA=B5=AC=EB=B6=84=20?= =?UTF-8?q?=EB=A7=A4=ED=95=91=20=EB=AC=B8=EC=84=9C=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20-=20=EC=A0=84=EC=B2=B4=20=EB=B3=B4?= =?UTF-8?q?=ED=97=98=EC=A2=85=EB=A5=98=20=ED=8F=AC=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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절: 작업 이력으로 변경, 완료된 항목 체크 --- PMPLUS20_MIGRATION_GUIDE.md | 64 ++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 18 deletions(-) diff --git a/PMPLUS20_MIGRATION_GUIDE.md b/PMPLUS20_MIGRATION_GUIDE.md index 67b3d8d..82cfd83 100644 --- a/PMPLUS20_MIGRATION_GUIDE.md +++ b/PMPLUS20_MIGRATION_GUIDE.md @@ -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 수치 검증 +- [ ] 시간별/결제별/병원별 세부 수치 검증 ---