PolyLLacticAcidQualityChecker
Poly L Lactic Acid
PLLA Filler Quality Checker — Филлеры на основе поли-L-молочной кислоты (Sculptra type) (ISO 13485, EU MDR) ℹ️ Утилита проверяет содержание PLLA, размер частиц (критично!), время ресуспензии, остаточный мономер, ММ полимера, стерильность. ℹ️ Не использует машинное обучение — только правила. ⚠️ КРИТИЧНО! Частицы > 150 мкм риск гранулем. Время ресуспензии ≤ 30 сек. Остаточный мономер ≤ 0.5%! Использование: PolyLLacticAcidQualityChecker.exe → демо-режим PolyLLacticAcidQualityChecker.exe input.csv output.json → оценка данных Формат input.csv: BatchNumber,PLLA_Content_mg,Particle_Size_D50_um,Particle_Size_D90_um,Particle_Size_Max_um,Suspension_Time_sec,Residual_Monomer_Percent,Molecular_Weight_Da,pH_Reconstituted,Endotoxin_EU_ml,SterilityTest,PackagingIntegrityTest,Moisture_Percent,Cake_Appearance_Score Пример: PLLA-SCULP-2026-001,150.0,35.0,60.0,90.0,15.0,0.2,25000,7.0,0.1,0,0,1.2,5.0 — ЗАЧЕМ ЭТО НУЖНО? Филлеры на основе поли-L-молочной кислоты (PLLA) — биостимуляторы коллагена длительного действия: • Sculptra, AestheFill, Gana и др. • Лиофилизированный порошок, требующий реконституции перед введением • Действуют за счет стимуляции фибробластов (незаполняющий эффект) • Частицы должны быть микропористыми и определенного размера для правильной интеграции ⚠️ КРИТИЧЕСКИ ВАЖНО: • Размер частиц D50 20–50 мкм — оптимально для фагоцитоза и стимуляции без миграции • Максимальный размер частиц ≤ 150 мкм — частицы крупнее вызывают гранулемы и узелки под кожей • Время ресуспензии ≤ 30 сек — показывает качество лиофилизации и поверхностной обработки (быстрое смачивание) • Остаточный мономер (молочная кислота) ≤ 0.5% — вызывает раздражение и боль при введении • Молекулярная масса 10–50 кДа — влияет на скорость деградации и длительность эффекта • Стерильность и эндотоксины — ОБЯЗАТЕЛЬНО для реконституируемых инъекционных форм • Влажность лиофилизата ≤ 2% — обеспечивает стабильность при хранении ⚠️ Особенность: PLLA филлеры продаются в виде лиофилизированного порошка. Качество "кейка" (плотность, цвет, целостность) важно для удобства восстановления. Частицы PLLA должны быть строго калиброваны: слишком мелкие быстро деградируют, слишком крупные вызывают воспаление. Время ресуспензии критично для клинической практики (врач не должен ждать минуты, чтобы набрать препарат). Остаточный мономер контролируется методом ГЖХ или титрования.
input.csv
BatchNumber,PLLA_Content_mg,Particle_Size_D50_um,Particle_Size_D90_um,Particle_Size_Max_um,Suspension_Time_sec,Residual_Monomer_Percent,Molecular_Weight_Da,pH_Reconstituted,Endotoxin_EU_ml,SterilityTest,PackagingIntegrityTest,Moisture_Percent,Cake_Appearance_Score PLLA-SCULP-2026-001,150.0,35.0,60.0,90.0,15.0,0.2,25000,7.0,0.1,0,0,1.2,5.0
URS & FS — пользовательские требования и функциональная спецификация
Этот документ описывает требования пользователя и функциональную спецификацию для утилиты контроля качества. Он предназначен для обсуждения внедрения, подготовки IQ/OQ и интеграции в контур ОКК/QC.
1. Область применения
Утилита Poly L Lactic Acid Quality Checker применяется для объекта Poly L Lactic Acid. Источником истины для структуры входных данных является фактический input.csv; критерии контроля задаются исполняемым модулем и предметным описанием.
Утилита не использует машинное обучение; решение формируется детерминированными правилами.
Категории: Dermal fillers
Теги: dermal fillers, endotoxins, hyaluronic acid, injectables, particles, rheology, sterility
2. Режимы запуска
PolyLLacticAcidQualityChecker.exe → демо-режим PolyLLacticAcidQualityChecker.exe input.csv output.json → оценка данных
3. Ключевые контролируемые области
- количественное содержание / assay
- микробиология и патогены
- pH и физико-химические параметры
4. Предметные ограничения и критические параметры
- ⚠️ КРИТИЧНО! Частицы > 150 мкм риск гранулем. Время ресуспензии ≤ 30 сек. Остаточный мономер ≤ 0.5%!
- ⚠️ КРИТИЧЕСКИ ВАЖНО:
- Размер частиц D50 20–50 мкм — оптимально для фагоцитоза и стимуляции без миграции
- Максимальный размер частиц ≤ 150 мкм — частицы крупнее вызывают гранулемы и узелки под кожей
- Время ресуспензии ≤ 30 сек — показывает качество лиофилизации и поверхностной обработки (быстрое смачивание)
- Остаточный мономер (молочная кислота) ≤ 0.5% — вызывает раздражение и боль при введении
- Молекулярная масса 10–50 кДа — влияет на скорость деградации и длительность эффекта
- Стерильность и эндотоксины — ОБЯЗАТЕЛЬНО для реконституируемых инъекционных форм
- Влажность лиофилизата ≤ 2% — обеспечивает стабильность при хранении
- ⚠️ Особенность: PLLA филлеры продаются в виде лиофилизированного порошка. Качество "кейка" (плотность, цвет, целостность) важно для удобства восстановления. Частицы PLLA должны быть строго калиброваны: слишком мелкие быстро деградируют, слишком крупные вызывают воспаление. Время ресуспензии критично для клинической практики (врач не должен ждать минуты, чтобы набрать препарат). Остаточный мономер контролируется методом ГЖХ или титрования.
5. URS — пользовательские требования
| ID | Требование | Критичность | Критерий приемки |
|---|---|---|---|
| URS-001 | Система должна принимать файл input.csv для Poly L Lactic Acid с точным набором колонок, перечисленным в разделе «Контракт входных данных». | 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. | High | JSON содержит общий статус, массив проверок, предупреждения, отказы и ссылку на исходный файл. |
| URS-006 | Система должна поддерживать применение в валидационном пакете клиента: URS/FS, IQ/OQ-подготовка, проверка установки и операционных сценариев. | High | Документ, тестовые сценарии и воспроизводимый CSV/JSON-поток пригодны для аудита и внутреннего согласования. |
| URS-007 | Система должна явно отделять технические ошибки данных от предметных несоответствий спецификации. | Medium | Ошибки схемы/типов не смешиваются с фармакопейными отклонениями и отображаются отдельно. |
6. Контракт входных данных input.csv
Источник истины для схемы входа — фактический заголовок input.csv. Имена колонок технические и не переводятся.
| # | Колонка | Тип | Ед. | Описание | Пример | Правило контроля |
|---|---|---|---|---|---|---|
| 1 | BatchNumber | идентификатор | as specified | Batch Number | PLLA-SCULP-2026-001 | обязательное поле; используется для трассируемости серии/партии |
| 2 | PLLA_Content_mg | десятичное число | as specified | PLLA Content mg | 150.0 | число; сравнивается с пределом содержания/чистоты из спецификации или метода |
| 3 | Particle_Size_D50_um | десятичное число | µm | Particle Size D50 um | 35.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 4 | Particle_Size_D90_um | десятичное число | µm | Particle Size D90 um | 60.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 5 | Particle_Size_Max_um | десятичное число | µm | Particle Size Max um | 90.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 6 | Suspension_Time_sec | десятичное число | as specified | Suspension Time sec | 15.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 7 | Residual_Monomer_Percent | десятичное число | % | Residual Monomer % | 0.2 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 8 | Molecular_Weight_Da | десятичное число | as specified | Molecular Weight Da | 25000 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 9 | pH_Reconstituted | десятичное число | pH | p H Reconstituted | 7.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 10 | Endotoxin_EU_ml | десятичное число | as specified | Endotoxin EU ml | 0.1 | число; критический показатель безопасности, сравнивается с лимитом эндотоксинов |
| 11 | SterilityTest | логический флаг | 0/1 | Sterility Test | 0 | значение должно быть допустимым флагом; для запрещённых микроорганизмов и роста обычно ожидается 0 / отсутствие |
| 12 | PackagingIntegrityTest | десятичное число | as specified | Packaging Integrity Test | 0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 13 | Moisture_Percent | десятичное число | % | Moisture % | 1.2 | обязательное числовое значение; сравнение с правилом выполняет утилита |
| 14 | Cake_Appearance_Score | десятичное число | as specified | Cake Appearance Score | 5.0 | обязательное числовое значение; сравнение с правилом выполняет утилита |
Пример CSV
BatchNumber,PLLA_Content_mg,Particle_Size_D50_um,Particle_Size_D90_um,Particle_Size_Max_um,Suspension_Time_sec,Residual_Monomer_Percent,Molecular_Weight_Da,pH_Reconstituted,Endotoxin_EU_ml,SterilityTest,PackagingIntegrityTest,Moisture_Percent,Cake_Appearance_Score PLLA-SCULP-2026-001,150.0,35.0,60.0,90.0,15.0,0.2,25000,7.0,0.1,0,0,1.2,5.0
7. FS — функциональная спецификация
| ID | Функция | Описание реализации |
|---|---|---|
| FS-001 | CLI entry point | Исполняемый файл PolyLLacticAcidQualityChecker.exe принимает режим демонстрации и режим обработки input.csv output.json. |
| FS-002 | CSV parser | Модуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка. |
| FS-003 | Field conversion | Для каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг. |
| FS-004 | Domain rule engine | Для объекта Poly L Lactic Acid применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка. |
| FS-005 | Criticality handling | Критичные нарушения формируют FAIL; некритичные отклонения и неполные данные формируют WARNING; соответствие всем правилам формирует PASS. |
| FS-006 | JSON writer | output.json сохраняет общий статус, результаты по каждому параметру, исходные значения, предупреждения, отказы и диагностические сообщения. |
| FS-007 | Integration contract | Формат CSV → JSON стабилен для вызова из LIMS/ELN/MES, планировщика задач или wrapper-сервиса. |
| FS-008 | Error handling | При ошибке схемы, отсутствующем файле, нечисловом значении или невозможности записи JSON возвращается диагностируемая ошибка без тихого PASS. |
8. Выходной контракт output.json
Выходной файл должен быть пригоден для автоматической обработки, аудита и сопоставления с исходной строкой input.csv.
{
"utility": "PolyLLacticAcidQualityChecker",
"api": "Poly L Lactic Acid",
"batchNumber": "PLLA-SCULP-2026-001",
"overallStatus": "PASS|WARNING|FAIL",
"checkedAtUtc": "2026-05-18T00:00:00Z",
"checks": [
{
"parameter": "BatchNumber",
"value": "PLLA-SCULP-2026-001",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "PLLA_Content_mg",
"value": "150.0",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "Particle_Size_D50_um",
"value": "35.0",
"unit": "µm",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "Particle_Size_D90_um",
"value": "60.0",
"unit": "µm",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "Particle_Size_Max_um",
"value": "90.0",
"unit": "µm",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "Suspension_Time_sec",
"value": "15.0",
"unit": "as specified",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "Residual_Monomer_Percent",
"value": "0.2",
"unit": "%",
"status": "PASS|WARNING|FAIL",
"message": "Результат проверки по правилу"
},
{
"parameter": "Molecular_Weight_Da",
"value": "25000",
"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-сценариев.
Входит в пакеты
Dermal Fillers QC Suite
Пакет для контроля качества инъекционных имплантатов и дермальных филлеров: гиалуроновая кислота, CaHA, PLLA, PMMA, коллаген и смежные испытания.
Открыть