RadionuclideMixChecker

Radionuclide Mix

decay correction endotoxins PET radionuclide purity radiopharma SPECT sterility
Открыть подборку

Radionuclide Mix Checker — Проверка на смешение партий и радионуклидов при ручном вводе данных

ℹ️ Утилита проводит КРИТИЧЕСКУЮ проверку данных для предотвращения катастрофических ошибок:
• Сверка номера партии (введённый vs ожидаемый)
• Сверка радионуклида (введённый vs ожидаемый)
• Проверка отклонения активности от ожидаемого значения (±20%)
• Проверка правдоподобия активности для данного радионуклида
• Анализ отклонений и оценка рисков с конкретными рекомендациями

⚠️ КРИТИЧНО: Предназначена для предотвращения ошибок типа «ввели пациенту не тот препарат»!
Даже одна ошибка смешения партий может привести к летальному исходу или серьезному вреду.
Примеры реальных инцидентов:
• Введение Lu-177 вместо F-18 → чрезмерная лучевая нагрузка без диагностической пользы
• Введение Ra-223 предыдущей партии (просроченной) → снижение эффективности терапии
• Введение I-131 вместо Tc-99m → непреднамеренная терапевтическая доза при диагностике

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

Формат input.csv:
RecordID,EnteredBatchNumber,ExpectedBatchNumber,EnteredNuclide,ExpectedNuclide,EnteredActivityMBq,MeasurementDateTime,TechnicianID,WorkstationID,ExpectedActivityMBq

Примеры:
REC-001,F18-FDG-2026-03-18-A,F18-FDG-2026-03-18-A,F-18,F-18,3700.0,2026-03-18T09:00:00,TECH-001,WS-PET-01,3800.0
REC-002,LU177-PSMA-2026-03-18-B,LU177-PSMA-2026-03-18-B,F-18,Lu-177,6000.0,2026-03-18T10:30:00,TECH-002,WS-THERAPY-02,6200.0
REC-003,RA223-2026-03-17-X,RA223-2026-03-18-A,Ra-223,Ra-223,110.0,2026-03-18T11:00:00,TECH-003,WS-THERAPY-01,110.0

— ЗАЧЕМ ЭТО НУЖНО?
Смешение партий и радионуклидов — одна из самых опасных ошибок в радиофармации:
• Человеческий фактор: усталость, отвлечение, похожие названия партий
• Системные проблемы: неудобный интерфейс LIMS, отсутствие двойной проверки
• Последствия: неправильная диагностика, чрезмерная лучевая нагрузка, летальные исходы
• Статистика: по данным IAEA, 15-20% радиационных инцидентов связаны с ошибками идентификации

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Утилита НЕ заменяет двойную проверку двумя техниками (требование GMP)
• Утилита ЯВЛЯЕТСЯ критическим барьером безопасности ПЕРЕД введением пациенту
• Интеграция в рабочий процесс: запускать ПОСЛЕ ввода данных, ДО передачи препарата в кабинет
• Все критические ошибки требуют НЕМЕДЛЕННОЙ остановки процесса

Ключевые возможности утилиты:
• Мгновенное выявление несоответствия номеров партий (даже при опечатках)
• Обнаружение смешения радионуклидов (F-18 вместо Lu-177 и т.д.)
• Проверка активности на правдоподобие (защита от ошибок единиц: MBq vs GBq)
• Анализ отклонений активности от ожидаемого значения (±20%)
• Категоризация риска: CRITICAL / WARNING / ACCEPTABLE
• Конкретные рекомендации по действиям при ошибках
• Аудиторский след (техник, рабочая станция, время проверки)
• Сводка по всем проверенным записям (сколько критических ошибок, предупреждений)

Типичные сценарии обнаружения ошибок:
1. Техник ввёл номер партии вчерашнего генератора вместо сегодняшнего → УТИЛИТА ОСТАНОВИТ
2. При выборе радионуклида в системе выбрано "F-18" вместо "Ga-68" → УТИЛИТА ОСТАНОВИТ
3. Активность введена как 37000 вместо 3700 (лишний ноль) → ПРОВЕРКА ПРАВДОПОДОБИЯ СРАБОТАЕТ
4. Активность ниже ожидаемой на 30% (возможно, ошибка калибровки дозиметра) → ПРЕДУПРЕЖДЕНИЕ

💡 Рекомендации по внедрению:
1. Интегрируйте утилиту в рабочий процесс ПОСЛЕ ввода данных в LIMS, ДО передачи препарата
2. Настройте автоматический запуск при экспорте данных из дозиметра
3. Обязательно используйте поле "ExpectedBatchNumber" (из расписания производства)
4. Для критических препаратов (терапевтических) установите более строгий допуск (±10% вместо ±20%)
5. Все критические ошибки должны блокировать дальнейшую обработку в системе
6. Регулярно обновляйте справочник правдоподобия активности под ваши препараты

⚠️ Ограничения утилиты:
• Требует корректного заполнения поля "ExpectedBatchNumber" (из расписания/LIMS)
• Не заменяет визуальную проверку физической этикетки на флаконе
• Не обнаруживает ошибки, если ожидаемые и введённые значения совпадают по ошибке
• Для полной безопасности ТРЕБУЕТСЯ двойная проверка двумя техниками (человеческий фактор)

Источники данных:
• IAEA Safety Standards Series No. SSG-46 (2016) — Radiation Protection and Safety in Medical Uses of Ionizing Radiation
• ISPN Guidelines on Prevention of Errors in Radiopharmacy (2021)
• FDA Guidance: Investigational New Drug Applications (INDs) for Radiopharmaceuticals
• Journal of Nuclear Medicine Technology — Analysis of Radiopharmacy Errors (2022)

input.csv

RecordID,EnteredBatchNumber,ExpectedBatchNumber,EnteredNuclide,ExpectedNuclide,EnteredActivityMBq,MeasurementDateTime,TechnicianID,WorkstationID,ExpectedActivityMBq
REC-001,F18-FDG-2026-03-18-A,F18-FDG-2026-03-18-A,F-18,F-18,3700.0,2026-03-18T09:00:00,TECH-001,WS-PET-01,3800.0
REC-002,LU177-PSMA-2026-03-18-B,LU177-PSMA-2026-03-18-B,F-18,Lu-177,6000.0,2026-03-18T10:30:00,TECH-002,WS-THERAPY-02,6200.0
REC-003,RA223-2026-03-17-X,RA223-2026-03-18-A,Ra-223,Ra-223,110.0,2026-03-18T11:00:00,TECH-003,WS-THERAPY-01,110.0
REC-004,TC99M-MDP-2026-03-18-C,TC99M-MDP-2026-03-18-C,Tc-99m,Tc-99m,15000.0,2026-03-18T08:30:00,TECH-001,WS-SPECT-01,20000.0

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

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

Утилита: RadionuclideMixCheckerAPI / объект: Radionuclide MixКатегория: Radiopharmaceuticals

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

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

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

Категории: Radiopharmaceuticals

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

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

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

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

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

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

  • ⚠️ КРИТИЧНО: Предназначена для предотвращения ошибок типа «ввели пациенту не тот препарат»!
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • Утилита НЕ заменяет двойную проверку двумя техниками (требование GMP)
  • Утилита ЯВЛЯЕТСЯ критическим барьером безопасности ПЕРЕД введением пациенту
  • Интеграция в рабочий процесс: запускать ПОСЛЕ ввода данных, ДО передачи препарата в кабинет
  • Все критические ошибки требуют НЕМЕДЛЕННОЙ остановки процесса
  • Мгновенное выявление несоответствия номеров партий (даже при опечатках)
  • Обнаружение смешения радионуклидов (F-18 вместо Lu-177 и т.д.)
  • Проверка активности на правдоподобие (защита от ошибок единиц: MBq vs GBq)
  • Анализ отклонений активности от ожидаемого значения (±20%)
  • Категоризация риска: CRITICAL / WARNING / ACCEPTABLE
  • Конкретные рекомендации по действиям при ошибках
  • Аудиторский след (техник, рабочая станция, время проверки)
  • Сводка по всем проверенным записям (сколько критических ошибок, предупреждений)
  • 1. Техник ввёл номер партии вчерашнего генератора вместо сегодняшнего → УТИЛИТА ОСТАНОВИТ
  • 2. При выборе радионуклида в системе выбрано "F-18" вместо "Ga-68" → УТИЛИТА ОСТАНОВИТ
  • 3. Активность введена как 37000 вместо 3700 (лишний ноль) → ПРОВЕРКА ПРАВДОПОДОБИЯ СРАБОТАЕТ
  • 4. Активность ниже ожидаемой на 30% (возможно, ошибка калибровки дозиметра) → ПРЕДУПРЕЖДЕНИЕ
  • 1. Интегрируйте утилиту в рабочий процесс ПОСЛЕ ввода данных в LIMS, ДО передачи препарата
  • 2. Настройте автоматический запуск при экспорте данных из дозиметра
  • 3. Обязательно используйте поле "ExpectedBatchNumber" (из расписания производства)
  • 4. Для критических препаратов (терапевтических) установите более строгий допуск (±10% вместо ±20%)
  • 5. Все критические ошибки должны блокировать дальнейшую обработку в системе
  • 6. Регулярно обновляйте справочник правдоподобия активности под ваши препараты
Пределы, указанные в описании, должны быть сверены с актуальной утверждённой спецификацией, фармакопейной монографией и регистрационным досье перед продуктивным применением.

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

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

#КолонкаТипЕд.ОписаниеПримерПравило контроля
1RecordIDтекстas specifiedRecord IDREC-001обязательное значение; формат и допустимость проверяются утилитой
2EnteredBatchNumberидентификаторas specifiedEntered Batch NumberF18-FDG-2026-03-18-Aобязательное поле; используется для трассируемости серии/партии
3ExpectedBatchNumberидентификаторas specifiedExpected Batch NumberF18-FDG-2026-03-18-Aобязательное поле; используется для трассируемости серии/партии
4EnteredNuclideтекстas specifiedEntered NuclideF-18обязательное значение; формат и допустимость проверяются утилитой
5ExpectedNuclideтекстas specifiedExpected NuclideF-18обязательное значение; формат и допустимость проверяются утилитой
6EnteredActivityMBqдесятичное числоMBqEntered Activity MBq3700.0обязательное числовое значение; сравнение с правилом выполняет утилита
7MeasurementDateTimeдата/времяas specifiedMeasurement Date Time2026-03-18T09:00:00обязательное значение; формат и допустимость проверяются утилитой
8TechnicianIDтекстas specifiedTechnician IDTECH-001обязательное значение; формат и допустимость проверяются утилитой
9WorkstationIDтекстas specifiedWorkstation IDWS-PET-01обязательное значение; формат и допустимость проверяются утилитой
10ExpectedActivityMBqдесятичное числоMBqExpected Activity MBq3800.0обязательное числовое значение; сравнение с правилом выполняет утилита

Пример CSV

RecordID,EnteredBatchNumber,ExpectedBatchNumber,EnteredNuclide,ExpectedNuclide,EnteredActivityMBq,MeasurementDateTime,TechnicianID,WorkstationID,ExpectedActivityMBq
REC-001,F18-FDG-2026-03-18-A,F18-FDG-2026-03-18-A,F-18,F-18,3700.0,2026-03-18T09:00:00,TECH-001,WS-PET-01,3800.0

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

IDФункцияОписание реализации
FS-001CLI entry pointИсполняемый файл RadionuclideMixChecker.exe принимает режим демонстрации и режим обработки input.csv output.json.
FS-002CSV parserМодуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка.
FS-003Field conversionДля каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг.
FS-004Domain rule engineДля объекта Radionuclide Mix применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка.
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": "RadionuclideMixChecker",
  "api": "Radionuclide Mix",
  "batchNumber": "F18-FDG-2026-03-18-A",
  "overallStatus": "PASS|WARNING|FAIL",
  "checkedAtUtc": "2026-05-18T00:00:00Z",
  "checks": [
    {
      "parameter": "RecordID",
      "value": "REC-001",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "EnteredBatchNumber",
      "value": "F18-FDG-2026-03-18-A",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "ExpectedBatchNumber",
      "value": "F18-FDG-2026-03-18-A",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "EnteredNuclide",
      "value": "F-18",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "ExpectedNuclide",
      "value": "F-18",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "EnteredActivityMBq",
      "value": "3700.0",
      "unit": "MBq",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "MeasurementDateTime",
      "value": "2026-03-18T09:00:00",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "TechnicianID",
      "value": "TECH-001",
      "unit": "as specified",
      "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, терапевтических радионуклидов, генераторов, меченых соединений, расчётов распада, стерильности, эндотоксинов и радиохимической/радионуклидной чистоты.

Открыть