Theranostic_Paired_Dose_Calculator

Theranostic Paired Dose Calculator

AdvancedPharma CSV→JSON EU-first LabWare URS & FS
Открыть подборку
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 и 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.

Пользовательские требования

  1. Утилита должна запускаться без параметров и выводить самоописание, пример input.csv из GetDemoData() и demo evaluation для встроенного набора данных.
  2. Утилита должна запускаться с двумя параметрами: input.csv output.json.
  3. Утилита не должна читать input.csv и не должна писать output.json при запуске без параметров.
  4. CSV должен читаться с CultureInfo.InvariantCulture для числовых значений.
  5. Результат должен формироваться в LabWare-compatible JSON с Header, Samples, Results, Status, StatusCode, ErrorMessage, Description и DescriptionEN.
  6. При PASS поле ErrorMessage должно быть пустой строкой.
  7. Зашитые лимиты должны следовать приоритету: Ph. Eur. → British Pharmacopoeia / UK implementation → ЕАЭС / региональные требования → EMA/ICH/EU guidance → USP fallback.
  8. Если точная монография неизвестна, применяются строгие стандартные API-лимиты: Assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%, если это применимо к типу утилиты.
  9. Для биопрепаратов и mAb-like продуктов должны учитываться агрегаты, стерильность и эндотоксины, если такие параметры релевантны назначению утилиты.
  10. Если параметр может приходить в разных единицах, единица должна быть отдельным входным полем или явно отражаться в имени поля 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

FieldSample
BatchNumberRPH-DOSE-2026-001
PatientIDPAT-001
RadioligandPairGa-68/Lu-177-PSMA
Diag_Activity_MBq200.0
Diag_HalfLife_h1.1
Tumor_Uptake_SUV15.0
Kidney_Uptake_SUV25.0
Ther_HalfLife_h161.0
Max_Tolerated_Dose_Gy23.0
Target_Tumor_Dose_Gy40.0
S_Factor_Tumor0.0005
S_Factor_Kidney0.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.

Функциональный поток

  1. Main() проверяет количество аргументов.
  2. Если аргументов нет: PrintHello() выводит описание и встроенный пример input.csv, затем RunDemoEvaluation() выполняет Evaluate() по GetDemoData() и печатает demo JSON.
  3. Если передано два аргумента: RunWithFiles(input.csv, output.json) читает CSV, выполняет Evaluate() по каждой строке и записывает LabWare-compatible JSON.
  4. LoadData() использует CultureInfo.InvariantCulture и не должен вызываться в no-args режиме.
  5. Evaluate() возвращает именованный кортеж с BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation и RecommendationEN.
  6. 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
FieldSample
BatchNumberRPH-DOSE-2026-001
PatientIDPAT-001
RadioligandPairGa-68/Lu-177-PSMA
Diag_Activity_MBq200.0
Diag_HalfLife_h1.1
Tumor_Uptake_SUV15.0
Kidney_Uptake_SUV25.0
Ther_HalfLife_h161.0
Max_Tolerated_Dose_Gy23.0
Target_Tumor_Dose_Gy40.0
S_Factor_Tumor0.0005
S_Factor_Kidney0.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.

Открыть