HemodialysisSolutionQualityChecker

Hemodialysis Solution

contrast media dialysis endotoxins infusions sterile products WFI
Открыть подборку

Hemodialysis Solution Quality Checker — Проверка растворов для гемодиализа (Ph. Eur. 0424)

ℹ️ Утилита проверяет соответствие электролитного состава, эндотоксинов и pH растворов для гемодиализа требованиям Европейской фармакопеи.
ℹ️ Не использует машинное обучение — только правила.
⚠️ Критически важна точность ионного состава для поддержания кислотно-щелочного баланса пациента.

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

Формат input.csv:
ProductName,BatchNumber,Sodium_mmol_per_L,Potassium_mmol_per_L,Calcium_mmol_per_L,Magnesium_mmol_per_L,Chloride_mmol_per_L,Acetate_mmol_per_L,Bicarbonate_mmol_per_L,Glucose_mmol_per_L,EndotoxinLevel_EU_per_ml,pH

Пример:
HemodialysisSolution_Standard,HD20260301,138.0,2.0,1.5,0.5,109.5,3.0,35.0,5.5,0.1,7.3

— ЗАЧЕМ ЭТО НУЖНО?
Растворы для гемодиализа напрямую контактируют с кровью пациента. Их состав должен точно соответствовать физиологическим параметрам:
• Отклонение по ионам → нарушение электролитного баланса, аритмии,
• Высокий уровень эндотоксинов → воспалительная реакция,
• Неправильный pH → метаболический ацидоз/алкалоз.
Соответствие Ph. Eur. 0424 обязательно для выпуска диализатов.

input.csv

ProductName,BatchNumber,Sodium_mmol_per_L,Potassium_mmol_per_L,Calcium_mmol_per_L,Magnesium_mmol_per_L,Chloride_mmol_per_L,Acetate_mmol_per_L,Bicarbonate_mmol_per_L,Glucose_mmol_per_L,EndotoxinLevel_EU_per_ml,pH
HemodialysisSolution_Standard,HD20260301,138.0,2.0,1.5,0.5,109.5,3.0,35.0,5.5,0.1,7.3

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

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

Утилита: HemodialysisSolutionQualityCheckerAPI / объект: Hemodialysis SolutionКатегория: Sterile liquids

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

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

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

Категории: Sterile liquids

Теги: contrast media, dialysis, endotoxins, infusions, sterile products, WFI

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

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

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

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

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

  • ⚠️ Критически важна точность ионного состава для поддержания кислотно-щелочного баланса пациента.
Пределы, указанные в описании, должны быть сверены с актуальной утверждённой спецификацией, фармакопейной монографией и регистрационным досье перед продуктивным применением.

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

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

#КолонкаТипЕд.ОписаниеПримерПравило контроля
1ProductNameидентификаторas specifiedProduct NameHemodialysisSolution_Standardобязательное значение; формат и допустимость проверяются утилитой
2BatchNumberидентификаторas specifiedBatch NumberHD20260301обязательное поле; используется для трассируемости серии/партии
3Sodium_mmol_per_Lдесятичное числоas specifiedSodium mmol per L138.0обязательное числовое значение; сравнение с правилом выполняет утилита
4Potassium_mmol_per_Lдесятичное числоas specifiedPotassium mmol per L2.0обязательное числовое значение; сравнение с правилом выполняет утилита
5Calcium_mmol_per_Lдесятичное числоas specifiedCalcium mmol per L1.5обязательное числовое значение; сравнение с правилом выполняет утилита
6Magnesium_mmol_per_Lдесятичное числоas specifiedMagnesium mmol per L0.5обязательное числовое значение; сравнение с правилом выполняет утилита
7Chloride_mmol_per_Lдесятичное числоas specifiedChloride mmol per L109.5обязательное числовое значение; сравнение с правилом выполняет утилита
8Acetate_mmol_per_Lдесятичное числоas specifiedAcetate mmol per L3.0обязательное числовое значение; сравнение с правилом выполняет утилита
9Bicarbonate_mmol_per_Lдесятичное числоas specifiedBicarbonate mmol per L35.0обязательное числовое значение; сравнение с правилом выполняет утилита
10Glucose_mmol_per_Lдесятичное числоas specifiedGlucose mmol per L5.5обязательное числовое значение; сравнение с правилом выполняет утилита
11EndotoxinLevel_EU_per_mlдесятичное числоEU/mlEndotoxin Level EU per ml0.1число; критический показатель безопасности, сравнивается с лимитом эндотоксинов
12pHдесятичное числоpHp H7.3обязательное числовое значение; сравнение с правилом выполняет утилита

Пример CSV

ProductName,BatchNumber,Sodium_mmol_per_L,Potassium_mmol_per_L,Calcium_mmol_per_L,Magnesium_mmol_per_L,Chloride_mmol_per_L,Acetate_mmol_per_L,Bicarbonate_mmol_per_L,Glucose_mmol_per_L,EndotoxinLevel_EU_per_ml,pH
HemodialysisSolution_Standard,HD20260301,138.0,2.0,1.5,0.5,109.5,3.0,35.0,5.5,0.1,7.3

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

IDФункцияОписание реализации
FS-001CLI entry pointИсполняемый файл HemodialysisSolutionQualityChecker.exe принимает режим демонстрации и режим обработки input.csv output.json.
FS-002CSV parserМодуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка.
FS-003Field conversionДля каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг.
FS-004Domain rule engineДля объекта Hemodialysis Solution применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка.
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": "HemodialysisSolutionQualityChecker",
  "api": "Hemodialysis Solution",
  "batchNumber": "HD20260301",
  "overallStatus": "PASS|WARNING|FAIL",
  "checkedAtUtc": "2026-05-18T00:00:00Z",
  "checks": [
    {
      "parameter": "ProductName",
      "value": "HemodialysisSolution_Standard",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "BatchNumber",
      "value": "HD20260301",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Sodium_mmol_per_L",
      "value": "138.0",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Potassium_mmol_per_L",
      "value": "2.0",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Calcium_mmol_per_L",
      "value": "1.5",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Magnesium_mmol_per_L",
      "value": "0.5",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Chloride_mmol_per_L",
      "value": "109.5",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Acetate_mmol_per_L",
      "value": "3.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 согласно правилу.
TC-005Положительный патогенный/микробиологический флаг или превышение микробиологического лимитаФормируется критический FAIL с указанием параметра.

10. QA/QC, CSV и управление изменениями

  • Перед применением на производстве клиент фиксирует версию исполняемого файла, контрольную сумму, версию спецификации/монографии, тестовый CSV, ожидаемый JSON и результаты IQ/OQ.
  • Нельзя менять имена колонок без обновления валидатора и тестовых сценариев.
  • Исходный CSV, output.json и версия утилиты должны храниться вместе как пакет доказательств.
  • Любое изменение правил контроля должно проходить change control и повторную проверку OQ-сценариев.

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

Диабет

Пакет для противодиабетических препаратов: инсулины, метформин, SGLT2/DPP-4/GLP-1 препараты, глюкагон и сопутствующие проверки качества лекарственных форм.

Открыть

Medical Liquids QC Suite

Пакет контроля стерильных жидкостей, инфузионных растворов, диализных растворов, контрастных средств и воды для инъекций.

Открыть

Радиология

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

Открыть