GeneratorElutionPredictor

Generator Elution Predictor

decay correction endotoxins PET radionuclide purity radiopharma SPECT sterility
Открыть подборку
Generator Elution Predictor — Прогноз активности при элюировании генераторов

ℹ️  Утилита рассчитывает ПРОГНОЗНУЮ активность дочернего нуклида в элюате генератора:
    • Учитывает распад материнского нуклида с момента калибровки
    • Учитывает накопление дочернего нуклида между элюированиями
    • Применяет эффективность элюирования для расчёта активности в элюате
    • Оценивает количество возможных доз для пациентов

⚠️  ВАЖНО: Результат является ПРОГНОЗОМ и НЕ заменяет измерение активности
    перед клиническим использованием. Используется для планирования производства
    и оценки достаточности активности для запланированных исследований.

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

Формат input.csv:
BatchNumber,GeneratorType,GeneratorCalibrationActivityMBq,CalibrationDateTime,LastElutionDateTime,NextElutionDateTime,ElutionEfficiencyPercent,DosePerPatientMBq

Примеры:
  TC99M-GEN-2026-001,Mo99-Tc99m,30000.0,2026-03-17T08:00:00,2026-03-18T08:00:00,2026-03-19T08:00:00,80.0,750.0
  GA68-GEN-2026-001,Ge68-Ga68,1850.0,2026-03-01T08:00:00,2026-03-18T08:00:00,2026-03-18T14:00:00,60.0,200.0
  RB82-GEN-2026-001,Sr82-Rb82,3700.0,2026-03-10T08:00:00,2026-03-18T08:00:00,2026-03-18T09:00:00,90.0,1500.0

— ЗАЧЕМ ЭТО НУЖНО?
Планирование элюирования генераторов — критически важная задача в радиофармлаборатории:
• Для диагностических генераторов (Mo-99/Tc-99m) — обеспечение достаточной активности
  для всех запланированных исследований в течение дня
• Для терапевтических/ПЭТ генераторов (Ge-68/Ga-68, Sr-82/Rb-82) — оптимизация времени
  элюирования для максимальной активности при минимальных потерях
• Для управления запасами — решение о необходимости заказа нового генератора
• Для документирования — прогноз активности для отчётности и аудитов

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Утилита использует ФИЗИЧЕСКУЮ модель распада с учётом переходного равновесия
• Формула: A_d(t) = A_p(0) × [λ_d / (λ_d - λ_p)] × [1 - e^(-(λ_d - λ_p)×t)] × e^(-λ_p×t)
• Требуется знание активности МАТЕРИНСКОГО нуклида при калибровке генератора
  (указана в паспорте генератора производителем)
• Эффективность элюирования варьируется в зависимости от типа генератора и метода:
  — Mo-99/Tc-99m: 70-90% (обычно 80%)
  — Ge-68/Ga-68: 50-70% (обычно 60%)
  — Sr-82/Rb-82: 85-95% (обычно 90%)
• Результат является ПРОГНОЗОМ — фактическая активность должна измеряться
  дозиметром перед клиническим использованием!

Ключевые особенности утилиты:
• Поддержка 3 основных типов генераторов с точными периодами полураспада
• Автоматический расчёт времени роста дочернего нуклида
• Учёт распада материнского нуклида с момента калибровки
• Расчёт количества возможных доз для пациентов
• Категоризация результата: EXCELLENT / ADEQUATE / MARGINAL / INSUFFICIENT
• Опциональные параметры с разумными значениями по умолчанию
• Демо-режим с клинически релевантными примерами для всех типов генераторов

Поддерживаемые генераторы:
• Mo-99/Tc-99m: T½(Mo-99)=66 ч, T½(Tc-99m)=6.01 ч, эффективность=80%, доза=750 МБк
  Применение: остеосцинтиграфия, кардиологические, ренальные исследования
• Ge-68/Ga-68: T½(Ge-68)=6480 ч (271 день), T½(Ga-68)=1.13 ч, эффективность=60%, доза=200 МБк
  Применение: ПЭТ при нейроэндокринных опухолях, раке простаты
• Sr-82/Rb-82: T½(Sr-82)=605 ч (25.2 дня), T½(Rb-82)=0.0212 ч (1.27 мин), эффективность=90%, доза=1500 МБк
  Применение: ПЭТ перфузии миокарда

💡 Советы по использованию:
1. Всегда используйте активность МАТЕРИНСКОГО нуклида из паспорта генератора
   (не путать с активностью в первом элюате!)
2. Для Mo-99/Tc-99m оптимальное время между элюированиями — 24 часа
3. Для Ge-68/Ga-68 максимальная активность достигается через 10-12 часов после элюирования
4. Для Sr-82/Rb-82 элюирование возможно каждые 10 минут (короткий период дочернего)
5. При INSUFFICIENT прогнозе — увеличьте время роста или закажите новый генератор
6. Задокументируйте прогноз перед элюированием для аудитов

⚠️ Ограничения утилиты:
• Не учитывает старение колонки генератора (снижение эффективности со временем)
• Не учитывает температурные условия хранения генератора
• Не заменяет измерение активности перед клиническим использованием
• Предполагает идеальное элюирование (в реальности возможны отклонения ±10%)

Источники данных:
• IAEA Technical Reports Series No. 466 (2009) — Radiopharmaceuticals for Positron Emission Tomography
• USP General Chapter <825> — Radiopharmaceuticals for Positron Emission Tomography
• Manufacturer specifications for commercial generators (Curium, IThemba LABS, etc.)
• Journal of Nuclear Medicine Technology — Generator elution efficiency studies

input.csv

BatchNumber,GeneratorType,GeneratorCalibrationActivityMBq,CalibrationDateTime,LastElutionDateTime,NextElutionDateTime,ElutionEfficiencyPercent,DosePerPatientMBq
TC99M-GEN-2026-001,Mo99-Tc99m,30000.0,2026-03-17T08:00:00,2026-03-18T08:00:00,2026-03-19T08:00:00,80.0,750.0
GA68-GEN-2026-001,Ge68-Ga68,1850.0,2026-03-01T08:00:00,2026-03-18T08:00:00,2026-03-18T14:00:00,60.0,200.0
RB82-GEN-2026-001,Sr82-Rb82,3700.0,2026-03-10T08:00:00,2026-03-18T08:00:00,2026-03-18T09:00:00,90.0,1500.0

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

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

Утилита: GeneratorElutionPredictorAPI / объект: Generator Elution PredictorКатегория: Radiopharmaceuticals

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

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

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

Категории: Radiopharmaceuticals

Теги: decay correction, endotoxins, PET, radionuclide purity, radiopharma, SPECT, sterility

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

GeneratorElutionPredictor.exe                            → демо-режим (вывод в консоль)
GeneratorElutionPredictor.exe input.csv output.json      → расчёт по вашим данным

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

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

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

  • ⚠️ ВАЖНО: Результат является ПРОГНОЗОМ и НЕ заменяет измерение активности
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • Утилита использует ФИЗИЧЕСКУЮ модель распада с учётом переходного равновесия
  • Формула: A_d(t) = A_p(0) × [λ_d / (λ_d - λ_p)] × [1 - e^(-(λ_d - λ_p)×t)] × e^(-λ_p×t)
  • Требуется знание активности МАТЕРИНСКОГО нуклида при калибровке генератора
  • Эффективность элюирования варьируется в зависимости от типа генератора и метода:
  • — Mo-99/Tc-99m: 70-90% (обычно 80%)
  • — Ge-68/Ga-68: 50-70% (обычно 60%)
  • — Sr-82/Rb-82: 85-95% (обычно 90%)
  • Результат является ПРОГНОЗОМ — фактическая активность должна измеряться
  • Поддержка 3 основных типов генераторов с точными периодами полураспада
  • Автоматический расчёт времени роста дочернего нуклида
  • Учёт распада материнского нуклида с момента калибровки
  • Расчёт количества возможных доз для пациентов
  • Категоризация результата: EXCELLENT / ADEQUATE / MARGINAL / INSUFFICIENT
  • Опциональные параметры с разумными значениями по умолчанию
  • Демо-режим с клинически релевантными примерами для всех типов генераторов
  • Mo-99/Tc-99m: T½(Mo-99)=66 ч, T½(Tc-99m)=6.01 ч, эффективность=80%, доза=750 МБк
  • Ge-68/Ga-68: T½(Ge-68)=6480 ч (271 день), T½(Ga-68)=1.13 ч, эффективность=60%, доза=200 МБк
  • Sr-82/Rb-82: T½(Sr-82)=605 ч (25.2 дня), T½(Rb-82)=0.0212 ч (1.27 мин), эффективность=90%, доза=1500 МБк
  • 1. Всегда используйте активность МАТЕРИНСКОГО нуклида из паспорта генератора
  • 2. Для Mo-99/Tc-99m оптимальное время между элюированиями — 24 часа
  • 3. Для Ge-68/Ga-68 максимальная активность достигается через 10-12 часов после элюирования
  • 4. Для Sr-82/Rb-82 элюирование возможно каждые 10 минут (короткий период дочернего)
Пределы, указанные в описании, должны быть сверены с актуальной утверждённой спецификацией, фармакопейной монографией и регистрационным досье перед продуктивным применением.

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

IDТребованиеКритичностьКритерий приемки
URS-001Система должна принимать файл input.csv для Generator Elution Predictor с точным набором колонок, перечисленным в разделе «Контракт входных данных».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. Имена колонок технические и не переводятся.

#КолонкаТипЕд.ОписаниеПримерПравило контроля
1BatchNumberидентификаторas specifiedBatch NumberTC99M-GEN-2026-001обязательное поле; используется для трассируемости серии/партии
2GeneratorTypeтекстas specifiedGenerator TypeMo99-Tc99mобязательное значение; формат и допустимость проверяются утилитой
3GeneratorCalibrationActivityMBqдесятичное числоMBqGenerator Calibration Activity MBq30000.0обязательное числовое значение; сравнение с правилом выполняет утилита
4CalibrationDateTimeдата/времяas specifiedCalibration Date Time2026-03-17T08:00:00обязательное значение; формат и допустимость проверяются утилитой
5LastElutionDateTimeдата/времяas specifiedLast Elution Date Time2026-03-18T08:00:00обязательное значение; формат и допустимость проверяются утилитой
6NextElutionDateTimeдата/времяas specifiedNext Elution Date Time2026-03-19T08:00:00обязательное значение; формат и допустимость проверяются утилитой
7ElutionEfficiencyPercentдесятичное число%Elution Efficiency %80.0обязательное числовое значение; сравнение с правилом выполняет утилита
8DosePerPatientMBqдесятичное числоMBqDose per Patient MBq750.0обязательное числовое значение; сравнение с правилом выполняет утилита

Пример CSV

BatchNumber,GeneratorType,GeneratorCalibrationActivityMBq,CalibrationDateTime,LastElutionDateTime,NextElutionDateTime,ElutionEfficiencyPercent,DosePerPatientMBq
TC99M-GEN-2026-001,Mo99-Tc99m,30000.0,2026-03-17T08:00:00,2026-03-18T08:00:00,2026-03-19T08:00:00,80.0,750.0

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

IDФункцияОписание реализации
FS-001CLI entry pointИсполняемый файл GeneratorElutionPredictor.exe принимает режим демонстрации и режим обработки input.csv output.json.
FS-002CSV parserМодуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка.
FS-003Field conversionДля каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг.
FS-004Domain rule engineДля объекта Generator Elution Predictor применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка.
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": "GeneratorElutionPredictor",
  "api": "Generator Elution Predictor",
  "batchNumber": "TC99M-GEN-2026-001",
  "overallStatus": "PASS|WARNING|FAIL",
  "checkedAtUtc": "2026-05-18T00:00:00Z",
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "TC99M-GEN-2026-001",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "GeneratorType",
      "value": "Mo99-Tc99m",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "GeneratorCalibrationActivityMBq",
      "value": "30000.0",
      "unit": "MBq",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "CalibrationDateTime",
      "value": "2026-03-17T08:00:00",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "LastElutionDateTime",
      "value": "2026-03-18T08:00:00",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "NextElutionDateTime",
      "value": "2026-03-19T08:00:00",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "ElutionEfficiencyPercent",
      "value": "80.0",
      "unit": "%",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "DosePerPatientMBq",
      "value": "750.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-сценариев.

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

Андрология

Пакет для андрологии: андрогены, препараты эректильной дисфункции, ДГПЖ/простата, фертильность и связанные гормональные проверки.

Открыть

PetRad QC Suite

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

Открыть

Радиология

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

Открыть

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

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

Открыть

Урология

Пакет для урологии: препараты ДГПЖ, мочекаменной болезни, гиперактивного мочевого пузыря, инфекций мочевых путей и сопутствующие антимикробные QC-проверки.

Открыть