UrologyBiomarkerResultChecker

Urology Biomarker Result

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

Описание утилиты: Urology Biomarker Result

Urology Biomarker Result Checker — Финальная верификация результатов урологических биомаркеров

ℹ️  Утилита выполняет проверку результатов согласно CAP/CLIA §GEN.48800, ISO 15189 §7.4, EAU Guidelines 2026, NCCN Prostate Cancer Early Detection v2.2026 и AUA Best Practice Statements:

     АНАЛИТИЧЕСКАЯ ВАЛИДНОСТЬ:
     • Analytical QC Passed: Контроли в допуске.
     • Result Within Assay Range: Результат в валидированном диапазоне.
     • Delta Check: Изменение vs предыдущий результат не превышает биологическую вариацию.
     • ⛔ QC failure или выход за диапазон = блокировка выдачи.

     КОНФАУНДИРУЮЩИЕ ФАКТОРЫ:
     • 5-ARI (Finasteride/Dutasteride): Снижают PSA ~50%. Без корректировки = занижение риска.
     • Recent Ejaculation (<48h): Транзиторное повышение PSA на 0.5–1.0 ng/mL.
     • Recent Catheterization (<7d): Механическое повышение PSA.
     • Active Prostatitis: Значительное повышение PSA из-за воспаления; отложить решение о биопсии.
     • Hematuria: Контаминация кровью влияет на все urine-based маркеры.
     • ⚠ Каждый конфаундер должен быть документирован и учтён в интерпретации.

     КЛИНИЧЕСКИЙ КОНТЕКСТ:
     • DRE Performed: Обязателен при первичной оценке PSA (EAU/NCCN).
     • Prostate Volume: Необходим для расчёта PSA density при borderline PSA.
     • mpMRI Before Biopsy: EAU 2026 рекомендует mpMRI перед первой биопсией.
     • Prior Biopsy History: Влияет на пороговые значения и интерпретацию.
     • Family History: Модифицирует индивидуальный риск.

     СПЕЦИФИЧНЫЕ ПРОВЕРКИ ПО МАРКЕРАМ:
     • PSA Free/Total Ratio: При PSA 4–10 ng/mL ratio <0.15 повышает вероятность рака.
     • PSA Density >0.15 ng/mL/cc: Повышенный риск клинически значимого рака.
     • PCA3 Score ≥35: Поддерживает решение о повторной биопсии после негативной.
     • UroVysion FISH: Анеусомия ≥4 клеток = положительный результат.
     • Risk Scores (Cxbladder, Decipher): Корректная категоризация по валидированным порогам.

     ПОЛНОТА ОТЧЁТА:
     • Recommendation Included: Действенное руководство для клинициста.
     • Limitations Stated: Ограничения теста документированы.
     • Units & Reference Ranges: Единицы и референсы указаны.
     • Methodology Stated: Метод анализа указан для трассируемости.
     • Guideline Referenced: Версия клинических рекомендаций указана.

⚠️  ВАЖНО:
     • PSA без корректировки на 5-ARI = систематическая ошибка в оценке риска.
     • Решение о биопсии на основе PSA БЕЗ mpMRI противоречит EAU 2026.
     • Простатит может повысить PSA в 5–10 раз; биопсия во время воспаления неинформативна.
     • Free/total ratio имеет значение ТОЛЬКО в диапазоне PSA 4–10 ng/mL.
     • Urine-based маркеры (PCA3, NMP22, BTA) недостоверны при гематурии.
     • Delta check критичен для мониторинга: резкий рост PSA требует верификации образца.
     • Возрастные нормы PSA различаются; использование единого порога 4.0 ng/mL устарело.

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

📍 Область применения:
     • Урологические лаборатории: Финальная верификация перед выдачей.
     • Онкоурологические консилиумы: Стандартизированный вход для принятия решений.
     • Программы активного наблюдения: Мониторинг динамики маркеров.
     • Скрининговые программы: Контроль качества интерпретации PSA.
     • Аккредитация CAP/ISO: Документирование post-analytical verification.

💡 Советы:
1. 5-ARI Auto-Flag: Настройте LIMS на автоматический флаг при наличии 5-ARI в медикаментах.
2. PSA Density Calculator: Интегрируйте автоматический расчёт PSAD при наличии объёма.
3. Guideline Version Control: Обновляйте правила интерпретации при выходе новых версий EAU/NCCN.
4. Confounder Checklist: Внедрите обязательный чеклист конфаундеров в LIS.
5. Delta Check Thresholds: Установьте маркер-специфичные пороги биологической вариации.

⚠️ Примечание: Утилита выполняет ВЕРИФИКАЦИЮ РЕЗУЛЬТАТА И ИНТЕРПРЕТАЦИИ. Она не заменяет клиническое суждение уролога. Окончательное решение о биопсии, терапии или наблюдении принимается врачом с учётом полной клинической картины. Статус INTERPRETATION_CONCERN означает необходимость ручного пересмотра патологом/лаборантом, но не обязательно ошибку.

input.csv

SampleID,PatientID,PatientAge_Years,Sex,BiomarkerPanel,ClinicalIndication,PSATotal_ng_mL,PSAFree_ng_mL,FreeTotal_Ratio,PSADensity_ng_mL_cc,ProstateVolume_cc,ProstateVolume_Available,PCA3_Score,TMPRSS2_ERG_Score,UroVysion_Result,UroVysion_Aneusomy_Cells,RiskScore_Value,RiskCategory,NMP22_Units_mL,BTA_Result,AgeAdjusted_PSA_UpperLimit,PSATotal_RefUpper,FreeTotal_Ratio_RefLower,PCA3_Threshold,RiskScore_LowThreshold,RiskScore_HighThreshold,AssayMethod,DRE_Performed,DRE_Result,mpMRI_Performed,PI_RADS_Score,PriorBiopsy_Performed,PriorBiopsy_Result,MonthsSincePriorBiopsy,FamilyHistory_PC,CurrentMedications,On5ARI,RecentEjaculation_Within48h,RecentCatheterization_Within7d,ActiveProstatitis_Symptoms,Hematuria_Present,GeneratedInterpretation,Interpretation_MatchesGuidelines,Recommendation_Included,Limitations_Stated,UnitsAndRefRanges_Reported,Methodology_Stated,PreviousResults_Compared,GuidelineReferenced,AnalyticalQC_Passed,ResultWithin_AssayRange,DeltaCheck_Passed,DeltaChange_Percent,MaxExpectedDelta_Percent,CriticalValue_Flagged
URO-2026-001,PAT-PC-042,62,M,PSA_Total_Free_PCA3,Biopsy_Decision,5.8,0.72,0.124,0.14,42.0,true,48.0,0,NA,0,0,,0,NA,4.5,4.0,0.15,35.0,0,0,Roche_Elecsys_PSA;Hologic_Progensa_PCA3,true,Normal,true,3,true,Negative,14,true,None,false,false,false,false,false,"PSA elevated with low free/total ratio and PCA3 above threshold. Combined profile suggests increased probability of clinically significant PCa.",true,true,true,true,true,true,EAU_2026,true,true,true,12.0,50,false
URO-2026-002,PAT-PC-055,68,M,PSA_Total_Free,Screening,3.2,0.85,0.266,0,0,false,0,0,NA,0,0,,0,NA,5.0,4.0,0.15,35.0,0,0,Abbott_Architect,false,Not_Performed,false,NA,false,,0,false,"Finasteride 5mg",true,true,false,true,false,"PSA within normal range.",false,false,false,true,true,false,,true,true,true,0,50,false

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

Документ описывает контролируемый интерфейс и поведение утилиты UrologyBiomarkerResultChecker для сценария Urology Biomarker Result Checker.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье и локальными SOP.
  • ℹ️ Утилита выполняет проверку результатов согласно CAP/CLIA §GEN.48800, ISO 15189 §7.4, EAU Guidelines 2026, NCCN Prostate Cancer Early Detection v2.2026 и AUA Best Practice Statements:
  • • Recent Ejaculation (<48h): Транзиторное повышение PSA на 0.5–1.0 ng/mL.
  • • Recent Catheterization (<7d): Механическое повышение PSA.
  • • PSA Free/Total Ratio: При PSA 4–10 ng/mL ratio <0.15 повышает вероятность рака.
  • • PSA Density >0.15 ng/mL/cc: Повышенный риск клинически значимого рака.
  • • PCA3 Score ≥35: Поддерживает решение о повторной биопсии после негативной.
  • • UroVysion FISH: Анеусомия ≥4 клеток = положительный результат.
  • • Limitations Stated: Ограничения теста документированы.
  • ⚠️ ВАЖНО:
  • • Delta check критичен для мониторинга: резкий рост PSA требует верификации образца.
  • • Аккредитация CAP/ISO: Документирование post-analytical verification.

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv для Urology Biomarker Result 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 vocabularyURO-2026-001Идентификатор образца или лабораторной пробы.
2PatientIDstring / controlled vocabularyPAT-PC-042Контролируемый входной параметр для детерминированных QC-правил.
3PatientAge_Yearsdecimal62Контролируемый входной параметр для детерминированных QC-правил.
4Sexstring / controlled vocabularyMКонтролируемый входной параметр для детерминированных QC-правил.
5BiomarkerPanelstring / controlled vocabularyPSA_Total_Free_PCA3Контролируемый входной параметр для детерминированных QC-правил.
6ClinicalIndicationstring / controlled vocabularyBiopsy_DecisionКонтролируемый входной параметр для детерминированных QC-правил.
7PSATotal_ng_mLdecimal5.8Объём/доза; используется для расчёта нагрузки, предела или выпуска.
8PSAFree_ng_mLdecimal0.72Объём/доза; используется для расчёта нагрузки, предела или выпуска.
9FreeTotal_Ratiodecimal0.124Отношение компонентов; структурный или рецептурный CQA.
10PSADensity_ng_mL_ccdecimal0.14Объём/доза; используется для расчёта нагрузки, предела или выпуска.
11ProstateVolume_ccdecimal42.0Объём/доза; используется для расчёта нагрузки, предела или выпуска.
12ProstateVolume_Availablestring / controlled vocabularytrueОбъём/доза; используется для расчёта нагрузки, предела или выпуска.
13PCA3_Scoredecimal48.0Контролируемый входной параметр для детерминированных QC-правил.
14TMPRSS2_ERG_Scoredecimal0Контролируемый входной параметр для детерминированных QC-правил.
15UroVysion_Resultstring / controlled vocabularyNAРезультат или статус, применяемый в итоговой классификации.
16UroVysion_Aneusomy_Cellsdecimal0Контролируемый входной параметр для детерминированных QC-правил.
17RiskScore_Valuedecimal0Контролируемый входной параметр для детерминированных QC-правил.
18RiskCategorystring / controlled vocabularyКонтролируемый входной параметр для детерминированных QC-правил.
19NMP22_Units_mLdecimal0Объём/доза; используется для расчёта нагрузки, предела или выпуска.
20BTA_Resultstring / controlled vocabularyNAРезультат или статус, применяемый в итоговой классификации.
21AgeAdjusted_PSA_UpperLimitdecimal4.5Утверждённый предел, применяемый при проверке результата.
22PSATotal_RefUpperdecimal4.0Контролируемый входной параметр для детерминированных QC-правил.
23FreeTotal_Ratio_RefLowerdecimal0.15Отношение компонентов; структурный или рецептурный CQA.
24PCA3_Thresholddecimal35.0Контролируемый входной параметр для детерминированных QC-правил.
25RiskScore_LowThresholddecimal0Контролируемый входной параметр для детерминированных QC-правил.
26RiskScore_HighThresholddecimal0Контролируемый входной параметр для детерминированных QC-правил.
27AssayMethodstring / controlled vocabularyRoche_Elecsys_PSA;Hologic_Progensa_PCA3Метод или технологический подход; контролируемое справочное значение.
28DRE_Performedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
29DRE_Resultstring / controlled vocabularyNormalРезультат или статус, применяемый в итоговой классификации.
30mpMRI_Performedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
31PI_RADS_Scorestring / controlled vocabulary3Контролируемый входной параметр для детерминированных QC-правил.
32PriorBiopsy_Performedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
33PriorBiopsy_Resultstring / controlled vocabularyNegativeРезультат или статус, применяемый в итоговой классификации.
34MonthsSincePriorBiopsydecimal14Контролируемый входной параметр для детерминированных QC-правил.
35FamilyHistory_PCstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
36CurrentMedicationsstring / controlled vocabularyNoneКонтролируемый входной параметр для детерминированных QC-правил.
37On5ARIstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
38RecentEjaculation_Within48hstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
39RecentCatheterization_Within7dstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
40ActiveProstatitis_Symptomsstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
41Hematuria_Presentstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
42GeneratedInterpretationstring / controlled vocabularyPSA elevated with low free/total ratio and PCA3 above threshold. Combined profile suggests increased probability of clinically significant PCa.Контролируемый входной параметр для детерминированных QC-правил.
43Interpretation_MatchesGuidelinesstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
44Recommendation_Includedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
45Limitations_Statedstring / controlled vocabularytrueУтверждённый предел, применяемый при проверке результата.
46UnitsAndRefRanges_Reportedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
47Methodology_Statedstring / controlled vocabularytrueМетод или технологический подход; контролируемое справочное значение.
48PreviousResults_Comparedstring / controlled vocabularytrueРезультат или статус, применяемый в итоговой классификации.
49GuidelineReferencedstring / controlled vocabularyEAU_2026Контролируемый входной параметр для детерминированных QC-правил.
50AnalyticalQC_Passedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
51ResultWithin_AssayRangestring / controlled vocabularytrueРезультат или статус, применяемый в итоговой классификации.
52DeltaCheck_Passedstring / controlled vocabularytrueКонтролируемый входной параметр для детерминированных QC-правил.
53DeltaChange_Percentdecimal12.0Контролируемый входной параметр для детерминированных QC-правил.
54MaxExpectedDelta_Percentdecimal50Контролируемый входной параметр для детерминированных QC-правил.
55CriticalValue_Flaggedstring / controlled vocabularyfalseКонтролируемый входной параметр для детерминированных QC-правил.
SampleID,PatientID,PatientAge_Years,Sex,BiomarkerPanel,ClinicalIndication,PSATotal_ng_mL,PSAFree_ng_mL,FreeTotal_Ratio,PSADensity_ng_mL_cc,ProstateVolume_cc,ProstateVolume_Available,PCA3_Score,TMPRSS2_ERG_Score,UroVysion_Result,UroVysion_Aneusomy_Cells,RiskScore_Value,RiskCategory,NMP22_Units_mL,BTA_Result,AgeAdjusted_PSA_UpperLimit,PSATotal_RefUpper,FreeTotal_Ratio_RefLower,PCA3_Threshold,RiskScore_LowThreshold,RiskScore_HighThreshold,AssayMethod,DRE_Performed,DRE_Result,mpMRI_Performed,PI_RADS_Score,PriorBiopsy_Performed,PriorBiopsy_Result,MonthsSincePriorBiopsy,FamilyHistory_PC,CurrentMedications,On5ARI,RecentEjaculation_Within48h,RecentCatheterization_Within7d,ActiveProstatitis_Symptoms,Hematuria_Present,GeneratedInterpretation,Interpretation_MatchesGuidelines,Recommendation_Included,Limitations_Stated,UnitsAndRefRanges_Reported,Methodology_Stated,PreviousResults_Compared,GuidelineReferenced,AnalyticalQC_Passed,ResultWithin_AssayRange,DeltaCheck_Passed,DeltaChange_Percent,MaxExpectedDelta_Percent,CriticalValue_Flagged
URO-2026-001,PAT-PC-042,62,M,PSA_Total_Free_PCA3,Biopsy_Decision,5.8,0.72,0.124,0.14,42.0,true,48.0,0,NA,0,0,,0,NA,4.5,4.0,0.15,35.0,0,0,Roche_Elecsys_PSA;Hologic_Progensa_PCA3,true,Normal,true,3,true,Negative,14,true,None,false,false,false,false,false,PSA elevated with low free/total ratio and PCA3 above threshold. Combined profile suggests increased probability of clinically significant PCa.,true,true,true,true,true,true,EAU_2026,true,true,true,12.0,50,false
URO-2026-002,PAT-PC-055,68,M,PSA_Total_Free,Screening,3.2,0.85,0.266,0,0,false,0,0,NA,0,0,,0,NA,5.0,4.0,0.15,35.0,0,0,Abbott_Architect,false,Not_Performed,false,NA,false,,0,false,Finasteride 5mg,true,true,false,true,false,PSA within normal range.,false,false,false,true,true,false,,true,true,true,0,50,false

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

IDПолеПравилоКритичность
VR-001SampleIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-002PatientIDПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-003PatientAge_YearsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.High
VR-004SexПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-005BiomarkerPanelПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-006ClinicalIndicationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-007PSATotal_ng_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-008PSAFree_ng_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-009FreeTotal_RatioПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-010PSADensity_ng_mL_ccПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-011ProstateVolume_ccПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-012ProstateVolume_AvailableПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-013PCA3_ScoreПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-014TMPRSS2_ERG_ScoreПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-015UroVysion_ResultПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-016UroVysion_Aneusomy_CellsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-017RiskScore_ValueПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-018RiskCategoryПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-019NMP22_Units_mLПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-020BTA_ResultПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-021AgeAdjusted_PSA_UpperLimitПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-022PSATotal_RefUpperПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-023FreeTotal_Ratio_RefLowerПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-024PCA3_ThresholdПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-025RiskScore_LowThresholdПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-026RiskScore_HighThresholdПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-027AssayMethodПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-028DRE_PerformedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-029DRE_ResultПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-030mpMRI_PerformedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-031PI_RADS_ScoreПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-032PriorBiopsy_PerformedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-033PriorBiopsy_ResultПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-034MonthsSincePriorBiopsyПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-035FamilyHistory_PCПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-036CurrentMedicationsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-037On5ARIПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-038RecentEjaculation_Within48hПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-039RecentCatheterization_Within7dПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-040ActiveProstatitis_SymptomsПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-041Hematuria_PresentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-042GeneratedInterpretationПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-043Interpretation_MatchesGuidelinesПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-044Recommendation_IncludedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-045Limitations_StatedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-046UnitsAndRefRanges_ReportedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-047Methodology_StatedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-048PreviousResults_ComparedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-049GuidelineReferencedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-050AnalyticalQC_PassedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-051ResultWithin_AssayRangeПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-052DeltaCheck_PassedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-053DeltaChange_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-054MaxExpectedDelta_PercentПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.Medium
VR-055CriticalValue_FlaggedПоле должно соответствовать утверждённому справочнику/словарю или допустимой строковой форме.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Применить правила для Urology Biomarker Result 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": "urologybiomarkerresultchecker",
  "utilityFolder": "UrologyBiomarkerResultChecker",
  "package": "LiquidBiopsy",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "processedAtUtc": "2026-06-10T00:00:00Z",
  "checks": [
    {
      "parameter": "SampleID",
      "value": "URO-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-001"
    },
    {
      "parameter": "PatientID",
      "value": "PAT-PC-042",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-002"
    },
    {
      "parameter": "PatientAge_Years",
      "value": "62",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-003"
    },
    {
      "parameter": "Sex",
      "value": "M",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-004"
    },
    {
      "parameter": "BiomarkerPanel",
      "value": "PSA_Total_Free_PCA3",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-005"
    },
    {
      "parameter": "ClinicalIndication",
      "value": "Biopsy_Decision",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-006"
    },
    {
      "parameter": "PSATotal_ng_mL",
      "value": "5.8",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-007"
    },
    {
      "parameter": "PSAFree_ng_mL",
      "value": "0.72",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-008"
    },
    {
      "parameter": "FreeTotal_Ratio",
      "value": "0.124",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-009"
    },
    {
      "parameter": "PSADensity_ng_mL_cc",
      "value": "0.14",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-010"
    },
    {
      "parameter": "ProstateVolume_cc",
      "value": "42.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Deterministic rule-based check result",
      "ruleReference": "FS-RULE-011"
    },
    {
      "parameter": "ProstateVolume_Available",
      "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": "UrologyBiomarkerResultChecker.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, контроль образцов, контаминации, чувствительности и отчётности.

Открыть