docs: PRICE_N vs REAL_PRICE 매핑 상세 분석 추가

- 일반 환자: REAL_PRICE = PRICE_N 정확히 일치 확인
- 특수 보험 환자 (차상위/선별급여):
  - 지성윤(차상위2): 상한제초과분(EXP_UNDER_EXE_PRICE) 포함
  - 임해자(선별급여): 선별급여80%(SE_PRICE_P_80) 포함
- v1 PRICE_N 버그: 상한제초과/선별급여분 미포함
- v2 REAL_PRICE = 수납테이블(TBSIR000_01)의 RECP_AMT와 일치
- 결론: REAL_PRICE 매핑 유지 (v1보다 정확한 실제 결제금액)
This commit is contained in:
root
2026-04-01 15:07:35 +00:00
parent d6a1484b54
commit 75559a78f9

View File

@@ -185,19 +185,55 @@ WHERE m.SUNAB_DT BETWEEN ? AND ?
| Drug_T4 (비급여약제비) | 412,560 | 412,560 | ✅ (NON_DRUG+EXP_EXE) |
| PRICE_N (수납금액) | 2,815,000 | 2,838,420 | ⚠️ 차이 23,420원 (아래 설명) |
### PRICE_N vs REAL_PRICE 차이 원인 (정상)
### PRICE_N vs REAL_PRICE 매핑 상세 분석
20260324 기준 2건에서 차이 발생:
#### 결론: `REAL_PRICE = 진짜 수납금액` ✅
| 환자 | v1 PRICE_N | v2 REAL_PRICE | 차이 | 보험구분 |
|------|-----------|--------------|------|---------|
| 지성윤 | 500 | 11,920 | +11,420 | 차상위(F) |
| 임해자 | 19,700 | 31,700 | +12,000 | - |
PMPLUS20의 `REAL_PRICE`는 수납테이블(TBSIR000_01)의 `RECP_AMT`, `SUNAB_PRICE`와 정확히 일치함.
**원인**: PharmIT3000은 차상위/의료급여 등 특수 보험에서 비급여 약제비를 `PRICE_N`에 미반영하는 버그가 있었음.
PMPLUS20의 `REAL_PRICE`는 비급여 약제비를 포함한 **실제 수납액**으로 개선됨.
#### 검증 케이스 (20260324)
**결론**: v2(PMPLUS20)의 `REAL_PRICE`가 더 정확한 값. 차이는 시스템 개선에 의한 정상 차이.
| 환자 | 보험구분 | v1 PRICE_N | v2 REAL_PRICE | v2 수납(RECP_AMT) | 설명 |
|------|---------|-----------|--------------|-----------------|------|
| 박명순 | 건강보험+비급여 | 89,600 | 89,600 | 89,600 | 일반 케이스 ✅ |
| 김상훈 | 건강보험+비급여 | 70,900 | 70,900 | 70,900 | 일반 케이스 ✅ |
| 지성윤 | 차상위2(F) | 500 | 11,920 | 11,920 | 특수 케이스 ⚠️ |
| 임해자 | 건강보험+선별급여 | 19,700 | 31,700 | 31,700 | 특수 케이스 ⚠️ |
#### 일반 환자 (건강보험 + 비급여)
```
REAL_PRICE = EXE_PRICE(본인부담) + NON_DRUG_PRICE(비급여약) + EXP_EXE_PRICE(비급여조제)
= PRICE_N (정확히 일치)
```
#### 특수 보험 환자 (차상위/선별급여)
**지성윤 (차상위2)**:
```
EXE_PRICE = 500 (기본 본인부담)
EXP_UNDER_EXE_PRICE = 11,420 (상한제초과 본인부담)
REAL_PRICE = 500 + 11,420 = 11,920 (진짜 수납액)
v1 PRICE_N = 500 ← 상한제초과분 누락!
```
**임해자 (건강보험 + 선별급여 80%)**:
```
EXE_PRICE = 19,700 (기본 본인부담)
SE_PRICE_P_80 = 12,000 (선별급여 80% 본인부담)
REAL_PRICE = 19,700 + 12,000 = 31,700 (진짜 수납액)
v1 PRICE_N = 19,700 ← 선별급여분 누락!
```
#### v1 PRICE_N 버그 원인
PharmIT3000의 `PRICE_N`은 다음 항목을 미포함:
- `EXP_UNDER_EXE_PRICE`: 상한제초과 본인부담
- `SE_PRICE_P_80/90/50`: 선별급여 본인부담
PMPLUS20의 `REAL_PRICE`는 이 모두를 포함한 **실제 결제금액**이며, 수납테이블(TBSIR000_01)의 `RECP_AMT`와 일치함.
**결론**: `REAL_PRICE` 매핑 유지가 맞음. 차이는 시스템 개선에 의한 정상 차이.
### 보험구분별 (2026년 3월 전체 검증)
| 보험구분 | v1 건수 | v2 건수 | 일치 |