ShieldingCalculator
Shielding Calculator
Shielding Calculator — Расчет радиационной защиты (NCRP 147/151)
ℹ️ Утилита рассчитывает необходимую толщину защитного барьера (бетон, свинец, гипсокартон) или проверяет соответствие существующей защиты нормам.
ℹ️ Использует метод коэффициента пропускания (Transmission Factor) на основе рабочей нагрузки (W), расстояния (d), факторов использования (U) и занятости (T).
ℹ️ Обработка: только ПЕРВАЯ запись в файле input.csv.
⚠️ Критично для ввода объектов в эксплуатацию! Ошибка в расчете защиты ведет к превышению дозовых лимитов для персонала и населения.
Использование:
ShieldingCalculator.exe → демо-режим
ShieldingCalculator.exe input.csv output.json → расчет данных (первая запись)
Формат input.csv:
RoomID,BarrierType,WorkloadGyPerWeek,UseFactor,OccupancyFactor,DistanceM,DesignDoseSvPerWeek,ExistingThicknessCm,HVL_Cm,TVL_Cm
Пример (вторичный барьер КТ, бетон):
CT-Room-01_Barrier_North,Secondary,100.0,1.0,0.2,3.5,0.0001,20.0,2.5,8.3
— ЗАЧЕМ ЭТО НУЖНО?
При проектировании рентген-кабинетов, КТ, ПЭТ-центров и бункеров ЛТ необходимо гарантировать, что доза за стеной не превысит норму (обычно 0.1 мЗв/нед для публики, 1.0 мЗв/нед для персонала).
• Формула учитывает обратный квадрат расстояния и ослабление в материале.
• Позволяет быстро проверить «узкие места» (двери, лабиринты, стыки плит).
• Независимая проверка проекта архитекторов и инженеров.
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Рабочая нагрузка (W) должна быть реалистичной (пиковой), а не средней.
• Фактор занятости (T) для коридоров часто берут 1/5 или 1/20, для соседних кабинетов — 1.
• TVL/HVL зависят от напряжения на трубке (кВ) или типа нуклида. Использование неверных значений фатально.
• Минимальный запас прочности обычно ≥ 1 TVL или фиксированная величина (например, 1-2 см бетона).
Критические параметры:
• Дизайн-доза (P): 0.1 мЗв/нед (публика), 1.0 мЗв/нед (персонал)
• TVL (Tenth Value Layer): толщина, ослабляющая пучок в 10 раз
• Запас защиты (Margin): Required vs Existing
⚠️ Особенность: Утилита автоматически рассчитывает требуемую толщину и сравнивает с имеющейся. При дефиците защиты выдает статус FAIL с требованием усилить барьер. Результат содержит статус и рекомендацию на двух языках (RU/EN).
input.csv
RoomID,BarrierType,WorkloadGyPerWeek,UseFactor,OccupancyFactor,DistanceM,DesignDoseSvPerWeek,ExistingThicknessCm,HVL_Cm,TVL_Cm CT-Room-01_Barrier_North,Secondary,100.0,1.0,0.2,3.5,0.0001,20.0,2.5,8.3
URS & FS — пользовательские требования и функциональная спецификация
Этот документ описывает требования пользователя и функциональную спецификацию для утилиты контроля качества. Он предназначен для обсуждения внедрения, подготовки IQ/OQ и интеграции в контур ОКК/QC.
1. Область применения
Утилита Shielding Calculator применяется для объекта Shielding Calculator. Источником истины для структуры входных данных является фактический input.csv; критерии контроля задаются исполняемым модулем и предметным описанием.
Утилита не использует машинное обучение; решение формируется детерминированными правилами.
Категории: Radiation physics
Теги: activity, brachytherapy, dosimetry, source calibration, TG-43
2. Режимы запуска
ShieldingCalculator.exe → демо-режим ShieldingCalculator.exe input.csv output.json → расчет данных (первая запись)
3. Ключевые контролируемые области
- радиоактивность, распад и радиохимическая чистота
4. Предметные ограничения и критические параметры
- ⚠️ Критично для ввода объектов в эксплуатацию! Ошибка в расчете защиты ведет к превышению дозовых лимитов для персонала и населения.
- ⚠️ КРИТИЧЕСКИ ВАЖНО:
- Рабочая нагрузка (W) должна быть реалистичной (пиковой), а не средней.
- Фактор занятости (T) для коридоров часто берут 1/5 или 1/20, для соседних кабинетов — 1.
- TVL/HVL зависят от напряжения на трубке (кВ) или типа нуклида. Использование неверных значений фатально.
- Минимальный запас прочности обычно ≥ 1 TVL или фиксированная величина (например, 1-2 см бетона).
- Критические параметры:
- Дизайн-доза (P): 0.1 мЗв/нед (публика), 1.0 мЗв/нед (персонал)
- TVL (Tenth Value Layer): толщина, ослабляющая пучок в 10 раз
- Запас защиты (Margin): Required vs Existing
- ⚠️ Особенность: Утилита автоматически рассчитывает требуемую толщину и сравнивает с имеющейся. При дефиците защиты выдает статус FAIL с требованием усилить барьер. Результат содержит статус и рекомендацию на двух языках (RU/EN).
5. URS — пользовательские требования
| ID | Требование | Критичность | Критерий приемки |
|---|---|---|---|
| URS-001 | Система должна принимать файл input.csv для Shielding Calculator с точным набором колонок, перечисленным в разделе «Контракт входных данных». | High | Файл с корректным заголовком читается без ручного редактирования; отсутствие обязательной колонки приводит к FAIL/ошибке импорта. |
| URS-002 | Система должна обрабатывать запуск без аргументов в демонстрационном режиме и запуск с аргументами input.csv output.json для пользовательских данных. | Medium | Оба сценария запуска дают предсказуемый результат или понятное сообщение об ошибке. |
| URS-003 | Система должна выполнять rule-based контроль по областям: радиоактивность, распад и радиохимическая чистота. | 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 | RoomID | текст | as specified | Room ID | CT-Room-01_Barrier_North | обязательное значение; формат и допустимость проверяются утилитой |
| 2 | BarrierType | текст | as specified | Barrier Type | Secondary | обязательное значение; формат и допустимость проверяются утилитой |
| 3 | WorkloadGyPerWeek | десятичное число | as specified | Workload Gy per Week | 100.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 4 | UseFactor | десятичное число | as specified | Use Factor | 1.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 5 | OccupancyFactor | десятичное число | as specified | Occupancy Factor | 0.2 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 6 | DistanceM | десятичное число | as specified | Distance M | 3.5 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 7 | DesignDoseSvPerWeek | десятичное число | as specified | Design Dose Sv per Week | 0.0001 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 8 | ExistingThicknessCm | десятичное число | as specified | Existing Thickness Cm | 20.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 9 | HVL_Cm | десятичное число | as specified | HVL Cm | 2.5 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 10 | TVL_Cm | десятичное число | as specified | TVL Cm | 8.3 | обязательное числовое значение; сравнение с правилом выполняет утилита |
Пример CSV
RoomID,BarrierType,WorkloadGyPerWeek,UseFactor,OccupancyFactor,DistanceM,DesignDoseSvPerWeek,ExistingThicknessCm,HVL_Cm,TVL_Cm CT-Room-01_Barrier_North,Secondary,100.0,1.0,0.2,3.5,0.0001,20.0,2.5,8.3
7. FS — функциональная спецификация
| ID | Функция | Описание реализации |
|---|---|---|
| FS-001 | CLI entry point | Исполняемый файл ShieldingCalculator.exe принимает режим демонстрации и режим обработки input.csv output.json. |
| FS-002 | CSV parser | Модуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка. |
| FS-003 | Field conversion | Для каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг. |
| FS-004 | Domain rule engine | Для объекта Shielding Calculator применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка. |
| 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": "ShieldingCalculator",
"api": "Shielding Calculator",
"batchNumber": "",
"overallStatus": "PASS|WARNING|FAIL",
"checkedAtUtc": "2026-05-18T00:00:00Z",
"checks": [
{
"parameter": "RoomID",
"value": "CT-Room-01_Barrier_North",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "BarrierType",
"value": "Secondary",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "WorkloadGyPerWeek",
"value": "100.0",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "UseFactor",
"value": "1.0",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "OccupancyFactor",
"value": "0.2",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "DistanceM",
"value": "3.5",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "DesignDoseSvPerWeek",
"value": "0.0001",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "ExistingThicknessCm",
"value": "20.0",
"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 согласно правилу. |
10. QA/QC, CSV и управление изменениями
- Перед применением на производстве клиент фиксирует версию исполняемого файла, контрольную сумму, версию спецификации/монографии, тестовый CSV, ожидаемый JSON и результаты IQ/OQ.
- Нельзя менять имена колонок без обновления валидатора и тестовых сценариев.
- Исходный CSV, output.json и версия утилиты должны храниться вместе как пакет доказательств.
- Любое изменение правил контроля должно проходить change control и повторную проверку OQ-сценариев.
Входит в пакеты
Radiation Physics QC Suite
Утилиты для расчётов активности, дозиметрии, источников брахитерапии, малых полей и параметров TG-43.
ОткрытьРадиология
Пакет для радиологии и диагностической визуализации: радиофармпрепараты, PET/SPECT, контрастные вещества, йодсодержащие и гадолиниевые препараты, а также проверки частиц, стерильности и эндотоксинов.
Открыть