Inhaler_DDU_Uniformity_Analyzer

Inhaler DDU Uniformity Analyzer

AdvancedPharma CSV→JSON EU-first LabWare URS & FS
Открыть подборку
Inhaler DDU Uniformity Analyzer — Анализатор единства доставляемой дозы (DDU)

ℹ️ Утилита проверяет однородность дозы по серии активаций (USP <601>):
• Средняя доза (85-115% от заявленной)
• RSD (≤6.0%)
• Мин/Макс отклонение каждой дозы
• Соотношение первых и последних доз

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

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

Формат input.csv:
BatchNumber,ProductName,LabelClaim_mcgr,Dose_1,Dose_2,Dose_3,Dose_4,Dose_5,Dose_6,Dose_7,Dose_8,Dose_9,Dose_10

Пример:
INH-DDU-2026-001,Salbutamol MDI 100mcg,100.0,98.0,99.5,97.0,98.5,100.0,101.0,99.0,98.0,97.5,98.5

— ЗАЧЕМ ЭТО НУЖНО?
Контроль DDU (Delivered Dose Uniformity) критичен для ингаляторов (AZ, GSK, BI):
• Гарантирует, что пациент получает точную дозу лекарства при каждом нажатии
• Выявляет проблемы с суспензией (MDI) или порошком (DPI)
• Контролирует стабильность работы дозирующего клапана или блистера
• Требуется регуляторами для регистрации препарата

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Средняя доза должна быть в пределах 85-115% от заявленной
• RSD ≤6.0% обеспечивает высокую воспроизводимость
• Каждая отдельная доза не должна выходить за пределы 85-115%
• Соотношение первых и последних доз показывает стабильность на протяжении срока службы
• Для DPI важна зависимость дозы от потока воздуха пациента

Ключевые особенности утилиты:
• Статистический анализ серии из 10 доз (First-Middle-Last)
• Расчет RSD и проверка индивидуальных отклонений
• Оценка тренда снижения дозы к концу упаковки
• Соответствие требованиям USP <601> и Ph.Eur. 2.9.5

Критические параметры:
• Средняя доза: 85–115% от Label Claim
• RSD: ≤6.0%
• Минимальная доза: ≥85%
• Максимальная доза: ≤115%
• Ratio First/Last: 0.8–1.2

💡 Советы по использованию:
1. Используйте правильную методику промывки фильтра для полного сбора дозы
2. Для MDI обязательно учитывайте "prime" дозы перед тестом
3. Для DPI тестируйте при стандартном потоке (например, 60 л/мин)
4. Если RSD высокий, проверьте однородность суспензии или дисперсию порошка
5. Сравните профили DDU разных партий для контроля процесса производства

⚠️ Особенность: В отличие от таблеток, где доза фиксирована в единице, в ингаляторе доза зависит от механики устройства и физики аэрозоля. DDU тест имитирует реальное использование, проверяя устройство в крайних точках его жизненного цикла (начало и конец).

input.csv

BatchNumber,ProductName,LabelClaim_mcgr,Dose_1,Dose_2,Dose_3,Dose_4,Dose_5,Dose_6,Dose_7,Dose_8,Dose_9,Dose_10
INH-DDU-2026-001,Salbutamol MDI 100mcg,100.0,98.0,99.5,97.0,98.5,100.0,101.0,99.0,98.0,97.5,98.5
INH-DDU-2026-002,Budesonide DPI 200mcg,200.0,190.0,195.0,185.0,192.0,205.0,210.0,180.0,175.0,170.0,165.0
INH-DDU-2026-003,Fluticasone MDI 50mcg,50.0,48.0,49.0,47.5,48.5,50.0,51.0,49.5,48.0,47.0,48.0
Inhaler DDU Uniformity Analyzer — URS и FS

Inhaler DDU Uniformity Analyzer — URS и FS

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


Inhaler DDU Uniformity Analyzer — URS

Inhaler DDU Uniformity Analyzer

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

Назначение

Определить пользовательские требования к автономной 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,LabelClaim_mcgr,Dose_1,Dose_2,Dose_3,Dose_4,Dose_5,Dose_6,Dose_7,Dose_8,Dose_9,Dose_10
INH-DDU-2026-001,Salbutamol MDI 100mcg,100.0,98.0,99.5,97.0,98.5,100.0,101.0,99.0,98.0,97.5,98.5
INH-DDU-2026-002,Budesonide DPI 200mcg,200.0,190.0,195.0,185.0,192.0,205.0,210.0,180.0,175.0,170.0,165.0
INH-DDU-2026-003,Fluticasone MDI 50mcg,50.0,48.0,49.0,47.5,48.5,50.0,51.0,49.5,48.0,47.0,48.0

Поля input.csv

FieldSample
BatchNumberINH-DDU-2026-001
ProductNameSalbutamol MDI 100mcg
LabelClaim_mcgr100.0
Dose_198.0
Dose_299.5
Dose_397.0
Dose_498.5
Dose_5100.0
Dose_6101.0
Dose_799.0
Dose_898.0
Dose_997.5
Dose_1098.5

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

Inhaler DDU Uniformity Analyzer — Анализатор единства доставляемой дозы (DDU)

Inhaler DDU Uniformity Analyzer — Анализатор единства доставляемой дозы (DDU)

ℹ️ Утилита проверяет однородность дозы по серии активаций (USP <601>):
• Средняя доза (85-115% от заявленной)
• RSD (≤6.0%)
• Мин/Макс отклонение каждой дозы
• Соотношение первых и последних доз

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

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

Формат input.csv:
BatchNumber,ProductName,LabelClaim_mcgr,Dose_1,Dose_2,Dose_3,Dose_4,Dose_5,Dose_6,Dose_7,Dose_8,Dose_9,Dose_10

Пример:
INH-DDU-2026-001,Salbutamol MDI 100mcg,100.0,98.0,99.5,97.0,98.5,100.0,101.0,99.0,98.0,97.5,98.5

— ЗАЧЕМ ЭТО НУЖНО?
Контроль DDU (Delivered Dose Uniformity) критичен для ингаляторов (AZ, GSK, BI):
• Гарантирует, что пациент получает точную дозу лекарства при каждом нажатии
• Выявляет проблемы с суспензией (MDI) или порошком (DPI)
• Контролирует стабильность работы дозирующего клапана или блистера
• Требуется регуляторами для регистрации препарата

⚠️ КРИТИЧЕСКИ ВАЖНО:
• Средняя доза должна быть в пределах 85-115% от заявленной
• RSD ≤6.0% обеспечивает высокую воспроизводимость
• Каждая отдельная доза не должна выходить за пределы 85-115%
• Соотношение первых и последних доз показывает стабильность на протяжении срока службы
• Для DPI важна зависимость дозы от потока воздуха пациента

Ключевые особенности утилиты:
• Статистический анализ серии из 10 доз (First-Middle-Last)
• Расчет RSD и проверка индивидуальных отклонений
• Оценка тренда снижения дозы к концу упаковки
• Соответствие требованиям USP <601> и Ph.Eur. 2.9.5

Критические параметры:
• Средняя доза: 85–115% от Label Claim
• RSD: ≤6.0%
• Минимальная доза: ≥85%
• Максимальная доза: ≤115%
• Ratio First/Last: 0.8–1.2

💡 Советы по использованию:
1. Используйте правильную методику промывки фильтра для полного сбора дозы
2. Для MDI обязательно учитывайте "prime" дозы перед тестом
3. Для DPI тестируйте при стандартном потоке (например, 60 л/мин)
4. Если RSD высокий, проверьте однородность суспензии или дисперсию порошка
5. Сравните профили DDU разных партий для контроля процесса производства

⚠️ Особенность: В отличие от таблеток, где доза фиксирована в единице, в ингаляторе доза зависит от механики устройства и физики аэрозоля. DDU тест имитирует реальное использование, проверяя устройство в крайних точках его жизненного цикла (начало и конец).

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

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

Inhaler DDU Uniformity Analyzer — FS

Inhaler DDU Uniformity Analyzer

Функциональная спецификация описывает поведение автономной консольной утилиты 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,LabelClaim_mcgr,Dose_1,Dose_2,Dose_3,Dose_4,Dose_5,Dose_6,Dose_7,Dose_8,Dose_9,Dose_10
INH-DDU-2026-001,Salbutamol MDI 100mcg,100.0,98.0,99.5,97.0,98.5,100.0,101.0,99.0,98.0,97.5,98.5
INH-DDU-2026-002,Budesonide DPI 200mcg,200.0,190.0,195.0,185.0,192.0,205.0,210.0,180.0,175.0,170.0,165.0
INH-DDU-2026-003,Fluticasone MDI 50mcg,50.0,48.0,49.0,47.5,48.5,50.0,51.0,49.5,48.0,47.0,48.0
FieldSample
BatchNumberINH-DDU-2026-001
ProductNameSalbutamol MDI 100mcg
LabelClaim_mcgr100.0
Dose_198.0
Dose_299.5
Dose_397.0
Dose_498.5
Dose_5100.0
Dose_6101.0
Dose_799.0
Dose_898.0
Dose_997.5
Dose_1098.5

Выходной JSON

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

Открыть