Inhaler_FineParticleDose_Calculator

Inhaler Fine Particle Dose Calculator

AdvancedPharma CSV→JSON EU-first LabWare URS & FS
Открыть подборку
Inhaler Fine Particle Dose Calculator — Калькулятор дозы мелких частиц (FPD)

ℹ️ Утилита рассчитывает FPD и EFPD на основе химических данных с импактора:
• Эмитированная доза (ED) на одну активацию
• Доза мелких частиц (FPD, <5 мкм)
• Доза ультрамелких частиц (EFPD, <2 мкм)
• Доля мелких частиц (FPF %)
• Баланс массы (Recovery)

⚠️ КРИТИЧНО: Только мелкие частицы достигают альвеол!
Расчет требует точных данных ВЭЖХ для каждой стадии NGI.

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

Формат input.csv:
BatchNumber,ProductName,Mass_Throat,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,LabelClaim_mcgr,NumberOfActuations,RecoveryCorrectionFactor

Пример:
INH-FPD-2026-001,Fluticasone Propionate DPI,50.0,20.0,15.0,10.0,12.0,15.0,10.0,8.0,5.0,250.0,1,1.02

— ЗАЧЕМ ЭТО НУЖНО?
Расчет FPD критичен для оценки эффективности ингаляторов (AZ, GSK, Chiesi):
• FPD (Fine Particle Dose) — количество препарата с аэродинамическим диаметром <5 мкм
• EFPD (Extra-Fine Particle Dose) — количество препарата <2 мкм (важно для периферических легких)
• FPF (Fine Particle Fraction) — процентное отношение FPD к общей эмитированной дозе
• Позволяет сравнивать разные устройства и формуляции независимо от общей дозы
• Требуется для обоснования эквивалентности генериков

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Эмитированная доза должна быть в пределах 85-115% от заявленной
• FPD должна превышать минимальный терапевтический порог
• FPF обычно составляет 20-50% для современных DPI
• Баланс массы 75-125% подтверждает корректность химического анализа
• Коэффициент коррекции важен для учета неполной экстракции препарата с фильтров

Ключевые особенности утилиты:
• Автоматический расчет FPD и EFPD по стадиям NGI
• Учет коэффициента коррекции экстракции
• Расчет FPF относительно эмитированной дозы
• Проверка баланса массы для валидации данных

Критические параметры:
• Эмитированная доза: 85–115% от Label Claim
• FPD: Индивидуальный лимит (обычно >20% от ED)
• FPF: ≥20%
• Баланс массы: 75–125%

💡 Советы по использованию:
1. Используйте данные ВЭЖХ, а не гравиметрические данные (если есть примеси или носитель)
2. Для препаратов с носителем (лактоза) гравиметрия невозможна, только химия
3. Корректно определяйте границы стадий для вашего потока воздуха (30, 60, 90 л/мин)
4. EFPD особенно важен для препаратов лечения мелких дыхательных путей (астма)
5. Сравнивайте FPD профиль с референсным препаратом для биоэквивалентности

⚠️ Особенность: FPD является более важным клиническим параметром, чем общая доставляемая доза, так как крупные частицы (>5 мкм) оседают во рту и глотке, не оказывая терапевтического эффекта в легких и вызывая побочные эффекты.

input.csv

BatchNumber,ProductName,Mass_Throat,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,LabelClaim_mcgr,NumberOfActuations,RecoveryCorrectionFactor
INH-FPD-2026-001,Fluticasone Propionate DPI,50.0,20.0,15.0,10.0,12.0,15.0,10.0,8.0,5.0,250.0,1,1.02
INH-FPD-2026-002,Budesonide MDI,30.0,10.0,8.0,5.0,15.0,20.0,15.0,10.0,5.0,200.0,2,1.0
INH-FPD-2026-003,Salmeterol DPI,40.0,25.0,20.0,15.0,10.0,12.0,8.0,5.0,2.0,50.0,1,1.05
Inhaler Fine Particle Dose Calculator — URS и FS

Inhaler Fine Particle Dose Calculator — URS и FS

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


Inhaler Fine Particle Dose Calculator — URS

Inhaler Fine Particle Dose Calculator

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

Назначение

Определить пользовательские требования к автономной 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_Throat,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,LabelClaim_mcgr,NumberOfActuations,RecoveryCorrectionFactor
INH-FPD-2026-001,Fluticasone Propionate DPI,50.0,20.0,15.0,10.0,12.0,15.0,10.0,8.0,5.0,250.0,1,1.02
INH-FPD-2026-002,Budesonide MDI,30.0,10.0,8.0,5.0,15.0,20.0,15.0,10.0,5.0,200.0,2,1.0
INH-FPD-2026-003,Salmeterol DPI,40.0,25.0,20.0,15.0,10.0,12.0,8.0,5.0,2.0,50.0,1,1.05

Поля input.csv

FieldSample
BatchNumberINH-FPD-2026-001
ProductNameFluticasone Propionate DPI
Mass_Throat50.0
Mass_Stage120.0
Mass_Stage215.0
Mass_Stage310.0
Mass_Stage412.0
Mass_Stage515.0
Mass_Stage610.0
Mass_Stage78.0
Mass_MOC5.0
LabelClaim_mcgr250.0
NumberOfActuations1
RecoveryCorrectionFactor1.02

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

Inhaler Fine Particle Dose Calculator — Калькулятор дозы мелких частиц (FPD)

Inhaler Fine Particle Dose Calculator — Калькулятор дозы мелких частиц (FPD)

ℹ️ Утилита рассчитывает FPD и EFPD на основе химических данных с импактора:
• Эмитированная доза (ED) на одну активацию
• Доза мелких частиц (FPD, <5 мкм)
• Доза ультрамелких частиц (EFPD, <2 мкм)
• Доля мелких частиц (FPF %)
• Баланс массы (Recovery)

⚠️ КРИТИЧНО: Только мелкие частицы достигают альвеол!
Расчет требует точных данных ВЭЖХ для каждой стадии NGI.

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

Формат input.csv:
BatchNumber,ProductName,Mass_Throat,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,LabelClaim_mcgr,NumberOfActuations,RecoveryCorrectionFactor

Пример:
INH-FPD-2026-001,Fluticasone Propionate DPI,50.0,20.0,15.0,10.0,12.0,15.0,10.0,8.0,5.0,250.0,1,1.02

— ЗАЧЕМ ЭТО НУЖНО?
Расчет FPD критичен для оценки эффективности ингаляторов (AZ, GSK, Chiesi):
• FPD (Fine Particle Dose) — количество препарата с аэродинамическим диаметром <5 мкм
• EFPD (Extra-Fine Particle Dose) — количество препарата <2 мкм (важно для периферических легких)
• FPF (Fine Particle Fraction) — процентное отношение FPD к общей эмитированной дозе
• Позволяет сравнивать разные устройства и формуляции независимо от общей дозы
• Требуется для обоснования эквивалентности генериков

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Эмитированная доза должна быть в пределах 85-115% от заявленной
• FPD должна превышать минимальный терапевтический порог
• FPF обычно составляет 20-50% для современных DPI
• Баланс массы 75-125% подтверждает корректность химического анализа
• Коэффициент коррекции важен для учета неполной экстракции препарата с фильтров

Ключевые особенности утилиты:
• Автоматический расчет FPD и EFPD по стадиям NGI
• Учет коэффициента коррекции экстракции
• Расчет FPF относительно эмитированной дозы
• Проверка баланса массы для валидации данных

Критические параметры:
• Эмитированная доза: 85–115% от Label Claim
• FPD: Индивидуальный лимит (обычно >20% от ED)
• FPF: ≥20%
• Баланс массы: 75–125%

💡 Советы по использованию:
1. Используйте данные ВЭЖХ, а не гравиметрические данные (если есть примеси или носитель)
2. Для препаратов с носителем (лактоза) гравиметрия невозможна, только химия
3. Корректно определяйте границы стадий для вашего потока воздуха (30, 60, 90 л/мин)
4. EFPD особенно важен для препаратов лечения мелких дыхательных путей (астма)
5. Сравнивайте FPD профиль с референсным препаратом для биоэквивалентности

⚠️ Особенность: FPD является более важным клиническим параметром, чем общая доставляемая доза, так как крупные частицы (>5 мкм) оседают во рту и глотке, не оказывая терапевтического эффекта в легких и вызывая побочные эффекты.

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

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

Inhaler Fine Particle Dose Calculator — FS

Inhaler Fine Particle Dose Calculator

Функциональная спецификация описывает поведение автономной консольной утилиты 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_Throat,Mass_Stage1,Mass_Stage2,Mass_Stage3,Mass_Stage4,Mass_Stage5,Mass_Stage6,Mass_Stage7,Mass_MOC,LabelClaim_mcgr,NumberOfActuations,RecoveryCorrectionFactor
INH-FPD-2026-001,Fluticasone Propionate DPI,50.0,20.0,15.0,10.0,12.0,15.0,10.0,8.0,5.0,250.0,1,1.02
INH-FPD-2026-002,Budesonide MDI,30.0,10.0,8.0,5.0,15.0,20.0,15.0,10.0,5.0,200.0,2,1.0
INH-FPD-2026-003,Salmeterol DPI,40.0,25.0,20.0,15.0,10.0,12.0,8.0,5.0,2.0,50.0,1,1.05
FieldSample
BatchNumberINH-FPD-2026-001
ProductNameFluticasone Propionate DPI
Mass_Throat50.0
Mass_Stage120.0
Mass_Stage215.0
Mass_Stage310.0
Mass_Stage412.0
Mass_Stage515.0
Mass_Stage610.0
Mass_Stage78.0
Mass_MOC5.0
LabelClaim_mcgr250.0
NumberOfActuations1
RecoveryCorrectionFactor1.02

Выходной JSON

{
  "Header": {
    "UtilityName": "Inhaler_FineParticleDose_Calculator",
    "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 приоритетом лимитов.

Открыть