FieldLotComplaintTrendUtility

Field Lot Complaint Trend

Vet veterinary veterinary vaccines animal health adjuvants aquaculture batch release CSV→JSON
Открыть подборку

Описание утилиты: Field Lot Complaint Trend

Field Lot Complaint Trend Utility — Анализ трендов рекламаций по сериям

ℹ️  Утилита выполняет статистический анализ жалоб от потребителей и медицинских работников, сгруппированных по производственным сериям, согласно 21 CFR Part 211.198 и ICH Q10:
     • Расчет PPM: Определение количества жалоб на миллион единиц продукции для объективной оценки качества.
     • Оценка серьезности: Автоматическое выделение критических жалоб, связанных с безопасностью пациента.
     • Выявление паттернов: Обнаружение серий с аномально высоким уровнем дефектов упаковки или эффективности.
     • Поддержка отзыва: Формирование базы для принятия решения о рыночном отзыве (Market Recall).

⚠️  ВАЖНО: 
     • Данные о количестве выпущенной продукции (Quantity Distributed) обязательны для расчета PPM.
     • Критические жалобы (например, отсутствие эффекта у жизненно важных препаратов) требуют приоритетного расследования.

Использование:
  FieldLotComplaintTrendUtility.exe                            → демо-режим (вывод в консоль)
  FieldLotComplaintTrendUtility.exe input.csv output.json      → оценка ваших данных

Формат input.csv:
ComplaintID,BatchNumber,ProductName,ComplaintType,Severity,QuantityDistributed,ComplaintDate

Пример:
  CMP-001,LOT-A,Drug X,Packaging,Low,100000,2026-01-01

📍 Область применения (Usage Where):
     • Фармаконадзор (Pharmacovigilance): Мониторинг безопасности лекарств в пост-регистрационный период.
     • Управление качеством (QA): Ежегодный обзор качества продукции (PQR/APR).
     • Отдел по работе с клиентами: Быстрая оценка масштаба проблемы при поступлении жалоб.
     • Регуляторная отчетность: Подготовка данных для отчетов в FDA/EMA о тенденциях качества.

— ЗАЧЕМ ЭТО НУЖНО?
Заводской контроль качества (QC) может не выявить дефекты, проявляющиеся только при длительном хранении или неправильном использовании.
Анализ полевых данных позволяет выявить системные проблемы производства или нестабильность формуляции.
Это критически важно для защиты репутации компании и, главное, безопасности пациентов.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• Critical Complaints: Любая жалоба, угрожающая жизни или здоровью, автоматически переводит серию в статус "Recall Review".
• PPM Spikes: Резкий рост PPM по сравнению со средним историческим значением указывает на инцидент в производстве.
• Cluster Analysis: Группировка жалоб по датам может указать на проблему с конкретной партией сырья.
• Data Integrity: Все жалобы должны быть зарегистрированы, даже если они кажутся необоснованными.

Ключевые особенности утилиты:
• Автоматический расчет метрики PPM (Parts Per Million)
• Приоритезация жалоб по уровню серьезности (Severity)
• Выявление топ-категорий дефектов для каждой серии
• Генерация сигналов для начала расследования (CAPA)
• Соответствие требованиям GMP к обработке жалоб

Критические параметры:
• Total Complaints: Абсолютное количество жалоб
• PPM: Относительный уровень дефектности
• Critical Count: Количество жалоб высокого риска
• Top Category: Наиболее частый тип проблемы

💡 Советы по использованию:
1. Полнота данных: Включайте в анализ все жалобы, даже закрытые как "не подтвержденные".
2. Контекст: Учитывайте сезонность продаж при интерпретации абсолютных чисел.
3. Сравнение: Сравнивайте PPM текущей серии со средним значением по продукту за год.
4. Обратная связь: Результаты анализа должны передаваться в производство для корректировки процессов.
5. Документирование: Сохраняйте отчеты как часть досье по управлению качеством.

⚠️ Примечание: Данная утилита является инструментом мониторинга трендов. Она не заменяет официальное расследование каждой отдельной жалобы, но помогает выявить серии, требующие особого внимания.

input.csv

ComplaintID,BatchNumber,ProductName,ComplaintType,Severity,QuantityDistributed,ComplaintDate
CMP-2026-001,LOT-2026-A,Aspirin 100mg,Packaging,Low,100000,2026-05-10
CMP-2026-002,LOT-2026-A,Aspirin 100mg,Packaging,Low,100000,2026-05-12
CMP-2026-003,LOT-2026-B,Insulin Glargine,Efficacy,High,50000,2026-05-15
CMP-2026-004,LOT-2026-B,Insulin Glargine,Appearance,Medium,50000,2026-05-16
CMP-2026-005,LOT-2026-B,Insulin Glargine,AE,Critical,50000,2026-05-18
CMP-2026-006,LOT-2026-C,Paracetamol 500mg,Color,Low,200000,2026-05-20

URS & FS — спецификация пользователя и функциональная спецификация

Документ описывает контролируемый интерфейс и поведение утилиты FieldLotComplaintTrendUtility для сценария Field Lot Complaint Trend Utility.

Предметные ограничения и критические параметры

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • ℹ️ Утилита выполняет статистический анализ жалоб от потребителей и медицинских работников, сгруппированных по производственным сериям, согласно 21 CFR Part 211.198 и ICH Q10:
  • • Расчет PPM: Определение количества жалоб на миллион единиц продукции для объективной оценки качества.
  • • Оценка серьезности: Автоматическое выделение критических жалоб, связанных с безопасностью пациента.
  • ⚠️ ВАЖНО:
  • • Критические жалобы (например, отсутствие эффекта у жизненно важных препаратов) требуют приоритетного расследования.
  • Это критически важно для защиты репутации компании и, главное, безопасности пациентов.
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • • Critical Complaints: Любая жалоба, угрожающая жизни или здоровью, автоматически переводит серию в статус "Recall Review".
  • • Соответствие требованиям GMP к обработке жалоб
  • Критические параметры:
  • • Critical Count: Количество жалоб высокого риска

URS — пользовательские требования

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Field Lot Complaint Trend Utility с заголовками, определёнными в контракте данных.HighФайл обрабатывается без ручного изменения заголовков.
URS-002Утилита должна выполнять детерминированную оценку QC/ОКК без машинного обучения и без вероятностного принятия решения о соответствии.HighПри одинаковых входных данных, версии правил и конфигурации результат полностью воспроизводим.
URS-003Утилита должна валидировать обязательные поля, типы данных, диапазоны, единицы измерения и предметную правдоподобность значений.HighОшибки схемы, преобразования и диапазона явно отражаются в результате.
URS-004Утилита должна применять предметные пределы и правила из описания, утверждённой спецификации, регистрационного досье и локальных SOP.HighКаждая проверка имеет результат PASS/WARNING/FAIL и понятное сообщение.
URS-005Утилита должна формировать output.json с машинно-читаемыми результатами, исходными значениями, предупреждениями, отказами и критическими находками.HighJSON пригоден для LIMS/ELN/MES-интеграции и QA/QC review.
URS-006Утилита должна сохранять трассируемость между серией/образцом, входным файлом, применёнными правилами и итоговым статусом.HighВыход содержит идентификаторы, список параметров и audit metadata.
URS-007Документация должна поддерживать подготовку IQ/OQ/PQ, CSV/CSA и обсуждение с инспекторами или внутренним QA.MediumURS, FS, контракт input/output и тестовые сценарии поставляются вместе с утилитой.
URS-008Утилита должна использоваться как decision-support инструмент QC, а не как замена утверждённым спецификациям и выпускному решению Qualified Person/QA.MediumВ документации указан контроль change control и необходимость сверки пределов.

Контракт input.csv

#ПолеТипПримерНазначение
1ComplaintIDstring / controlled vocabularyCMP-2026-001Контролируемый входной параметр для детерминированных QC-правил.
2BatchNumberstring / controlled vocabularyLOT-2026-AИдентификатор серии/партии для трассируемости.
3ProductNamestring / controlled vocabularyAspirin 100mgНаименование продукта или проверяемой лекарственной формы.
4ComplaintTypestring / controlled vocabularyPackagingКонтролируемый входной параметр для детерминированных QC-правил.
5Severitystring / controlled vocabularyLowКонтролируемый входной параметр для детерминированных QC-правил.
6QuantityDistributeddecimal100000Контролируемый входной параметр для детерминированных QC-правил.
7ComplaintDatestring / controlled vocabulary2026-05-10Контролируемый входной параметр для детерминированных QC-правил.
ComplaintID,BatchNumber,ProductName,ComplaintType,Severity,QuantityDistributed,ComplaintDate
CMP-2026-001,LOT-2026-A,Aspirin 100mg,Packaging,Low,100000,2026-05-10
CMP-2026-002,LOT-2026-A,Aspirin 100mg,Packaging,Low,100000,2026-05-12
CMP-2026-003,LOT-2026-B,Insulin Glargine,Efficacy,High,50000,2026-05-15

Правила валидации входных данных

IDПолеПравилоКритичность
VR-001ComplaintIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002BatchNumberПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003ProductNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004ComplaintTypeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005SeverityПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006QuantityDistributedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007ComplaintDateПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium

FS — функциональная спецификация

IDФункцияРеализация
FS-001CLI executionПоддержать режимы запуска: demo mode без аргументов и production mode input.csv output.json.
FS-002CSV importПрочитать input.csv в UTF-8/CSV-совместимом формате, проверить наличие заголовка и ожидаемых колонок.
FS-003Schema validationПроверить обязательные поля, количество колонок, неизвестные ключевые поля и пустые обязательные значения.
FS-004Type conversionПреобразовать числовые, флаговые и текстовые значения; некорректный формат фиксировать как ошибку строки.
FS-005Domain rule engineПрименить правила для Field Lot Complaint Trend Utility, включая критические пределы из описания и утверждённой спецификации.
FS-006Status aggregationСформировать итоговый статус: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии.
FS-007JSON exportЗаписать output.json с детализацией проверок, исходными значениями, предупреждениями, отказами и critical findings.
FS-008Audit supportСохранять структуру результата пригодной для review, расследования отклонений и воспроизведения расчёта.
FS-009Integration contractПоддержать сценарий LIMS/ELN/MES → input.csv → utility → output.json → portal/admin review.
FS-010Error handlingВозвращать явные сообщения для отсутствующего файла, пустого CSV, неверной схемы, ошибки записи output.json и некорректного формата.

Пример output.json

{
  "utilityId": "fieldlotcomplainttrendutility",
  "utilityFolder": "FieldLotComplaintTrendUtility",
  "package": "Vet",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "ComplaintID",
      "value": "CMP-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "BatchNumber",
      "value": "LOT-2026-A",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "ProductName",
      "value": "Aspirin 100mg",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "ComplaintType",
      "value": "Packaging",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "Severity",
      "value": "Low",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "QuantityDistributed",
      "value": "100000",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "ComplaintDate",
      "value": "2026-05-10",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "audit": {
    "inputHash": "sha256:<calculated at runtime>",
    "rulesVersion": "<utility executable version>",
    "documentation": "FieldLotComplaintTrendUtility.documentation.html"
  }
}

Матрица трассируемости

URSFSТестПодтверждение
URS-001FS-001, FS-002OQ-001Проверить запуск и импорт валидного input.csv.
URS-002FS-005, FS-006OQ-004Повторить один и тот же набор данных и сравнить output.json.
URS-003FS-003, FS-004, FS-010OQ-002, OQ-003Проверить отсутствующие колонки и неверные типы.
URS-004FS-005, FS-006OQ-004, PQ-001Проверить критические отклонения по реальным/граничным данным.
URS-005FS-007, FS-009OQ-005Проверить JSON schema и пригодность для downstream-систем.
URS-006FS-008OQ-006Проверить наличие идентификаторов и audit metadata.
URS-007FS-008, FS-010IQ-001, OQ-007Проверить комплектность документации и control evidence.
URS-008FS-005, FS-008PQ-002Проверить review workflow и запрет автоматической замены QA-решения.

IQ/OQ/PQ тестовые сценарии

IDСценарийОжидаемый результат
IQ-001Проверить наличие executable, input.csv, документации и контрольной суммы.Комплект поставки полон; версия зафиксирована.
OQ-001Валидная строка из примера input.csv.PASS или допустимый WARNING согласно правилам.
OQ-002Удалить обязательную колонку из CSV.Ошибка схемы или FAIL с указанием отсутствующей колонки.
OQ-003Внести нечисловое значение в числовое поле.Ошибка преобразования типа с указанием строки/поля.
OQ-004Значение критического параметра вывести за предел.FAIL и critical finding.
OQ-005Проверить структуру output.json.Все обязательные секции присутствуют, JSON валиден.
OQ-006Проверить трассируемость серии/образца.Идентификаторы входа и результатов совпадают.
PQ-001Проверить 3–5 реальных партий/образцов пользователя.Результат подтверждён QC/QA review.
PQ-002Проверить workflow отклонения и ручного QA-решения.Утилита поддерживает review, но не заменяет утверждённое решение.

QA/QC и change control

  • Не менять имена колонок без обновления валидатора, документации и тестового набора.
  • Хранить input.csv, output.json, версию исполняемого файла и контрольную сумму.
  • Перед продуктивным использованием провести IQ/OQ/PQ или эквивалентную CSV/CSA-проверку.
  • Критические пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • Утилита предоставляет формализованный QC decision support, но окончательное решение выпуска остаётся за QA/QP и утверждёнными процедурами.

Входит в пакеты

Vet — ветеринарные QC утилиты

Пакет Vet предназначен для ветеринарной фармацевтики и вакцин: адъюванты, антигены, аутогенные вакцины, аквакультура, корма/премиксы, антибактериальные и паразитарные препараты, стерильность и выпуск серии.

Открыть