LongitudinalTrendReviewBuilder

Longitudinal Trend Review Builder

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

Описание утилиты: Longitudinal Trend Review Builder

Longitudinal Trend Review Builder — Аналитический синтез трендов биомаркеров

ℹ️  Утилита выполняет статистический анализ и формирование структурированного обзора динамики количественных биомаркеров согласно ESMO/ASCO и CDISC ADaM:

     СТАТИСТИЧЕСКИЙ АНАЛИЗ:
     • Linear Regression: Наклон тренда (slope) с p-value для оценки значимости.
     • Doubling/Halving Time: Время удвоения (прогрессия) или снижения вдвое (ответ) в днях.
     • Changepoint Detection: Выявление моментов смены направления тренда.
     • Therapy Correlation: Подсчет и привязка событий смены терапии к временной шкале.

     КЛИНИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ:
     • Автоматическая классификация направления тренда (возрастающий/убывающий/стабильный).
     • Оценка статистической значимости (p < 0.05 = значимый тренд).
     • Интеграция с событиями визуализации (RECIST/RANO) для радио-молекулярной корреляции.
     • Предупреждения при недостатке данных или отсутствии baseline.

     ВЫХОДНЫЕ ДАННЫЕ:
     • Структурированный JSON с 8 ключевыми метриками тренда.
     • Двуязычная интерпретация (RU/EN) для международных консилиумов.
     • Готовность к интеграции с MDT/Tumor Board платформами.

⚠️  ВАЖНО:
     • Минимум 3 точки для любого трендового анализа. Меньше = INSUFFICIENT_DATA.
     • P-value рассчитывается аппроксимацией; для публикаций используйте специализированное ПО.
     • Changepoint detection упрощен; для сложных паттернов используйте segmented regression в R.
     • Doubling time предполагает экспоненциальную динамику; при линейной — интерпретируйте осторожно.
     • Отсутствие baseline не блокирует анализ, но ограничивает fold-change расчеты.

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

📍 Область применения:
     • MDT/Tumor Board: Объективная основа для обсуждения динамики заболевания.
     • Клинические испытания: Мониторинг молекулярного ответа в реальном времени.
     • MRD-наблюдение: Раннее выявление молекулярного рецидива.
     • RWE-исследования: Стандартизированные трендовые датасеты.

💡 Советы:
1. Частота измерений: Равномерные интервалы улучшают надежность регрессии.
2. LOQ-aware: Значения ниже LOQ следует цензурировать или заменять на LOQ/2.
3. Множественные биомаркеры: Запускайте отдельно для каждого маркера.
4. Визуализация: Всегда дополняйте JSON-отчет графиком (spaghetti plot).
5. Контекст: Интерпретируйте тренд ТОЛЬКО вместе с данными терапии и визуализации.

⚠️ Примечание: Утилита предоставляет СТАТИСТИЧЕСКИЙ ОБЗОР, а не клиническое заключение. Решения принимаются лечащей командой с учетом всей совокупности данных.

input.csv

PatientID,BiomarkerName,MeasurementDate,Value,Units,AssayLOD,AssayLOQ,TherapyEvent,ImagingEvent,IsBaseline
PAT-001,ctDNA_EGFR_VAF,2026-01-10,15.2,% VAF,0.01,0.05,,,true
PAT-001,ctDNA_EGFR_VAF,2026-01-20,14.8,% VAF,0.01,0.05,Osimertinib_start,,false
PAT-001,ctDNA_EGFR_VAF,2026-02-15,3.2,% VAF,0.01,0.05,,PR,false
PAT-001,ctDNA_EGFR_VAF,2026-03-15,0.8,% VAF,0.01,0.05,,PR,false
PAT-001,ctDNA_EGFR_VAF,2026-04-20,0.6,% VAF,0.01,0.05,,SD,false
PAT-001,ctDNA_EGFR_VAF,2026-06-01,2.8,% VAF,0.01,0.05,,PD,false
PAT-001,ctDNA_EGFR_VAF,2026-07-01,8.5,% VAF,0.01,0.05,Capmatinib_added,,false

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

Документ описывает контролируемый интерфейс и поведение утилиты LongitudinalTrendReviewBuilder для сценария Longitudinal Trend Review Builder.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • • Оценка статистической значимости (p < 0.05 = значимый тренд).
  • ⚠️ ВАЖНО:

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

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

#ПолеТипПримерНазначение
1PatientIDstring / controlled vocabularyPAT-001Контролируемый входной параметр для детерминированных QC-правил.
2BiomarkerNamestring / controlled vocabularyctDNA_EGFR_VAFБиологический/молекулярный компонент, контролируемый как CQA.
3MeasurementDatestring / controlled vocabulary2026-01-10Контролируемый входной параметр для детерминированных QC-правил.
4Valuedecimal15.2Контролируемый входной параметр для детерминированных QC-правил.
5Unitsstring / controlled vocabulary% VAFКонтролируемый входной параметр для детерминированных QC-правил.
6AssayLODstring / controlled vocabulary0.01Контролируемый входной параметр для детерминированных QC-правил.
7AssayLOQstring / controlled vocabulary0.05Контролируемый входной параметр для детерминированных QC-правил.
8TherapyEventstring / controlled vocabularyКонтролируемый входной параметр для детерминированных QC-правил.
9ImagingEventstring / controlled vocabularyКонтролируемый входной параметр для детерминированных QC-правил.
10IsBaselinestring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
PatientID,BiomarkerName,MeasurementDate,Value,Units,AssayLOD,AssayLOQ,TherapyEvent,ImagingEvent,IsBaseline
PAT-001,ctDNA_EGFR_VAF,2026-01-10,15.2,% VAF,0.01,0.05,,,true
PAT-001,ctDNA_EGFR_VAF,2026-01-20,14.8,% VAF,0.01,0.05,Osimertinib_start,,false
PAT-001,ctDNA_EGFR_VAF,2026-02-15,3.2,% VAF,0.01,0.05,,PR,false

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

IDПолеПравилоКритичность
VR-001PatientIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002BiomarkerNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003MeasurementDateПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004ValueПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005UnitsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006AssayLODПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007AssayLOQПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008TherapyEventПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009ImagingEventПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010IsBaselineПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Longitudinal Trend Review Builder, включая критические пределы из описания и утверждённой спецификации.
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": "longitudinaltrendreviewbuilder",
  "utilityFolder": "LongitudinalTrendReviewBuilder",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "PatientID",
      "value": "PAT-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "BiomarkerName",
      "value": "ctDNA_EGFR_VAF",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "MeasurementDate",
      "value": "2026-01-10",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "Value",
      "value": "15.2",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "Units",
      "value": "% VAF",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "AssayLOD",
      "value": "0.01",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "AssayLOQ",
      "value": "0.05",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "TherapyEvent",
      "value": "",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "ImagingEvent",
      "value": "",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "IsBaseline",
      "value": "true",
      "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": "LongitudinalTrendReviewBuilder.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, контроль образцов, контаминации, чувствительности и отчётности.

Открыть