SterilityTestReviewUtility

Sterility Test Review

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

Описание утилиты: Sterility Test Review

Sterility Test Review Utility — Ревью теста на стерильность

ℹ️  Утилита автоматизирует проверку результатов теста на стерильность согласно Ph. Eur. 2.6.1 и USP <71>:
     • Результаты образца: Проверка отсутствия роста в средах TSB (аэробы/грибы) и FTG (анаэробы).
     • Валидность системы: Положительные контроли должны показывать рост, отрицательные — отсутствие роста.
     • Время инкубации: Минимум 14 дней.
     • Статусы: PASS (Стерильно), FAIL (Рост обнаружен), INVALID (Ошибка теста).

⚠️  КРИТИЧНО: 
     • Статус FAIL требует немедленного запуска расследования OOS (Out of Specification).
     • Статус INVALID означает, что результат нельзя использовать для выпуска серии, требуется перетестирование.
     • Ошибки в контролях (например, отсутствие роста в положительном контроле) делают тест недействительным.

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

Формат input.csv:
BatchNumber,ProductName,TSB_Growth,FTG_Growth,Incubation_Days,PosControl_TSB_Growth,PosControl_FTG_Growth,NegControl_TSB_Growth,NegControl_FTG_Growth,Investigation_Status

Пример (0=No Growth, 1=Growth):
  ST-001,WFI,0,0,14,1,1,0,0,None

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

⚠️  КРИТИЧЕСКИ ВАЖНО:
• Асептика отбора проб: Большинство ложноположительных результатов связано с ошибками оператора при отборе проб.
• Среда TSB: Поддерживает рост аэробных бактерий и грибов.
• Среда FTG (Fluid Thioglycollate Medium): Поддерживает рост анаэробных бактерий.
• Инкубация: Проводится при 20-25°C (TSB) и 30-35°C (FTG) или в универсальных условиях.

Ключевые особенности утилиты:
• Автоматическое определение статуса (Pass/Fail/Invalid)
• Проверка валидности контролей
• Контроль длительности инкубации
• Генерация отчетов для микробиологической лаборатории и LIMS LabWare
• Соответствие требованиям GMP и Фармакопей

Критические параметры:
• TSB/FTG образца: 0 (Нет роста)
• Положительный контроль: 1 (Рост)
• Отрицательный контроль: 0 (Нет роста)
• Дни инкубации: ≥ 14

💡 Советы по использованию:
1. Интеграция: Данные должны поступать из микробиологического журнала или LIMS после завершения 14-дневного цикла.
2. Расследование: При статусе FAIL утилита указывает на необходимость расследования, но не проводит его.
3. Повторный тест: Если тест признан INVALID, разрешен повторный тест только после установления причины невалидности.
4. Документирование: Сохраняйте JSON-отчеты как доказательство проверки данных (Data Review).

⚠️ Особенность: В отличие от химических тестов, здесь результат "Отсутствие роста" является положительным результатом теста, но требует абсолютной уверенности в работоспособности системы (контролях).

input.csv

BatchNumber,ProductName,TSB_Growth,FTG_Growth,Incubation_Days,PosControl_TSB_Growth,PosControl_FTG_Growth,NegControl_TSB_Growth,NegControl_FTG_Growth,Investigation_Status
ST-2026-WFI-001,Water for Injection,0,0,14,1,1,0,0,None
ST-2026-VAC-002,Vaccine Bulk,0,0,14,1,1,0,0,None
ST-2026-FAIL-003,Antibiotic Solution,1,0,14,1,1,0,0,OOS_Investigation
ST-2026-INV-004,Buffer Solution,0,0,14,0,1,0,0,None

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

Документ описывает контролируемый интерфейс и поведение утилиты SterilityTestReviewUtility для сценария Sterility Test Review Utility.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • Sterility Test Review Utility — Ревью теста на стерильность
  • ℹ️ Утилита автоматизирует проверку результатов теста на стерильность согласно Ph. Eur. 2.6.1 и USP <71>:
  • • Статусы: PASS (Стерильно), FAIL (Рост обнаружен), INVALID (Ошибка теста).
  • ⚠️ КРИТИЧНО:
  • Тест на стерильность является критическим тестом выпуска для всех парентеральных препаратов.
  • Он имеет вероятностную природу, поэтому строгое соблюдение условий валидности теста критически важно.
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • • Автоматическое определение статуса (Pass/Fail/Invalid)
  • • Соответствие требованиям GMP и Фармакопей
  • Критические параметры:
  • • Дни инкубации: ≥ 14

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Sterility Test Review 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

#ПолеТипПримерНазначение
1BatchNumberstring / controlled vocabularyST-2026-WFI-001Идентификатор серии/партии для трассируемости.
2ProductNamestring / controlled vocabularyWater for InjectionНаименование продукта или проверяемой лекарственной формы.
3TSB_Growthflag / boolean0Контролируемый входной параметр для детерминированных QC-правил.
4FTG_Growthflag / boolean0Контролируемый входной параметр для детерминированных QC-правил.
5Incubation_Daysinteger / decimal14Временной параметр процесса, инкубации, хранения или анализа.
6PosControl_TSB_Growthstring / controlled vocabulary1Контрольная точка/контрольный образец для валидности серии анализа.
7PosControl_FTG_Growthstring / controlled vocabulary1Контрольная точка/контрольный образец для валидности серии анализа.
8NegControl_TSB_Growthstring / controlled vocabulary0Контрольная точка/контрольный образец для валидности серии анализа.
9NegControl_FTG_Growthstring / controlled vocabulary0Контрольная точка/контрольный образец для валидности серии анализа.
10Investigation_Statusstring / controlled vocabularyNoneРезультат или статус, применяемый в итоговой классификации.
BatchNumber,ProductName,TSB_Growth,FTG_Growth,Incubation_Days,PosControl_TSB_Growth,PosControl_FTG_Growth,NegControl_TSB_Growth,NegControl_FTG_Growth,Investigation_Status
ST-2026-WFI-001,Water for Injection,0,0,14,1,1,0,0,None
ST-2026-VAC-002,Vaccine Bulk,0,0,14,1,1,0,0,None
ST-2026-FAIL-003,Antibiotic Solution,1,0,14,1,1,0,0,OOS_Investigation

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

IDПолеПравилоКритичность
VR-001BatchNumberПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002ProductNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003TSB_GrowthПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004FTG_GrowthПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005Incubation_DaysПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006PosControl_TSB_GrowthПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007PosControl_FTG_GrowthПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008NegControl_TSB_GrowthПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009NegControl_FTG_GrowthПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010Investigation_StatusПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Sterility Test Review 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": "sterilitytestreviewutility",
  "utilityFolder": "SterilityTestReviewUtility",
  "package": "Vet",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "ST-2026-WFI-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "ProductName",
      "value": "Water for Injection",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "TSB_Growth",
      "value": "0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "FTG_Growth",
      "value": "0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "Incubation_Days",
      "value": "14",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "PosControl_TSB_Growth",
      "value": "1",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "PosControl_FTG_Growth",
      "value": "1",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "NegControl_TSB_Growth",
      "value": "0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "NegControl_FTG_Growth",
      "value": "0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "Investigation_Status",
      "value": "None",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "audit": {
    "inputHash": "sha256:<calculated at runtime>",
    "rulesVersion": "<utility executable version>",
    "documentation": "SterilityTestReviewUtility.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 и утверждёнными процедурами.

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

Инфекционистика

Пакет QC-утилит для инфекционистики: антибактериальные, противовирусные, противогрибковые и противопаразитарные продукты, микробиология, стерильность, эндотоксины, вирусная безопасность, вакцинные release-checks.

Открыть

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

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

Открыть