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

Pharmacy Stats API

QT-POS 통계 다이얼로그 API 버전

구조

pharmacy-stats-api/
├── app.py                      # Flask 메인
├── config.py                   # DB 연결 설정
├── queries/
│   ├── v1_pharmit3000.py      # PharmIT3000 쿼리
│   └── v2_pmplus20.py         # PMPLUS20 쿼리
└── templates/
    └── stats.html             # 비교 UI

API 엔드포인트

v1 - PharmIT3000

Endpoint 설명
/v1/api/stats 전체 통계
/v1/api/stats/insurance 보험별 통계
/v1/api/stats/time 시간가산별 통계
/v1/api/stats/payment 결제수단별 통계
/v1/api/stats/hospital 병원별 통계

v2 - PMPLUS20

동일한 구조의 /v2/api/stats/... 엔드포인트

비교

Endpoint 설명
/api/compare v1 vs v2 비교

쿼리 파라미터

  • from: 시작일 (YYYYMMDD)
  • to: 종료일 (YYYYMMDD)

예: /v1/api/stats?from=20260401&to=20260401

테이블 매핑

역할 PharmIT3000 (v1) PMPLUS20 (v2)
판매 헤더 PM_PRES.PS_MAIN PM_MAIN.TBSIM040_28
판매 상세 PM_PRES.PS_SUB_PHARM PM_MAIN.TBSIM040_29
수납 정보 PM_PRES.CD_SUNAB PM_MAIN.TBSIR000_01
약품 마스터 PM_DRUG.CD_GOODS PM_MAIN.TBSIM040_01

실행

pip install -r requirements.txt
python app.py

서버: http://0.0.0.0:5060

환경변수

PHARMIT_SERVER=192.168.0.4\PM2014
PHARMIT_USER=sa
PHARMIT_PASS=password

PMPLUS_SERVER=192.168.0.4\PM2014
PMPLUS_USER=sa
PMPLUS_PASS=password
Description
QT-POS Stats API
Readme 131 KiB
Languages
Python 69.3%
HTML 30.7%