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:
@@ -185,19 +185,55 @@ WHERE m.SUNAB_DT BETWEEN ? AND ?
|
|||||||
| Drug_T4 (비급여약제비) | 412,560 | 412,560 | ✅ (NON_DRUG+EXP_EXE) |
|
| Drug_T4 (비급여약제비) | 412,560 | 412,560 | ✅ (NON_DRUG+EXP_EXE) |
|
||||||
| PRICE_N (수납금액) | 2,815,000 | 2,838,420 | ⚠️ 차이 23,420원 (아래 설명) |
|
| 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 | 차이 | 보험구분 |
|
PMPLUS20의 `REAL_PRICE`는 수납테이블(TBSIR000_01)의 `RECP_AMT`, `SUNAB_PRICE`와 정확히 일치함.
|
||||||
|------|-----------|--------------|------|---------|
|
|
||||||
| 지성윤 | 500 | 11,920 | +11,420 | 차상위(F) |
|
|
||||||
| 임해자 | 19,700 | 31,700 | +12,000 | - |
|
|
||||||
|
|
||||||
**원인**: PharmIT3000은 차상위/의료급여 등 특수 보험에서 비급여 약제비를 `PRICE_N`에 미반영하는 버그가 있었음.
|
#### 검증 케이스 (20260324)
|
||||||
PMPLUS20의 `REAL_PRICE`는 비급여 약제비를 포함한 **실제 수납액**으로 개선됨.
|
|
||||||
|
|
||||||
**결론**: 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월 전체 검증)
|
### 보험구분별 (2026년 3월 전체 검증)
|
||||||
| 보험구분 | v1 건수 | v2 건수 | 일치 |
|
| 보험구분 | v1 건수 | v2 건수 | 일치 |
|
||||||
|
|||||||
Reference in New Issue
Block a user