본문으로 건너뛰기

불만/회수/자체점검

이 기능은 무엇인가요?​

불만/회수/자체점검 기능은 소비자 불만을 체계적으로 처리(접수→조사→회신→예방조치)하고, 제품 결함 시 회수(리콜) 프로세스를 관리하며, GMP 자체점검으로 제조 시설의 적합성을 검증하는 기능입니다.

이 기능은 ISO 22716 제14장(불만 및 회수), 제16장(내부감사) 및 화장품법 시행규칙 제12조(회수) 요구사항을 충족합니다.

업무 프로세스 개요​

포함된 화면​

화면용도주 사용자
불만처리 관리소비자 불만 접수·조사·회신 관리QA팀
제품회수 관리제품 회수 계획·실행·회수율 관리QA팀, 경영진
자체점검 관리GMP 자체점검 계획·실행·지적사항 관리QA팀
세척밸리데이션설비 세척 후 잔류물 허용 기준 검증QA팀
CGMP 감사 관리자체점검 전표 상세 관리QA팀

관련 솔루션 연계​

솔루션연계 내용데이터 흐름
CGMP 일탈관리불만/감사 → 일탈기록 연계불만 → 일탈
CGMP 밸리데이션밸리데이션 → 세척밸리데이션밸리데이션 → 세척
QMS자체점검 → QMS 감사계획 연동CGMP → QMS

시작하기​

1단계: 불만 처리 체계 수립​

  1. 불만 접수 경로(소비자/판매처/SNS/정부기관)와 분류 체계를 설정합니다
  2. 조사·회신 프로세스와 기한을 정의합니다

2단계: 자체점검 계획 수립​

  1. 연간 자체점검 계획을 수립합니다 (정기/수시)
  2. 감사 영역별 체크리스트를 준비합니다
참고: 데이터 구조

관련 워크플로우​

  • 현장 감사 (humanTask): GMP 현장감사 (위생/설비/공정/문서)
  • 감사보고서 작성 (humanTask): 감사결과 보고서 작성 및 지적사항 정리
  • 개선 요구/확인 (humanTask): 조건부 승인 시 개선요구 및 확인
  • 불만 접수/등록 (humanTask): 불만 접수 및 초기 정보 등록 (접수경로/불만유형/제품/시료)
  • 시료 시험 (humanTask): 접수 시료에 대한 품질시험 실시 및 결과 기록
  • 불만 조사 (humanTask): 불만 원인 조사: 제조기록/시험기록 확인, 유사사례 검토
  • 회수 프로세스 개시 (autoTask): 제품회수 워크플로우 자동 트리거
  • 고객 회신 (humanTask): 조사결과 기반 고객 회신 (전화/이메일/서면/방문)
  • 예방조치 수립 (humanTask): 재발 방지를 위한 예방조치 수립 및 기록
  • 종결 승인 (approval): QA 관리자 불만처리 종결 승인

테이블 요약​

불만처리 (complaint_records)​

컬럼명한글명타입설명
complaint_code불만코드VARCHAR *필수 *고유-
received_date접수일DATE *필수-
complaint_source접수경로ENUM(소비자, 판매처, SNS, 정부기관, 내부) *필수-
complaint_category불만유형ENUM(변색, 변취, 이물, 자극, 효능불만, 포장불량, 표시오류, 기타) *필수-
product_name제품명VARCHAR *필수-
batch_number배치번호VARCHAR-
lot_numberLOT번호VARCHAR-
complaint_detail불만내용TEXT *필수-
sample_received시료접수여부BOOLEAN *필수-
sample_condition시료상태TEXT-
investigation_result조사결과TEXT-
investigation_date조사일DATE-
is_product_defect제품결함여부BOOLEAN-
response_content회신내용TEXT-
response_date회신일DATE-
response_method회신방법ENUM(전화, 이메일, 서면, 방문)-
compensation_type보상유형ENUM(해당없음, 교환, 환불, 기타)-
handler_id처리자UUID (시스템참조) *필수-
deviation_id일탈기록UUID (FK)-
preventive_action예방조치TEXT-
attachment첨부파일FILE-
status상태ENUM(접수, 조사중, 조사완료, 회신, 종결) *필수-
metadata확장데이터JSONB-

제품회수 (product_recalls)​

컬럼명한글명타입설명
recall_code회수코드VARCHAR *필수 *고유-
deviation_id일탈기록UUID (FK)-
complaint_id불만기록UUID (FK)-
recall_class회수등급ENUM(Class_I, Class_II, Class_III) *필수-
recall_reason회수사유TEXT *필수-
product_name제품명VARCHAR *필수-
batch_numbers배치번호목록JSONB *필수회수 대상 배치 목록
affected_quantity영향수량DECIMAL *필수-
distribution_scope유통범위TEXT *필수-
distribution_channels유통채널JSONB[{channel, region, quantity}]
recall_initiated_date회수개시일DATE *필수-
recall_deadline회수기한DATE *필수-
recovered_quantity회수수량DECIMAL-
recovery_rate회수율(%)DECIMAL (계산)-
disposal_method처리방법ENUM(반품, 폐기, 재작업)-
disposal_date처리일DATE-
regulatory_notification_date규제기관통보일DATE-
regulatory_report_number규제보고번호VARCHAR-
root_cause근본원인TEXT-
preventive_action예방조치TEXT-
manager_id담당자UUID (시스템참조) *필수-
attachment첨부파일FILE-
status상태ENUM(개시, 진행중, 완료, 종결) *필수-
metadata확장데이터JSONB-

자체점검 (cgmp_audits)​

컬럼명한글명타입설명
audit_code감사코드VARCHAR *필수 *고유-
audit_type감사유형ENUM(정기자체점검, 수시자체점검, CGMP인증심사, 거래처감사) *필수-
audit_title감사제목VARCHAR *필수-
audit_year감사연도INT *필수-
audit_date감사시작일DATE *필수-
audit_end_date감사종료일DATE-
audit_scope감사범위TEXT *필수-
audit_areas감사영역JSONB *필수[{area, checklist_items:[{item,result,remark}]}]
auditee_department_id피심사부서UUID (시스템참조)-
lead_auditor_id수석심사원UUID (시스템참조) *필수-
audit_team심사팀JSONB[{name, role, department}]
finding_count지적건수INT *필수-
critical_countCritical건수INT *필수-
major_countMajor건수INT *필수-
minor_countMinor건수INT *필수-
findings_detail지적상세JSONB[{no, area, severity, finding, evidence, capa}]
observations관찰사항TEXT-
overall_result종합결과ENUM(적합, 조건부적합, 부적합)-
corrective_actions_due시정조치기한DATE-
follow_up_audit_date추적감사일DATE-
executive_summary감사요약TEXT-
report_file보고서파일FILE-
qms_audit_plan_idQMS감사계획IDUUID (FK)QMS audit_plans 크로스솔루션 참조 (nullable)
status상태ENUM(계획, 진행중, 보고서작성, 완료, CAPA진행) *필수-
metadata확장데이터JSONB-

세척밸리데이션 (cleaning_validations)​

컬럼명한글명타입설명
cv_code세척밸리데이션코드VARCHAR *필수 *고유-
sop_id세척SOPUUID (FK)-
validation_id밸리데이션UUID (FK)-
equipment_name설비명VARCHAR *필수-
equipment_code설비코드VARCHAR *필수-
cleaning_method세척방법ENUM(CIP, COP, 수작업) *필수-
cleaning_agent세척제VARCHAR *필수-
cleaning_procedure세척절차TEXT *필수-
residue_type잔류물유형ENUM(유효성분, 세제, 미생물) *필수-
target_substance대상물질VARCHAR *필수-
acceptance_limit허용기준값DECIMAL *필수-
acceptance_limit_unit기준단위VARCHAR *필수-
maco_valueMACO값DECIMALMaximum Allowable Carryover (μg/cm² 또는 ppm)
therapeutic_dose치료용량(mg)DECIMAL활성물질 1일 최소 치료용량
safety_factor안전계수DECIMALMACO 계산 안전계수 (일반: 1/1000)
shared_surface_area공유표면적(cm²)DECIMAL공유 설비 총 접촉 표면적
calculation_methodMACO계산방법ENUM(dose_based, ppm_based, visual_limit, toxicological)MACO 산출방법
sampling_method시료채취법ENUM(린스, 스왑, 직접) *필수-
sampling_points채취지점JSONB *필수[{point_id, location, description, area_cm2}]
test_method시험방법VARCHAR *필수-
number_of_runs실행횟수INT *필수-
test_results시험결과JSONB[{run_no, date, points:[{point_id, value, unit, judgment}]}]
worst_case_product최악조건제품VARCHAR-
worst_case_basis최악조건근거TEXT-
overall_judgment종합판정ENUM(적합, 부적합)-
hold_time_validated보관시간검증BOOLEAN *필수-
dirty_hold_timeDirtyHoldTimeVARCHAR-
clean_hold_timeCleanHoldTimeVARCHAR-
manager_id담당자UUID (시스템참조) *필수-
approver_id승인자UUID (시스템참조)-
attachment첨부파일FILE-
status상태ENUM(계획, 실행중, 적합, 부적합, 재밸리데이션) *필수-
metadata확장데이터JSONB-

업무 자동화​

안내

화면에서 데이터를 저장하면 시스템이 관련된 다른 화면의 데이터를 자동으로 갱신합니다.

➡️ 자동 처리​

  • 불만 조사에서 제품결함 확인 → 일탈보고 자동 생성: 불만 조사에서 제품결함이 확인되면 일탈보고서가 자동으로 생성됩니다 (FDA 21 CFR 211.198 준수).

🔢 자동 계산​

  • 감사 발견사항 등록 → 감사 건수 자동 집계: 발견사항을 등록하면 감사 건의 심각도별 건수(전체/치명/중대)가 자동으로 집계됩니다.