PETDailyDetectorQCDecisionChecker

PET Daily Detector QC Decision Checker

medical_devices RPH PET scanner state PET QC CSV→JSON URS & FS rule-based PET
Открыть подборку

Итоговое решение по ежедневному QC PET-детекторов

Объединяет результаты blank scan, энергетической калибровки, TOF, источника и конфигурации в одно эксплуатационное решение.

  • проверка полноты обязательных подпроверок;
  • приоритет критических отказов над предупреждениями;
  • выдача решения PASS, REVIEW, RECALIBRATION или DO NOT USE.

Решение является правилом workflow. Окончательный допуск сканера выполняется по утверждённой процедуре площадки.

input.csv

ScannerID,CheckDate,BlankScanPass,DeadDetectorsCount,SinogramUniformityCV,EnergyWindowPass,PeakShiftKeV,EnergyResolutionPercent,TofCheckPass,TofResolutionPs,TimingOffsetPs,SourceValid,SourceDeviationPercent,CalibrationFileExists,PhantomPositionVerified
PET-SIEMENS-01,2026-07-22,true,0,1.2,true,2.0,11.5,true,210.0,15.0,true,1.5,true,true
PET-GE-02,2026-07-22,false,2,3.5,true,1.0,12.0,true,380.0,40.0,true,2.0,true,true
PET-PHILIPS-03,2026-07-22,true,0,1.1,false,18.0,14.0,false,450.0,120.0,true,1.0,true,true

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

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

  • Утилита должна принимать input.csv с заголовками, указанными в контракте данных.
  • До расчёта утилита должна выявлять отсутствующие колонки, ошибки типов, пустые обязательные значения и нелогичные даты или диапазоны.
  • Утилита должна детерминированно выполнять функцию «Итоговое решение по ежедневному QC PET-детекторов».
  • Пределы и правила должны загружаться из утверждённого профиля либо быть явно зафиксированы в валидируемой версии.
  • Для каждой записи должен формироваться понятный итоговый статус: PASS, WARNING, RECALIBRATION_REQUIRED, SERVICE_REVIEW_REQUIRED или DO_NOT_USE_FOR_PATIENTS, с указанием причины.
  • Результат должен сохранять исходные значения, вычисленные показатели, применённые пределы и отдельные статусы проверок.
  • Ошибка входных данных не должна возвращаться как успешный результат. Итог используется квалифицированным специалистом в рамках утверждённой процедуры.

FS — функциональная спецификация

  1. Запуск PETDailyDetectorQCDecisionChecker.exe в demo-режиме или с аргументами input.csv output.json.
  2. Чтение UTF-8 CSV и сопоставление колонок с контрактом.
  3. Преобразование значений к ожидаемым типам и проверка обязательных полей.
  4. Выполнение расчётов и правил для функции «Итоговое решение по ежедневному QC PET-детекторов».
  5. Формирование массива отдельных checks и итогового статуса по принципу наихудшего результата.
  6. Запись machine-readable output.json; errors заполняется при невозможности корректного расчёта.

Пример input.csv

ScannerID,CheckDate,BlankScanPass,DeadDetectorsCount,SinogramUniformityCV,EnergyWindowPass,PeakShiftKeV,EnergyResolutionPercent,TofCheckPass,TofResolutionPs,TimingOffsetPs,SourceValid,SourceDeviationPercent,CalibrationFileExists,PhantomPositionVerified
PET-SIEMENS-01,2026-07-22,true,0,1.2,true,2.0,11.5,true,210.0,15.0,true,1.5,true,true
PET-GE-02,2026-07-22,false,2,3.5,true,1.0,12.0,true,380.0,40.0,true,2.0,true,true
PET-PHILIPS-03,2026-07-22,true,0,1.1,false,18.0,14.0,false,450.0,120.0,true,1.0,true,true

Минимальная структура output.json

{
  "utility": "PETDailyDetectorQCDecisionChecker",
  "source": "input.csv",
  "status": "PASS|WARNING|FAIL",
  "derivedValues": {},
  "checks": [
    {
      "parameter": "example",
      "value": 0,
      "limit": "configured profile",
      "status": "PASS",
      "message": "criterion satisfied"
    }
  ],
  "errors": []
}

Минимальные OQ-сценарии

  • Строка в пределах профиля должна вернуть PASS.
  • Строка с нарушенным некритическим пределом должна вернуть WARNING или review-status.
  • Критическое нарушение должно вернуть FAIL либо соответствующее эксплуатационное решение.
  • Отсутствующая колонка, неверный тип или невозможная дата должны заполнить errors и не возвращать PASS.

Перед эксплуатацией

  • Сверить формулы и пределы с manufacturer documentation и утверждённым SOP.
  • Зафиксировать scanner model, software version и версию профиля.
  • После изменения executable, формул или профиля повторить затронутые тесты.
  • Хранить source CSV и JSON-результат вместе.

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

PET Scanner State QC Suite

14 утилит для контроля состояния PET/PET-CT сканера: активность источников Ge-68/Ga-68, blank sinogram, эффективность детекторов, сбор и распределение факторов нормализации, назначение normalization file, тренды, энергетическое окно, TOF, attenuation-correction map, PET/CT cross-calibration и итоговое ежедневное решение.

Открыть

RPH use case: PET scanner state, gamma camera и radiation physics

Связанный слой medical-device/radiation-physics: PET detector QC, normalization, AC map, cross-calibration, TOF, gamma-camera uniformity, source strength и staff dose.

Открыть

RPH workflow: instruments, devices и radiation safety

PET/gamma-camera state, calibration, detector QC, energy window, TOF, shielding и radiation safety.

Открыть

RPH workflow: product release QC

Assay, purity, sterility, endotoxins, pH, impurities, appearance и batch-release checks.

Открыть