Inhaler_APSD_NGI_Profiler

Inhaler APSD NGI Profiler

AdvancedPharma CSV→JSON EU-first LabWare URS & FS
Открыть подборку
Inhaler APSD NGI Profiler — Профилировщик аэродинамического размера частиц (NGI)

ℹ️ Утилита рассчитывает ключевые параметры APSD по данным импактора NGI:
• MMAD (Медианный массовый аэродинамический диаметр)
• GSD (Геометрическое стандартное отклонение)
• FPF (Доля мелких частиц <5 мкм)
• Эмитированная доза (ED)
• Баланс массы (Recovery)

⚠️ КРИТИЧНО: Поток воздуха должен быть стабильным!
Распределение по стадиям определяет эффективность доставки в легкие.

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

Формат input.csv:
BatchNumber,ProductName,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,TotalRecoveredMass,ThroatDeposit,FlowRate_L_min,TestDuration_sec,TargetDose_mcgr

Пример:
INH-NGI-2026-001,Budesonide DPI,15.0,12.0,10.0,8.0,15.0,20.0,10.0,10.0,100.0,20.0,60.0,2.0,200.0

— ЗАЧЕМ ЭТО НУЖНО?
Анализ APSD (Aerodynamic Particle Size Distribution) критичен для ингаляторов (AZ, GSK, BI):
• Определяет, какая часть препарата достигнет альвеол (мелкие частицы <5 мкм)
• MMAD и GSD характеризуют однородность аэрозоля
• FPF (Fine Particle Fraction) коррелирует с клинической эффективностью
• Данные NGI (Next Generation Impactor) являются золотым стандартом для регуляторов

⚠️ КРИТИЧЕСКИ ВАЖНО:
• MMAD 1-5 мкм — оптимальный диапазон для доставки в нижние дыхательные пути
• GSD < 2.5 — узкое распределение обеспечивает предсказуемую дозу
• FPF ≥30% (пример) — достаточное количество мелких частиц
• Баланс массы 75-125% — подтверждает корректность проведения эксперимента
• Поток воздуха должен строго соответствовать спецификации устройства (30, 60 или 90 л/мин)

Ключевые особенности утилиты:
• Автоматический расчет MMAD и GSD методом интерполяции кумулятивного распределения
• Расчет FPF и эмитированной дозы
• Проверка баланса массы (recovery)
• Контроль условий теста (поток, время)

Критические параметры:
• MMAD: 1.0–5.0 мкм
• GSD: ≤2.5
• FPF: ≥30% (зависит от препарата)
• Эмитированная доза: ≥85%
• Баланс массы: 75–125%

💡 Советы по использованию:
1. Тщательно промывайте стадии импактора для полного извлечения препарата
2. Используйте правильные cut-off диаметры для выбранного потока воздуха
3. Корректируйте данные на фон (blank runs)
4. Для MDI используйте пре-сепаратор для удаления крупных капель
5. Сравнивайте профили с эталонным препаратом (Reference Listed Drug)

⚠️ Особенность: Распределение частиц в ингаляторах сильно зависит от конструкции устройства и техники ингаляции пациента. NGI позволяет смоделировать этот процесс in vitro. Утилита помогает стандартизировать оценку качества аэрозоля для разных типов устройств (DPI, MDI, SMI).

input.csv

BatchNumber,ProductName,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,TotalRecoveredMass,ThroatDeposit,FlowRate_L_min,TestDuration_sec,TargetDose_mcgr
INH-NGI-2026-001,Budesonide DPI,15.0,12.0,10.0,8.0,15.0,20.0,10.0,10.0,100.0,20.0,60.0,2.0,200.0
INH-NGI-2026-002,Salbutamol MDI,5.0,8.0,12.0,15.0,20.0,25.0,10.0,5.0,100.0,10.0,30.0,1.5,100.0
INH-NGI-2026-003,Fluticasone DPI,20.0,15.0,10.0,5.0,10.0,15.0,15.0,10.0,100.0,30.0,60.0,2.0,250.0
Inhaler APSD NGI Profiler — URS и FS

Inhaler APSD NGI Profiler — URS и FS

Ниже приведены русские версии пользовательских требований и функциональной спецификации.


Inhaler APSD NGI Profiler — URS

Inhaler APSD NGI Profiler

Документ сформирован для русской локализации. Для английской и остальных языков используется отдельная английская версия без смешения языков.

Назначение

Определить пользовательские требования к автономной FUZKK-утилите, которая принимает CSV-файл лабораторных данных, выполняет проверку по зашитым в код правилам и формирует LabWare-compatible JSON.

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

Утилита предназначена для предварительной QC/QA-оценки, интеграционного тестирования, LIMS/LabWare flow и подготовки evidence trail. Окончательное решение остаётся за валидированной процедурой лаборатории и ответственным персоналом.

Пользователи

QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.

Пользовательские требования

  1. Утилита должна запускаться без параметров и выводить самоописание, пример input.csv из GetDemoData() и demo evaluation для встроенного набора данных.
  2. Утилита должна запускаться с двумя параметрами: input.csv output.json.
  3. Утилита не должна читать input.csv и не должна писать output.json при запуске без параметров.
  4. CSV должен читаться с CultureInfo.InvariantCulture для числовых значений.
  5. Результат должен формироваться в LabWare-compatible JSON с Header, Samples, Results, Status, StatusCode, ErrorMessage, Description и DescriptionEN.
  6. При PASS поле ErrorMessage должно быть пустой строкой.
  7. Зашитые лимиты должны следовать приоритету: Ph. Eur. → British Pharmacopoeia / UK implementation → ЕАЭС / региональные требования → EMA/ICH/EU guidance → USP fallback.
  8. Если точная монография неизвестна, применяются строгие стандартные API-лимиты: Assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%, если это применимо к типу утилиты.
  9. Для биопрепаратов и mAb-like продуктов должны учитываться агрегаты, стерильность и эндотоксины, если такие параметры релевантны назначению утилиты.
  10. Если параметр может приходить в разных единицах, единица должна быть отдельным входным полем или явно отражаться в имени поля input.csv.

Входной CSV

BatchNumber,ProductName,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,TotalRecoveredMass,ThroatDeposit,FlowRate_L_min,TestDuration_sec,TargetDose_mcgr
INH-NGI-2026-001,Budesonide DPI,15.0,12.0,10.0,8.0,15.0,20.0,10.0,10.0,100.0,20.0,60.0,2.0,200.0
INH-NGI-2026-002,Salbutamol MDI,5.0,8.0,12.0,15.0,20.0,25.0,10.0,5.0,100.0,10.0,30.0,1.5,100.0
INH-NGI-2026-003,Fluticasone DPI,20.0,15.0,10.0,5.0,10.0,15.0,15.0,10.0,100.0,30.0,60.0,2.0,250.0

Поля input.csv

FieldSample
BatchNumberINH-NGI-2026-001
ProductNameBudesonide DPI
Mass_Stage115.0
Mass_Stage212.0
Mass_Stage310.0
Mass_Stage48.0
Mass_Stage515.0
Mass_Stage620.0
Mass_Stage710.0
Mass_MOC10.0
TotalRecoveredMass100.0
ThroatDeposit20.0
FlowRate_L_min60.0
TestDuration_sec2.0
TargetDose_mcgr200.0

Описание утилиты

Inhaler APSD NGI Profiler — Профилировщик аэродинамического размера частиц (NGI)

Inhaler APSD NGI Profiler — Профилировщик аэродинамического размера частиц (NGI)

ℹ️ Утилита рассчитывает ключевые параметры APSD по данным импактора NGI:
• MMAD (Медианный массовый аэродинамический диаметр)
• GSD (Геометрическое стандартное отклонение)
• FPF (Доля мелких частиц <5 мкм)
• Эмитированная доза (ED)
• Баланс массы (Recovery)

⚠️ КРИТИЧНО: Поток воздуха должен быть стабильным!
Распределение по стадиям определяет эффективность доставки в легкие.

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

Формат input.csv:
BatchNumber,ProductName,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,TotalRecoveredMass,ThroatDeposit,FlowRate_L_min,TestDuration_sec,TargetDose_mcgr

Пример:
INH-NGI-2026-001,Budesonide DPI,15.0,12.0,10.0,8.0,15.0,20.0,10.0,10.0,100.0,20.0,60.0,2.0,200.0

— ЗАЧЕМ ЭТО НУЖНО?
Анализ APSD (Aerodynamic Particle Size Distribution) критичен для ингаляторов (AZ, GSK, BI):
• Определяет, какая часть препарата достигнет альвеол (мелкие частицы <5 мкм)
• MMAD и GSD характеризуют однородность аэрозоля
• FPF (Fine Particle Fraction) коррелирует с клинической эффективностью
• Данные NGI (Next Generation Impactor) являются золотым стандартом для регуляторов

⚠️ КРИТИЧЕСКИ ВАЖНО:
• MMAD 1-5 мкм — оптимальный диапазон для доставки в нижние дыхательные пути
• GSD < 2.5 — узкое распределение обеспечивает предсказуемую дозу
• FPF ≥30% (пример) — достаточное количество мелких частиц
• Баланс массы 75-125% — подтверждает корректность проведения эксперимента
• Поток воздуха должен строго соответствовать спецификации устройства (30, 60 или 90 л/мин)

Ключевые особенности утилиты:
• Автоматический расчет MMAD и GSD методом интерполяции кумулятивного распределения
• Расчет FPF и эмитированной дозы
• Проверка баланса массы (recovery)
• Контроль условий теста (поток, время)

Критические параметры:
• MMAD: 1.0–5.0 мкм
• GSD: ≤2.5
• FPF: ≥30% (зависит от препарата)
• Эмитированная доза: ≥85%
• Баланс массы: 75–125%

💡 Советы по использованию:
1. Тщательно промывайте стадии импактора для полного извлечения препарата
2. Используйте правильные cut-off диаметры для выбранного потока воздуха
3. Корректируйте данные на фон (blank runs)
4. Для MDI используйте пре-сепаратор для удаления крупных капель
5. Сравнивайте профили с эталонным препаратом (Reference Listed Drug)

⚠️ Особенность: Распределение частиц в ингаляторах сильно зависит от конструкции устройства и техники ингаляции пациента. NGI позволяет смоделировать этот процесс in vitro. Утилита помогает стандартизировать оценку качества аэрозоля для разных типов устройств (DPI, MDI, SMI).

Трассируемость и ограничения

  • URS используется как исходный документ для functional specification, CSV review и последующей CSV/validation работы.
  • Документ не является заменой утверждённой фармакопейной монографии, валидированного метода или внутренней спецификации продукта.
  • Для product-specific лимитов приоритет имеет утверждённая спецификация заказчика.

Inhaler APSD NGI Profiler — FS

Inhaler APSD NGI Profiler

Функциональная спецификация описывает поведение автономной консольной утилиты FUZKK, формат входных данных, алгоритм оценки и структуру выходного JSON.

Функциональный поток

  1. Main() проверяет количество аргументов.
  2. Если аргументов нет: PrintHello() выводит описание и встроенный пример input.csv, затем RunDemoEvaluation() выполняет Evaluate() по GetDemoData() и печатает demo JSON.
  3. Если передано два аргумента: RunWithFiles(input.csv, output.json) читает CSV, выполняет Evaluate() по каждой строке и записывает LabWare-compatible JSON.
  4. LoadData() использует CultureInfo.InvariantCulture и не должен вызываться в no-args режиме.
  5. Evaluate() возвращает именованный кортеж с BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation и RecommendationEN.
  6. GetIssues() формирует сообщения для ErrorMessage при WARNING/FAIL.

Правила оценки

  • PASS: CriticalFailCount = 0 и WarningCount = 0.
  • WARNING: CriticalFailCount = 0 и WarningCount > 0.
  • FAIL: CriticalFailCount > 0.
  • ERROR: исключение при чтении или обработке данных.
  • ErrorMessage остаётся пустым при PASS.
  • Лимиты зашиты в Program.cs; внешняя конфигурация лимитов не требуется.

Ввод и поля

BatchNumber,ProductName,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,TotalRecoveredMass,ThroatDeposit,FlowRate_L_min,TestDuration_sec,TargetDose_mcgr
INH-NGI-2026-001,Budesonide DPI,15.0,12.0,10.0,8.0,15.0,20.0,10.0,10.0,100.0,20.0,60.0,2.0,200.0
INH-NGI-2026-002,Salbutamol MDI,5.0,8.0,12.0,15.0,20.0,25.0,10.0,5.0,100.0,10.0,30.0,1.5,100.0
INH-NGI-2026-003,Fluticasone DPI,20.0,15.0,10.0,5.0,10.0,15.0,15.0,10.0,100.0,30.0,60.0,2.0,250.0
FieldSample
BatchNumberINH-NGI-2026-001
ProductNameBudesonide DPI
Mass_Stage115.0
Mass_Stage212.0
Mass_Stage310.0
Mass_Stage48.0
Mass_Stage515.0
Mass_Stage620.0
Mass_Stage710.0
Mass_MOC10.0
TotalRecoveredMass100.0
ThroatDeposit20.0
FlowRate_L_min60.0
TestDuration_sec2.0
TargetDose_mcgr200.0

Выходной JSON

{
  "Header": {
    "UtilityName": "Inhaler_APSD_NGI_Profiler",
    "Version": "1.0.0",
    "Timestamp": "UTC",
    "InstrumentID": "FUZKK-QC-WORKSTATION",
    "OperatorID": "Admin"
  },
  "Samples": [
    {
      "SampleID": "from BatchNumber",
      "BatchNumber": "from CSV",
      "ProductName": "from CSV",
      "TestName": "utility-specific test",
      "AnalysisCode": "utility-specific code",
      "Status": "PASS | WARNING | FAIL | ERROR",
      "StatusCode": "1 | 2 | 0 | -1",
      "ErrorMessage": "",
      "Description": "Russian recommendation",
      "DescriptionEN": "English recommendation",
      "Results": [
        {
          "ParameterName": "parameter",
          "ResultValue": 0.0,
          "UnitOfMeasure": "unit",
          "SpecificationLimit": "limit",
          "IsWithinSpec": true
        }
      ]
    }
  ]
}

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

Ингаляционные продукты

Ингаляционные продукты: пакет утилит FUZKK для CSV→JSON QC-проверок с EU-first приоритетом лимитов.

Открыть