CutoffTraceabilityChecker

Cutoff Traceability

Liquid Biopsy жидкостная биопсия cfDNA ctDNA CTC exosomes NGS qPCR
Открыть подборку

Описание утилиты: Cutoff Traceability

Cutoff Traceability Checker — Проверка прослеживаемости пороговых значений

ℹ️  Утилита выполняет аудит валидности и прослеживаемости диагностических cutoff согласно FDA SaMD guidance, EU IVDR Annex I и CLSI EP28:
     • Cutoff Match: Сверка текущего порогового значения с валидированным.
     • Method Version Link: Привязка cutoff к конкретной версии аналитического метода или алгоритма.
     • Validation Documentation: Наличие идентифицируемого документа валидации.
     • Revalidation Currency: Контроль сроков плановой ревалидации.
     • Regulatory Status: Актуальность регуляторного одобрения (FDA PMA, CE-IVDR).
     • Clinical Evidence: Наличие клинического обоснования (не только аналитического).

⚠️  ВАЖНО: 
     • Cutoff без прослеживаемости = клинически нелегитимный результат.
     • Изменение версии метода без ревалидации cutoff недопустимо.
     • Аналитически обоснованный cutoff без клинической корреляции может быть клинически бесполезен.

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

Формат input.csv:
AssayName,Biomarker,CurrentCutoff,CutoffUnit,ValidatedCutoff,MethodVersion,ValidatedMethodVersion,ValidationDocumentID,ValidationDate,NextRevalidationDate,RegulatoryApprovalRef,ApprovalActive,JustificationSource,HasClinicalEvidence

Пример:
  OncoPanel,TMB,10.0,mut/Mb,10.0,v4.2,v4.2,VAL-2025-042,2025-09-15,2026-09-15,PMA_P210012,true,ROC+KEYNOTE,true

📍 Область применения (Usage Where):
     • Клинические лаборатории: Аудит всех cutoff перед использованием в рутине.
     • Разработчики IVD/SaMD: Управление жизненным циклом пороговых значений.
     • Регуляторные инспекции: Демонстрация системы управления cutoff.
     • Аккредитация CAP/ISO: Подтверждение соответствия требованиям к верификации cut-off.

— ЗАЧЕМ ЭТО НУЖНО?
Диагностический cutoff определяет судьбу пациента: лечение или наблюдение.
Непрослеживаемый порог означает, что никто не может подтвердить его клиническую валидность.
Автоматизированная проверка исключает использование «забытых» или устаревших порогов.
Это фундаментальное требование patient safety и regulatory compliance.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• Cutoff Mismatch: Текущий ≠ валидированный = НЕМЕДЛЕННАЯ БЛОКИРОВКА.
• Undocumented: Нет документа валидации = cutoff не существует регуляторно.
• Revalidation Overdue: Просроченная ревалидация = валидность истекла.
• Method Version: Cutoff валиден ТОЛЬКО для указанной версии метода.
• Clinical Evidence: Аналитический LoD ≠ клинический cutoff.

Ключевые особенности утилиты:
• Шестипараметрическая проверка прослеживаемости
• Разделение на критические нарушения и предупреждения
• Поддержка множественных типов обоснований (ROC, trials, literature)
• Генерация регуляторно-готового аудиторского отчёта
• Соответствие FDA SaMD, EU IVDR, CLSI EP28

Критические параметры:
• Current Cutoff = Validated Cutoff
• Method Version = Validated Method Version
• Validation Document: Present
• Revalidation: Not overdue
• Regulatory Approval: Active
• Clinical Evidence: Present

💡 Советы по использованию:
1. Реестр cutoff: Ведите централизованный реестр всех пороговых значений с полной прослеживаемостью.
2. Связь с Change Control: Любое изменение метода должно триггерить пересмотр cutoff.
3. Календарь ревалидации: Настройте автоматические напоминания за 90 дней до срока.
4. Клиническое обоснование: Для каждого cutoff сохраняйте ссылку на клиническое исследование или ROC-анализ.
5. Архивация: При замене cutoff сохраняйте старую запись с датой и причиной изменения.

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

input.csv

AssayName,Biomarker,CurrentCutoff,CutoffUnit,ValidatedCutoff,MethodVersion,ValidatedMethodVersion,ValidationDocumentID,ValidationDate,NextRevalidationDate,RegulatoryApprovalRef,ApprovalActive,JustificationSource,HasClinicalEvidence
OncoPanel_CGP,TMB,10.0,mut/Mb,10.0,v4.2,v4.2,VAL-2025-TMB-042,2025-09-15,2026-09-15,PMA P210012/S015,true,ROC analysis + KEYNOTE-158 correlation,true
LiquidBiopsy_cfDNA,VAF_LOD,0.25,%,0.50,v3.1,v3.0,VAL-2024-VAF-018,2024-03-01,2025-03-01,CE-IVDR 2024/0567,true,Analytical LoD study,false
CRC_Screen_Blood,Algorithm_Score,0.65,score,0.65,v2.0,v2.0,,2025-06-01,2026-06-01,,false,,false
MSI_Panel,MSI_Score,0.4,ratio,0.4,v1.3,v1.3,VAL-2025-MSI-007,2025-11-20,2026-11-20,PMA P190034,true,Clinical concordance study,true

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

Документ описывает контролируемый интерфейс и поведение утилиты CutoffTraceabilityChecker для сценария Cutoff Traceability Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • ⚠️ ВАЖНО:
  • • Аккредитация CAP/ISO: Подтверждение соответствия требованиям к верификации cut-off.
  • Диагностический cutoff определяет судьбу пациента: лечение или наблюдение.
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • • Разделение на критические нарушения и предупреждения
  • Критические параметры:

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Cutoff Traceability Checker с заголовками, определёнными в контракте данных.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

#ПолеТипПримерНазначение
1AssayNamestring / controlled vocabularyOncoPanel_CGPКонтролируемый входной параметр для детерминированных QC-правил.
2Biomarkerstring / controlled vocabularyTMBКонтролируемый входной параметр для детерминированных QC-правил.
3CurrentCutoffdecimal10.0Контролируемый входной параметр для детерминированных QC-правил.
4CutoffUnitstring / controlled vocabularymut/MbКонтролируемый входной параметр для детерминированных QC-правил.
5ValidatedCutoffstring / controlled vocabulary10.0Контролируемый входной параметр для детерминированных QC-правил.
6MethodVersionstring / controlled vocabularyv4.2Метод или технологический подход; контролируемое справочное значение.
7ValidatedMethodVersionstring / controlled vocabularyv4.2Метод или технологический подход; контролируемое справочное значение.
8ValidationDocumentIDstring / controlled vocabularyVAL-2025-TMB-042Контролируемый входной параметр для детерминированных QC-правил.
9ValidationDatestring / controlled vocabulary2025-09-15Контролируемый входной параметр для детерминированных QC-правил.
10NextRevalidationDatestring / controlled vocabulary2026-09-15Контролируемый входной параметр для детерминированных QC-правил.
11RegulatoryApprovalRefstring / controlled vocabularyPMA P210012/S015Контролируемый входной параметр для детерминированных QC-правил.
12ApprovalActivestring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
13JustificationSourcestring / controlled vocabularyROC analysis + KEYNOTE-158 correlationКонтролируемый входной параметр для детерминированных QC-правил.
14HasClinicalEvidencestring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
AssayName,Biomarker,CurrentCutoff,CutoffUnit,ValidatedCutoff,MethodVersion,ValidatedMethodVersion,ValidationDocumentID,ValidationDate,NextRevalidationDate,RegulatoryApprovalRef,ApprovalActive,JustificationSource,HasClinicalEvidence
OncoPanel_CGP,TMB,10.0,mut/Mb,10.0,v4.2,v4.2,VAL-2025-TMB-042,2025-09-15,2026-09-15,PMA P210012/S015,true,ROC analysis + KEYNOTE-158 correlation,true
LiquidBiopsy_cfDNA,VAF_LOD,0.25,%,0.50,v3.1,v3.0,VAL-2024-VAF-018,2024-03-01,2025-03-01,CE-IVDR 2024/0567,true,Analytical LoD study,false
CRC_Screen_Blood,Algorithm_Score,0.65,score,0.65,v2.0,v2.0,,2025-06-01,2026-06-01,,false,,false

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

IDПолеПравилоКритичность
VR-001AssayNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002BiomarkerПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003CurrentCutoffПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004CutoffUnitПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005ValidatedCutoffПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006MethodVersionПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007ValidatedMethodVersionПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008ValidationDocumentIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009ValidationDateПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010NextRevalidationDateПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011RegulatoryApprovalRefПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012ApprovalActiveПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013JustificationSourceПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014HasClinicalEvidenceПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Cutoff Traceability Checker, включая критические пределы из описания и утверждённой спецификации.
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": "cutofftraceabilitychecker",
  "utilityFolder": "CutoffTraceabilityChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "AssayName",
      "value": "OncoPanel_CGP",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "Biomarker",
      "value": "TMB",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "CurrentCutoff",
      "value": "10.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "CutoffUnit",
      "value": "mut/Mb",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "ValidatedCutoff",
      "value": "10.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "MethodVersion",
      "value": "v4.2",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "ValidatedMethodVersion",
      "value": "v4.2",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "ValidationDocumentID",
      "value": "VAL-2025-TMB-042",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "ValidationDate",
      "value": "2025-09-15",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "NextRevalidationDate",
      "value": "2026-09-15",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "RegulatoryApprovalRef",
      "value": "PMA P210012/S015",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "ApprovalActive",
      "value": "true",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-012"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "audit": {
    "inputHash": "sha256:<calculated at runtime>",
    "rulesVersion": "<utility executable version>",
    "documentation": "CutoffTraceabilityChecker.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 и преданалитического контроля жидкостной биопсии: cfDNA/ctDNA, CTC, EV/exosomes, метилирование, NGS/qPCR/ddPCR, контроль образцов, контаминации, чувствительности и отчётности.

Открыть