SpecificActivityCalculator

Specific Activity Calculator

radiopharmaceuticals QC URS & FS input.csv output.json alpha therapy PET SPECT
Открыть подборку

Описание утилиты: Specific Activity Calculator

Specific Activity Calculator — Расчет удельной активности РФП

ℹ️  Рассчитывает удельную активность (МБк/нмоль) с учетом распада.
ℹ️  Поддерживает F-18, Ga-68, Lu-177, Ac-225, Y-90, Cu-64 и др.

Использование:
  SpecificActivityCalculator.exe                            → демо-режим
  SpecificActivityCalculator.exe input.csv output.json      → расчет

Формат input.csv:
BatchNumber,Radionuclide,Measured_Activity_MBq,Measurement_Time_ISO,Mass_Ligand_ug,Molecular_Weight_g_mol,Reference_Time_ISO,Min_Specific_Activity_MBq_nmol

Пример:
LU177-SA-001,Lu-177,7400.0,2026-05-20T08:00:00,50.0,1435.6,2026-05-20T08:00:00,1000.0

— ЗАЧЕМ ЭТО НУЖНО?
Удельная активность (SA) — ключевой параметр качества для таргетной терапии и диагностики:
• Эффективность связывания: Высокая SA гарантирует, что большинство молекул лиганда несут радионуклид. Низкая SA означает наличие «холодного» лиганда, который конкурирует за рецепторы, снижая эффективность визуализации или терапии.
• Токсичность: Избыток холодного лиганда может вызвать фармакологические эффекты или токсичность.
• Контроль качества: SA рассчитывается на основе измеренной активности (дозкалибратор) и количества лиганда (ВЭЖХ/спектрофотометрия).
• Распад: Активность меняется со временем, поэтому важно указывать время измерения и время, к которому приводится расчет (например, момент инъекции).

⚠️ ВАЖНО:
• Молекулярная масса должна соответствовать форме лиганда (свободный пептид или комплекс с металлом).
• Для генераторных изотопов (Ga-68, Re-188) SA часто ограничена емкостью генератора и эффективностью мечения.
• Для альфа-излучателей (Ac-225) требования к SA экстремально высоки из-за высокой токсичности свободных ионов.

input.csv

BatchNumber,Radionuclide,Measured_Activity_MBq,Measurement_Time_ISO,Mass_Ligand_ug,Molecular_Weight_g_mol,Reference_Time_ISO,Min_Specific_Activity_MBq_nmol
LU177-SA-001,Lu-177,7400.0,2026-05-20T08:00:00,50.0,1435.6,2026-05-20T08:00:00,1000.0
AC225-SA-001,Ac-225,10.0,2026-05-20T08:00:00,5.0,1200.0,2026-05-20T08:00:00,5000.0

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

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

Документ описывает требования и функциональное поведение утилиты SpecificActivityCalculator для контроля: Specific Activity Calculator. Утилита предназначена для ОКК/QC и использует детерминированные правила, а не машинное обучение.

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

  • SpecificActivityCalculator.exe — демонстрационный режим или справка.
  • SpecificActivityCalculator.exe input.csv output.json — обработка пользовательских данных и запись результата.

3. Ключевые предметные ограничения

  • ⚠️ ВАЖНО:

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать input.csv с точными заголовками, указанными в контракте данных.HighФайл обрабатывается без ручного изменения заголовков.
URS-002Утилита должна проверять обязательность, типы данных, диапазоны, единицы и критические фармацевтические/радиохимические пределы.HighДля каждой строки формируется статус PASS/WARNING/FAIL.
URS-003Утилита должна выявлять критические отклонения, связанные с радионуклидной/радиохимической чистотой, примесями, свободным радионуклидом, pH, эндотоксинами и стерильностью, если такие поля присутствуют.HighКритическое отклонение приводит к FAIL или явному critical finding.
URS-004Утилита должна формировать output.json с машинно-читаемыми результатами, исходными значениями, предупреждениями и отказами.HighJSON пригоден для LIMS/ELN/MES-интеграции и QA/QC review.
URS-005Утилита не должна использовать машинное обучение для решения о соответствии.MediumРешение основано на заданных правилах и порогах.
URS-006Утилита должна сохранять трассируемость между номером серии, входными значениями, примененными правилами и итоговым статусом.HighВыход содержит идентификатор серии и перечень проверенных параметров.
URS-007Документация должна поддерживать подготовку IQ/OQ и инспекционное обсуждение FDA/EMA/Росздравнадзора или локального регулятора.MediumURS/FS и тестовые сценарии доступны вместе с утилитой.

5. Контракт input.csv

#ПолеТипПримерНазначение
1BatchNumberstringLU177-SA-001Идентификатор серии/партии.
2RadionuclidedecimalLu-177Контролируемый входной параметр из input.csv.
3Measured_Activity_MBqdecimal7400.0Активность радиофармацевтического материала или готового продукта.
4Measurement_Time_ISOdecimal2026-05-20T08:00:00Контролируемый входной параметр из input.csv.
5Mass_Ligand_ugdecimal50.0Контролируемый входной параметр из input.csv.
6Molecular_Weight_g_moldecimal1435.6Контролируемый входной параметр из input.csv.
7Reference_Time_ISOdecimal2026-05-20T08:00:00Контролируемый входной параметр из input.csv.
8Min_Specific_Activity_MBq_nmoldecimal1000.0Активность радиофармацевтического материала или готового продукта.
BatchNumber,Radionuclide,Measured_Activity_MBq,Measurement_Time_ISO,Mass_Ligand_ug,Molecular_Weight_g_mol,Reference_Time_ISO,Min_Specific_Activity_MBq_nmol
LU177-SA-001,Lu-177,7400.0,2026-05-20T08:00:00,50.0,1435.6,2026-05-20T08:00:00,1000.0
AC225-SA-001,Ac-225,10.0,2026-05-20T08:00:00,5.0,1200.0,2026-05-20T08:00:00,5000.0

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

IDФункцияРеализация
FS-001CSV importПрочитать input.csv в UTF-8/CSV-совместимом формате, проверить наличие заголовка и ожидаемых колонок.
FS-002Schema validationПроверить обязательные поля и количество колонок; сообщить о неизвестных или отсутствующих ключевых полях.
FS-003Type conversionПреобразовать числовые, флаговые и текстовые значения; некорректный формат фиксировать как ошибку строки.
FS-004Rule engineПрименить предметные правила для Specific Activity Calculator, включая критические пределы из описания утилиты.
FS-005Status aggregationСформировать итоговый статус: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии.
FS-006JSON exportЗаписать output.json с детализацией проверок, исходными значениями, предупреждениями и critical findings.
FS-007Audit supportСохранять структуру результата пригодной для review, расследования отклонений и подготовки IQ/OQ.

7. Пример output.json

{
  "utilityId": "specific-activity-calculator",
  "api": "Specific Activity Calculator",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "LU177-SA-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Radionuclide",
      "value": "Lu-177",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Measured_Activity_MBq",
      "value": "7400.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Measurement_Time_ISO",
      "value": "2026-05-20T08:00:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Mass_Ligand_ug",
      "value": "50.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Molecular_Weight_g_mol",
      "value": "1435.6",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Reference_Time_ISO",
      "value": "2026-05-20T08:00:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Min_Specific_Activity_MBq_nmol",
      "value": "1000.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    }
  ],
  "criticalFindings": []
}

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

IDСценарийОжидаемый результат
OQ-001Валидная строка из примераPASS или допустимый WARNING согласно правилам.
OQ-002Отсутствует обязательная колонкаОшибка схемы или FAIL.
OQ-003Нечисловое значение в числовом полеОшибка преобразования типа.
OQ-004Значение критического параметра за пределомFAIL и critical finding.
PQ-001Реальная серия/партия пользователяСогласованный результат review с сохранением input.csv и output.json.

9. QA/QC и change control

  • Не менять имена колонок без обновления валидатора.
  • Хранить input.csv, output.json, версию исполняемого файла и контрольную сумму.
  • Перед продуктивным использованием провести IQ/OQ/PQ или эквивалентную CSV/CSA-проверку.
  • Критические радиофармацевтические пределы должны быть сверены с утверждённой спецификацией и локальными SOP.

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

PetRad2: расширенный радиофармацевтический QC-пакет

Подборка новых утилит для контроля радионуклидов, таргетной альфа-терапии, удельной активности, радиолиза и предварительных дозиметрических расчётов.

Открыть

Радиология

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

Открыть

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

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

Открыть