SampleTransportStabilityChecker

Sample Transport Stability

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

Описание утилиты: Sample Transport Stability

Sample Transport Stability Checker — Верификация стабильности образцов при транспортировке

ℹ️  Утилита выполняет проверку транспортных условий согласно CLSI GP44-A2, CAP/CLIA §GEN.48800, ISO 15189 §7.3.3, IATA Temperature Control Regulations и GDP:

     ВРЕМЯ ТРАНЗИТА:
     • Transit Duration ≤ Max Validated: Фактическое время vs валидированное окно стабильности.
     • Превышение = кумулятивная деградация даже при правильной температуре.
     • Для RNA/cfRNA окна обычно 4–24ч; для cfDNA в Streck до 7 дней.

     ТЕМПЕРАТУРНЫЙ МОНИТОРИНГ (IoT):
     • Logger Present & Functional: Наличие и работоспособность датчика.
     • ⛔ Отсутствие логгера = НЕВОЗМОЖНОСТЬ ПОДТВЕРЖДЕНИЯ СТАБИЛЬНОСТИ.
     • Min/Max/Mean Recorded: Полная характеристика температурного профиля.
     • Within Range Entire Transit: Непрерывное соответствие требуемому диапазону.

     ТЕМПЕРАТУРНЫЕ ЭКСКУРСИИ:
     • Excursion Count: Количество выходов за пределы диапазона.
     • Total Excursion Duration: Суммарная длительность всех экскурсий.
     • Max Single Excursion: Длительность самой длинной экскурсии.
     • Excursion Max/Min Temp: Экстремальные значения во время экскурсий.
     • Допуски зависят от аналита: cfDNA более устойчив, чем RNA или живые клетки.

     СТАБИЛИЗАТОР И УПАКОВКА:
     • Stabilizer Validated For Transport: Подтверждение эффективности в условиях перевозки.
     • Packaging Appropriate For Temp: Изоляция соответствует целевому режиму.
     • Tube Orientation Correct: Вертикальная ориентация для кровяных пробирок.
     • Vibration Protection Adequate: Защита от механических повреждений.

     ФИЗИЧЕСКАЯ ЦЕЛОСТНОСТЬ ПРИ ПОЛУЧЕНИИ:
     • Container Intact: Отсутствие трещин, деформаций.
     • Leakage Detected: ⛔ Утечка = немедленный отказ + биоопасность.
     • Dry Ice Remaining: Для замороженных отправок; отсутствие = вероятное размораживание.
     • Hemolysis/Clotting Visual Check: Визуальная оценка для крови/плазмы.

     ИНДЕКС РИСКА ДЕГРАДАЦИИ:
     • Композитный показатель 0–100%, учитывающий все факторы.
     • <50% = приемлемо; 50–80% = AT_RISK; >80% или критические факторы = REJECTED.

⚠️  ВАЖНО:
     • Транспортировка — наиболее уязвимый этап преаналитики; ошибки здесь необратимы.
     • Отсутствие логгера ≠ «предположительно нормально». Это MONITORING_GAP или REJECTED.
     • Даже кратковременная экскурсия для RNA может вызвать значительную деградацию.
     • Утечка = двойная проблема: потеря образца + биоопасность для персонала.
     • Сухой лёд должен оставаться до момента получения; полное испарение = отказ.
     • Валидация транспортной стабильности должна быть выполнена ДЛЯ КАЖДОЙ комбинации матрица/стабилизатор/упаковка/сезон.
     • IoT-логгеры должны быть калиброваны; просроченная калибровка = ненадёжные данные.

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

📍 Область применения:
     • Референс-лаборатории: Входной контроль всех поступающих образцов.
     • Мультицентровые trials: Стандартизация транспортных требований между сайтами.
     • Биобанки: Верификация условий поступления коллекционных образцов.
     • Курьерские службы: Обратная связь по качеству логистики.
     • Аккредитация CAP/ISO: Документирование pre-analytical transport management.

💡 Советы:
1. Logger Mandate: Требуйте IoT-логгер для ВСЕХ клинических отправок; без исключений.
2. Seasonal Validation: Валидируйте транспортные условия отдельно для лета и зимы.
3. Real-Time Alerts: Используйте логгеры с GSM/IoT для алертов об экскурсиях в реальном времени.
4. Receipt SOP: Стандартизируйте процедуру приёмки: фото, проверка логгера, визуальный осмотр.
5. Feedback Loop: Направляйте статистику AT_RISK/REJECTED отправителям для улучшения упаковки.

⚠️ Примечание: Утилита оценивает ТРАНСПОРТНЫЕ УСЛОВИЯ, а не качество самого образца. Пост-транспортный QC (целостность НК, гемолитический индекс, клеточная жизнеспособность) выполняется отдельно. Оба уровня необходимы: транспортная верификация + лабораторный QC. При статусе AT_RISK решение о тестировании принимается лабораторным директором с документированием обоснования.

input.csv

SampleID,PatientID,SampleType,AnalyteTarget,AssayName,OriginSite,DestinationLab,ShipDateTime_Utc,ReceiveDateTime_Utc,TransitDuration_Hours,MaxValidatedTransit_Hours,TransportMode,TempLogger_Present,TempLogger_Functional,Temp_Min_Recorded_C,Temp_Max_Recorded_C,Temp_Mean_Recorded_C,RequiredTempRange_C,RequiredTemp_Min_C,RequiredTemp_Max_C,TempWithinRange_EntireTransit,ExcursionCount,TotalExcursionDuration_Hours,MaxSingleExcursion_Hours,MaxAllowedExcursion_Hours,MaxAllowedSingleExcursion_Hours,ExcursionMaxTemp_C,ExcursionMinTemp_C,StabilizerUsed,Stabilizer_ValidatedForTransport,PackagingType,Packaging_AppropriateForTemp,TubeOrientation_Correct,VibrationProtection_Adequate,ContainerIntact_AtReceipt,Leakage_Detected,Hemolysis_VisualCheck,Clotting_Detected,DryIce_Remaining,FillVolume_Percent,StabilityData_ForTransportConditions,ValidationReference
TRSP-2026-001,PAT-LUNG-042,cfDNA_Streck,cfDNA,NSCLC_CGP,City Hospital,RefLab Central,2026-06-07T08:00:00,2026-06-07T20:00:00,12,72,Courier,true,true,18.5,24.2,21.0,15-30,15,30,true,0,0,0,4,2,0,0,Streck,true,Ambient_Envelope,true,true,true,true,false,false,false,false,95,true,IFU-Streck-v3.2
TRSP-2026-002,PAT-CRC-055,Whole_Blood,RNA,Immune_Profiling,Regional Clinic,RefLab Central,2026-06-06T14:00:00,2026-06-07T18:00:00,28,24,Courier,true,true,3.8,9.5,6.2,2-8,2,8,false,2,3.5,2.1,2,1,9.5,3.8,PAXgene,true,Insulated_Box,true,true,true,true,false,false,false,false,90,true,SOP-TRANSPORT-RNA-001
TRSP-2026-003,PAT-BRCA-061,Fresh_Tissue,RNA,WTS_Panel,Surgery Dept,Molecular Lab,2026-06-05T10:00:00,2026-06-06T22:00:00,36,4,Internal,false,false,0,0,0,-80±10,-90,-70,false,0,0,0,0.5,0.5,0,0,RNAlater,false,Dry_Ice_Shipper,false,false,false,false,true,false,false,false,60,false,

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

Документ описывает контролируемый интерфейс и поведение утилиты SampleTransportStabilityChecker для сценария Sample Transport Stability Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • ℹ️ Утилита выполняет проверку транспортных условий согласно CLSI GP44-A2, CAP/CLIA §GEN.48800, ISO 15189 §7.3.3, IATA Temperature Control Regulations и GDP:
  • • Transit Duration ≤ Max Validated: Фактическое время vs валидированное окно стабильности.
  • • Excursion Count: Количество выходов за пределы диапазона.
  • • <50% = приемлемо; 50–80% = AT_RISK; >80% или критические факторы = REJECTED.
  • ⚠️ ВАЖНО:
  • • Отсутствие логгера ≠ «предположительно нормально». Это MONITORING_GAP или REJECTED.
  • • Аккредитация CAP/ISO: Документирование pre-analytical transport management.

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

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

#ПолеТипПримерНазначение
1SampleIDstring / controlled vocabularyTRSP-2026-001Идентификатор образца или лабораторной пробы.
2PatientIDstring / controlled vocabularyPAT-LUNG-042Контролируемый входной параметр для детерминированных QC-правил.
3SampleTypestring / controlled vocabularycfDNA_StreckИдентификатор образца или лабораторной пробы.
4AnalyteTargetstring / controlled vocabularycfDNAКонтролируемый входной параметр для детерминированных QC-правил.
5AssayNamestring / controlled vocabularyNSCLC_CGPКонтролируемый входной параметр для детерминированных QC-правил.
6OriginSitestring / controlled vocabularyCity HospitalКонтролируемый входной параметр для детерминированных QC-правил.
7DestinationLabstring / controlled vocabularyRefLab CentralКонтролируемый входной параметр для детерминированных QC-правил.
8ShipDateTime_Utcstring / controlled vocabulary2026-06-07T08:00:00Временной параметр процесса, инкубации, хранения или анализа.
9ReceiveDateTime_Utcstring / controlled vocabulary2026-06-07T20:00:00Временной параметр процесса, инкубации, хранения или анализа.
10TransitDuration_Hoursinteger / decimal12Временной параметр процесса, инкубации, хранения или анализа.
11MaxValidatedTransit_Hoursstring / controlled vocabulary72Временной параметр процесса, инкубации, хранения или анализа.
12TransportModestring / controlled vocabularyCourierКонтролируемый входной параметр для детерминированных QC-правил.
13TempLogger_Presentstring / controlled vocabularytrueТемпературный профиль/MKT; параметр хранения, перевозки и стабильности.
14TempLogger_Functionalstring / controlled vocabularytrueТемпературный профиль/MKT; параметр хранения, перевозки и стабильности.
15Temp_Min_Recorded_Cdecimal18.5Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
16Temp_Max_Recorded_Cdecimal24.2Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
17Temp_Mean_Recorded_Cdecimal21.0Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
18RequiredTempRange_Cstring / controlled vocabulary15-30Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
19RequiredTemp_Min_Cdecimal15Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
20RequiredTemp_Max_Cdecimal30Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
21TempWithinRange_EntireTransitstring / controlled vocabularytrueТемпературный профиль/MKT; параметр хранения, перевозки и стабильности.
22ExcursionCountinteger / decimal0Счётный показатель; используется для микробиологического, частичного или клеточного контроля.
23TotalExcursionDuration_Hoursinteger / decimal0Временной параметр процесса, инкубации, хранения или анализа.
24MaxSingleExcursion_Hoursinteger / decimal0Временной параметр процесса, инкубации, хранения или анализа.
25MaxAllowedExcursion_Hoursinteger / decimal4Временной параметр процесса, инкубации, хранения или анализа.
26MaxAllowedSingleExcursion_Hoursinteger / decimal2Временной параметр процесса, инкубации, хранения или анализа.
27ExcursionMaxTemp_Cdecimal0Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
28ExcursionMinTemp_Cdecimal0Температурный профиль/MKT; параметр хранения, перевозки и стабильности.
29StabilizerUsedstring / controlled vocabularyStreckКонтролируемый входной параметр для детерминированных QC-правил.
30Stabilizer_ValidatedForTransportstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
31PackagingTypestring / controlled vocabularyAmbient_EnvelopeКонтролируемый входной параметр для детерминированных QC-правил.
32Packaging_AppropriateForTempstring / controlled vocabularytrueТемпературный профиль/MKT; параметр хранения, перевозки и стабильности.
33TubeOrientation_Correctstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
34VibrationProtection_Adequatestring / controlled vocabularytrueОтношение компонентов; структурный или рецептурный CQA.
35ContainerIntact_AtReceiptstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
36Leakage_Detectedstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
37Hemolysis_VisualCheckstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
38Clotting_Detectedstring / controlled vocabularyfalseИдентификатор серии/партии для трассируемости.
39DryIce_Remainingstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
40FillVolume_Percentdecimal95Объём/доза; используется для расчёта нагрузки, предела или выпуска.
41StabilityData_ForTransportConditionsstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
42ValidationReferencestring / controlled vocabularyIFU-Streck-v3.2Контролируемый входной параметр для детерминированных QC-правил.
SampleID,PatientID,SampleType,AnalyteTarget,AssayName,OriginSite,DestinationLab,ShipDateTime_Utc,ReceiveDateTime_Utc,TransitDuration_Hours,MaxValidatedTransit_Hours,TransportMode,TempLogger_Present,TempLogger_Functional,Temp_Min_Recorded_C,Temp_Max_Recorded_C,Temp_Mean_Recorded_C,RequiredTempRange_C,RequiredTemp_Min_C,RequiredTemp_Max_C,TempWithinRange_EntireTransit,ExcursionCount,TotalExcursionDuration_Hours,MaxSingleExcursion_Hours,MaxAllowedExcursion_Hours,MaxAllowedSingleExcursion_Hours,ExcursionMaxTemp_C,ExcursionMinTemp_C,StabilizerUsed,Stabilizer_ValidatedForTransport,PackagingType,Packaging_AppropriateForTemp,TubeOrientation_Correct,VibrationProtection_Adequate,ContainerIntact_AtReceipt,Leakage_Detected,Hemolysis_VisualCheck,Clotting_Detected,DryIce_Remaining,FillVolume_Percent,StabilityData_ForTransportConditions,ValidationReference
TRSP-2026-001,PAT-LUNG-042,cfDNA_Streck,cfDNA,NSCLC_CGP,City Hospital,RefLab Central,2026-06-07T08:00:00,2026-06-07T20:00:00,12,72,Courier,true,true,18.5,24.2,21.0,15-30,15,30,true,0,0,0,4,2,0,0,Streck,true,Ambient_Envelope,true,true,true,true,false,false,false,false,95,true,IFU-Streck-v3.2
TRSP-2026-002,PAT-CRC-055,Whole_Blood,RNA,Immune_Profiling,Regional Clinic,RefLab Central,2026-06-06T14:00:00,2026-06-07T18:00:00,28,24,Courier,true,true,3.8,9.5,6.2,2-8,2,8,false,2,3.5,2.1,2,1,9.5,3.8,PAXgene,true,Insulated_Box,true,true,true,true,false,false,false,false,90,true,SOP-TRANSPORT-RNA-001
TRSP-2026-003,PAT-BRCA-061,Fresh_Tissue,RNA,WTS_Panel,Surgery Dept,Molecular Lab,2026-06-05T10:00:00,2026-06-06T22:00:00,36,4,Internal,false,false,0,0,0,-80±10,-90,-70,false,0,0,0,0.5,0.5,0,0,RNAlater,false,Dry_Ice_Shipper,false,false,false,false,true,false,false,false,60,false,

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

IDПолеПравилоКритичность
VR-001SampleIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002PatientIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003SampleTypeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004AnalyteTargetПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005AssayNameПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006OriginSiteПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007DestinationLabПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008ShipDateTime_UtcПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009ReceiveDateTime_UtcПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010TransitDuration_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011MaxValidatedTransit_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012TransportModeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013TempLogger_PresentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014TempLogger_FunctionalПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-015Temp_Min_Recorded_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-016Temp_Max_Recorded_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-017Temp_Mean_Recorded_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-018RequiredTempRange_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-019RequiredTemp_Min_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-020RequiredTemp_Max_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-021TempWithinRange_EntireTransitПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-022ExcursionCountПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-023TotalExcursionDuration_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-024MaxSingleExcursion_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-025MaxAllowedExcursion_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-026MaxAllowedSingleExcursion_HoursПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-027ExcursionMaxTemp_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-028ExcursionMinTemp_CПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-029StabilizerUsedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-030Stabilizer_ValidatedForTransportПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-031PackagingTypeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-032Packaging_AppropriateForTempПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-033TubeOrientation_CorrectПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-034VibrationProtection_AdequateПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-035ContainerIntact_AtReceiptПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-036Leakage_DetectedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-037Hemolysis_VisualCheckПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-038Clotting_DetectedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-039DryIce_RemainingПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-040FillVolume_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-041StabilityData_ForTransportConditionsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-042ValidationReferenceПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Sample Transport Stability 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": "sampletransportstabilitychecker",
  "utilityFolder": "SampleTransportStabilityChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "SampleID",
      "value": "TRSP-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "PatientID",
      "value": "PAT-LUNG-042",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "SampleType",
      "value": "cfDNA_Streck",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "AnalyteTarget",
      "value": "cfDNA",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "AssayName",
      "value": "NSCLC_CGP",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "OriginSite",
      "value": "City Hospital",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "DestinationLab",
      "value": "RefLab Central",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "ShipDateTime_Utc",
      "value": "2026-06-07T08:00:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "ReceiveDateTime_Utc",
      "value": "2026-06-07T20:00:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "TransitDuration_Hours",
      "value": "12",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "MaxValidatedTransit_Hours",
      "value": "72",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "TransportMode",
      "value": "Courier",
      "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": "SampleTransportStabilityChecker.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 и утверждёнными процедурами.

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

Биофармацевтика расширенная

Расширенный coverage-пакет QC-утилит для mAb, биоаналогов, белков, инсулинов, вакцин, mRNA/LNP, HCP, стерильного выпуска, микробиологии, воды, cleanroom и стабильности.

Открыть

Жидкостная биопсия

Пакет для QC и преданалитического контроля жидкостной биопсии: cfDNA/ctDNA, CTC, EV/exosomes, метилирование, NGS/qPCR/ddPCR, контроль образцов, контаминации, чувствительности и отчётности.

Открыть