Tc99mMAALungPerfusionQualityChecker

Tc-99m MAA Lung Perfusion Quality Checker

medical-devices radiopharmaceuticals nuclear-medicine tc-99m maa lung-perfusion radioembolization dosimetry
Открыть подборку

Tc-99m MAA Lung Perfusion Quality Checker — Tc-99m MAA — QC исследования перфузии лёгких

Tc-99m MAA Lung Perfusion Quality Checker — Tc-99m MAA — QC исследования перфузии лёгких

ℹ️  Утилита выполняет:
    • Проверка введённой активности и числа частиц, остатка в системе введения, времени начала acquisition, полноты проекций и движения пациента.
    • Проверку структуры input.csv и числовых значений
    • Формирование LabWare-совместимого output.json
    • Детерминированный итог PASS / FAIL / ERROR

⚠️  КРИТИЧНО: Любое несоответствие должно быть проверено квалифицированным специалистом до использования результата в рабочем процессе.

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

Формат input.csv:
BatchNumber,AdministeredActivityMBq,AdministeredParticleCount,InjectionResidualPercent,AcquisitionStartMin,ProjectionCount,TotalCounts,MotionScore

Пример:
  MAA-LUNG-001,150,350000,5,5,60,1500000,0.5

— ЗАЧЕМ ЭТО НУЖНО?
Проверка введённой активности и числа частиц, остатка в системе введения, времени начала acquisition, полноты проекций и движения пациента.
Утилита входит в пакет «RPH Tc-99m MAA: перфузия лёгких и планирование радиоэмболизации» и может применяться как самостоятельная проверка или как элемент более широкого workflow ядерной медицины.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• AdministeredActivity: 40-250
• AdministeredParticles: 100000-700000
• InjectionResidual: <=20
• AcquisitionStart: <=30
• ProjectionCount: >=32
• TotalCounts: >=300000
• MotionScore: <=2

Ключевые особенности утилиты:
• Один исполняемый файл .NET 6 и один Program.cs
• Полный пример input.csv с проходной, пограничной и отрицательной строками
• LabWare-совместимый JSON: Header, Samples, Results, Status, StatusCode, ErrorMessage, Description и DescriptionEN
• CultureInfo.InvariantCulture для числовых значений
• Явные результаты по каждому параметру и пустой ErrorMessage для PASS

Критические параметры:
• AdministeredActivity: 40-250
• AdministeredParticles: 100000-700000
• InjectionResidual: <=20
• AcquisitionStart: <=30
• ProjectionCount: >=32
• TotalCounts: >=300000
• MotionScore: <=2

💡 Советы по использованию:
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,AdministeredActivityMBq,AdministeredParticleCount,InjectionResidualPercent,AcquisitionStartMin,ProjectionCount,TotalCounts,MotionScore
MAA-LUNG-001,150,350000,5,5,60,1500000,0.5
MAA-LUNG-002,90,150000,10,15,32,500000,2
MAA-LUNG-003,20,900000,35,45,12,80000,4.5

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

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

  • Утилита должна запускаться без аргументов в демонстрационном режиме и с двумя аргументами input.csv output.json.
  • Обязательный CSV-заголовок: BatchNumber,AdministeredActivityMBq,AdministeredParticleCount,InjectionResidualPercent,AcquisitionStartMin,ProjectionCount,TotalCounts,MotionScore.
  • Числовые значения должны разбираться через CultureInfo.InvariantCulture.
  • Каждая строка должна формировать отдельный объект Samples в LabWare-совместимом JSON.
  • Статусы должны быть PASS, FAIL или ERROR; для PASS поле ErrorMessage должно быть пустым.
  • Утилита должна применять правила конкретного workflow и выводить результат каждого параметра.
  • Повторный запуск с теми же данными и версией должен давать идентичный результат.
  • Некорректный заголовок, число колонок или тип значения должен приводить к ERROR, а не к PASS.

Полный пример input.csv

BatchNumber,AdministeredActivityMBq,AdministeredParticleCount,InjectionResidualPercent,AcquisitionStartMin,ProjectionCount,TotalCounts,MotionScore
MAA-LUNG-001,150,350000,5,5,60,1500000,0.5
MAA-LUNG-002,90,150000,10,15,32,500000,2
MAA-LUNG-003,20,900000,35,45,12,80000,4.5

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

  1. Main() выбирает демонстрационный или файловый режим.
  2. LoadData() проверяет точный заголовок и преобразует каждую строку в Record.
  3. Evaluate() возвращает именованный кортеж с номером партии, продуктом, параметрами, итогом и рекомендациями RU/EN.
  4. AddCheck() создаёт элементы Results с фактическим значением, единицей, пределом и IsWithinSpec.
  5. RunWithFiles() формирует Header/Samples и сериализует результат через Newtonsoft.Json.
  6. Глобальная ошибка преобразуется в SampleResult со статусом ERROR и кодом -1.

Реализованные правила

  • AdministeredActivity: 40-250
  • AdministeredParticles: 100000-700000
  • InjectionResidual: <=20
  • AcquisitionStart: <=30
  • ProjectionCount: >=32
  • TotalCounts: >=300000
  • MotionScore: <=2

Полный пример input.csv

BatchNumber,AdministeredActivityMBq,AdministeredParticleCount,InjectionResidualPercent,AcquisitionStartMin,ProjectionCount,TotalCounts,MotionScore
MAA-LUNG-001,150,350000,5,5,60,1500000,0.5
MAA-LUNG-002,90,150000,10,15,32,500000,2
MAA-LUNG-003,20,900000,35,45,12,80000,4.5

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

  • PASS для первой строки.
  • Обработка пограничной второй строки.
  • FAIL для третьей строки.
  • ERROR при изменённом заголовке.
  • ERROR при нечисловом значении.
  • Идентичный JSON-результат при повторном запуске.

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

PetRad QC Suite

Пакет специализированных утилит для контроля качества радиофармпрепаратов: ПЭТ, SPECT, терапевтические радионуклиды, генераторы и расчёты распада.

Открыть

PetRad3: расширенный PET/SPECT и радиофармацевтический QC-пакет

Подборка утилит для контроля PET/SPECT радиофармпрепаратов, генераторных и циклотронных радионуклидов, меченых соединений, радиохимической чистоты, прорыва, стерильности и эндотоксинов.

Открыть

Радиология

Пакет для радиологии и диагностической визуализации: радиофармпрепараты, PET/SPECT, контрастные вещества, йодсодержащие и гадолиниевые препараты, а также проверки частиц, стерильности и эндотоксинов.

Открыть

RPH isotope family: Tc-99m

Tc-99m РФП, kit preparation, генераторный контроль, SPECT workflows и расчётные утилиты.

Открыть

RPH organ/system: онкология и theranostics

Tumour imaging, PSMA/FAPI/receptor tracers, immuno-PET, targeted radionuclide therapy и radioembolization.

Открыть

RPH organ/system: лёгкие и вентиляция

Lung perfusion, MAA, V/Q, aerosol, xenon ventilation, shunt и pulmonary dosimetry.

Открыть

RPH: вентиляционно-перфузионные исследования лёгких

Контроль Tc-99m DTPA aerosol и Technegas, оценка распределения аэрозоля, V/Q mismatch и полноты V/Q acquisition.

Открыть

RPH Tc-99m MAA: перфузия лёгких и планирование радиоэмболизации

Контроль качества Tc-99m MAA, размера и числа частиц, стабильности суспензии, перфузионного исследования лёгких, лёгочного шунта, предтерапевтической дозиметрии и сопоставления с Y-90.

Открыть

RPH use case: Tc-99m MAA, V/Q и радиоэмболизация

Макроагрегаты альбумина: размер и число частиц, радиохимическая чистота, ресуспендирование, перфузия лёгких, lung shunt и предтерапевтическое планирование Y-90.

Открыть

RPH workflow: дозиметрия и планирование терапии

Activity planning, absorbed dose, organ dose, lung shunt, preplanning и therapy verification.

Открыть

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, терапевтических радионуклидов, генераторов, меченых соединений, расчётов распада, стерильности, эндотоксинов и радиохимической/радионуклидной чистоты.

Открыть