VQStudyAcquisitionQualityChecker
V/Q Study Acquisition Quality Checker
V/Q Study Acquisition Quality Checker — V/Q — контроль acquisition
V/Q Study Acquisition Quality Checker — V/Q — контроль acquisition
ℹ️ Утилита выполняет:
• Проверка статистики счёта вентиляции и перфузии, количества проекций, движения, временного интервала и совмещения серий.
• Проверку структуры input.csv и числовых значений
• Формирование LabWare-совместимого output.json
• Детерминированный итог PASS / FAIL / ERROR
⚠️ КРИТИЧНО: Любое несоответствие должно быть проверено квалифицированным специалистом до использования результата в рабочем процессе.
Использование:
VQStudyAcquisitionQualityChecker.exe → демо-режим (вывод в консоль)
VQStudyAcquisitionQualityChecker.exe input.csv output.json → оценка ваших данных
Формат input.csv:
BatchNumber,VentilationTotalCounts,PerfusionTotalCounts,VentilationProjectionCount,PerfusionProjectionCount,InterSeriesIntervalMin,MotionScore,RegistrationScore,EnergyWindowDeviationPercent
Пример:
VQ-ACQ-001,900000,1200000,60,60,10,0.5,95,1
— ЗАЧЕМ ЭТО НУЖНО?
Проверка статистики счёта вентиляции и перфузии, количества проекций, движения, временного интервала и совмещения серий.
Утилита входит в пакет «RPH: вентиляционно-перфузионные исследования лёгких» и может применяться как самостоятельная проверка или как элемент более широкого workflow ядерной медицины.
⚠️ КРИТИЧЕСКИ ВАЖНО:
• VentilationCounts: >=300000
• PerfusionCounts: >=300000
• VentilationProjections: >=32
• PerfusionProjections: >=32
• InterSeriesInterval: <=60
• MotionScore: <=2
• RegistrationScore: >=75
• EnergyWindowDeviation: <=10
Ключевые особенности утилиты:
• Один исполняемый файл .NET 6 и один Program.cs
• Полный пример input.csv с проходной, пограничной и отрицательной строками
• LabWare-совместимый JSON: Header, Samples, Results, Status, StatusCode, ErrorMessage, Description и DescriptionEN
• CultureInfo.InvariantCulture для числовых значений
• Явные результаты по каждому параметру и пустой ErrorMessage для PASS
Критические параметры:
• VentilationCounts: >=300000
• PerfusionCounts: >=300000
• VentilationProjections: >=32
• PerfusionProjections: >=32
• InterSeriesInterval: <=60
• MotionScore: <=2
• RegistrationScore: >=75
• EnergyWindowDeviation: <=10
💡 Советы по использованию:
1. Перед рабочим применением сверьте пределы с утверждённой спецификацией, инструкцией препарата, локальным SOP и конфигурацией оборудования.
2. Храните исходный input.csv вместе с output.json и версией исполняемого файла.
3. Для клинических расчётов используйте только проверенные исходные данные и утверждённый профиль протокола.
4. FAIL означает необходимость review, а не автоматическое медицинское решение.
5. Изменение лимитов должно проходить change control и повторную верификацию.
⚠️ Особенность: Утилита реализует детерминированный CSV → LabWare-compatible JSON workflow и не заменяет утверждённую методику, спецификацию, SOP или медицинское заключение.
Референсные пределы в этой версии являются консервативным стартовым профилем проекта FUZKK. Они должны быть подтверждены владельцем процесса до OQ/PQ и производственного применения.input.csv
BatchNumber,VentilationTotalCounts,PerfusionTotalCounts,VentilationProjectionCount,PerfusionProjectionCount,InterSeriesIntervalMin,MotionScore,RegistrationScore,EnergyWindowDeviationPercent VQ-ACQ-001,900000,1200000,60,60,10,0.5,95,1 VQ-ACQ-002,400000,500000,32,32,30,2,80,5 VQ-ACQ-003,80000,90000,12,12,120,4,40,15
URS & FS — пользовательские требования и функциональная спецификация
URS — требования пользователя
- Утилита должна запускаться без аргументов в демонстрационном режиме и с двумя аргументами
input.csv output.json. - Обязательный CSV-заголовок:
BatchNumber,VentilationTotalCounts,PerfusionTotalCounts,VentilationProjectionCount,PerfusionProjectionCount,InterSeriesIntervalMin,MotionScore,RegistrationScore,EnergyWindowDeviationPercent. - Числовые значения должны разбираться через
CultureInfo.InvariantCulture. - Каждая строка должна формировать отдельный объект Samples в LabWare-совместимом JSON.
- Статусы должны быть PASS, FAIL или ERROR; для PASS поле ErrorMessage должно быть пустым.
- Утилита должна применять правила конкретного workflow и выводить результат каждого параметра.
- Повторный запуск с теми же данными и версией должен давать идентичный результат.
- Некорректный заголовок, число колонок или тип значения должен приводить к ERROR, а не к PASS.
Полный пример input.csv
BatchNumber,VentilationTotalCounts,PerfusionTotalCounts,VentilationProjectionCount,PerfusionProjectionCount,InterSeriesIntervalMin,MotionScore,RegistrationScore,EnergyWindowDeviationPercent VQ-ACQ-001,900000,1200000,60,60,10,0.5,95,1 VQ-ACQ-002,400000,500000,32,32,30,2,80,5 VQ-ACQ-003,80000,90000,12,12,120,4,40,15
FS — функциональная спецификация
Main()выбирает демонстрационный или файловый режим.LoadData()проверяет точный заголовок и преобразует каждую строку вRecord.Evaluate()возвращает именованный кортеж с номером партии, продуктом, параметрами, итогом и рекомендациями RU/EN.AddCheck()создаёт элементы Results с фактическим значением, единицей, пределом и IsWithinSpec.RunWithFiles()формирует Header/Samples и сериализует результат через Newtonsoft.Json.- Глобальная ошибка преобразуется в SampleResult со статусом ERROR и кодом -1.
Реализованные правила
VentilationCounts: >=300000PerfusionCounts: >=300000VentilationProjections: >=32PerfusionProjections: >=32InterSeriesInterval: <=60MotionScore: <=2RegistrationScore: >=75EnergyWindowDeviation: <=10
Полный пример input.csv
BatchNumber,VentilationTotalCounts,PerfusionTotalCounts,VentilationProjectionCount,PerfusionProjectionCount,InterSeriesIntervalMin,MotionScore,RegistrationScore,EnergyWindowDeviationPercent VQ-ACQ-001,900000,1200000,60,60,10,0.5,95,1 VQ-ACQ-002,400000,500000,32,32,30,2,80,5 VQ-ACQ-003,80000,90000,12,12,120,4,40,15
Минимальные OQ-сценарии
- PASS для первой строки.
- Обработка пограничной второй строки.
- FAIL для третьей строки.
- ERROR при изменённом заголовке.
- ERROR при нечисловом значении.
- Идентичный JSON-результат при повторном запуске.
Входит в пакеты
PetRad QC Suite
Пакет специализированных утилит для контроля качества радиофармпрепаратов: ПЭТ, SPECT, терапевтические радионуклиды, генераторы и расчёты распада.
ОткрытьPetRad3: расширенный PET/SPECT и радиофармацевтический QC-пакет
Подборка утилит для контроля PET/SPECT радиофармпрепаратов, генераторных и циклотронных радионуклидов, меченых соединений, радиохимической чистоты, прорыва, стерильности и эндотоксинов.
ОткрытьРадиология
Пакет для радиологии и диагностической визуализации: радиофармпрепараты, PET/SPECT, контрастные вещества, йодсодержащие и гадолиниевые препараты, а также проверки частиц, стерильности и эндотоксинов.
ОткрытьRPH organ/system: лёгкие и вентиляция
Lung perfusion, MAA, V/Q, aerosol, xenon ventilation, shunt и pulmonary dosimetry.
ОткрытьRPH organ/system: почки и мочевыводящие пути
Ренография, GFR/ERPF, renal uptake, DMSA/MAG3/DTPA и bladder-related workflows.
ОткрытьRPH: вентиляционно-перфузионные исследования лёгких
Контроль Tc-99m DTPA aerosol и Technegas, оценка распределения аэрозоля, V/Q mismatch и полноты V/Q acquisition.
ОткрытьRPH use case: Tc-99m MAA, V/Q и радиоэмболизация
Макроагрегаты альбумина: размер и число частиц, радиохимическая чистота, ресуспендирование, перфузия лёгких, lung shunt и предтерапевтическое планирование Y-90.
ОткрытьRPH workflow: imaging QC и количественная интерпретация
Acquisition, uptake, clearance, perfusion, transit, ejection fraction, segmentation и quantitative imaging.
ОткрытьRPH workflow: product release QC
Assay, purity, sterility, endotoxins, pH, impurities, appearance и batch-release checks.
ОткрытьRPH: объединённый радиофармацевтический QC-пакет
RPH объединяет PetRad, PetRad2 и PetRad3 в один обзорный пакет для PET/SPECT, терапевтических радионуклидов, генераторов, меченых соединений, расчётов распада, стерильности, эндотоксинов и радиохимической/радионуклидной чистоты.
Открыть