TRTDosimetryCalculator

TRT Dosimetry Calculator

activity brachytherapy dosimetry radiopharma source calibration TG-43
Открыть подборку

TRT Dosimetry Calculator — Дозиметрия тераностики (MIRD/EANM)

ℹ️ Утилита выполняет расчет поглощенной дозы в органах-мишенях и органах риска на основе данных планарной/SPECT визуализации (метод MIRD).
ℹ️ Вычисляет эффективный период полураспада (Teff), кумулятивную активность и дозу на цикл/на ГБк.
ℹ️ Обработка: только ПЕРВАЯ запись в файле input.csv.
⚠️ Критично для персонализированной терапии! Позволяет адаптировать активность следующего цикла под индивидуальную кинетику пациента, избегая токсичности (почки, костный мозг).

Использование:
TRTDosimetryCalculator.exe → демо-режим
TRTDosimetryCalculator.exe input.csv output.json → расчет данных (первая запись)

Формат input.csv:
PatientID,Radionuclide,TargetOrgan,AdministeredActivityMBq,TimePoint1Hr,Activity1MBq,TimePoint2Hr,Activity2MBq,TimePoint3Hr,Activity3MBq,MassKg,SValueGyPerBqS

Пример (почки, Lu-177, 3 точки):
PT-2026-NET-07,Lu177,Kidneys,7400.0,4.0,250.0,24.0,180.0,72.0,90.0,0.30,4.5e-06

— ЗАЧЕМ ЭТО НУЖНО?
При терапии Lu-177/Ac-225 кинетика выведения у пациентов сильно различается.
• Стандартная фиксированная доза может быть токсичной для пациентов с медленным выведением.
• Расчет Teff и интегральной активности позволяет точно определить дозу в Гр.
• Сравнение с лимитами (напр., 23 Гр на почки) решает судьбу следующего цикла.
• Автоматизация исключает ошибки ручного интегрирования кривых.
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Минимум 3 точки измерения для надежной аппроксимации фазы выведения.
• S-коэффициенты должны соответствовать массе органа и нуклиду (OLINDA/IDAC).
• Ошибка во времени ввода данных искажает Teff экспоненциально.
• Лимиты доз: Почки (~23 Гр суммарно), Костный мозг (~2 Гр/цикл).
Критические параметры:
• Effective Half-Life (Teff): должен быть < физического периода полураспада
• Absorbed Dose: сравнение с порогом токсичности
• S-Value: корректность единиц (Гр/Бк·с)
⚠️ Особенность: Утилита предупреждает об аномально высоком Teff или дозе. Результат содержит статус (PASS/WARNING/FAIL) и рекомендацию по коррекции активности на двух языках (RU/EN).

input.csv

PatientID,Radionuclide,TargetOrgan,AdministeredActivityMBq,TimePoint1Hr,Activity1MBq,TimePoint2Hr,Activity2MBq,TimePoint3Hr,Activity3MBq,MassKg,SValueGyPerBqS
PT-2026-NET-07,Lu177,Kidneys,7400.0,4.0,250.0,24.0,180.0,72.0,90.0,0.30,4.5e-06

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

Этот документ описывает требования пользователя и функциональную спецификацию для утилиты контроля качества. Он предназначен для обсуждения внедрения, подготовки IQ/OQ и интеграции в контур ОКК/QC.

Утилита: TRTDosimetryCalculatorAPI / объект: TRT Dosimetry CalculatorКатегория: Radiation physics

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

Утилита TRT Dosimetry Calculator применяется для объекта TRT Dosimetry Calculator. Источником истины для структуры входных данных является фактический input.csv; критерии контроля задаются исполняемым модулем и предметным описанием.

Утилита не использует машинное обучение; решение формируется детерминированными правилами.

Категории: Radiation physics

Теги: activity, brachytherapy, dosimetry, radiopharma, source calibration, TG-43

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

TRTDosimetryCalculator.exe                            → демо-режим
TRTDosimetryCalculator.exe input.csv output.json      → расчет данных (первая запись)

3. Ключевые контролируемые области

  • pH и физико-химические параметры
  • радиоактивность, распад и радиохимическая чистота

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

  • ⚠️ Критично для персонализированной терапии! Позволяет адаптировать активность следующего цикла под индивидуальную кинетику пациента, избегая токсичности (почки, костный мозг).
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • Минимум 3 точки измерения для надежной аппроксимации фазы выведения.
  • S-коэффициенты должны соответствовать массе органа и нуклиду (OLINDA/IDAC).
  • Ошибка во времени ввода данных искажает Teff экспоненциально.
  • Лимиты доз: Почки (~23 Гр суммарно), Костный мозг (~2 Гр/цикл).
  • Критические параметры:
  • Effective Half-Life (Teff): должен быть < физического периода полураспада
  • Absorbed Dose: сравнение с порогом токсичности
  • S-Value: корректность единиц (Гр/Бк·с)
  • ⚠️ Особенность: Утилита предупреждает об аномально высоком Teff или дозе. Результат содержит статус (PASS/WARNING/FAIL) и рекомендацию по коррекции активности на двух языках (RU/EN).
Пределы, указанные в описании, должны быть сверены с актуальной утверждённой спецификацией, фармакопейной монографией и регистрационным досье перед продуктивным применением.

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

IDТребованиеКритичностьКритерий приемки
URS-001Система должна принимать файл input.csv для TRT Dosimetry Calculator с точным набором колонок, перечисленным в разделе «Контракт входных данных».HighФайл с корректным заголовком читается без ручного редактирования; отсутствие обязательной колонки приводит к FAIL/ошибке импорта.
URS-002Система должна обрабатывать запуск без аргументов в демонстрационном режиме и запуск с аргументами input.csv output.json для пользовательских данных.MediumОба сценария запуска дают предсказуемый результат или понятное сообщение об ошибке.
URS-003Система должна выполнять rule-based контроль по областям: pH и физико-химические параметры, радиоактивность, распад и радиохимическая чистота.HighКаждый контролируемый параметр получает статус и сообщение; результат не зависит от скрытых Excel-формул или ML.
URS-004Система должна сохранять трассируемость между серией/партией, исходными значениями, применёнными правилами и итоговым вердиктом.HighВ выходе присутствуют идентификатор серии, исходные значения, статусы параметров и критические находки.
URS-005Система должна формировать машинно-читаемый output.json для LIMS/ELN/MES, batch record и QA/QC review.HighJSON содержит общий статус, массив проверок, предупреждения, отказы и ссылку на исходный файл.
URS-006Система должна поддерживать применение в валидационном пакете клиента: URS/FS, IQ/OQ-подготовка, проверка установки и операционных сценариев.HighДокумент, тестовые сценарии и воспроизводимый CSV/JSON-поток пригодны для аудита и внутреннего согласования.
URS-007Система должна явно отделять технические ошибки данных от предметных несоответствий спецификации.MediumОшибки схемы/типов не смешиваются с фармакопейными отклонениями и отображаются отдельно.

6. Контракт входных данных input.csv

Источник истины для схемы входа — фактический заголовок input.csv. Имена колонок технические и не переводятся.

#КолонкаТипЕд.ОписаниеПримерПравило контроля
1PatientIDтекстas specifiedPatient IDPT-2026-NET-07обязательное значение; формат и допустимость проверяются утилитой
2Radionuclideтекстas specifiedRadionuclideLu177обязательное значение; формат и допустимость проверяются утилитой
3TargetOrganтекстas specifiedTarget OrganKidneysобязательное значение; формат и допустимость проверяются утилитой
4AdministeredActivityMBqдесятичное числоMBqAdministered Activity MBq7400.0обязательное числовое значение; сравнение с правилом выполняет утилита
5TimePoint1Hrдесятичное числоas specifiedTime Point1 Hr4.0обязательное числовое значение; сравнение с правилом выполняет утилита
6Activity1MBqдесятичное числоMBqActivity1 MBq250.0обязательное числовое значение; сравнение с правилом выполняет утилита
7TimePoint2Hrдесятичное числоas specifiedTime Point2 Hr24.0обязательное числовое значение; сравнение с правилом выполняет утилита
8Activity2MBqдесятичное числоMBqActivity2 MBq180.0обязательное числовое значение; сравнение с правилом выполняет утилита
9TimePoint3Hrдесятичное числоas specifiedTime Point3 Hr72.0обязательное числовое значение; сравнение с правилом выполняет утилита
10Activity3MBqдесятичное числоMBqActivity3 MBq90.0обязательное числовое значение; сравнение с правилом выполняет утилита
11MassKgдесятичное числоas specifiedMass Kg0.30обязательное числовое значение; сравнение с правилом выполняет утилита
12SValueGyPerBqSдесятичное числоas specifiedSValue Gy per Bq S4.5e-06обязательное числовое значение; сравнение с правилом выполняет утилита

Пример CSV

PatientID,Radionuclide,TargetOrgan,AdministeredActivityMBq,TimePoint1Hr,Activity1MBq,TimePoint2Hr,Activity2MBq,TimePoint3Hr,Activity3MBq,MassKg,SValueGyPerBqS
PT-2026-NET-07,Lu177,Kidneys,7400.0,4.0,250.0,24.0,180.0,72.0,90.0,0.30,4.5e-06

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

IDФункцияОписание реализации
FS-001CLI entry pointИсполняемый файл TRTDosimetryCalculator.exe принимает режим демонстрации и режим обработки input.csv output.json.
FS-002CSV parserМодуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка.
FS-003Field conversionДля каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг.
FS-004Domain rule engineДля объекта TRT Dosimetry Calculator применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка.
FS-005Criticality handlingКритичные нарушения формируют FAIL; некритичные отклонения и неполные данные формируют WARNING; соответствие всем правилам формирует PASS.
FS-006JSON writeroutput.json сохраняет общий статус, результаты по каждому параметру, исходные значения, предупреждения, отказы и диагностические сообщения.
FS-007Integration contractФормат CSV → JSON стабилен для вызова из LIMS/ELN/MES, планировщика задач или wrapper-сервиса.
FS-008Error handlingПри ошибке схемы, отсутствующем файле, нечисловом значении или невозможности записи JSON возвращается диагностируемая ошибка без тихого PASS.

8. Выходной контракт output.json

Выходной файл должен быть пригоден для автоматической обработки, аудита и сопоставления с исходной строкой input.csv.

{
  "utility": "TRTDosimetryCalculator",
  "api": "TRT Dosimetry Calculator",
  "batchNumber": "",
  "overallStatus": "PASS|WARNING|FAIL",
  "checkedAtUtc": "2026-05-18T00:00:00Z",
  "checks": [
    {
      "parameter": "PatientID",
      "value": "PT-2026-NET-07",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Radionuclide",
      "value": "Lu177",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "TargetOrgan",
      "value": "Kidneys",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "AdministeredActivityMBq",
      "value": "7400.0",
      "unit": "MBq",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "TimePoint1Hr",
      "value": "4.0",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Activity1MBq",
      "value": "250.0",
      "unit": "MBq",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "TimePoint2Hr",
      "value": "24.0",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Activity2MBq",
      "value": "180.0",
      "unit": "MBq",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    }
  ],
  "criticalFindings": [],
  "sourceFile": "input.csv"
}

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

IDСценарийОжидаемый результат
TC-001Валидный CSV с заголовком и строкой из примераВсе строки обработаны; результат содержит PASS/WARNING/FAIL и детализацию по параметрам.
TC-002Отсутствует обязательная колонка из input.csvИмпорт отклоняется или строка получает FAIL со ссылкой на схему.
TC-003Числовое поле содержит текст или пустое значениеФиксируется ошибка преобразования типа; результат не маскируется как PASS.
TC-004Параметр выходит за предел спецификации / критического лимитаДля критического параметра формируется FAIL; для некритического — WARNING согласно правилу.
TC-008Некорректная активность, время отсчёта или радиохимическая чистотаФормируется FAIL/WARNING с расчётной трассировкой.

10. QA/QC, CSV и управление изменениями

  • Перед применением на производстве клиент фиксирует версию исполняемого файла, контрольную сумму, версию спецификации/монографии, тестовый CSV, ожидаемый JSON и результаты IQ/OQ.
  • Нельзя менять имена колонок без обновления валидатора и тестовых сценариев.
  • Исходный CSV, output.json и версия утилиты должны храниться вместе как пакет доказательств.
  • Любое изменение правил контроля должно проходить change control и повторную проверку OQ-сценариев.

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

Radiation Physics QC Suite

Утилиты для расчётов активности, дозиметрии, источников брахитерапии, малых полей и параметров TG-43.

Открыть

Радиология

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

Открыть