InfraLUM_ID_Ranitidine

InfraLUM ID Ranitidine

Lumex QC URS & FS input.csv output.json rule-based LIMS-ready InfraLUM
Открыть подборку

Описание утилиты: InfraLUM ID Ranitidine

InfraLUM ID Ranitidine — Идентификация ранитидина методом ИК-спектроскопии

ℹ️  Утилита проверяет соответствие ИК-спектра ранитидина гидрохлорида эталону (ГФ РФ / Ph. Eur.):
    • Коэффициент корреляции с эталонным спектром: ≥0.995
    • Пик 3420 см⁻¹ (N-H валентные колебания вторичного амина/амида): ±20 см⁻¹
    • Пик 1635 см⁻¹ (C=N/C=C нитроэтендиаминового мостика): ±10 см⁻¹ — МАРКЕР ФАРМАКОФОРА
    • Пик 1590 см⁻¹ (NO₂ асимметричное растяжение): ±10 см⁻¹
    • Пик 1360 см⁻¹ (NO₂ симметричное растяжение): ±10 см⁻¹ — МАРКЕР НИТРОГРУППЫ
    • Пик 1240 см⁻¹ (C-S тиоэфирная связь): ±10 см⁻¹
    • Шум базовой линии: ≤0.005 Abs

⚠️  ВАЖНО: Ранитидин — антагонист H₂-гистаминовых рецепторов.
    Ключевой структурный элемент — нитроэтендиаминовый мостик (-NH-CH=C(NO₂)-NH-),
    который является биоизостером имидазольного кольца гистамина.
    Этот фрагмент даёт уникальную комбинацию пиков:
    • C=N/C=C сопряжённой системы при ~1635 см⁻¹
    • Пару NO₂ асимм./симм. растяжений при ~1590/1360 см⁻¹
    Ни один другой H₂-блокатор не содержит нитрогруппу в этом положении.

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

Формат input.csv:
BatchNumber,CorrelationCoefficient,Peak3420_cm1,Peak1635_cm1,Peak1590_cm1,Peak1360_cm1,Peak1240_cm1,BaselineNoiseAbs,PreparationMethod

Пример (PreparationMethod: KBr / ATR / Nujol):
  RAN-ID-2026-048,0.9991,3418.0,1633.0,1592.0,1358.0,1242.0,0.0016,KBr

— ЗАЧЕМ ЭТО НУЖНО?
Ранитидина гидрохлорид — противоязвенное средство, блокатор H₂-рецепторов.
• Структура содержит фурановое кольцо, тиоэфирный мостик, нитроэтендиаминовый фрагмент
  и диметиламинометильную группу.
• Тиоэфирная связь (C-S) обеспечивает гибкость молекулы для связывания с рецептором.
• Эталонный спектр закреплён в ГФ РФ ФС.2.4.00267.18 и Ph. Eur. Ranitidine hydrochloride.
• Приборы ИнфраЛЮМ FT-08/FT-10 широко используются в российских лабораториях ОКК.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• Корреляция ≥0.995 — строгий критерий совпадения с эталоном.
• Пик 1635 см⁻¹ (C=N/C=C) — главный маркер нитроэтендиаминового фармакофора.
  Сдвиг или отсутствие указывает на разрушение сопряжённой системы.
• Пара пиков 1590/1360 см⁻¹ (NO₂) — специфический маркер нитрогруппы.
  Разница между асимм. и симм. растяжением (~230 см⁻¹) характерна для алифатических нитросоединений.
  Отсутствие пары NO₂ однозначно исключает ранитидин.
• Пик 1240 см⁻¹ (C-S) — подтверждает наличие тиоэфирного мостика.
  Отличает ранитидин от циметидина (S-CH₂ вместо S-CH₂-CH₂).
• Пик 3420 см⁻¹ (N-H) — чувствителен к водородным связям и влажности.
• Шум >0.005 Abs делает спектр непригодным для идентификации.

Ключевые особенности утилиты:
• Использован ИМЕНОВАННЫЙ КОРТЕЖ (record struct EvalResult) —
  исключены ошибки доступа к полям по позиции.
• Спецификация основана на ГФ РФ ФС.2.4.00267.18 и Ph. Eur. Ranitidine hydrochloride.
• Контроль пяти характеристических пиков + корреляция + качество спектра.
• Дифференциация от других H₂-блокаторов через пару NO₂ и C=S пики.
• Полная совместимость с LIMS LabWare.

Критические параметры:
• Correlation Coefficient: ≥0.995
• Peak 3420 cm⁻¹ (N-H stretch): 3420 ± 20 cm⁻¹
• Peak 1635 cm⁻¹ (C=N/C=C nitroethenediamine): 1635 ± 10 cm⁻¹
• Peak 1590 cm⁻¹ (NO₂ asymmetric): 1590 ± 10 cm⁻¹
• Peak 1360 cm⁻¹ (NO₂ symmetric): 1360 ± 10 cm⁻¹
• Peak 1240 cm⁻¹ (C-S thioether): 1240 ± 10 cm⁻¹
• Baseline Noise: ≤0.005 Abs

💡 Советы по использованию:
1. Таблетки KBr должны быть сухими — просушивать при 120°C перед использованием.
   Ранитидин HCl гигроскопичен; влага искажает область N-H.
2. Концентрация образца в KBr: 0.5–1.0% (масс.).
3. Спектр снимать в диапазоне 4000–400 см⁻¹, разрешение 4 см⁻¹, 32 скана.
4. Перед каждым измерением снимать фоновый спектр чистой KBr.
5. Для метода ATR обеспечить плотный контакт кристалла с образцом.
6. Эталонный спектр должен быть получен на том же приборе в тех же условиях.
7. Ранитидин светочувствителен — готовить пробу при рассеянном свете.

⚠️ Особенность: Нитроэтендиаминовый мостик существует в виде E/Z геометрических изомеров.
    В твёрдом состоянии преобладает одна форма, но при растворении или нагревании
    возможна изомеризация. Это может проявляться как расщепление или уширение
    пика 1635 см⁻¹. При использовании метода ATR (где образец контактирует с
    горячим кристаллом) следите за воспроизводимостью формы этого пика.
    Фурановое кольцо даёт дополнительные пики C-O-C при ~1020 см⁻¹ и C-H out-of-plane
    при ~750 см⁻¹, которые служат подтверждающими маркерами.
    ⚠️ ПРЕДУПРЕЖДЕНИЕ О NDMA: Ранитидин способен образовывать N-нитрозодиметиламин (NDMA)
    при хранении. NDMA имеет характерный пик N=O при ~1550 см⁻¹, который может
    перекрываться с NO₂-полосой ранитидина. ИК-спектроскопия НЕ является методом
    контроля NDMA! Для определения нитрозаминов используйте LC-MS/MS или GC-MS.

input.csv

BatchNumber,CorrelationCoefficient,Peak3420_cm1,Peak1635_cm1,Peak1590_cm1,Peak1360_cm1,Peak1240_cm1,BaselineNoiseAbs,PreparationMethod
RAN-ID-2026-048,0.9991,3418.0,1633.0,1592.0,1358.0,1242.0,0.0016,KBr
RAN-ID-2026-049,0.9915,3445.0,1620.0,1575.0,1375.0,1225.0,0.007,KBr

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

Документ описывает контролируемый интерфейс, валидационное поведение и ожидаемые результаты утилиты InfraLUM_ID_Ranitidine. Документ предназначен для включения в папку утилиты рядом с input.csv и файлом описания. Предполагаемый исполняемый файл: InfraLUM_ID_Ranitidine.exe.

Назначение: утилита выполняет детерминированную проверку входных QC-данных по утверждённым пределам, формирует машинно-читаемый output.json и поддерживает review в QC/QA, интеграцию с LIMS/ELN/MES и подготовку CSV/CSA-пакета.

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

Класс утилитыИК-спектроскопия / ИнфраЛЮМ
Основной объект/методИдентификация ранитидина методом ИК-спектроскопии
Входinput.csv с фиксированным заголовком и контролируемыми типами данных.
Выходoutput.json со статусами PASS, WARNING, FAIL, перечнем проверок и критическими находками.
ИсключенияУтилита не заменяет утверждённую спецификацию, методику анализа, расследование OOS/OOT и решение Qualified Person / QA о выпуске.

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

Ниже приведены ключевые фрагменты исходного описания. Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье, актуальной фармакопейной редакцией и локальными SOP.
  • • Коэффициент корреляции с эталонным спектром: ≥0.995
  • • Пик 3420 см⁻¹ (N-H валентные колебания вторичного амина/амида): ±20 см⁻¹
  • • Пик 1635 см⁻¹ (C=N/C=C нитроэтендиаминового мостика): ±10 см⁻¹ — МАРКЕР ФАРМАКОФОРА
  • • Пик 1590 см⁻¹ (NO₂ асимметричное растяжение): ±10 см⁻¹
  • • Пик 1360 см⁻¹ (NO₂ симметричное растяжение): ±10 см⁻¹ — МАРКЕР НИТРОГРУППЫ
  • • Пик 1240 см⁻¹ (C-S тиоэфирная связь): ±10 см⁻¹
  • • Шум базовой линии: ≤0.005 Abs
  • ⚠️ ВАЖНО: Ранитидин — антагонист H₂-гистаминовых рецепторов.
  • • C=N/C=C сопряжённой системы при ~1635 см⁻¹
  • • Пару NO₂ асимм./симм. растяжений при ~1590/1360 см⁻¹
  • InfraLUM_ID_Ranitidine.exe input.csv output.json → оценка ваших данных
  • Формат input.csv:
  • BatchNumber,CorrelationCoefficient,Peak3420_cm1,Peak1635_cm1,Peak1590_cm1,Peak1360_cm1,Peak1240_cm1,BaselineNoiseAbs,PreparationMethod
  • • Структура содержит фурановое кольцо, тиоэфирный мостик, нитроэтендиаминовый фрагмент
  • • Тиоэфирная связь (C-S) обеспечивает гибкость молекулы для связывания с рецептором.
  • • Эталонный спектр закреплён в ГФ РФ ФС.2.4.00267.18 и Ph. Eur. Ranitidine hydrochloride.

Фармакопейные и нормативные ссылки, найденные в описании

#ИсточникПримечание
1Ph. EurИспользуется как указание на источник/контекст метода; перед внедрением требуется сверка с актуальной редакцией.
2Ph. Eur. Ranitidine hydrochlorideИспользуется как указание на источник/контекст метода; перед внедрением требуется сверка с актуальной редакцией.
3Ph. Eur. / Russian PharmacopoeiaИспользуется как указание на источник/контекст метода; перед внедрением требуется сверка с актуальной редакцией.
4Ph. Eur. Ranitidine hydrochloride and Russian Pharmacopoeia FS.2.4.00267.18Используется как указание на источник/контекст метода; перед внедрением требуется сверка с актуальной редакцией.
5ГФ РФ / Ph. EurИспользуется как указание на источник/контекст метода; перед внедрением требуется сверка с актуальной редакцией.
6ГФ РФ ФС.2.4.00267.18 и Ph. Eur. Ranitidine hydrochlorideИспользуется как указание на источник/контекст метода; перед внедрением требуется сверка с актуальной редакцией.

Производственный поток данных

ШагОтветственный объектОписаниеКонтроль
1LIMS/ELN/MES или аналитик QCФормирует input.csv с результатами измерений и идентификатором серии.Проверка заголовков, обязательных полей и единиц измерения.
2InfraLUM_ID_RanitidineЗагружает CSV, выполняет приведение типов, применяет предметные правила и формирует результат.Детерминированные правила, отсутствие ML/эвристического решения о соответствии.
3QC reviewer / QAПроверяет output.json, предупреждения, критические отклонения и исходные значения.Review, расследование отклонений, сохранение следа данных.
4Архив / eQMSСохраняет вход, выход, версию утилиты, документацию и контрольную сумму.Data integrity: ALCOA+, воспроизводимость, change control.

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна поставляться с документацией InfraLUM_ID_Ranitidine.documentation.html в той же папке, где находится описание и пример input.csv.MediumФайл документации присутствует в папке InfraLUM_ID_Ranitidine и открывается локально в браузере.
URS-002Утилита должна принимать input.csv с точными заголовками, определёнными в контракте данных.HighCSV с корректным заголовком обрабатывается без ручного редактирования.
URS-003Утилита должна проверять наличие обязательных полей, количество колонок, типы данных и базовую правдоподобность значений.HighОшибки схемы и преобразования явно отражаются в результате.
URS-004Утилита должна выполнять оценку по утверждённым пределам для каждого критического и некритического QC-параметра.HighКаждый проверяемый параметр получает статус и пояснение.
URS-005Утилита должна формировать итоговый статус серии/строки: PASS, WARNING или FAIL.HighКритическое отклонение приводит к FAIL; некритическое — к WARNING.
URS-006Утилита должна формировать output.json, пригодный для LIMS/ELN/MES-интеграции и QA/QC review.HighJSON содержит исходные значения, правила, статусы, предупреждения и критические находки.
URS-007Утилита должна сохранять трассируемость между идентификатором серии, входными значениями, применёнными правилами и итоговым статусом.HighВ выходе есть идентификатор серии/строки и перечень проверенных параметров.
URS-008Утилита не должна использовать машинное обучение или вероятностную интерпретацию для решения о соответствии.MediumРезультат воспроизводим и основан на явных правилах, порогах и входных значениях.
URS-009Утилита должна быть пригодна для запуска в CLI-сценарии: InfraLUM_ID_Ranitidine.exe input.csv output.json.HighПри корректных аргументах создаётся output.json; при ошибке возвращается диагностическое сообщение.
URS-010Документация должна поддерживать подготовку IQ/OQ/PQ или эквивалентной CSV/CSA-проверки.MediumДокумент содержит URS, FS, CSV-контракт, правила, тестовые сценарии и traceability.
URS-011Утилита должна разделять ошибки данных, предупреждения метода и критические отказы спецификации.HighВ output.json доступны отдельные коллекции/поля для errors, warnings, critical findings.
URS-012Утилита должна поддерживать архивирование входа и выхода без изменения данных.Mediuminput.csv и output.json могут быть сохранены как часть записи серии или OQ/PQ-доказательства.

Контракт input.csv

#ПолеТипПримерНазначение
1BatchNumberstringRAN-ID-2026-048Идентификатор серии/партии для трассируемости.
2CorrelationCoefficientdecimal0.9991Критерий сходства/корреляции с эталонным профилем.
3Peak3420_cm1decimal3418.0Положение спектрального пика или характеристика аналитического/хроматографического пика.
4Peak1635_cm1decimal1633.0Положение спектрального пика или характеристика аналитического/хроматографического пика.
5Peak1590_cm1decimal1592.0Положение спектрального пика или характеристика аналитического/хроматографического пика.
6Peak1360_cm1decimal1358.0Положение спектрального пика или характеристика аналитического/хроматографического пика.
7Peak1240_cm1decimal1242.0Положение спектрального пика или характеристика аналитического/хроматографического пика.
8BaselineNoiseAbsdecimal0.0016Показатель качества сигнала для оценки пригодности анализа.
9PreparationMethodcontrolled stringKBrКонтролируемый идентификатор метода анализа или пробоподготовки.
BatchNumber,CorrelationCoefficient,Peak3420_cm1,Peak1635_cm1,Peak1590_cm1,Peak1360_cm1,Peak1240_cm1,BaselineNoiseAbs,PreparationMethod
RAN-ID-2026-048,0.9991,3418.0,1633.0,1592.0,1358.0,1242.0,0.0016,KBr
RAN-ID-2026-049,0.9915,3445.0,1620.0,1575.0,1375.0,1225.0,0.007,KBr

Правила валидации входных данных

IDПолеТипПроверкаКритичность
VR-001BatchNumberstringне пусто; уникально в пределах файла, если применимоMedium
VR-002CorrelationCoefficientdecimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-003Peak3420_cm1decimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-004Peak1635_cm1decimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-005Peak1590_cm1decimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-006Peak1360_cm1decimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-007Peak1240_cm1decimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-008BaselineNoiseAbsdecimalпреобразуется как invariant decimal; конечное значение; без NaN/Infinity; оценка относительно утверждённого числового пределаMedium
VR-009PreparationMethodcontrolled stringне пусто; значение входит в контролируемый перечень либо фиксируется как warningMedium

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

IDФункцияРеализацияСвязь с URS
FS-001Локальная HTML-документацияПредоставить двуязычный файл InfraLUM_ID_Ranitidine.documentation.html с переключателем RU/EN, исходным описанием, URS, FS, контрактами и тестами.URS-001, URS-010
FS-002CSV importСчитать input.csv в UTF-8/CSV-совместимом формате, определить строку заголовка и записи данных.URS-002, URS-009
FS-003Schema validationСравнить фактические колонки с ожидаемым контрактом; отсутствующие ключевые поля фиксировать как ошибку схемы.URS-002, URS-003
FS-004Type conversionПреобразовать decimal, flag/boolean и controlled string. Некорректные значения фиксировать на уровне строки и поля.URS-003
FS-005Domain rule engineПрименить правила для объекта/метода InfraLUM ID Ranitidine, включая критические пределы из описания и утверждённой спецификации.URS-004, URS-008
FS-006Status aggregationАгрегировать статусы параметров: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии.URS-005, URS-011
FS-007JSON exportЗаписать output.json с идентификатором утилиты, исходными значениями, результатами проверок, warnings и critical findings.URS-006, URS-007
FS-008Error handlingРазделить ошибки запуска, ошибки схемы, ошибки преобразования и ошибки предметных пределов.URS-003, URS-011
FS-009Audit supportОбеспечить структуру результата, пригодную для review, расследования OOS/OOT, повторного расчёта и инспекционного обсуждения.URS-007, URS-012
FS-010Integration contractПоддерживать стандартный сценарий: LIMS/ELN/MES создаёт input.csv, утилита возвращает output.json, портал отображает описание и документацию.URS-006, URS-009
FS-011Configuration/change controlЛюбое изменение пределов, имён колонок или логики правил требует версии, review, регрессионных тестов и обновления документации.URS-010, URS-012
FS-012Data integrityНе изменять исходный input.csv; результаты сохранять отдельно в output.json с возможностью архивирования.URS-007, URS-012

Пример структуры output.json

{
  "utilityId": "infralum-id-ranitidine",
  "utilityName": "InfraLUM_ID_Ranitidine",
  "object": "InfraLUM ID Ranitidine",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "recordCount": 2,
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "RAN-ID-2026-048",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-001"
    },
    {
      "parameter": "CorrelationCoefficient",
      "value": "0.9991",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-002"
    },
    {
      "parameter": "Peak3420_cm1",
      "value": "3418.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-003"
    },
    {
      "parameter": "Peak1635_cm1",
      "value": "1633.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-004"
    },
    {
      "parameter": "Peak1590_cm1",
      "value": "1592.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-005"
    },
    {
      "parameter": "Peak1360_cm1",
      "value": "1358.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-006"
    },
    {
      "parameter": "Peak1240_cm1",
      "value": "1242.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-007"
    },
    {
      "parameter": "BaselineNoiseAbs",
      "value": "0.0016",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-008"
    },
    {
      "parameter": "PreparationMethod",
      "value": "KBr",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-009"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "metadata": {
    "executionMode": "CLI",
    "interface": "CSV to JSON",
    "documentationFile": "InfraLUM_ID_Ranitidine.documentation.html"
  }
}

Матрица трассировки URS → FS → OQ/PQ

URSFSПроверкаОжидаемый результат
URS-001FS-001Проверить наличие файла InfraLUM_ID_Ranitidine.documentation.html в папке утилиты.Файл присутствует, открывается, RU/EN переключатель работает.
URS-002/003FS-002/003/004Запустить утилиту с корректным CSV, CSV без обязательной колонки и CSV с неверным типом.Корректный CSV обработан; ошибки схемы и типа явно указаны.
URS-004/005FS-005/006Передать значения в пределах, на предупредительном уровне и за критическим пределом.Получены PASS, WARNING, FAIL согласно правилам.
URS-006/007FS-007/009/012Проверить структуру output.json и трассируемость серии.JSON содержит идентификатор серии, значения, правила, статусы и critical findings.
URS-008FS-005Повторить запуск с тем же input.csv.Результат идентичен; нет вероятностного поведения.
URS-009/010/012FS-010/011/012Выполнить CLI-сценарий и архивировать вход/выход/версию.Артефакты пригодны для OQ/PQ и change-control записи.

OQ/PQ тестовые сценарии

IDСценарийВходные данныеОжидаемый результат
OQ-001Позитивный путьCSV из примера с валидными значениями.output.json создан; итоговый статус PASS или допустимый WARNING согласно правилам.
OQ-002Отсутствует обязательная колонкаУдалить один ключевой столбец из заголовка.Ошибка схемы; строка не должна считаться прошедшей проверку.
OQ-003Некорректный типВ числовое поле внести текстовое значение.Ошибка преобразования типа с указанием поля и строки.
OQ-004Критический пределЗначение критического параметра вне утверждённого предела.FAIL и запись в criticalFindings.
OQ-005ПредупреждениеНекритическое отклонение или неизвестная контролируемая категория.WARNING без сокрытия исходного значения.
PQ-001Реальная серия пользователяРеальный input.csv из QC-процесса.Согласованный review с сохранением input.csv, output.json, версии и контрольной суммы.

QA/QC, CSV/CSA и change control

  • Не менять имена колонок без обновления валидатора, тестового набора и документации.
  • Хранить input.csv, output.json, версию исполняемого файла, контрольную сумму и копию документации.
  • Перед продуктивным использованием провести IQ/OQ/PQ или эквивалентную риск-ориентированную CSV/CSA-проверку.
  • Критические пределы должны быть утверждены владельцем процесса и сверены с регистрационным досье, фармакопеей и локальными SOP.
  • Любое изменение правил, порогов или интерпретации статусов должно проходить через change control и регрессионные тесты.

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

Lumex QC Suite

Единый пакет Lumex, объединяющий исходные Lumex и Lumex2: инструментальный и общий фармацевтический QC, AAS/ICP, CE, HPLC, NIR/PAT, стабильность, растворение, однородность дозирования, системная пригодность и статистический контроль.

Открыть

Радиология

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

Открыть