시골약사 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

한약 재고관리 시스템

한의원/한약방을 위한 웹 기반 재고관리 및 조제관리 시스템입니다.

주요 기능

1. 환자 관리

  • 환자 등록 (이름, 전화번호, 주민번호, 성별, 생년월일)
  • 환자 검색 및 조회
  • 환자별 조제 이력 관리

2. 입고 관리

  • Excel 파일을 통한 대량 입고 처리
  • 도매상별 입고 관리
  • 로트별 재고 추적 (원산지, 입고일, 단가 등)

3. 처방 관리 (약속 처방)

  • 자주 사용하는 처방 템플릿 등록
  • 처방별 구성 약재 및 용량 설정
  • 처방 재사용 및 가감 기능

4. 조제 관리

  • 처방 선택 후 즉시 조제
  • 약재 가감 기능
  • FIFO 방식 재고 차감
  • 조제 원가 자동 계산

5. 재고 현황

  • 실시간 재고 조회
  • 약재별 재고 수량 및 금액
  • 로트별 상세 재고 현황

시스템 아키텍처

┌─────────────────────────────────────────┐
│         웹 브라우저 (클라이언트)          │
│     HTML + Bootstrap + jQuery           │
└──────────────────┬──────────────────────┘
                   │ HTTP/AJAX
                   │
┌──────────────────▼──────────────────────┐
│        Flask 웹 서버 (Backend)          │
│         REST API + 템플릿 렌더링         │
└──────────────────┬──────────────────────┘
                   │
┌──────────────────▼──────────────────────┐
│       SQLite Database                  │
│  (재고, 환자, 처방, 조제 데이터)        │
└─────────────────────────────────────────┘

데이터베이스 구조

핵심 테이블

  • herb_masters - 약재 마스터 (성분코드 기준, 454개 표준 약재)
  • herb_items - 약재 제품 (제조사별 개별 제품)
  • patients - 환자 정보
  • suppliers - 도매상 정보
  • purchase_receipts - 입고장 헤더
  • purchase_receipt_lines - 입고장 상세
  • inventory_lots - 로트별 재고
  • formulas - 처방 마스터
  • formula_ingredients - 처방 구성 약재 (ingredient_code 기반)
  • compounds - 조제 작업
  • compound_consumptions - 로트별 차감 내역
  • stock_ledger - 재고 원장 (모든 변동 기록)

핵심 개념

  • 성분코드 (ingredient_code): 표준 약재 식별자
  • 2단계 약재 체계: 마스터(성분) → 제품(제조사별)
  • 1제 = 20첩 = 30파우치 (기본값, 조정 가능)
  • 로트 관리: 입고 시점별로 재고를 구분 관리
  • FIFO 차감: 오래된 재고부터 우선 사용
  • 원가 추적: 로트별 단가 기준 정확한 원가 계산

📚 문서

설치 방법

1. 필수 요구사항

  • Python 3.8 이상
  • pip (Python 패키지 관리자)

2. 설치 과정

# 1. 프로젝트 클론 또는 다운로드
cd kdrug

# 2. 가상환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 3. 필요 패키지 설치
pip install flask flask-cors pandas openpyxl

# 4. 서버 실행
python app.py

3. 웹 브라우저에서 접속

http://localhost:5001

사용 방법

1. 초기 설정

  1. 시스템 실행 후 웹 브라우저로 접속
  2. 약재 마스터 데이터 준비 (Excel 업로드로 자동 생성 가능)

2. Excel 입고장 업로드

Excel 파일 형식 (필수 컬럼):

  • 제품코드 (보험코드 9자리)
  • 업체명
  • 약재명
  • 구입일자 (YYYYMMDD)
  • 구입량 (그램 단위)
  • 구입액 (원)
  • 원산지

3. 환자 등록

  1. 좌측 메뉴에서 "환자 관리" 클릭
  2. "새 환자 등록" 버튼 클릭
  3. 필수 정보 입력 (이름, 전화번호)
  4. 선택 정보 입력 (주민번호, 성별, 생년월일 등)

4. 처방 등록 (약속 처방)

  1. 좌측 메뉴에서 "처방 관리" 클릭
  2. "새 처방 등록" 버튼 클릭
  3. 처방명 입력 (예: 쌍화탕, 보중익기탕 등)
  4. 구성 약재 추가
    • 약재 선택
    • 1첩당 용량(g) 입력
  5. 저장

5. 조제 실행

  1. 좌측 메뉴에서 "조제 관리" 클릭
  2. "새 조제" 버튼 클릭
  3. 환자 선택
  4. 처방 선택 (등록된 처방 템플릿)
  5. 제수 입력 (기본 1제)
  6. 약재 가감 (필요시)
    • 용량 조정
    • 약재 추가/삭제
  7. "조제 실행" 클릭
  8. 자동으로 재고 차감 및 원가 계산

6. 재고 확인

  1. 좌측 메뉴에서 "재고 현황" 클릭
  2. 약재명으로 검색 가능
  3. 현재 재고량, 로트 수, 평균 단가, 재고 금액 확인

시스템 특징

장점

  • 간편한 Excel 업로드: 기존 Excel 입고장을 그대로 활용
  • 약속 처방 기능: 자주 사용하는 처방을 템플릿으로 저장
  • 가감 기능: 처방 기본 구성에서 유연한 조정 가능
  • 정확한 원가 계산: 로트별 단가 추적으로 정확한 원가 산출
  • FIFO 재고 관리: 선입선출 원칙 자동 적용
  • 웹 기반: 별도 설치 없이 브라우저에서 사용

보안 고려사항

  • 주민번호 등 민감 정보는 암호화 필요 (프로덕션 환경)
  • 사용자 인증/권한 관리 기능 추가 필요
  • HTTPS 적용 권장

향후 개발 계획

  1. 보험 청구 연동

    • 건강보험 첩약 코드 완벽 지원
    • 청구 자료 자동 생성
  2. 고급 리포트

    • 월별/분기별 매출 분석
    • 약재별 사용량 통계
    • 환자별 처방 이력
  3. 모바일 지원

    • 반응형 웹 디자인
    • 모바일 앱 개발
  4. 재고 알림

    • 최소 재고 수준 설정
    • 재고 부족 알림
    • 유효기간 임박 알림
  5. 다중 사용자

    • 사용자 계정 관리
    • 권한별 접근 제어
    • 작업 이력 추적

기술 스택

  • Backend: Flask 3.1.2 (Python Web Framework)
  • Database: SQLite (경량 관계형 데이터베이스)
  • Frontend: Bootstrap 5.1.3 + jQuery 3.6.0
  • Excel 처리: pandas + openpyxl
  • API: RESTful JSON API

라이선스

이 프로젝트는 교육 및 테스트 목적으로 제작되었습니다. 상업적 사용 시 별도 협의가 필요합니다.

문의

기술 지원 및 문의사항은 이슈 트래커를 통해 등록해주세요.

Description
Korean Traditional Medicine Inventory Management System - 한약 재고관리 시스템
Readme 8.5 MiB
Languages
Python 62.6%
JavaScript 21.4%
HTML 15.9%
Shell 0.1%