kdrug-inventory-system/docs/주성분코드_기반_개선_계획.md
시골약사 38838e5ecf feat: 처방 관리 및 재고 원장 시스템 구현
## 처방 관리 (조제) 기능
- compounds API 추가 (목록/상세/환자별 조회)
- 조제 시 자동 재고 차감 (FIFO)
- 조제 내역 UI (EMR 스타일)
- 조제 상세보기 모달 (처방구성, 재고소비내역)
- 오늘/이번달 조제 통계 표시

## 재고 원장 시스템
- stock-ledger API 구현
- 입출고 내역 실시간 추적
- 재고 현황 페이지 개선 (통계 카드 추가)
- 입출고 원장 모달 UI
- 약재별/전체 입출고 내역 조회

## 확인된 동작
- 박주호 환자 오미자 200g 조제
- 재고 2000g → 1800g 정확히 차감
- 모든 입출고 stock_ledger에 기록

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-15 11:21:20 +00:00

3.3 KiB

📋 주성분코드 기반 약재 관리 체계 개선 계획

🎯 목표

"454개 주성분코드를 기준으로 약재를 관리하고, 입고되지 않은 약재도 처방 가능한 체계 구축"

🏗️ 현재 문제점

  1. 약재 관리가 입고된 제품 중심 (28개만 표시)
  2. 입고되지 않은 약재는 처방 생성 불가
  3. 보험코드와 주성분코드가 혼재

개선 후 모습

3단계 계층 구조

1. 주성분코드 (454개) - 약재 마스터
        ↓
2. 처방 구성 - 주성분코드 기반
        ↓
3. 실제 조제 - 입고된 제품으로 매핑

📝 구현 단계

Phase 1: 약재 관리 UI 개선 (우선)

1-1. 약재 목록 페이지 개선

  • 현재: 입고된 약재만 표시 (28개)
  • 개선:
    전체 454개 주성분코드 표시
    ✅ 재고 있음 (28개) - 녹색 표시
    ⬜ 재고 없음 (426개) - 회색 표시
    

1-2. API 수정

  • /api/herbs/masters - 454개 전체 약재 (재고 유무 표시)
  • /api/herbs/inventory - 재고 있는 약재만 (현재 방식 유지)

1-3. 필터링 기능

  • 전체 보기 / 재고 있음 / 재고 없음
  • 효능별 필터
  • 검색 기능

Phase 2: 처방 관리 개선

2-1. 처방 생성 개선

  • 454개 주성분코드에서 선택
  • 재고 없는 약재도 선택 가능
  • 재고 상태 시각적 표시

2-2. 처방 구성 표시

쌍화탕 (12개 약재)
✅ 건강 (재고: 6,500g)
✅ 감초 (재고: 5,000g)
⚠️ 특정약재 (재고: 0g) - 입고 필요

Phase 3: 조제 프로세스 개선

3-1. 조제 시 자동 매핑

주성분코드 → 실제 제품 선택
3017H1AHM (건강) →
  • 경희한약 건강 500g (페루산)
  • 고강제약 건강 600g (한국산)

3-2. 재고 부족 알림

  • 조제 불가능한 약재 강조
  • 대체 가능 제품 제안

Phase 4: 입고 관리 개선

4-1. 제품 매핑

  • 입고 시 주성분코드 자동 매핑
  • 바코드로 제품 식별

🚀 구현 순서

Step 1: 약재 마스터 API (30분)

  1. /api/herbs/masters API 생성
  2. 454개 전체 약재 + 재고 상태 반환

Step 2: 약재 관리 UI (1시간)

  1. 약재 관리 페이지 새로 구성
  2. 필터링 기능 추가
  3. 재고 상태 표시

Step 3: 처방 관리 수정 (1시간)

  1. formula_ingredients를 주성분코드 기반으로 변경
  2. 처방 생성 UI 수정
  3. 재고 체크 로직 분리

Step 4: 조제 프로세스 (1시간)

  1. 주성분코드 → 제품 매핑 로직
  2. 제품 선택 UI
  3. 재고 부족 처리

Step 5: 테스트 및 마무리 (30분)

  1. 전체 프로세스 테스트
  2. 버그 수정
  3. 문서 업데이트

📊 예상 효과

Before

  • 28개 약재만 관리
  • 입고된 약재로만 처방 생성
  • 제한적인 시스템

After

  • 454개 전체 급여 약재 관리
  • 재고 없어도 처방 생성 가능
  • 표준화된 체계
  • 확장 가능한 구조

⚠️ 주의사항

  1. 하위 호환성: 기존 데이터 유지
  2. 단계적 적용: 한 번에 하나씩 구현
  3. 백업: 각 단계별 백업

🔍 검증 기준

  1. 454개 약재 모두 표시되는가?
  2. 재고 없는 약재로 처방 생성 가능한가?
  3. 조제 시 적절한 제품이 매핑되는가?
  4. 기존 기능이 정상 작동하는가?

작성일: 2026-02-15 예상 소요시간: 4시간 우선순위: 높음