Commit Graph

7 Commits

Author SHA1 Message Date
root
fc0f6832c3 fix: V1 쿼리에 PS_Main_Sub 조인 추가 - 선별급여/상한제 합산
V1 PharmIT3000의 PRICE_N은 선별급여/상한제초과 금액 미포함 버그 있음.
PS_Main_Sub.SE_PRICE_P를 합산해야 진짜 수납액.

변경:
- PS_Main_Sub LEFT JOIN 추가
- PRICE_N = m.PRICE_N + ISNULL(s.SE_PRICE_P, 0)

결과:
- V1 수납액 합계: 64,680,430
- V2 수납액 합계: 64,680,430
- 차이: 0 (완벽 일치)
2026-04-01 15:29:02 +00:00
root
bc0c282eaf docs: V1 PS_Main_Sub 선별급여/상한제 스키마 분석 추가
V1 PharmIT3000 구조 분석:
- PS_Main: 처방헤더 (PRICE_N만, 합산 안됨)
- PS_Main_Sub: 처방 부가정보 (SE_PRICE_P_80 등 선별급여 컬럼 있음!)
- CD_SUNAB: 수납 (ETC_CARD에 합산 결과 저장)

V1 버그 원인:
- 수납 화면에서는 PS_Main + PS_Main_Sub JOIN해서 계산
- CD_SUNAB.ETC_CARD에 정확히 저장
- 하지만 PS_Main.PRICE_N은 업데이트 안 함

SE_PRICE 컬럼 이력:
- PS_Main_Sub 테이블: 2010년 초기 스키마에 생성
- SE_PRICE_P_* 컬럼: 선별급여 제도 시행 후 추가
- 실제 데이터: 2026년부터 6건 존재

V2 PMPLUS20 개선:
- REAL_PRICE에 모든 항목 합산해서 저장
- 수납테이블 RECP_AMT와 일치 보장
2026-04-01 15:26:58 +00:00
root
75559a78f9 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보다 정확한 실제 결제금액)
2026-04-01 15:07:35 +00:00
root
d6a1484b54 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절: 작업 이력으로 변경, 완료된 항목 체크
2026-04-01 14:57:56 +00:00
root
defebd5554 fix: 보험구분 매핑 수정 - 보훈/차상위1/차상위2 정확한 변환
V2 PMPLUS20에서 MPRE_TYPE='4'는 특수보험 그룹:
- MPRE_TYPE_GUBUN='E' → 보훈 (V1: 'E')
- MPRE_TYPE_GUBUN='F' → 차상위2 (V1: 'F')
- MPRE_TYPE_GUBUN='C' → 차상위1 (V1: '7')

기존 코드는 MPRE_TYPE_GUBUN='F'만 체크해서 차상위2만 인식하고
보훈과 차상위1이 누락되는 문제가 있었음
2026-04-01 14:53:33 +00:00
root
8b4e8f7a0a feat: PMPLUS20(v2) 테이블 매핑 완료 및 쿼리 수정
- config.py: PMPLUS20 서버(192.168.0.201\PMPLUS20) 및 SA 비밀번호 수정
- v2_pmplus20.py: PS_MAIN→TBSID040_03, CD_SUNAB→TBSIR000_01 매핑 적용
  - 컬럼 매핑: PRICE_T→TOT_PRICE, PRICE_C→INS_PRICE, PRICE_P→EXE_PRICE 등
  - Drug_T4 = NON_DRUG_PRICE + EXP_EXE_PRICE
  - Holiday = HD_ADD + PRES_TIME_GUBUN 조합
  - PreGubun = MPRE_TYPE (차상위 F 별도 처리)
  - PRES_GUBUN='E' 재고보정 레코드 제외
- PMPLUS20_MIGRATION_GUIDE.md: 전체 매핑 가이드 문서 추가
- app.py: 포트 5060→5050 변경

20260324 기준 검증: 건수/금액/보험별/결제별 일치 확인
PRICE_N(수납) 2건 차이(23,420원)는 비급여 수납 처리 개선에 의한 정상 차이

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 14:45:31 +00:00
청춘약국
8e6552724a Initial commit: Flask stats API (v1 PharmIT3000, v2 PMPLUS20) 2026-04-01 22:10:15 +09:00