ParticleSizeDistributionChecker

Particle Size Distribution

dermal fillers dissolution EAEU endotoxins hyaluronic acid impurities injectables microbiology
Открыть подборку

Particle Size Distribution Checker — Анализ размера частиц (ISO 13485, Ph. Eur.)

ℹ️ Утилита проверяет D10, D50, D90, максимальный размер, агломераты, Span (однородность).
ℹ️ Не использует машинное обучение — только правила.
⚠️ КРИТИЧНО! D_Max > 800 мкм риск закупорки иглы. Агломераты > 1% риск гранулем!

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

Формат input.csv:
BatchNumber,D10_um,D50_um,D90_um,D_Max_um,Agglomerates_Percent,Span_Value,Concentration_ParticlesPerMl,Viscosity_Pa_s,pH_Value,SterilityTest,Endotoxin_EU_ml,Measurement_Method

Пример:
PSD-HA-2026-001,45.0,150.0,350.0,480.0,0.3,2.03,50000,20.0,7.1,0,0.1,LaserDiffraction

— ЗАЧЕМ ЭТО НУЖНО?
Распределение частиц по размерам — критический параметр качества для гомогенизированных филлеров (HA, CaHA, PLLA):
• Определяет проходимость через тонкие иглы (27G, 30G)
• Влияет на гладкость введения и риск образования комков/гранулем
• D50 (медиана) характеризует средний размер частиц
• D90 и D_Max контролируют наличие крупных частиц-выбросов
• Span ((D90-D10)/D50) показывает однородность распределения (чем меньше, тем лучше)
⚠️ КРИТИЧЕСКИ ВАЖНО:
• D_Max ≤ 800 мкм — частицы большего размера могут застрять в игле или вызвать эмболию
• Агломераты ≤ 1% — слипшиеся частицы являются основной причиной гранулем и неровностей кожи
• D50 в диапазоне 20–400 мкм — оптимально для большинства зон лица
• Span ≤ 2.5 — обеспечивает предсказуемое поведение геля
• Стерильность и эндотоксины — обязательны для всех инъекционных форм
⚠️ Особенность: Измерение проводится методами лазерной дифракции, динамического рассеяния света или автоматизированной микроскопии. Важно контролировать не только средние значения, но и "хвосты" распределения (D90, D_Max), так как именно крупные частицы создают проблемы при инъекции. Агломераты могут образоваться при неправильном хранении или синтезе. Однородность (низкий Span) критична для равномерного распределения филлера в тканях.

input.csv

BatchNumber,D10_um,D50_um,D90_um,D_Max_um,Agglomerates_Percent,Span_Value,Concentration_ParticlesPerMl,Viscosity_Pa_s,pH_Value,SterilityTest,Endotoxin_EU_ml,Measurement_Method
PSD-HA-2026-001,45.0,150.0,350.0,480.0,0.3,2.03,50000,20.0,7.1,0,0.1,LaserDiffraction

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

Этот документ описывает требования пользователя и функциональную спецификацию для утилиты контроля качества. Он предназначен для обсуждения внедрения, подготовки IQ/OQ и интеграции в контур ОКК/QC.

Утилита: ParticleSizeDistributionCheckerAPI / объект: Particle Size DistributionКатегория: Dermal fillers

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

Утилита Particle Size Distribution Checker применяется для объекта Particle Size Distribution. Источником истины для структуры входных данных является фактический input.csv; критерии контроля задаются исполняемым модулем и предметным описанием.

Утилита не использует машинное обучение; решение формируется детерминированными правилами.

Категории: Dermal fillers, EAEU pharmacopoeia

Теги: dermal fillers, dissolution, EAEU, endotoxins, hyaluronic acid, impurities, injectables, microbiology, particles, pharmacopoeia, rheology, specification, sterility

2. Режимы запуска

ParticleSizeDistributionChecker.exe                            → демо-режим
ParticleSizeDistributionChecker.exe input.csv output.json      → оценка данных

3. Ключевые контролируемые области

  • количественное содержание / assay
  • растворение / распад
  • микробиология и патогены
  • pH и физико-химические параметры

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

  • ⚠️ КРИТИЧНО! D_Max > 800 мкм риск закупорки иглы. Агломераты > 1% риск гранулем!
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • D_Max ≤ 800 мкм — частицы большего размера могут застрять в игле или вызвать эмболию
  • Агломераты ≤ 1% — слипшиеся частицы являются основной причиной гранулем и неровностей кожи
  • D50 в диапазоне 20–400 мкм — оптимально для большинства зон лица
  • Span ≤ 2.5 — обеспечивает предсказуемое поведение геля
  • Стерильность и эндотоксины — обязательны для всех инъекционных форм
  • ⚠️ Особенность: Измерение проводится методами лазерной дифракции, динамического рассеяния света или автоматизированной микроскопии. Важно контролировать не только средние значения, но и "хвосты" распределения (D90, D_Max), так как именно крупные частицы создают проблемы при инъекции. Агломераты могут образоваться при неправильном хранении или синтезе. Однородность (низкий Span) критична для равномерного распределения филлера в тканях.
Пределы, указанные в описании, должны быть сверены с актуальной утверждённой спецификацией, фармакопейной монографией и регистрационным досье перед продуктивным применением.

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

IDТребованиеКритичностьКритерий приемки
URS-001Система должна принимать файл input.csv для Particle Size Distribution с точным набором колонок, перечисленным в разделе «Контракт входных данных».HighФайл с корректным заголовком читается без ручного редактирования; отсутствие обязательной колонки приводит к FAIL/ошибке импорта.
URS-002Система должна обрабатывать запуск без аргументов в демонстрационном режиме и запуск с аргументами input.csv output.json для пользовательских данных.MediumОба сценария запуска дают предсказуемый результат или понятное сообщение об ошибке.
URS-003Система должна выполнять rule-based контроль по областям: количественное содержание / assay, растворение / распад, микробиология и патогены, pH и физико-химические параметры.HighКаждый контролируемый параметр получает статус и сообщение; результат не зависит от скрытых Excel-формул или ML.
URS-004Система должна сохранять трассируемость между серией/партией, исходными значениями, применёнными правилами и итоговым вердиктом.HighВ выходе присутствуют идентификатор серии, исходные значения, статусы параметров и критические находки.
URS-005Система должна формировать машинно-читаемый output.json для LIMS/ELN/MES, batch record и QA/QC review.HighJSON содержит общий статус, массив проверок, предупреждения, отказы и ссылку на исходный файл.
URS-006Система должна поддерживать применение в валидационном пакете клиента: URS/FS, IQ/OQ-подготовка, проверка установки и операционных сценариев.HighДокумент, тестовые сценарии и воспроизводимый CSV/JSON-поток пригодны для аудита и внутреннего согласования.
URS-007Система должна явно отделять технические ошибки данных от предметных несоответствий спецификации.MediumОшибки схемы/типов не смешиваются с фармакопейными отклонениями и отображаются отдельно.

6. Контракт входных данных input.csv

Источник истины для схемы входа — фактический заголовок input.csv. Имена колонок технические и не переводятся.

#КолонкаТипЕд.ОписаниеПримерПравило контроля
1BatchNumberидентификаторas specifiedBatch NumberPSD-HA-2026-001обязательное поле; используется для трассируемости серии/партии
2D10_umдесятичное числоµmD10 um45.0обязательное числовое значение; сравнение с правилом выполняет утилита
3D50_umдесятичное числоµmD50 um150.0обязательное числовое значение; сравнение с правилом выполняет утилита
4D90_umдесятичное числоµmD90 um350.0обязательное числовое значение; сравнение с правилом выполняет утилита
5D_Max_umдесятичное числоµmD Max um480.0обязательное числовое значение; сравнение с правилом выполняет утилита
6Agglomerates_Percentдесятичное число%Agglomerates %0.3обязательное числовое значение; сравнение с правилом выполняет утилита
7Span_Valueдесятичное числоas specifiedSpan Value2.03обязательное числовое значение; сравнение с правилом выполняет утилита
8Concentration_ParticlesPerMlдесятичное числоas specifiedConcentration Particles per Ml50000число; сравнивается с пределом содержания/чистоты из спецификации или метода
9Viscosity_Pa_sдесятичное числоas specifiedViscosity Pa s20.0обязательное числовое значение; сравнение с правилом выполняет утилита
10pH_Valueдесятичное числоpHp H Value7.1обязательное числовое значение; сравнение с правилом выполняет утилита
11SterilityTestлогический флаг0/1Sterility Test0значение должно быть допустимым флагом; для запрещённых микроорганизмов и роста обычно ожидается 0 / отсутствие
12Endotoxin_EU_mlдесятичное числоas specifiedEndotoxin EU ml0.1число; критический показатель безопасности, сравнивается с лимитом эндотоксинов
13Measurement_Methodтекстas specifiedMeasurement MethodLaserDiffractionобязательное значение; формат и допустимость проверяются утилитой

Пример CSV

BatchNumber,D10_um,D50_um,D90_um,D_Max_um,Agglomerates_Percent,Span_Value,Concentration_ParticlesPerMl,Viscosity_Pa_s,pH_Value,SterilityTest,Endotoxin_EU_ml,Measurement_Method
PSD-HA-2026-001,45.0,150.0,350.0,480.0,0.3,2.03,50000,20.0,7.1,0,0.1,LaserDiffraction

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

IDФункцияОписание реализации
FS-001CLI entry pointИсполняемый файл ParticleSizeDistributionChecker.exe принимает режим демонстрации и режим обработки input.csv output.json.
FS-002CSV parserМодуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка.
FS-003Field conversionДля каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг.
FS-004Domain rule engineДля объекта Particle Size Distribution применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка.
FS-005Criticality handlingКритичные нарушения формируют FAIL; некритичные отклонения и неполные данные формируют WARNING; соответствие всем правилам формирует PASS.
FS-006JSON writeroutput.json сохраняет общий статус, результаты по каждому параметру, исходные значения, предупреждения, отказы и диагностические сообщения.
FS-007Integration contractФормат CSV → JSON стабилен для вызова из LIMS/ELN/MES, планировщика задач или wrapper-сервиса.
FS-008Error handlingПри ошибке схемы, отсутствующем файле, нечисловом значении или невозможности записи JSON возвращается диагностируемая ошибка без тихого PASS.

8. Выходной контракт output.json

Выходной файл должен быть пригоден для автоматической обработки, аудита и сопоставления с исходной строкой input.csv.

{
  "utility": "ParticleSizeDistributionChecker",
  "api": "Particle Size Distribution",
  "batchNumber": "PSD-HA-2026-001",
  "overallStatus": "PASS|WARNING|FAIL",
  "checkedAtUtc": "2026-05-18T00:00:00Z",
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "PSD-HA-2026-001",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "D10_um",
      "value": "45.0",
      "unit": "µm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "D50_um",
      "value": "150.0",
      "unit": "µm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "D90_um",
      "value": "350.0",
      "unit": "µm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "D_Max_um",
      "value": "480.0",
      "unit": "µm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Agglomerates_Percent",
      "value": "0.3",
      "unit": "%",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Span_Value",
      "value": "2.03",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Concentration_ParticlesPerMl",
      "value": "50000",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    }
  ],
  "criticalFindings": [],
  "sourceFile": "input.csv"
}

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

IDСценарийОжидаемый результат
TC-001Валидный CSV с заголовком и строкой из примераВсе строки обработаны; результат содержит PASS/WARNING/FAIL и детализацию по параметрам.
TC-002Отсутствует обязательная колонка из input.csvИмпорт отклоняется или строка получает FAIL со ссылкой на схему.
TC-003Числовое поле содержит текст или пустое значениеФиксируется ошибка преобразования типа; результат не маскируется как PASS.
TC-004Параметр выходит за предел спецификации / критического лимитаДля критического параметра формируется FAIL; для некритического — WARNING согласно правилу.
TC-005Положительный патогенный/микробиологический флаг или превышение микробиологического лимитаФормируется критический FAIL с указанием параметра.

10. QA/QC, CSV и управление изменениями

  • Перед применением на производстве клиент фиксирует версию исполняемого файла, контрольную сумму, версию спецификации/монографии, тестовый CSV, ожидаемый JSON и результаты IQ/OQ.
  • Нельзя менять имена колонок без обновления валидатора и тестовых сценариев.
  • Исходный CSV, output.json и версия утилиты должны храниться вместе как пакет доказательств.
  • Любое изменение правил контроля должно проходить change control и повторную проверку OQ-сценариев.

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

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

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

Открыть

Dermal Fillers QC Suite

Пакет для контроля качества инъекционных имплантатов и дермальных филлеров: гиалуроновая кислота, CaHA, PLLA, PMMA, коллаген и смежные испытания.

Открыть

EAEU Pharmacopoeia QC Suite

Пакет утилит по фармакопейным методам ЕАЭС: спецификации, растворение, микробиология, примеси и общие испытания.

Открыть