HyperpolarizationDecayKineticsMonitor
Hyperpolarization Decay Kinetics Monitor
Описание утилиты: Hyperpolarization Decay Kinetics Monitor
Hyperpolarization Decay Kinetics Monitor — Монитор кинетики распада гиперполяризации Xe-129
ℹ️ Утилита анализирует время жизни спиновой поляризации (T1):
• Расчет измеренного T1
• Прогноз остаточного времени жизни сигнала
• Выявление аномального распада (примеси O2, плохие флаконы)
⚠️ КРИТИЧНО: Поляризация живет минуты/часы!
Если T1 падает быстрее нормы, изображение будет нечитаемым.
Использование:
HyperpolarizationDecayKineticsMonitor.exe → демо-режим (вывод в консоль)
HyperpolarizationDecayKineticsMonitor.exe input.csv output.json → оценка ваших данных
Формат input.csv:
BatchNumber,ProductName,Initial_Pol_Percent,Start_Time_H,Current_Pol_Percent,Elapsed_Time_H,O2_ppm,Wall_Factor,Min_Acceptable_Pol,Expected_T1_H
Пример:
XE-T1-2026-001,HP-Xe-129,40.0,0.0,25.0,1.5,10.0,0.95,5.0,2.5
— ЗАЧЕМ ЭТО НУЖНО?
Контроль кинетики распада критичен для логистики HP-MRI:
• Гиперполяризованный Xe-129 не вечен; он возвращается в тепловое равновесие
• Время этого процесса характеризуется константой T1 (Spin-Lattice Relaxation Time)
• T1 сильно зависит от наличия парамагнитных примесей (кислород) и качества стенок флакона
• Если T1 слишком короткий, газ "умирает" раньше, чем попадает в легкие пациента
• Утилита позволяет предсказать, хватит ли сигнала для сканирования через 30-60 минут
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Измеренный T1 должен соответствовать теоретическому для данной смеси (±20%)
• Наличие кислорода >50 ppm резко сокращает T1
• Плохое антирелаксационное покрытие стенок флакона ускоряет распад
• Остаточное время жизни должно быть достаточным для транспортировки и ввода
Ключевые особенности утилиты:
• Экспоненциальная аппроксимация кривой распада
• Расчет "остаточного срока годности" поляризации в минутах
• Диагностика причин быстрого распада (O2 vs Стенки)
• Поддержка различных изотопных смесей
Критические параметры:
• Measured T1: ≥80% от Expected T1
• Current Polarization: ≥5% (примерный порог детекции)
• Remaining Life: ≥15 мин
💡 Советы по использованию:
1. Измеряйте поляризацию сразу после выхода из спиннера (t=0) и перед введением пациенту
2. Используйте данные для калибровки моделей доставки газа
3. При низком T1 проверьте герметичность флакона и чистоту газа
4. Храните флаконы в магнитном поле (даже слабом) для продления T1
5. Учитывайте температуру: нагрев ускоряет релаксацию
⚠️ Особенность: В отличие от обычных лекарств, где срок годности измеряется годами, здесь он измеряется часами. Утилита превращает физический параметр T1 в практический инструмент планирования медицинского исследования.input.csv
BatchNumber,ProductName,Initial_Pol_Percent,Start_Time_H,Current_Pol_Percent,Elapsed_Time_H,O2_ppm,Wall_Factor,Min_Acceptable_Pol,Expected_T1_H XE-T1-2026-001,HP-Xe-129 (Good Vial),40.0,0.0,25.0,1.5,10.0,0.95,5.0,2.5 XE-T1-2026-002,HP-Xe-129 (Bad Coating),40.0,0.0,10.0,1.5,10.0,0.5,5.0,2.5 XE-T1-2026-003,HP-Xe-129 (O2 Leak),40.0,0.0,15.0,1.0,500.0,0.95,5.0,2.5
URS & FS — пользовательские требования и функциональная спецификация
URS & FS — спецификация пользователя и функциональная спецификация
Документ описывает контролируемый интерфейс и поведение утилиты HyperpolarizationDecayKineticsMonitor для объекта «Hyperpolarization Decay Kinetics Monitor». Пределы из исходного описания являются стартовой конфигурацией и до продуктивного применения должны быть сверены с утверждённой спецификацией, протоколом исследования, инструкцией к оборудованию и локальными SOP.
Предметные ограничения и критические параметры
- Measured T1: ≥80% от Expected T1
- Current Polarization: ≥5% (примерный порог детекции)
- Remaining Life: ≥15 мин
URS — пользовательские требования
| ID | Требование | Критичность | Критерий приёмки |
|---|---|---|---|
| URS-001 | Утилита должна принимать input.csv с точными заголовками из контракта данных. | High | Файл обрабатывается без ручного переименования колонок. |
| URS-002 | Утилита должна выполнять детерминированную проверку для «Hyperpolarization Decay Kinetics Monitor». | High | Для каждой строки формируется PASS / WARNING / FAIL. |
| URS-003 | Обязательные поля, типы, диапазоны, единицы и согласованность данных должны проверяться до предметных правил. | High | Ошибки схемы отделены от несоответствий. |
| URS-004 | Критические пределы из описания и утверждённой локальной конфигурации должны приводить к critical finding. | High | Нарушение критического правила приводит к FAIL. |
| URS-005 | Результат должен формироваться в машинно-читаемом output.json. | High | JSON содержит исходные значения, проверки, предупреждения и отказы. |
| URS-006 | Решение о соответствии не должно использовать машинное обучение. | Medium | Результат воспроизводим по явным правилам и входным данным. |
| URS-007 | Должна сохраняться трассируемость серии, исходного файла, версии правил и итогового статуса. | High | QA/QC может воспроизвести решение. |
| URS-008 | Утилита должна иметь ровно один основной портальный тег: instrumental. | Medium | Другие теги api / instrumental / medical_devices отсутствуют. |
| URS-009 | Документация должна поддерживать IQ/OQ/PQ или эквивалентную CSA/CSV-проверку. | Medium | Контракт, тестовые сценарии и change-control правила доступны вместе с утилитой. |
Контракт input.csv
| # | Поле | Тип | Единица | Пример | Назначение |
|---|---|---|---|---|---|
| 1 | BatchNumber | string | as specified | XE-T1-2026-001 | Идентификатор серии/партии для трассируемости. |
| 2 | ProductName | string | as specified | HP-Xe-129 (Good Vial) | Наименование контролируемого продукта, газа, процедуры или оборудования. |
| 3 | Initial_Pol_Percent | decimal | % | 40.0 | Показатель уровня, потери или целевого значения гиперполяризации Xe-129. |
| 4 | Start_Time_H | decimal | h | 0.0 | Временной параметр процесса, релаксации, накачки или исследования. |
| 5 | Current_Pol_Percent | decimal | % | 25.0 | Показатель уровня, потери или целевого значения гиперполяризации Xe-129. |
| 6 | Elapsed_Time_H | decimal | h | 1.5 | Временной параметр процесса, релаксации, накачки или исследования. |
| 7 | O2_ppm | decimal | ppm | 10.0 | Содержание или поток кислорода; параметр безопасности дыхательной смеси и/или сохранения поляризации. |
| 8 | Wall_Factor | decimal | as specified | 0.95 | Контролируемое поле input.csv: Wall Factor. |
| 9 | Min_Acceptable_Pol | decimal | as specified | 5.0 | Показатель уровня, потери или целевого значения гиперполяризации Xe-129. |
| 10 | Expected_T1_H | decimal | h | 2.5 | Продольное время релаксации или его целевое/прогнозное значение. |
BatchNumber,ProductName,Initial_Pol_Percent,Start_Time_H,Current_Pol_Percent,Elapsed_Time_H,O2_ppm,Wall_Factor,Min_Acceptable_Pol,Expected_T1_H XE-T1-2026-001,HP-Xe-129 (Good Vial),40.0,0.0,25.0,1.5,10.0,0.95,5.0,2.5 XE-T1-2026-002,HP-Xe-129 (Bad Coating),40.0,0.0,10.0,1.5,10.0,0.5,5.0,2.5 XE-T1-2026-003,HP-Xe-129 (O2 Leak),40.0,0.0,15.0,1.0,500.0,0.95,5.0,2.5
FS — функциональная спецификация
| ID | Функция | Реализация |
|---|---|---|
| FS-001 | CLI execution | HyperpolarizationDecayKineticsMonitor.exe поддерживает demo mode и режим input.csv output.json. |
| FS-002 | CSV import | Чтение UTF-8 CSV, проверка заголовка, количества и порядка колонок. |
| FS-003 | Schema validation | Проверка обязательности, пустых значений, типов и базовой правдоподобности. |
| FS-004 | Domain rule engine | Применение явных правил для «Hyperpolarization Decay Kinetics Monitor» и локально утверждённых пределов. |
| FS-005 | Status aggregation | FAIL при critical finding; WARNING при некритическом отклонении; PASS при полном соответствии. |
| FS-006 | JSON export | Запись исходных значений, применённых правил, статусов, warnings, failures и версии конфигурации. |
| FS-007 | Audit support | Сохранение структуры результата для review, расследования, IQ/OQ и change control. |
| FS-008 | Integration contract | LIMS/ELN/MES или приборный wrapper формирует CSV; утилита возвращает JSON. |
Пример output.json
{
"utilityId": "hyperpolarization-decay-kinetics-monitor",
"primaryTag": "instrumental",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "XE-T1-2026-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ProductName",
"value": "HP-Xe-129 (Good Vial)",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Initial_Pol_Percent",
"value": "40.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Start_Time_H",
"value": "0.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Current_Pol_Percent",
"value": "25.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Elapsed_Time_H",
"value": "1.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "O2_ppm",
"value": "10.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Wall_Factor",
"value": "0.95",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
}
],
"warnings": [],
"criticalFindings": []
}
OQ/PQ тестовые сценарии
| ID | Сценарий | Ожидаемый результат |
|---|---|---|
| OQ-001 | Валидная строка из примера | PASS или допустимый WARNING согласно локальным правилам. |
| OQ-002 | Отсутствует обязательная колонка | Ошибка схемы; предметные проверки не маскируют ошибку. |
| OQ-003 | Нечисловое значение в числовом поле | Ошибка преобразования типа. |
| OQ-004 | Критический параметр за пределом | FAIL и critical finding. |
| OQ-005 | Граничное значение | Результат соответствует явно заданному оператору ≤ / ≥ / < / >. |
| PQ-001 | Реальные данные площадки | Согласованный QA/QC review с сохранением CSV, JSON, версии и контрольной суммы. |
QA/QC и change control
- Не менять имена колонок без обновления валидатора, документации и тестового набора.
- Хранить input.csv, output.json, версию исполняемого файла, версию правил и контрольные суммы.
- Перед продуктивным использованием выполнить локальную проверку пределов и IQ/OQ/PQ или эквивалентную CSA.
- Изменения, влияющие на безопасность пациента, дозиметрию, газовую смесь, поляризацию или оборудование, требуют документированного impact assessment.
Входит в пакеты
Rph Hyperpolarized Xenon Lifecycle QC Suite
29 утилит для полного жизненного цикла гиперполяризованного ксенона: изотопный состав и чистота газа, SEOP и поляризация, T1/хранение/транспорт, безопасное смешивание и подача, MRI/SPECT QC, дозиметрия, scavenging, recovery и recycling.
ОткрытьRPH isotope family: xenon and gas tracers
Xe-127, Xe-129 и Xe-133 для ventilation, hyperpolarized imaging, gas QC и safety.
ОткрытьRPH organ/system: печень, желчные пути и ЖКТ
HIDA, mebrofenin, gallbladder, gastric emptying, GI transit, bleeding и liver/spleen imaging.
ОткрытьRPH organ/system: лёгкие и вентиляция
Lung perfusion, MAA, V/Q, aerosol, xenon ventilation, shunt и pulmonary dosimetry.
ОткрытьRPH use case: ксенон, вентиляция и медицинские газы
Xe-129, Xe-133, Xe-127, гиперполяризация, SEOP, T1, mixing, scavenging, transport, recovery и вентиляционная визуализация.
Открыть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: product release QC
Assay, purity, sterility, endotoxins, pH, impurities, appearance и batch-release checks.
ОткрытьRPH workflow: стабильность, хранение, распад и отходы
Kinetic stability, shelf life, decay correction, expiry, storage, trend и radioactive waste.
Открыть