Iodine131CapsulesQualityChecker
Iodine131 Capsules
Iodine-131 Capsules Quality Checker — Капсулы с йодом-131 (радиофармпрепарат для терапии щитовидной железы) (Ph. Eur., USP <823>) ℹ️ Утилита проверяет активность (% от заявленной), радиохимическую чистоту, летучий йод, дезинтеграцию, микробиологию, тяжёлые металлы, остаточные растворители. ℹ️ Не использует машинное обучение — только правила. ⚠️ КРИТИЧНО: Летучий йод (≤5.0%) — риск радиационного воздействия на персонал! Радиохимическая чистота (≥95.0%) — эффективность терапии и минимизация лучевой нагрузки! Использование: Iodine131CapsulesQualityChecker.exe → демо-режим (вывод в консоль) Iodine131CapsulesQualityChecker.exe input.csv output.json → оценка ваших данных Формат input.csv: BatchNumber,MeasuredActivityMBq,DeclaredActivityMBq,RadiochemicalPurity,VolatileIodine,DisintegrationTime,HeavyMetals,TAMC,TYMC,EColiDetected,SalmonellaDetected,EthanolPPM,AcetonePPM Пример (патогены: 0=не обнаружено, 1=обнаружено): I131-2026-001,370.0,370.0,98.0,2.0,10.0,10,500,50,0,0,800,500 — ЗАЧЕМ ЭТО НУЖНО? Капсулы с йодом-131 — радиофармпрепарат для: • Лечения диффузного токсического зоба (Базедова болезнь) • Терапии рака щитовидной железы после тиреоидэктомии • Подавления функции остаточной ткани щитовидной железы ⚠️ КРИТИЧЕСКИ ВАЖНО: • Активность 90.0–110.0% от заявленной — гарантирует терапевтическую дозу и минимизирует риск недолечения/перелечения • Радиохимическая чистота ≥95.0% — обеспечивает доставку йода-131 именно в ткань щитовидной железы, а не в другие органы • Летучий йод ≤5.0% — КРИТИЧНО ДЛЯ БЕЗОПАСНОСТИ ПЕРСОНАЛА! Летучие формы испаряются при открытии упаковки, создавая радиационную опасность • Дезинтеграция ≤15.0 мин — гарантирует высвобождение активного вещества в ЖКТ для всасывания ⚠️ Особое внимание: Капсулы с йодом-131 требуют СТРОГИХ мер радиационной безопасности при производстве и контроле качества! Контроль летучего йода обязателен на всех этапах. Микробиологический контроль важен, так как капсулы принимаются перорально, но менее строгий, чем для парентеральных форм. Критические параметры: • Активность: 90.0–110.0% от заявленной • Радиохимическая чистота: ≥95.0% • Летучий йод: ≤5.0% (КРИТИЧНО ДЛЯ БЕЗОПАСНОСТИ ПЕРСОНАЛА!) • Дезинтеграция: ≤15.0 минут • Тяжёлые металлы: ≤20 ppm • TAMC: ≤1000 CFU/g • TYMC: ≤100 CFU/g • Отсутствие E. coli и Salmonella • Остаточные растворители: этанол ≤5000 ppm, ацетон ≤5000 ppm ⚠️ Особенность: Утилита рассчитывает активность как процент от заявленной дозы (а не абсолютное значение), что позволяет использовать её для капсул разных дозировок (37, 185, 370, 740, 1110, 1850, 3700, 7400 MBq). Контроль летучего йода проводится методом сублимации или газовой хроматографии. Радиохимическая чистота определяется методом ТСХ.
input.csv
BatchNumber,MeasuredActivityMBq,DeclaredActivityMBq,RadiochemicalPurity,VolatileIodine,DisintegrationTime,HeavyMetals,TAMC,TYMC,EColiDetected,SalmonellaDetected,EthanolPPM,AcetonePPM I131-2026-001,370.0,370.0,98.0,2.0,10.0,10,500,50,0,0,800,500
URS & FS — пользовательские требования и функциональная спецификация
Этот документ описывает требования пользователя и функциональную спецификацию для утилиты контроля качества. Он предназначен для обсуждения внедрения, подготовки IQ/OQ и интеграции в контур ОКК/QC.
1. Область применения
Утилита Iodine131 Capsules Quality Checker применяется для объекта Iodine131 Capsules. Источником истины для структуры входных данных является фактический input.csv; критерии контроля задаются исполняемым модулем и предметным описанием.
Утилита не использует машинное обучение; решение формируется детерминированными правилами.
Категории: Radiopharmaceuticals
Теги: biologics, capsules, decay correction, endotoxins, heavy metals, medical gases, microbiology, PET, radionuclide purity, radiopharma, residual solvents, SPECT
2. Режимы запуска
Iodine131CapsulesQualityChecker.exe → демо-режим (вывод в консоль) Iodine131CapsulesQualityChecker.exe input.csv output.json → оценка ваших данных
3. Ключевые контролируемые области
- чистота и примеси
- растворение / распад
- остаточные растворители
- микробиология и патогены
- тяжёлые металлы / элементные примеси
- pH и физико-химические параметры
- радиоактивность, распад и радиохимическая чистота
4. Предметные ограничения и критические параметры
- ⚠️ КРИТИЧНО: Летучий йод (≤5.0%) — риск радиационного воздействия на персонал! Радиохимическая чистота (≥95.0%) — эффективность терапии и минимизация лучевой нагрузки!
- ⚠️ КРИТИЧЕСКИ ВАЖНО:
- Активность 90.0–110.0% от заявленной — гарантирует терапевтическую дозу и минимизирует риск недолечения/перелечения
- Радиохимическая чистота ≥95.0% — обеспечивает доставку йода-131 именно в ткань щитовидной железы, а не в другие органы
- Летучий йод ≤5.0% — КРИТИЧНО ДЛЯ БЕЗОПАСНОСТИ ПЕРСОНАЛА! Летучие формы испаряются при открытии упаковки, создавая радиационную опасность
- Дезинтеграция ≤15.0 мин — гарантирует высвобождение активного вещества в ЖКТ для всасывания
- ⚠️ Особое внимание: Капсулы с йодом-131 требуют СТРОГИХ мер радиационной безопасности при производстве и контроле качества! Контроль летучего йода обязателен на всех этапах. Микробиологический контроль важен, так как капсулы принимаются перорально, но менее строгий, чем для парентеральных форм.
- Критические параметры:
- Активность: 90.0–110.0% от заявленной
- Радиохимическая чистота: ≥95.0%
- Летучий йод: ≤5.0% (КРИТИЧНО ДЛЯ БЕЗОПАСНОСТИ ПЕРСОНАЛА!)
- Дезинтеграция: ≤15.0 минут
- Тяжёлые металлы: ≤20 ppm
- TAMC: ≤1000 CFU/g
- TYMC: ≤100 CFU/g
- Отсутствие E. coli и Salmonella
- Остаточные растворители: этанол ≤5000 ppm, ацетон ≤5000 ppm
- ⚠️ Особенность: Утилита рассчитывает активность как процент от заявленной дозы (а не абсолютное значение), что позволяет использовать её для капсул разных дозировок (37, 185, 370, 740, 1110, 1850, 3700, 7400 MBq). Контроль летучего йода проводится методом сублимации или газовой хроматографии. Радиохимическая чистота определяется методом ТСХ.
5. URS — пользовательские требования
| ID | Требование | Критичность | Критерий приемки |
|---|---|---|---|
| URS-001 | Система должна принимать файл input.csv для Iodine131 Capsules с точным набором колонок, перечисленным в разделе «Контракт входных данных». | 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. | High | JSON содержит общий статус, массив проверок, предупреждения, отказы и ссылку на исходный файл. |
| URS-006 | Система должна поддерживать применение в валидационном пакете клиента: URS/FS, IQ/OQ-подготовка, проверка установки и операционных сценариев. | High | Документ, тестовые сценарии и воспроизводимый CSV/JSON-поток пригодны для аудита и внутреннего согласования. |
| URS-007 | Система должна явно отделять технические ошибки данных от предметных несоответствий спецификации. | Medium | Ошибки схемы/типов не смешиваются с фармакопейными отклонениями и отображаются отдельно. |
6. Контракт входных данных input.csv
Источник истины для схемы входа — фактический заголовок input.csv. Имена колонок технические и не переводятся.
| # | Колонка | Тип | Ед. | Описание | Пример | Правило контроля |
|---|---|---|---|---|---|---|
| 1 | BatchNumber | идентификатор | as specified | Batch Number | I131-2026-001 | обязательное поле; используется для трассируемости серии/партии |
| 2 | MeasuredActivityMBq | десятичное число | MBq | Measured Activity MBq | 370.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 3 | DeclaredActivityMBq | десятичное число | MBq | Declared Activity MBq | 370.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 4 | RadiochemicalPurity | десятичное число | as specified | Radiochemical Purity | 98.0 | число; сравнивается с пределом содержания/чистоты из спецификации или метода |
| 5 | VolatileIodine | десятичное число | as specified | Volatile Iodine | 2.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 6 | DisintegrationTime | десятичное число | min | Disintegration Time | 10.0 | число; проверяется профиль высвобождения/распада согласно методу |
| 7 | HeavyMetals | десятичное число | as specified | Heavy Metals | 10 | число; проверяется как элементная/металлическая примесь |
| 8 | TAMC | десятичное число | as specified | TAMC | 500 | число; сравнивается с микробиологическими пределами |
| 9 | TYMC | десятичное число | as specified | TYMC | 50 | число; сравнивается с микробиологическими пределами |
| 10 | EColiDetected | логический флаг | 0/1 | EColi Detected | 0 | значение должно быть допустимым флагом; для запрещённых микроорганизмов и роста обычно ожидается 0 / отсутствие |
| 11 | SalmonellaDetected | логический флаг | 0/1 | Salmonella Detected | 0 | значение должно быть допустимым флагом; для запрещённых микроорганизмов и роста обычно ожидается 0 / отсутствие |
| 12 | EthanolPPM | десятичное число | ppm | Ethanol PPM | 800 | число; проверяется как остаточный растворитель по установленному пределу |
| 13 | AcetonePPM | десятичное число | ppm | Acetone PPM | 500 | число; проверяется как остаточный растворитель по установленному пределу |
Пример CSV
BatchNumber,MeasuredActivityMBq,DeclaredActivityMBq,RadiochemicalPurity,VolatileIodine,DisintegrationTime,HeavyMetals,TAMC,TYMC,EColiDetected,SalmonellaDetected,EthanolPPM,AcetonePPM I131-2026-001,370.0,370.0,98.0,2.0,10.0,10,500,50,0,0,800,500
7. FS — функциональная спецификация
| ID | Функция | Описание реализации |
|---|---|---|
| FS-001 | CLI entry point | Исполняемый файл Iodine131CapsulesQualityChecker.exe принимает режим демонстрации и режим обработки input.csv output.json. |
| FS-002 | CSV parser | Модуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка. |
| FS-003 | Field conversion | Для каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг. |
| FS-004 | Domain rule engine | Для объекта Iodine131 Capsules применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка. |
| FS-005 | Criticality handling | Критичные нарушения формируют FAIL; некритичные отклонения и неполные данные формируют WARNING; соответствие всем правилам формирует PASS. |
| FS-006 | JSON writer | output.json сохраняет общий статус, результаты по каждому параметру, исходные значения, предупреждения, отказы и диагностические сообщения. |
| FS-007 | Integration contract | Формат CSV → JSON стабилен для вызова из LIMS/ELN/MES, планировщика задач или wrapper-сервиса. |
| FS-008 | Error handling | При ошибке схемы, отсутствующем файле, нечисловом значении или невозможности записи JSON возвращается диагностируемая ошибка без тихого PASS. |
8. Выходной контракт output.json
Выходной файл должен быть пригоден для автоматической обработки, аудита и сопоставления с исходной строкой input.csv.
{
"utility": "Iodine131CapsulesQualityChecker",
"api": "Iodine131 Capsules",
"batchNumber": "I131-2026-001",
"overallStatus": "PASS|WARNING|FAIL",
"checkedAtUtc": "2026-05-18T00:00:00Z",
"checks": [
{
"parameter": "BatchNumber",
"value": "I131-2026-001",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "MeasuredActivityMBq",
"value": "370.0",
"unit": "MBq",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "DeclaredActivityMBq",
"value": "370.0",
"unit": "MBq",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "RadiochemicalPurity",
"value": "98.0",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "VolatileIodine",
"value": "2.0",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "DisintegrationTime",
"value": "10.0",
"unit": "min",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "HeavyMetals",
"value": "10",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "TAMC",
"value": "500",
"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-005 | Положительный патогенный/микробиологический флаг или превышение микробиологического лимита | Формируется критический FAIL с указанием параметра. |
| TC-006 | Недостаточное растворение или превышение времени распада | Формируется FAIL/WARNING согласно критичности метода. |
| TC-007 | Остаточный растворитель выше установленного предела | Формируется FAIL с указанием растворителя и измеренного значения. |
| 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, терапевтических радионуклидов, генераторов, меченых соединений, расчётов распада, стерильности, эндотоксинов и радиохимической/радионуклидной чистоты.
Открыть