kdrug-inventory-system/docs/100처방 기반_빠른_어울림처방만들기.md
시골약사 87e839be14 feat: 100처방 마스터 테이블 스키마 및 관련 문서 추가
- official_formulas, official_formula_ingredients 테이블 스키마 추가
- 100처방 마스터데이터 등록 가이드 (Agent용 절차/규칙/코드 템플릿)
- 한약국 첩제 vs OTC 상담 가이드
- 한약국 AI데이터 기본이해 문서
- 가미패독산 업셀링 칼럼, 입고장 수정기능 구현 문서
- CLAUDE.md에 참고 문서 경로 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 14:15:25 +00:00

5.4 KiB

현재 스키마 흐름

herb_masters (성분코드 마스터) ingredient_code: '3400H1AHM' → 인삼

├──── official_formula_ingredients (100처방 원방 구성) │ ingredient_code + grams_per_cheop │ → "가미패독산 원방: 인삼 3g/첩" │ └──── formula_ingredients (운영 처방 구성) ingredient_code + grams_per_cheop → "내 쌍화탕: 인삼 4g/첩 (가감)"

둘 다 ingredient_code 기반으로 통일되어 있어서:

  • 100처방 마스터에 원방 구성을 채워두면
  • 운영 처방 만들 때 원방을 복사 → 가감하는 워크플로우가 가능합니다
  • 특정 제품(휴먼인삼 vs 한퓨어인삼)에 종속되지 않고, 조제 시점에 재고 기반으로 제품이 자동 선택됩니다
  1. 100처방 목록에서 가미패독산 클릭 → 상세 모달
  2. "내 처방으로 등록" 버튼 클릭
  3. 처방 등록 모달이 열리면서 자동 프리필:
    - 처방명: 어울림 가미패독산
    - 구성 약재 13종 + 첩당 용량 전부 채워짐 - 각 약재의 역할(notes)도 포함
  4. 여기서 자유롭게 약재 추가/제거/용량 변경 후 저장

원방을 기반으로 가감방을 만드는 워크플로우가 완성된 겁니다.

app.py - create_formula 함수:

  1. formula_ingredients INSERT 컬럼을 herb_item_id → ingredient_code로 변경 (line 572)
  2. official_formula_id 저장 추가 — 100처방 기반으로 생성한 처방은 원방 연결 추적 가능

static/app.js:

  1. 100처방에서 "내 처방으로 등록" 시 official_formula_id를 모달 데이터에 저장
  2. 처방 저장 시 official_formula_id를 API로 전달
  3. 저장 완료 후 official-formula-id 데이터 초기화

이제 가미패독산 등 100처방에서 "내 처방으로 등록" → 저장이 정상 동작할 것입니다. 재고가 없는 약재도 ingredient_code 기반으로 저장되므로 문제없습니다.

  1. 내 처방 목록 가감 표시 기능

처방명 "어울림" 스타일링:

  • "어울림 가미패독산" → 어울림(초록색 볼드) + 가미패독산

가감 뱃지 (100처방 원방 대비 변경사항):

  • 용량 변경: 생강 3g→4g — 파란색 뱃지
  • 약재 추가: +건강 2g — 초록색 뱃지
  • 약재 제거: -생강 — 빨간색 뱃지
  • 원방 그대로인 경우: 원방 그대로 — 회색 뱃지

조제 시 가감 감지 코드(checkCustomPrescription)와 동일한 패턴을 처방 목록에도 적용했습니다.