DaughterNuclideIngrowthCalculator
Daughter Nuclide Ingrowth Calculator
Описание утилиты: Daughter Nuclide Ingrowth Calculator
Daughter Nuclide Ingrowth Calculator — Калькулятор накопления дочерних нуклидов
ℹ️ Утилита рассчитывает теоретическую активность дочернего изотопа в радиофармацевтических генераторах:
• Поддерживаемые пары: Mo-99/Tc-99m, Sr-82/Rb-82, Ge-68/Ga-68, Ti-44/Sc-44, Zn-62/Cu-62
• Расчет по уравнениям Бейтмана
• Определение типа радиоактивного равновесия
• Учет времени, прошедшего с момента последней элюции или очистки
⚠️ ВАЖНО: Расчет предполагает, что в момент времени T0 (начало отсчета) активность дочернего нуклида равна нулю (полная элюция).
Реальный выход при элюции может быть ниже из-за эффективности колонки.
Использование:
DaughterNuclideIngrowthCalculator.exe → демо-режим
DaughterNuclideIngrowthCalculator.exe input.csv output.json → расчет ваших данных
Формат input.csv:
BatchNumber,ParentIsotope,InitialParentActivityMBq,ElapsedTimeHours,DaughterHalfLifeHours,ParentHalfLifeHours
Пример (0 в полях Half-Life означает использование встроенных табличных значений):
GEN-MO99-001,Mo-99,10000,24,0,0
Поддерживаемые изотопы (автоматический выбор периодов полураспада):
• Mo-99 (65.94 ч) → Tc-99m (6.01 ч)
• Sr-82 (25.36 ч) → Rb-82 (1.27 мин)
• Ge-68 (271 дн) → Ga-68 (67.7 мин)
• Ti-44 (60 лет) → Sc-44 (3.97 ч)
• Zn-62 (9.19 ч) → Cu-62 (9.7 мин)
— ЗАЧЕМ ЭТО НУЖНО?
В радиофармацевтике широко используются генераторные системы, где короткоживущий диагностический или терапевтический изотоп получается из долгоживущего родителя:
• Планирование элюции: Расчет доступной активности перед процедурой
• Контроль качества: Сравнение теоретического выхода с измеренным для оценки эффективности генератора
• Логистика: Оценка активности при доставке в удаленные центры
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Тип равновесия:
- Секулярное (T_parent >> T_daughter): Активность дочернего нуклида стремится к активности родителя.
- Транзиторное (T_parent > T_daughter): Активность дочернего нуклида может превышать активность родителя в определенный момент.
• Время максимума: Для транзиторного равновесия существует оптимальное время накопления (t_max), когда активность дочернего нуклида максимальна.
• Выход элюции: Реальная активность = Теоретическая * Эффективность элюции (обычно 80-95%).
Ключевые особенности утилиты:
• Автоматический расчет констант распада
• Поддержка пользовательских периодов полураспада для нестандартных пар
• Определение типа равновесия для правильной интерпретации результатов
💡 Советы по использованию:
1. Для Mo-99/Tc-99m максимум накопления достигается примерно через 23 часа после предыдущей элюции.
2. Для Ga-68 генераторов (Ge-68) равновесие наступает быстро, но из-за долгого периода полураспада родителя активность падает медленно (в основном за счет распада Ge-68, если рассматривать долгосрочно, но в рамках суток почти постоянна).
3. Всегда учитывайте эффективность элюции (Elution Efficiency) при планировании дозы пациенту.input.csv
BatchNumber,ParentIsotope,InitialParentActivityMBq,ElapsedTimeHours,DaughterHalfLifeHours,ParentHalfLifeHours GEN-MO99-001,Mo-99,10000,24,0,0 GEN-SR82-002,Sr-82,1850,0.5,0,0 GEN-GA68-003,Ge-68,500,48,0,0 CUSTOM-001,Parent-X,1000,10,2.5,20
URS & FS — спецификация пользователя и функциональная спецификация
Документ описывает контролируемый интерфейс и поведение утилиты DaughterNuclideIngrowthCalculator для объекта Daughter Nuclide Ingrowth Calculator.
Предметные ограничения и критические параметры
- ⚠️ ВАЖНО: Расчет предполагает, что в момент времени T0 (начало отсчета) активность дочернего нуклида равна нулю (полная элюция).
- ⚠️ КРИТИЧЕСКИ ВАЖНО:
URS — пользовательские требования
| ID | Требование | Критичность | Критерий приемки |
|---|---|---|---|
| URS-001 | Утилита должна принимать файл input.csv с точными заголовками, указанными в контракте данных. | High | Файл обрабатывается без ручного изменения заголовков. |
| URS-002 | Утилита должна выполнять детерминированную проверку для объекта «Daughter Nuclide Ingrowth Calculator» на основе входных значений, утверждённых пределов и предметных правил. | High | Для каждой строки формируется статус PASS / WARNING / FAIL. |
| URS-003 | Утилита должна проверять обязательные поля, типы данных, числовые диапазоны, единицы измерения и фармацевтическую/радиохимическую правдоподобность. | High | Ошибки схемы и преобразования явно отражаются в результате. |
| URS-004 | Утилита должна выявлять критические отклонения по радионуклидной чистоте, радиохимической чистоте, свободному радионуклиду, примесям, pH, эндотоксинам и стерильности, если такие поля присутствуют. | High | Критическое отклонение приводит к FAIL или отдельному critical finding. |
| URS-005 | Утилита должна формировать output.json с машинно-читаемыми результатами, исходными значениями, предупреждениями и отказами. | High | JSON пригоден для LIMS/ELN/MES-интеграции и QA/QC review. |
| URS-006 | Утилита не должна использовать машинное обучение для решения о соответствии. | Medium | Результат основан на явно заданных правилах, порогах и входных значениях. |
| URS-007 | Утилита должна сохранять трассируемость между номером серии, входными значениями, применёнными правилами и итоговым статусом. | High | Выход содержит идентификатор серии и перечень проверенных параметров. |
| URS-008 | Документация должна поддерживать подготовку IQ/OQ и обсуждение на инспекции FDA/EMA/Росздравнадзора или локального регулятора. | Medium | URS & FS, контракт input.csv/output.json и тестовые сценарии доступны вместе с утилитой. |
Контракт input.csv
| # | Поле | Тип | Пример | Назначение |
|---|---|---|---|---|
| 1 | BatchNumber | string | GEN-MO99-001 | Идентификатор серии/партии для трассируемости. |
| 2 | ParentIsotope | string / decimal | Mo-99 | Контролируемый входной параметр для детерминированных QC-правил. |
| 3 | InitialParentActivityMBq | decimal | 10000 | Активность радиофармацевтического материала, применяемая для выпуска, расчётов распада или дозовой оценки. |
| 4 | ElapsedTimeHours | datetime / string | 24 | Временная точка для расчёта распада, стабильности или накопления дочернего нуклида. |
| 5 | DaughterHalfLifeHours | decimal | 0 | Контролируемый входной параметр для детерминированных QC-правил. |
| 6 | ParentHalfLifeHours | decimal | 0 | Контролируемый входной параметр для детерминированных QC-правил. |
BatchNumber,ParentIsotope,InitialParentActivityMBq,ElapsedTimeHours,DaughterHalfLifeHours,ParentHalfLifeHours GEN-MO99-001,Mo-99,10000,24,0,0 GEN-SR82-002,Sr-82,1850,0.5,0,0 GEN-GA68-003,Ge-68,500,48,0,0 CUSTOM-001,Parent-X,1000,10,2.5,20
FS — функциональная спецификация
| ID | Функция | Реализация |
|---|---|---|
| FS-001 | CSV import | Прочитать input.csv в UTF-8/CSV-совместимом формате, проверить наличие заголовка и ожидаемых колонок. |
| FS-002 | Schema validation | Проверить обязательные поля и количество колонок; сообщить о неизвестных или отсутствующих ключевых полях. |
| FS-003 | Type conversion | Преобразовать числовые, флаговые и текстовые значения; некорректный формат фиксировать как ошибку строки. |
| FS-004 | Domain rule engine | Применить предметные правила для «Daughter Nuclide Ingrowth Calculator», включая критические пределы из описания утилиты и утверждённой спецификации. |
| FS-005 | Status aggregation | Сформировать итоговый статус: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии. |
| FS-006 | JSON export | Записать output.json с детализацией проверок, исходными значениями, предупреждениями, отказами и critical findings. |
| FS-007 | Audit support | Сохранять структуру результата пригодной для review, расследования отклонений, воспроизведения расчёта и подготовки IQ/OQ. |
| FS-008 | Integration contract | Поддерживать простой производственный сценарий: LIMS/ELN/MES формирует input.csv, утилита возвращает output.json, портал отображает описание и документацию. |
Пример output.json
{
"utilityId": "daughter-nuclide-ingrowth-calculator",
"api": "Daughter Nuclide Ingrowth Calculator",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "GEN-MO99-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ParentIsotope",
"value": "Mo-99",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "InitialParentActivityMBq",
"value": "10000",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ElapsedTimeHours",
"value": "24",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "DaughterHalfLifeHours",
"value": "0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ParentHalfLifeHours",
"value": "0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
}
],
"criticalFindings": []
}
OQ/PQ тестовые сценарии
| ID | Сценарий | Ожидаемый результат |
|---|---|---|
| OQ-001 | Валидная строка из примера | PASS или допустимый WARNING согласно правилам. |
| OQ-002 | Отсутствует обязательная колонка | Ошибка схемы или FAIL. |
| OQ-003 | Нечисловое значение в числовом поле | Ошибка преобразования типа. |
| OQ-004 | Значение критического параметра за пределом | FAIL и critical finding. |
| PQ-001 | Реальная серия/партия пользователя | Согласованный результат review с сохранением input.csv и output.json. |
QA/QC и change control
- Не менять имена колонок без обновления валидатора и тестового набора.
- Хранить
input.csv,output.json, версию исполняемого файла и контрольную сумму. - Перед продуктивным использованием провести IQ/OQ/PQ или эквивалентную CSV/CSA-проверку.
- Критические радиофармацевтические пределы должны быть сверены с утверждённой спецификацией и локальными SOP.
Входит в пакеты
PetRad3: расширенный PET/SPECT и радиофармацевтический QC-пакет
Подборка утилит для контроля PET/SPECT радиофармпрепаратов, генераторных и циклотронных радионуклидов, меченых соединений, радиохимической чистоты, прорыва, стерильности и эндотоксинов.
ОткрытьРадиология
Пакет для радиологии и диагностической визуализации: радиофармпрепараты, PET/SPECT, контрастные вещества, йодсодержащие и гадолиниевые препараты, а также проверки частиц, стерильности и эндотоксинов.
ОткрытьRPH: объединённый радиофармацевтический QC-пакет
RPH объединяет PetRad, PetRad2 и PetRad3 в один обзорный пакет для PET/SPECT, терапевтических радионуклидов, генераторов, меченых соединений, расчётов распада, стерильности, эндотоксинов и радиохимической/радионуклидной чистоты.
Открыть