DosimetryPreCalculator

Dosimetry Pre Calculator

radiopharmaceuticals QC URS & FS input.csv output.json dosimetry radionuclidic purity
Открыть подборку

Описание утилиты: Dosimetry Pre Calculator

Dosimetry Pre-Calculator — Расчет активности и дозы РФП

ℹ️  Рассчитывает активность на момент инъекции, эффективную дозу и нагрузку на критические органы.
ℹ️  Поддерживает F-18, Ga-68, Tc-99m, Lu-177, Ac-225, Cu-64, I-131, Zr-89.

Использование:
  DosimetryPreCalculator.exe                            → демо-режим
  DosimetryPreCalculator.exe input.csv output.json      → расчет

Формат input.csv:
PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq

Пример:
PAT-001,F-18-FDG,F-18,400.0,2026-05-20T08:00:00,2026-05-20T10:30:00,75.0,45.0,200.0,400.0,5.5

— ЗАЧЕМ ЭТО НУЖНО?
Утилита для медицинского физика или врача ЯМД:
• Расчет распада: Активность РФП уменьшается со временем. Важно знать точную активность в момент инъекции, а не в момент калибровки дозкалибратора.
• Контроль протокола: Проверка, что введенная доза находится в пределах разрешенного диапазона (мин/макс) и не превышает весовую норму (особенно важно для педиатрии).
• Оценка дозы: Предварительный расчет эффективной дозы (мЗв) и дозы на критический орган (мГр) на основе упрощенных коэффициентов MIRD. Это помогает оценить радиационный риск.
• Поддержка нуклидов: Встроенные периоды полураспада и коэффициенты для основных диагностических и терапевтических изотопов.

⚠️ ВАЖНО:
• Расчеты основаны на стандартных моделях. Индивидуальная дозиметрия (на основе серий снимков) точнее.
• Коэффициенты доз являются усредненными.
• Для терапевтических изотопов (Lu-177, Ac-225) дозы могут быть значительно выше, требуется особый контроль почек/костного мозга.

input.csv

PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq
PAT-001,F-18-FDG,F-18,400.0,2026-05-20T08:00:00,2026-05-20T10:30:00,75.0,45.0,200.0,400.0,5.5
PAT-002,Lu-177-DOTATATE,Lu-177,7400.0,2026-05-20T08:00:00,2026-05-20T14:00:00,80.0,60.0,7000.0,7800.0,100.0

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

1. Область применения

Документ описывает требования и функциональное поведение утилиты DosimetryPreCalculator для контроля: Dosimetry Pre Calculator. Утилита предназначена для ОКК/QC и использует детерминированные правила, а не машинное обучение.

2. Режимы запуска

  • DosimetryPreCalculator.exe — демонстрационный режим или справка.
  • DosimetryPreCalculator.exe input.csv output.json — обработка пользовательских данных и запись результата.

3. Ключевые предметные ограничения

  • ℹ️ Рассчитывает активность на момент инъекции, эффективную дозу и нагрузку на критические органы.
  • PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq
  • • Оценка дозы: Предварительный расчет эффективной дозы (мЗв) и дозы на критический орган (мГр) на основе упрощенных коэффициентов MIRD. Это помогает оценить радиационный риск.
  • ⚠️ ВАЖНО:

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать input.csv с точными заголовками, указанными в контракте данных.HighФайл обрабатывается без ручного изменения заголовков.
URS-002Утилита должна проверять обязательность, типы данных, диапазоны, единицы и критические фармацевтические/радиохимические пределы.HighДля каждой строки формируется статус PASS/WARNING/FAIL.
URS-003Утилита должна выявлять критические отклонения, связанные с радионуклидной/радиохимической чистотой, примесями, свободным радионуклидом, pH, эндотоксинами и стерильностью, если такие поля присутствуют.HighКритическое отклонение приводит к FAIL или явному critical finding.
URS-004Утилита должна формировать output.json с машинно-читаемыми результатами, исходными значениями, предупреждениями и отказами.HighJSON пригоден для LIMS/ELN/MES-интеграции и QA/QC review.
URS-005Утилита не должна использовать машинное обучение для решения о соответствии.MediumРешение основано на заданных правилах и порогах.
URS-006Утилита должна сохранять трассируемость между номером серии, входными значениями, примененными правилами и итоговым статусом.HighВыход содержит идентификатор серии и перечень проверенных параметров.
URS-007Документация должна поддерживать подготовку IQ/OQ и инспекционное обсуждение FDA/EMA/Росздравнадзора или локального регулятора.MediumURS/FS и тестовые сценарии доступны вместе с утилитой.

5. Контракт input.csv

#ПолеТипПримерНазначение
1PatientIDdecimalPAT-001Контролируемый входной параметр из input.csv.
2RadiopharmaceuticalstringF-18-FDGТип продукта/радиофармпрепарата; влияет на интерпретацию контроля.
3RadionuclidedecimalF-18Контролируемый входной параметр из input.csv.
4Reference_Activity_MBqdecimal400.0Активность радиофармацевтического материала или готового продукта.
5Calibration_Time_ISOdecimal2026-05-20T08:00:00Контролируемый входной параметр из input.csv.
6Injection_Time_ISOdecimal2026-05-20T10:30:00Контролируемый входной параметр из input.csv.
7Patient_Weight_kgdecimal75.0Контролируемый входной параметр из input.csv.
8Patient_Age_yearsdecimal45.0Контролируемый входной параметр из input.csv.
9Min_Dose_MBqdecimal200.0Дозиметрический параметр для предварительной оценки.
10Max_Dose_MBqdecimal400.0Дозиметрический параметр для предварительной оценки.
11Max_Dose_per_kg_MBqdecimal5.5Дозиметрический параметр для предварительной оценки.
PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq
PAT-001,F-18-FDG,F-18,400.0,2026-05-20T08:00:00,2026-05-20T10:30:00,75.0,45.0,200.0,400.0,5.5
PAT-002,Lu-177-DOTATATE,Lu-177,7400.0,2026-05-20T08:00:00,2026-05-20T14:00:00,80.0,60.0,7000.0,7800.0,100.0

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

IDФункцияРеализация
FS-001CSV importПрочитать input.csv в UTF-8/CSV-совместимом формате, проверить наличие заголовка и ожидаемых колонок.
FS-002Schema validationПроверить обязательные поля и количество колонок; сообщить о неизвестных или отсутствующих ключевых полях.
FS-003Type conversionПреобразовать числовые, флаговые и текстовые значения; некорректный формат фиксировать как ошибку строки.
FS-004Rule engineПрименить предметные правила для Dosimetry Pre Calculator, включая критические пределы из описания утилиты.
FS-005Status aggregationСформировать итоговый статус: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии.
FS-006JSON exportЗаписать output.json с детализацией проверок, исходными значениями, предупреждениями и critical findings.
FS-007Audit supportСохранять структуру результата пригодной для review, расследования отклонений и подготовки IQ/OQ.

7. Пример output.json

{
  "utilityId": "dosimetry-pre-calculator",
  "api": "Dosimetry Pre Calculator",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "checks": [
    {
      "parameter": "PatientID",
      "value": "PAT-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Radiopharmaceutical",
      "value": "F-18-FDG",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Radionuclide",
      "value": "F-18",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Reference_Activity_MBq",
      "value": "400.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Calibration_Time_ISO",
      "value": "2026-05-20T08:00:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Injection_Time_ISO",
      "value": "2026-05-20T10:30:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Patient_Weight_kg",
      "value": "75.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Patient_Age_years",
      "value": "45.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    }
  ],
  "criticalFindings": []
}

8. OQ/PQ тестовые сценарии

IDСценарийОжидаемый результат
OQ-001Валидная строка из примераPASS или допустимый WARNING согласно правилам.
OQ-002Отсутствует обязательная колонкаОшибка схемы или FAIL.
OQ-003Нечисловое значение в числовом полеОшибка преобразования типа.
OQ-004Значение критического параметра за пределомFAIL и critical finding.
PQ-001Реальная серия/партия пользователяСогласованный результат review с сохранением input.csv и output.json.

9. QA/QC и change control

  • Не менять имена колонок без обновления валидатора.
  • Хранить input.csv, output.json, версию исполняемого файла и контрольную сумму.
  • Перед продуктивным использованием провести IQ/OQ/PQ или эквивалентную CSV/CSA-проверку.
  • Критические радиофармацевтические пределы должны быть сверены с утверждённой спецификацией и локальными SOP.

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

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

Подборка новых утилит для контроля радионуклидов, таргетной альфа-терапии, удельной активности, радиолиза и предварительных дозиметрических расчётов.

Открыть

Радиология

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

Открыть

RPH: объединённый радиофармацевтический QC-пакет

RPH объединяет PetRad, PetRad2 и PetRad3 в один обзорный пакет для PET/SPECT, терапевтических радионуклидов, генераторов, меченых соединений, расчётов распада, стерильности, эндотоксинов и радиохимической/радионуклидной чистоты.

Открыть