diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 16d4202..5a8b7d6 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -119,6 +119,53 @@ LIMIT 10; | `PHONE` | 전화번호 | | `PANUM` | 주민번호 | +**PM_PRES.dbo.PS_sub_pharm** - 조제 약품 상세 ⭐ +| 컬럼 | 설명 | +|------|------| +| `PreSerial` | 처방번호 (FK) | +| `SUB_SERIAL` | 약품 순번 | +| `DrugCode` | 제품 코드 | +| `Days` | 복용일수 | +| `QUAN` | 1회 복용량 | +| `QUAN_TIME` | 1일 복용횟수 | +| `INV_QUAN` | 총 투약량 | +| `PS_Type` | **조제 유형** (아래 참고) | + +#### PS_Type 값 (대체조제 구분) ⭐ + +| PS_Type | 의미 | 표시 | +|---------|------|------| +| **0** | 일반 처방 (급여) | ✅ 표시 | +| **1** | 일반 처방 (비급여) | ✅ 표시 | +| **4** | 대체조제 - **실제 조제약** | ✅ 표시 + `대)` 배지 | +| **9** | 대체조제 - **원본 처방약** | ❌ 숨김 | + +**대체조제 데이터 패턴:** +``` +SUB_SERIAL 순서로 4(실제) → 9(원본) 쌍으로 저장됨 + +예시 (김현지 처방): +PS_Type=4 | 사이톱신정 ← 실제 조제 (표시) +PS_Type=9 | 씨프러스정 ← 원본 처방 (숨김, 사이톱신의 원처방) +PS_Type=4 | 티로파정 ← 실제 조제 (표시) +PS_Type=9 | 티램정 ← 원본 처방 (숨김, 티로파의 원처방) +``` + +**쿼리 예시:** +```sql +-- 실제 조제약만 조회 (대체조제 원본 제외) +SELECT * FROM PS_sub_pharm WHERE PreSerial = '처방번호' AND PS_Type != '9' + +-- 대체조제 쌍 확인 +SELECT + s1.DrugCode AS 실제조제, + s2.DrugCode AS 원본처방 +FROM PS_sub_pharm s1 +JOIN PS_sub_pharm s2 ON s1.PreSerial = s2.PreSerial + AND s1.SUB_SERIAL + 1 = s2.SUB_SERIAL +WHERE s1.PS_Type = '4' AND s2.PS_Type = '9' +``` + ```sql -- 예시: 오늘 판매 내역 + 제품명 조회 SELECT