Dissolution_Profile_f2_Calculator

Dissolution Profile f2 Calculator

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

Описание утилиты: Dissolution Profile f2 Calculator

Dissolution Profile f2 Calculator — Расчет фактора подобия профилей растворения

ℹ️  Утилита проверяет подобие профилей растворения двух партий (например, тестовой и референсной):
   • Фактор подобия f2: 50–100 (подобие), <50 (различие)
   • Минимальное количество точек: 3 (не считая t=0)
   • Максимальная разница в последней точке: ≤10%

⚠️  КРИТИЧНО: f2 < 50 → профили растворения НЕ подобны!
   Это может потребовать дополнительных исследований биоэквивалентности.

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

Формат input.csv:
Batch,RefT1,TestT1,RefT2,TestT2,...,RefTn,TestTn

Пример:
 DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0

— ЗАЧЕМ ЭТО НУЖНО?
Сравнение профилей растворения необходимо при изменении состава, процесса производства или места производства твердых лекарственных форм.
• Фактор f2 (factor of similarity) — модельно-независимый подход, рекомендованный FDA и EMA.
• Значение f2 между 50 и 100 указывает на отсутствие клинически значимых различий в скорости и степени растворения.
• Метод применим, если растворение превышает 85% менее чем за 15 минут (тогда профили считаются подобными автоматически) или если используется минимум 3-4 точки до достижения 85% растворения.
• Автоматизация расчета исключает ошибки ручного вычисления сумм квадратов разностей.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• f2 >= 50 является стандартным критерием подобия.
• Разница в средних значениях растворения в любой точке времени не должна превышать 10-15% (в зависимости от регуляторных требований).
• Разница в последней точке времени не должна превышать 10%.
• Дисперсия (RSD) в ранних точках не должна превышать 20%, в поздних — 10%.

Ключевые особенности утилиты:
• Расчет f2 по формуле USP <711>.
• Проверка количества точек и разницы в конечной точке.
• Генерация JSON-отчета для LIMS.

Критические параметры:
• Similarity Factor f2: 50-100
• Time Points: >= 3
• Max Diff at Last Point: <= 10%

💡 Советы по использованию:
1. Используйте одинаковые временные точки для референсного и тестового профилей.
2. Если растворение очень быстрое (<85% за 15 мин), f2 может быть нечувствительным; рассмотрите другие метрики.
3. Учитывайте, что f2 чувствителен к количеству точек: больше точек -> меньше f2 при той же разнице.
4. Для профилей с высокой вариабельностью используйте бутстреп-методы (не реализовано в этой версии).

⚠️ Особенность: Формула f2 логарифмическая и обратная: чем больше разница между профилями, тем меньше f2. Значение 100 означает идентичность профилей.

input.csv

Batch,Ref15,Test15,Ref30,Test30,Ref45,Test45,Ref60,Test60,Ref90,Test90
DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0
DISS-F2-2026-002,25.0,30.0,50.0,58.0,75.0,85.0,90.0,95.0,98.0,99.5
DISS-FAIL-2026-003,25.0,10.0,50.0,20.0,75.0,30.0,90.0,40.0,98.0,50.0

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

Dissolution Profile f2 Calculator — Расчет фактора подобия профилей растворения

ℹ️  Утилита проверяет подобие профилей растворения двух партий (например, тестовой и референсной):
   • Фактор подобия f2: 50–100 (подобие), <50 (различие)
   • Минимальное количество точек: 3 (не считая t=0)
   • Максимальная разница в последней точке: ≤10%

⚠️  КРИТИЧНО: f2 < 50 → профили растворения НЕ подобны!
   Это может потребовать дополнительных исследований биоэквивалентности.

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

Формат input.csv:
Batch,RefT1,TestT1,RefT2,TestT2,...,RefTn,TestTn

Пример:
 DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0

— ЗАЧЕМ ЭТО НУЖНО?
Сравнение профилей растворения необходимо при изменении состава, процесса производства или места производства твердых лекарственных форм.
• Фактор f2 (factor of similarity) — модельно-независимый подход, рекомендованный FDA и EMA.
• Значение f2 между 50 и 100 указывает на отсутствие клинически значимых различий в скорости и степени растворения.
• Метод применим, если растворение превышает 85% менее чем за 15 минут (тогда профили считаются подобными автоматически) или если используется минимум 3-4 точки до достижения 85% растворения.
• Автоматизация расчета исключает ошибки ручного вычисления сумм квадратов разностей.

⚠️  КРИТИЧЕСКИ ВАЖНО:
• f2 >= 50 является стандартным критерием подобия.
• Разница в средних значениях растворения в любой точке времени не должна превышать 10-15% (в зависимости от регуляторных требований).
• Разница в последней точке времени не должна превышать 10%.
• Дисперсия (RSD) в ранних точках не должна превышать 20%, в поздних — 10%.

Ключевые особенности утилиты:
• Расчет f2 по формуле USP <711>.
• Проверка количества точек и разницы в конечной точке.
• Генерация JSON-отчета для LIMS.

Критические параметры:
• Similarity Factor f2: 50-100
• Time Points: >= 3
• Max Diff at Last Point: <= 10%

💡 Советы по использованию:
1. Используйте одинаковые временные точки для референсного и тестового профилей.
2. Если растворение очень быстрое (<85% за 15 мин), f2 может быть нечувствительным; рассмотрите другие метрики.
3. Учитывайте, что f2 чувствителен к количеству точек: больше точек -> меньше f2 при той же разнице.
4. Для профилей с высокой вариабельностью используйте бутстреп-методы (не реализовано в этой версии).

⚠️ Особенность: Формула f2 логарифмическая и обратная: чем больше разница между профилями, тем меньше f2. Значение 100 означает идентичность профилей.

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

Документ описывает контролируемый интерфейс, требования пользователя и функциональное поведение утилиты Dissolution_Profile_f2_Calculator. Назначение: автоматизированная проверка лабораторных, фармакопейных, аналитических или производственных QC-параметров на основе данных input.csv с формированием структурированного результата output.json.

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

Перед продуктивным применением пределы должны быть сверены с утверждённой спецификацией, регистрационным досье, фармакопейной статьёй, валидированной методикой и локальными SOP.
  • • f2 >= 50 является стандартным критерием подобия.
  • • Разница в средних значениях растворения в любой точке времени не должна превышать 10-15% (в зависимости от регуляторных требований).
  • • Разница в последней точке времени не должна превышать 10%.
  • • Дисперсия (RSD) в ранних точках не должна превышать 20%, в поздних — 10%.
  • • Расчет f2 по формуле USP <711>.
  • • Проверка количества точек и разницы в конечной точке.
  • • Генерация JSON-отчета для LIMS.
  • • Similarity Factor f2: 50-100
  • • Time Points: >= 3
  • • Max Diff at Last Point: <= 10%
  • • Максимальная разница в последней точке: ≤10%

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

IDТребованиеКритичностьКритерий приемки
URS-001Утилита должна принимать файл input.csv с точными заголовками из контракта данных.HighФайл обрабатывается без ручной правки заголовков.
URS-002Утилита должна выполнять детерминированную проверку для Dissolution Profile f2 Calculator на основе входных значений, утверждённых пределов и предметных правил.HighДля каждой строки формируется статус PASS / WARNING / FAIL.
URS-003Утилита должна проверять обязательные поля, типы данных, числовые диапазоны, единицы измерения и предметную правдоподобность.HighОшибки схемы, формата и преобразования явно отражаются в результате.
URS-004Утилита должна выявлять критические отклонения по показателям, указанным в описании и спецификации метода.HighКритическое отклонение приводит к FAIL или отдельному critical finding.
URS-005Утилита должна формировать output.json с машинно-читаемыми результатами, исходными значениями, предупреждениями и отказами.HighJSON пригоден для LIMS/ELN/MES, QA/QC review и архивирования.
URS-006Результат не должен зависеть от машинного обучения или недокументированных эвристик.MediumВсе решения основаны на явно заданных правилах, порогах и входных значениях.
URS-007Система должна сохранять трассируемость между серией, входными данными, применёнными правилами и итоговым статусом.HighВыход содержит идентификатор серии/образца и перечень проверенных параметров.
URS-008Документация должна поддерживать подготовку IQ/OQ/PQ и обсуждение при инспекции.MediumURS, FS, контракт CSV/JSON и тестовые сценарии поставляются вместе с утилитой.
URS-009Утилита должна быть пригодна для пакетной обработки нескольких строк input.csv.MediumКаждая строка получает независимую оценку; ошибки одной строки не скрывают ошибки других строк.
URS-010Утилита должна поддерживать простую операционную модель: запуск в demo-mode и запуск с входным/выходным файлом.MediumCLI-сценарий воспроизводим на тестовом и продуктивном окружении.

Контракт input.csv

#ПолеТипПримерНазначение
1BatchstringDISS-F2-2026-001Идентификатор серии/партии для трассируемости, review и последующего расследования отклонений.
2Ref15string / decimal25.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
3Test15string / decimal26.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
4Ref30string / decimal50.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
5Test30string / decimal52.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
6Ref45string / decimal75.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
7Test45string / decimal76.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
8Ref60string / decimal90.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
9Test60string / decimal91.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
10Ref90string / decimal98.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
11Test90string / decimal99.0Контролируемый входной параметр для детерминированных QC-правил и трассируемого результата.
Batch,Ref15,Test15,Ref30,Test30,Ref45,Test45,Ref60,Test60,Ref90,Test90
DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0
DISS-F2-2026-002,25.0,30.0,50.0,58.0,75.0,85.0,90.0,95.0,98.0,99.5
DISS-FAIL-2026-003,25.0,10.0,50.0,20.0,75.0,30.0,90.0,40.0,98.0,50.0

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

IDФункцияРеализация
FS-001CSV importПрочитать input.csv в UTF-8/CSV-совместимом формате, проверить наличие заголовка и ожидаемых колонок.
FS-002Schema validationПроверить обязательные поля, количество колонок, отсутствие критических пропусков и корректность структуры строк.
FS-003Type conversionПреобразовать числовые, флаговые и текстовые значения; некорректный формат фиксировать как ошибку строки.
FS-004Domain rule engineПрименить предметные правила для Dissolution Profile f2 Calculator, включая лимиты из описания утилиты и утверждённой спецификации.
FS-005Status aggregationСформировать итоговый статус: FAIL при критическом отказе, WARNING при некритическом отклонении, PASS при соответствии.
FS-006JSON exportЗаписать output.json с детализацией проверок, исходными значениями, предупреждениями, отказами и critical findings.
FS-007Audit supportСохранять структуру результата пригодной для review, расследования отклонений, воспроизведения расчёта и подготовки IQ/OQ/PQ.
FS-008Integration contractПоддерживать сценарий: LIMS/ELN/MES формирует input.csv, утилита возвращает output.json, портал отображает описание и документацию.
FS-009Error handlingОтражать ошибки без неоднозначных сообщений; не подменять отсутствующие значения расчетными значениями без явного правила.
FS-010Version control supportДокументировать версию утилиты, входной контракт, контрольную сумму исполняемого файла и дату применения правил.

Пример output.json

{
  "utilityId": "dissolution-profile-f2-calculator",
  "utilityName": "Dissolution_Profile_f2_Calculator",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "checks": [
    {
      "parameter": "Batch",
      "value": "DISS-F2-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref15",
      "value": "25.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test15",
      "value": "26.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref30",
      "value": "50.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test30",
      "value": "52.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref45",
      "value": "75.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test45",
      "value": "76.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref60",
      "value": "90.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test60",
      "value": "91.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref90",
      "value": "98.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test90",
      "value": "99.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "generatedFor": "QA/QC review and LIMS integration"
}

Матрица трассируемости

URSFSOQ/PQ покрытие
URS-001, URS-003FS-001, FS-002, FS-003OQ-001/OQ-002/OQ-003
URS-002, URS-004FS-004, FS-005OQ-004/PQ-001
URS-005, URS-007FS-006, FS-007OQ-005/PQ-002
URS-008, URS-010FS-008, FS-010IQ-001/OQ-006

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

IDСценарийОжидаемый результат
OQ-001Валидная строка из примераPASS или допустимый WARNING согласно правилам.
OQ-002Отсутствует обязательная колонкаОшибка схемы или FAIL.
OQ-003Нечисловое значение в числовом полеОшибка преобразования типа.
OQ-004Значение критического параметра за пределомFAIL и critical finding.
OQ-005Несколько строк с разными статусамиНезависимая оценка каждой строки.
PQ-001Реальная серия/партия пользователяСогласованный результат review с сохранением input/output.

QA/QC и change control

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

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

Наркология

Пакет QC-утилит для наркологии и регулируемых лекарственных средств: препараты для терапии зависимости, опиоиды, бензодиазепины, стимуляторы, седативные средства, летучие примеси, assay/identity/dissolution/release checks.

Открыть

Стоматология и стоматологические материалы

Пакет QC-утилит для стоматологических лекарственных продуктов, средств для полости рта и стоматологических материалов: анестетики, антисептики, обезболивание/антибиотики, полимеры/минералы, смолы, бондинги, микробиология, стабильность и material QC.

Открыть

Инфекционистика

Пакет QC-утилит для инфекционистики: антибактериальные, противовирусные, противогрибковые и противопаразитарные продукты, микробиология, стерильность, эндотоксины, вирусная безопасность, вакцинные release-checks.

Открыть

Lumex QC Suite

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

Открыть