본문으로 건너뛰기

리콜관리

이 기능은 무엇인가요?​

리콜관리 기능은 제품 안전 문제 발생 시 리콜 캠페인을 체계적으로 수행하는 기능입니다. 영향 LOT를 자동 식별하고, 리콜 등급(Class I/II/III)에 따른 고객 통보와 회수를 실행하며, 효과성 검증으로 리콜의 적절성을 확인합니다.

이 기능은 FDA 21 CFR Part 7(리콜) 및 ISO 9001 8.7(부적합 출력의 관리) 요구사항을 충족합니다.

업무 프로세스 개요​

포함된 화면​

화면용도주 사용자
리콜캠페인리콜 캠페인 생성 및 전체 관리품질 책임자
리콜영향LOT영향받는 LOT 식별·회수 추적QA 엔지니어
리콜고객통보고객 통보 이력 관리영업 담당
리콜효과성검증리콜 효과성 검증 (FDA Audit Check)QA 매니저

관련 솔루션 연계​

솔루션연계 내용데이터 흐름
QMS 부적합/CAPA부적합 → 리콜 캠페인NCR → 리콜
MESLOT 추적 데이터MES → QMS

시작하기​

1단계: 리콜 캠페인 생성​

  1. 리콜 유형(자발적/강제)과 등급(Class I/II/III)을 결정합니다
  2. 영향 품목과 기간을 설정하면 영향 LOT가 자동 식별됩니다

2단계: 회수 실행​

  1. 고객에게 리콜 통보를 발송합니다
  2. 회수율을 모니터링하고 80% 미달 시 에스컬레이션합니다
  3. 회수품 처분(재작업/폐기/반품)을 결정합니다
참고: 데이터 구조

데이터 관계도​

관련 워크플로우​

  • 리콜 캠페인 시작 (startEvent): -
  • 영향 LOT 자동 식별 (autoTask): 리콜 대상 품목과 기간을 기반으로 영향받는 LOT를 자동 식별하고 recall_affected_lots 테이블에 생성합니다
  • 위험성 평가 및 등급 결정 (humanTask): 리콜담당자가 인체 위해성, 법규 요구사항, 영향 범위를 평가하고 리콜 등급(Class I/II/III)을 결정합니다
  • 고객 통보 자동 발송 (autoTask): 영향받는 고객에게 리콜 통보를 자동 발송하고 recall_customer_notifications에 이력을 저장합니다
  • 추가 회수 조치 에스컬레이션 (humanTask): 회수율 80% 미달 시 추가 회수 전략을 수립하고 에스컬레이션 조치(2차 통보, 현장 방문 등)를 실행합니다
  • 정상 진행 처리 (autoTask): 회수율 80% 이상 달성 시 정상 진행 상태로 업데이트합니다
  • 회수품 처분 결정 (humanTask): 회수된 제품에 대해 재작업, 폐기, 반품 중 처분 방법을 결정하고 실행합니다
  • 효과성 검증 (humanTask): 리콜 시정조치의 효과성을 검증하고 재발 방지 대책의 적절성을 확인합니다

테이블 요약​

리콜캠페인 (recall_campaigns)​

컬럼명한글명타입설명
recall_number리콜번호VARCHAR *필수 *고유-
recall_type리콜유형ENUM(voluntary, mandatory, market_withdrawal, safety_alert) *필수-
recall_class리콜등급ENUM(class_I, class_II, class_III) *필수FDA 기준 리콜 등급
item_id품목IDUUID (FK)크로스템플릿: ERP items 참조
reason리콜사유TEXT *필수-
hazard_description위험성설명TEXT-
affected_lot_count영향LOT수INT-
affected_qty영향수량DECIMAL-
recall_scope리콜범위ENUM(domestic, international, global) *필수-
status상태ENUM(initiated, investigating, active, monitoring, closed) *필수-
initiated_date개시일DATE *필수-
target_completion_date목표완료일DATE-
actual_completion_date실제완료일DATE-
regulatory_report_required규제보고필요BOOLEAN-
regulatory_report_date규제보고일DATE-
root_cause근본원인TEXT-
corrective_action시정조치TEXT-
responsible_id담당자IDUUID (시스템참조)public.users 참조
department_id담당부서IDUUID (시스템참조)public.departments 참조

리콜영향LOT (recall_affected_lots)​

컬럼명한글명타입설명
campaign_id리콜캠페인IDUUID (FK) *필수recall_campaigns 참조
lot_idLOT IDUUID (FK)크로스솔루션: MES lot_tracking 참조 (nullable)
lot_numberLOT번호VARCHAR *필수-
product_name제품명VARCHAR-
quantity수량DECIMAL-
location위치VARCHAR-
recovery_status회수상태ENUM(identified, notified, in_transit, recovered, disposed, unrecoverable) *필수-
recovery_date회수일DATE-
recovery_qty회수수량DECIMAL-
disposition처분ENUM(rework, scrap, return_to_supplier, quarantine, release)-
disposition_date처분일DATE-
notes비고TEXT-
remaining_qty미회수수량DECIMAL (계산)-
recovery_rate_pct회수율(%)DECIMAL (계산)-

리콜고객통보 (recall_customer_notifications)​

컬럼명한글명타입설명
campaign_id리콜캠페인IDUUID (FK) *필수recall_campaigns 참조
customer_name고객명VARCHAR *필수-
contact_email연락이메일VARCHAR-
contact_phone연락전화VARCHAR-
notification_method통보방법ENUM(email, phone, letter, in_person, press_release) *필수-
notification_date통보일시TIMESTAMP-
notification_content통보내용TEXT-
response_status응답상태ENUM(pending, acknowledged, action_taken, no_response) *필수-
response_date응답일시TIMESTAMP-
customer_feedback고객피드백TEXT-
lots_affected영향LOT목록JSONB해당 고객에게 출하된 LOT 목록

리콜효과성검증 (recall_effectiveness_checks)​

컬럼명한글명타입설명
campaign_id리콜캠페인IDUUID (FK) *필수recall_campaigns 참조
check_date점검일DATE *필수-
check_type점검유형ENUM(level_A, level_B, level_C) *필수FDA Recall Audit Checks 레벨
total_affected_customers총영향고객수INT-
customers_notified통보고객수INT-
customers_responded응답고객수INT-
total_affected_qty총영향수량DECIMAL-
recovered_qty회수수량DECIMAL-
recovery_rate_pct회수율(%)DECIMAL (계산)-
notification_rate_pct통보율(%)DECIMAL (계산)-
response_rate_pct응답율(%)DECIMAL (계산)-
effectiveness_rating효과성판정ENUM(effective, partially_effective, ineffective) *필수-
auditor_id심사자IDUUID (시스템참조)public.users 참조
findings발견사항TEXT-
follow_up_required후속조치필요BOOLEAN-
follow_up_actions후속조치내용TEXT-