Theranostic_Paired_Dose_Calculator
Theranostic Paired Dose Calculator
ℹ️ Утилита рассчитывает персонализированную терапевтическую дозу:
• На основе данных диагностической ПЭТ/КТ
• С учетом лимитов дозы для критических органов (почки)
• С учетом целевой дозы в опухоль
⚠️ КРИТИЧНО: Неправильный расчет дозы ведет к отказу органов!
Тераностика требует точного пересчета между изотопами.
Использование:
TheranosticPairedDoseCalculator.exe → демо-режим (вывод в консоль)
TheranosticPairedDoseCalculator.exe input.csv output.json → оценка ваших данных
Формат input.csv:
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney
Пример:
RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008
— ЗАЧЕМ ЭТО НУЖНО?
Персонализация дозы критична для тераностики (Novartis, Bayer):
• Стандартные фиксированные дозы не учитывают индивидуальную фармакокинетику пациента
• Высокое накопление в почках может привести к лучевой нефропатии
• Низкое накопление в опухоли делает терапию неэффективной
• Пересчет активности от диагностического изотопа (короткоживущего) к терапевтическому (долгоживущему) требует сложных моделей дозиметрии
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Доза на почки не должна превышать 23 Гй (для Lu-177) или специфичных лимитов для альфа-эмиссеров
• Доза в опухоль должна быть достаточной для абляции ткани
• Учет различий в периодах полураспада и типах излучения
• Использование S-факторов (MIRD) для точного расчета поглощенной дозы
Ключевые особенности утилиты:
• Интеграция данных визуализации (SUV) в расчет дозы
• Автоматический расчет максимальной безопасной активности
• Прогнозирование дозы в мишень и критические органы
• Оценка запаса безопасности
Критические параметры:
• Kidney Dose: ≤23 Gy (example)
• Tumor Dose: ≥ Target
• Safety Margin: >0%
💡 Советы по использованию:
1. Используйте качественные данные ПЭТ/КТ с коррекцией ослабления
2. Обновляйте S-факторы в соответствии с последней версией моделей MIRD
3. Учитывайте массу органов пациента при расчете S-факторов
4. Для альфа-терапии используйте микро-дозиметрические модели
5. Всегда проверяйте расчет вручную перед введением препарата пациенту
⚠️ Особенность: В отличие от внешней лучевой терапии, где доза планируется на КТ, в системной радионуклидной терапии доза зависит от биологического распределения препарата. Утилита помогает связать диагностику и терапию в единый безопасный протокол лечения.
input.csv
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008 RPH-DOSE-2026-002,PAT-002,F-18/Ac-225-PSMA,150.0,1.8,20.0,30.0,240.0,15.0,50.0,0.0006,0.001 RPH-DOSE-2026-003,PAT-003,Ga-68/Lu-177-DOTATATE,180.0,1.1,10.0,15.0,161.0,23.0,30.0,0.0004,0.0005
Theranostic Paired Dose Calculator — URS и FS
Ниже приведены русские версии пользовательских требований и функциональной спецификации.
Theranostic Paired Dose Calculator — URS
Theranostic Paired Dose Calculator
Документ сформирован для русской локализации. Для английской и остальных языков используется отдельная английская версия без смешения языков.
Назначение
Определить пользовательские требования к автономной FUZKK-утилите, которая принимает CSV-файл лабораторных данных, выполняет проверку по зашитым в код правилам и формирует LabWare-compatible JSON.
Область применения
Утилита предназначена для предварительной QC/QA-оценки, интеграционного тестирования, LIMS/LabWare flow и подготовки evidence trail. Окончательное решение остаётся за валидированной процедурой лаборатории и ответственным персоналом.
Пользователи
QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.
Пользовательские требования
- Утилита должна запускаться без параметров и выводить самоописание, пример input.csv из GetDemoData() и demo evaluation для встроенного набора данных.
- Утилита должна запускаться с двумя параметрами: input.csv output.json.
- Утилита не должна читать input.csv и не должна писать output.json при запуске без параметров.
- CSV должен читаться с CultureInfo.InvariantCulture для числовых значений.
- Результат должен формироваться в LabWare-compatible JSON с Header, Samples, Results, Status, StatusCode, ErrorMessage, Description и DescriptionEN.
- При PASS поле ErrorMessage должно быть пустой строкой.
- Зашитые лимиты должны следовать приоритету: Ph. Eur. → British Pharmacopoeia / UK implementation → ЕАЭС / региональные требования → EMA/ICH/EU guidance → USP fallback.
- Если точная монография неизвестна, применяются строгие стандартные API-лимиты: Assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%, если это применимо к типу утилиты.
- Для биопрепаратов и mAb-like продуктов должны учитываться агрегаты, стерильность и эндотоксины, если такие параметры релевантны назначению утилиты.
- Если параметр может приходить в разных единицах, единица должна быть отдельным входным полем или явно отражаться в имени поля input.csv.
Входной CSV
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008 RPH-DOSE-2026-002,PAT-002,F-18/Ac-225-PSMA,150.0,1.8,20.0,30.0,240.0,15.0,50.0,0.0006,0.001 RPH-DOSE-2026-003,PAT-003,Ga-68/Lu-177-DOTATATE,180.0,1.1,10.0,15.0,161.0,23.0,30.0,0.0004,0.0005
Поля input.csv
| Field | Sample |
|---|---|
| BatchNumber | RPH-DOSE-2026-001 |
| PatientID | PAT-001 |
| RadioligandPair | Ga-68/Lu-177-PSMA |
| Diag_Activity_MBq | 200.0 |
| Diag_HalfLife_h | 1.1 |
| Tumor_Uptake_SUV | 15.0 |
| Kidney_Uptake_SUV | 25.0 |
| Ther_HalfLife_h | 161.0 |
| Max_Tolerated_Dose_Gy | 23.0 |
| Target_Tumor_Dose_Gy | 40.0 |
| S_Factor_Tumor | 0.0005 |
| S_Factor_Kidney | 0.0008 |
Описание утилиты
Theranostic Paired Dose Calculator — Калькулятор сопряженных доз для тераностики
Theranostic Paired Dose Calculator — Калькулятор сопряженных доз для тераностики
ℹ️ Утилита рассчитывает персонализированную терапевтическую дозу:
• На основе данных диагностической ПЭТ/КТ
• С учетом лимитов дозы для критических органов (почки)
• С учетом целевой дозы в опухоль
⚠️ КРИТИЧНО: Неправильный расчет дозы ведет к отказу органов!
Тераностика требует точного пересчета между изотопами.
Использование:
TheranosticPairedDoseCalculator.exe → демо-режим (вывод в консоль)
TheranosticPairedDoseCalculator.exe input.csv output.json → оценка ваших данных
Формат input.csv:
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney
Пример:
RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008
— ЗАЧЕМ ЭТО НУЖНО?
Персонализация дозы критична для тераностики (Novartis, Bayer):
• Стандартные фиксированные дозы не учитывают индивидуальную фармакокинетику пациента
• Высокое накопление в почках может привести к лучевой нефропатии
• Низкое накопление в опухоли делает терапию неэффективной
• Пересчет активности от диагностического изотопа (короткоживущего) к терапевтическому (долгоживущему) требует сложных моделей дозиметрии
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Доза на почки не должна превышать 23 Гй (для Lu-177) или специфичных лимитов для альфа-эмиссеров
• Доза в опухоль должна быть достаточной для абляции ткани
• Учет различий в периодах полураспада и типах излучения
• Использование S-факторов (MIRD) для точного расчета поглощенной дозы
Ключевые особенности утилиты:
• Интеграция данных визуализации (SUV) в расчет дозы
• Автоматический расчет максимальной безопасной активности
• Прогнозирование дозы в мишень и критические органы
• Оценка запаса безопасности
Критические параметры:
• Kidney Dose: ≤23 Gy (example)
• Tumor Dose: ≥ Target
• Safety Margin: >0%
💡 Советы по использованию:
1. Используйте качественные данные ПЭТ/КТ с коррекцией ослабления
2. Обновляйте S-факторы в соответствии с последней версией моделей MIRD
3. Учитывайте массу органов пациента при расчете S-факторов
4. Для альфа-терапии используйте микро-дозиметрические модели
5. Всегда проверяйте расчет вручную перед введением препарата пациенту
⚠️ Особенность: В отличие от внешней лучевой терапии, где доза планируется на КТ, в системной радионуклидной терапии доза зависит от биологического распределения препарата. Утилита помогает связать диагностику и терапию в единый безопасный протокол лечения.
Трассируемость и ограничения
- URS используется как исходный документ для functional specification, CSV review и последующей CSV/validation работы.
- Документ не является заменой утверждённой фармакопейной монографии, валидированного метода или внутренней спецификации продукта.
- Для product-specific лимитов приоритет имеет утверждённая спецификация заказчика.
Theranostic Paired Dose Calculator — FS
Theranostic Paired Dose Calculator
Функциональная спецификация описывает поведение автономной консольной утилиты FUZKK, формат входных данных, алгоритм оценки и структуру выходного JSON.
Функциональный поток
- Main() проверяет количество аргументов.
- Если аргументов нет: PrintHello() выводит описание и встроенный пример input.csv, затем RunDemoEvaluation() выполняет Evaluate() по GetDemoData() и печатает demo JSON.
- Если передано два аргумента: RunWithFiles(input.csv, output.json) читает CSV, выполняет Evaluate() по каждой строке и записывает LabWare-compatible JSON.
- LoadData() использует CultureInfo.InvariantCulture и не должен вызываться в no-args режиме.
- Evaluate() возвращает именованный кортеж с BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation и RecommendationEN.
- GetIssues() формирует сообщения для ErrorMessage при WARNING/FAIL.
Правила оценки
- PASS: CriticalFailCount = 0 и WarningCount = 0.
- WARNING: CriticalFailCount = 0 и WarningCount > 0.
- FAIL: CriticalFailCount > 0.
- ERROR: исключение при чтении или обработке данных.
- ErrorMessage остаётся пустым при PASS.
- Лимиты зашиты в Program.cs; внешняя конфигурация лимитов не требуется.
Ввод и поля
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008 RPH-DOSE-2026-002,PAT-002,F-18/Ac-225-PSMA,150.0,1.8,20.0,30.0,240.0,15.0,50.0,0.0006,0.001 RPH-DOSE-2026-003,PAT-003,Ga-68/Lu-177-DOTATATE,180.0,1.1,10.0,15.0,161.0,23.0,30.0,0.0004,0.0005
| Field | Sample |
|---|---|
| BatchNumber | RPH-DOSE-2026-001 |
| PatientID | PAT-001 |
| RadioligandPair | Ga-68/Lu-177-PSMA |
| Diag_Activity_MBq | 200.0 |
| Diag_HalfLife_h | 1.1 |
| Tumor_Uptake_SUV | 15.0 |
| Kidney_Uptake_SUV | 25.0 |
| Ther_HalfLife_h | 161.0 |
| Max_Tolerated_Dose_Gy | 23.0 |
| Target_Tumor_Dose_Gy | 40.0 |
| S_Factor_Tumor | 0.0005 |
| S_Factor_Kidney | 0.0008 |
Выходной JSON
{
"Header": {
"UtilityName": "Theranostic_Paired_Dose_Calculator",
"Version": "1.0.0",
"Timestamp": "UTC",
"InstrumentID": "FUZKK-QC-WORKSTATION",
"OperatorID": "Admin"
},
"Samples": [
{
"SampleID": "from BatchNumber",
"BatchNumber": "from CSV",
"ProductName": "from CSV",
"TestName": "utility-specific test",
"AnalysisCode": "utility-specific code",
"Status": "PASS | WARNING | FAIL | ERROR",
"StatusCode": "1 | 2 | 0 | -1",
"ErrorMessage": "",
"Description": "Russian recommendation",
"DescriptionEN": "English recommendation",
"Results": [
{
"ParameterName": "parameter",
"ResultValue": 0.0,
"UnitOfMeasure": "unit",
"SpecificationLimit": "limit",
"IsWithinSpec": true
}
]
}
]
}Входит в пакеты
Радиолигандная терапия и тераностика
Радиолигандная терапия и тераностика: пакет утилит FUZKK для CSV→JSON QC-проверок с EU-first приоритетом лимитов.
ОткрытьRPH organ/system: онкология и theranostics
Tumour imaging, PSMA/FAPI/receptor tracers, immuno-PET, targeted radionuclide therapy и radioembolization.
ОткрытьRPH organ/system: почки и мочевыводящие пути
Ренография, GFR/ERPF, renal uptake, DMSA/MAG3/DTPA и bladder-related workflows.
ОткрытьRPH use case: радионуклидная терапия и theranostics
Lu-177, Ac-225, Ra-223, Y-90, Ho-166, Sm-153, Sr-89, Re-188, Tb-161, I-131 и другие терапевтические РФП: активность, чистота, свободный металл, дочерние продукты, токсикологические ограничения.
Открыть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: стабильность, хранение, распад и отходы
Kinetic stability, shelf life, decay correction, expiry, storage, trend и radioactive waste.
Открыть