From 513c082cc633cd85bc12635f24f89fda2947c7b4 Mon Sep 17 00:00:00 2001 From: thug0bin Date: Thu, 5 Mar 2026 13:45:03 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20PS=5Fsub=5Fpharm=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=20=EB=B0=8F=20PS=5FType=20=EB=8C=80=EC=B2=B4=EC=A1=B0?= =?UTF-8?q?=EC=A0=9C=20=EA=B5=AC=EB=B6=84=20=EB=AC=B8=EC=84=9C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PS_sub_pharm 테이블 컬럼 설명 - PS_Type 값별 의미 (0,1=일반, 4=대체실제, 9=대체원본) - 대체조제 데이터 패턴 (4→9 순서) - 쿼리 예시 추가 --- docs/ARCHITECTURE.md | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) 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