diff --git a/PMPLUS20_MIGRATION_GUIDE.md b/PMPLUS20_MIGRATION_GUIDE.md index 5e25dab..3a84811 100644 --- a/PMPLUS20_MIGRATION_GUIDE.md +++ b/PMPLUS20_MIGRATION_GUIDE.md @@ -225,15 +225,58 @@ REAL_PRICE = 19,700 + 12,000 = 31,700 (진짜 수납액) v1 PRICE_N = 19,700 ← 선별급여분 누락! ``` -#### v1 PRICE_N 버그 원인 +#### v1 스키마 분석: 선별급여/상한제 데이터는 어디에? -PharmIT3000의 `PRICE_N`은 다음 항목을 미포함: -- `EXP_UNDER_EXE_PRICE`: 상한제초과 본인부담 -- `SE_PRICE_P_80/90/50`: 선별급여 본인부담 +**V1 PharmIT3000에도 데이터는 있다!** `PS_Main_Sub` 테이블에 저장됨: -PMPLUS20의 `REAL_PRICE`는 이 모두를 포함한 **실제 결제금액**이며, 수납테이블(TBSIR000_01)의 `RECP_AMT`와 일치함. +```sql +-- V1 PharmIT3000에서 선별급여/상한제 확인 +SELECT + m.PreSerial, m.PRICE_N, + s.SE_PRICE_P_80, -- 선별급여 80% 본인부담 + s.SE_PRICE_P, -- 선별급여 본인부담 합계 + c.ETC_CARD -- 실제 수납액 +FROM PS_Main m +JOIN PS_Main_Sub s ON s.PreSerial = m.PreSerial +JOIN CD_SUNAB c ON c.PRESERIAL = m.PreSerial +WHERE s.SE_PRICE_P > 0 +``` -**결론**: `REAL_PRICE` 매핑 유지가 맞음. 차이는 시스템 개선에 의한 정상 차이. +**V1 테이블 구조:** +| 테이블 | 역할 | 선별급여/상한제 | +|--------|-----|-------------------| +| `PS_Main` | 처방 헤더 | ❌ `PRICE_N`만 (합산 안됨) | +| `PS_Main_Sub` | 처방 부가정보 | ✅ `SE_PRICE_P_80`, `SE_PRICE_P` 등 | +| `CD_SUNAB` | 수납 | ✅ `ETC_CARD`에 합산 결과 | + +**검증 케이스 (V1):** +| 환자 | PS_Main.PRICE_N | PS_Main_Sub.SE_PRICE_P_80 | CD_SUNAB.ETC_CARD | +|------|----------------|--------------------------|------------------| +| 지성윤(차상위2) | 500 | 11,420 | 11,920 ✅ | +| 임해자(선별급여) | 19,700 | 12,000 | 31,700 ✅ | + +**문제점**: `PS_Main.PRICE_N`이 `PS_Main_Sub`의 선별급여/상한제 금액을 **합산하지 않음**. + +#### 선별급여 컨럼 추가 이력 + +- `PS_Main_Sub` 테이블: **2010년 초기 스키마**에 생성 +- `SE_PRICE_P_*` 커럼들: **나중에 추가됨** (선별급여 제도 시행 후) +- 실제 데이터: 2026년부터 6건 존재 (최근 사용 시작) + +#### V1 수납 프로세스 (추정) + +1. 수납 화면에서 `PS_Main` + `PS_Main_Sub` JOIN해서 총액 계산 +2. 계산된 금액을 `CD_SUNAB.ETC_CARD`에 저장 +3. **하지만** `PS_Main.PRICE_N`은 업데이트 안 함 (버그) + +#### V2 PMPLUS20 개선 사항 + +PMPLUS20은 이 문제를 해결: +- `TBSID040_03.REAL_PRICE`에 **모든 항목 합산해서 저장** +- `EXP_UNDER_EXE_PRICE`, `SE_PRICE_P_80` 등 별도 컨럼도 유지 +- 수납테이블(TBSIR000_01)의 `RECP_AMT`와 일치 보장 + +**결론**: `REAL_PRICE` 매핑 유지가 맞음. V1의 `PRICE_N` 버그를 V2에서 수정한 것. ### 보험구분별 (2026년 3월 전체 검증) | 보험구분 | v1 건수 | v2 건수 | 일치 |