IronSaltsQualityChecker

Iron Salts

API assay biosimilars fixed-dose combinations generics heavy metals impurities market map
Открыть подборку

Iron Salts Quality Checker — Препараты железа (Ph. Eur., USP)

ℹ️ Утилита проверяет содержание железа, тяжелые металлы (Pb, As, Hg, Cd), нерастворимые вещества.
ℹ️ Не использует машинное обучение — только правила.
⚠️ КРИТИЧНО! Тяжелые металлы строго лимитированы. Pb ≤5 ppm, As ≤2 ppm!

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

Формат input.csv:
BatchNumber,SaltType,Iron_Content_Percent,Salt_Assay_Percent,Lead_ppm,Arsenic_ppm,Mercury_ppm,Cadmium_ppm,Heavy_Metals_Total_ppm,Insoluble_Substances_Percent,Loss_On_Drying_Percent,pH_Value,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected

Пример:
FE-SUL-2026-001,Ferrous Sulfate Heptahydrate,99.5,99.2,2.0,1.0,0.5,0.5,10.0,0.05,0.8,3.5,50,10,0,0

— ЗАЧЕМ ЭТО НУЖНО?
Препараты железа (сульфат, фумарат, глюконат) используются для лечения железодефицитной анемии:
• Железо является минералом, который часто загрязнен тяжелыми металлами из сырья или процесса производства.
• Свинец, мышьяк, ртуть и кадмий высокотоксичны и накапливаются в организме. Их контроль критичен для безопасности.
• Нерастворимые вещества могут указывать на окисление железа (переход в Fe3+) или наличие примесей носителя.
• Препараты принимаются длительно, поэтому требования к чистоте выше, чем для разовых лекарств.
⚠️ КРИТИЧЕСКИ ВАЖНО:
• Содержание элементарного железа: 95–105% от заявленного
• Свинец (Pb): ≤ 5.0 ppm
• Мышьяк (As): ≤ 2.0 ppm
• Ртуть (Hg): ≤ 1.0 ppm
• Кадмий (Cd): ≤ 1.0 ppm
• Нерастворимые вещества: ≤ 0.1%
• Микробиология: отсутствие патогенов
⚠️ Особенность: Утилита фокусируется на токсикологической безопасности минеральных добавок. Превышение лимитов тяжелых металлов является основанием для немедленной браковки серии, так как эти элементы не выводятся из организма и вызывают хроническую интоксикацию. Контроль нерастворимых веществ важен для оценки степени окисления препарата (ржавчина/оксиды), что снижает биодоступность и раздражает ЖКТ.

input.csv

BatchNumber,SaltType,Iron_Content_Percent,Salt_Assay_Percent,Lead_ppm,Arsenic_ppm,Mercury_ppm,Cadmium_ppm,Heavy_Metals_Total_ppm,Insoluble_Substances_Percent,Loss_On_Drying_Percent,pH_Value,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected
FE-SUL-2026-001,Ferrous Sulfate Heptahydrate,99.5,99.2,2.0,1.0,0.5,0.5,10.0,0.05,0.8,3.5,50,10,0,0

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

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

Утилита: IronSaltsQualityCheckerAPI / объект: Iron SaltsКатегория: Global API

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

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

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

Категории: Global API

Теги: API, assay, biosimilars, fixed-dose combinations, generics, heavy metals, impurities, market map, microbiology, minerals

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

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

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

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

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

  • ⚠️ КРИТИЧНО! Тяжелые металлы строго лимитированы. Pb ≤5 ppm, As ≤2 ppm!
  • ⚠️ КРИТИЧЕСКИ ВАЖНО:
  • Содержание элементарного железа: 95–105% от заявленного
  • Свинец (Pb): ≤ 5.0 ppm
  • Мышьяк (As): ≤ 2.0 ppm
  • Ртуть (Hg): ≤ 1.0 ppm
  • Кадмий (Cd): ≤ 1.0 ppm
  • Нерастворимые вещества: ≤ 0.1%
  • Микробиология: отсутствие патогенов
  • ⚠️ Особенность: Утилита фокусируется на токсикологической безопасности минеральных добавок. Превышение лимитов тяжелых металлов является основанием для немедленной браковки серии, так как эти элементы не выводятся из организма и вызывают хроническую интоксикацию. Контроль нерастворимых веществ важен для оценки степени окисления препарата (ржавчина/оксиды), что снижает биодоступность и раздражает ЖКТ.
Пределы, указанные в описании, должны быть сверены с актуальной утверждённой спецификацией, фармакопейной монографией и регистрационным досье перед продуктивным применением.

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

IDТребованиеКритичностьКритерий приемки
URS-001Система должна принимать файл input.csv для Iron Salts с точным набором колонок, перечисленным в разделе «Контракт входных данных».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 NumberFE-SUL-2026-001обязательное поле; используется для трассируемости серии/партии
2SaltTypeтекстas specifiedSalt TypeFerrous Sulfate Heptahydrateобязательное значение; формат и допустимость проверяются утилитой
3Iron_Content_Percentдесятичное число%Iron Content %99.5число; сравнивается с пределом содержания/чистоты из спецификации или метода
4Salt_Assay_Percentдесятичное число%Salt Assay %99.2число; сравнивается с пределом содержания/чистоты из спецификации или метода
5Lead_ppmдесятичное числоppmLead ppm2.0число; проверяется как элементная/металлическая примесь
6Arsenic_ppmдесятичное числоppmArsenic ppm1.0число; проверяется как элементная/металлическая примесь
7Mercury_ppmдесятичное числоppmMercury ppm0.5число; проверяется как элементная/металлическая примесь
8Cadmium_ppmдесятичное числоppmCadmium ppm0.5число; проверяется как элементная/металлическая примесь
9Heavy_Metals_Total_ppmдесятичное числоppmHeavy Metals Total ppm10.0число; проверяется как элементная/металлическая примесь
10Insoluble_Substances_Percentдесятичное число%Insoluble Substances %0.05обязательное числовое значение; сравнение с правилом выполняет утилита
11Loss_On_Drying_Percentдесятичное число%Loss On Drying %0.8обязательное числовое значение; сравнение с правилом выполняет утилита
12pH_Valueдесятичное числоpHp H Value3.5обязательное числовое значение; сравнение с правилом выполняет утилита
13Microbial_Count_TAMCдесятичное числоas specifiedMicrobial Count TAMC50число; сравнивается с микробиологическими пределами
14Microbial_Count_TYMCдесятичное числоas specifiedMicrobial Count TYMC10число; сравнивается с микробиологическими пределами
15EColi_Detectedлогический флаг0/1EColi Detected0значение должно быть допустимым флагом; для запрещённых микроорганизмов и роста обычно ожидается 0 / отсутствие
16Salmonella_Detectedлогический флаг0/1Salmonella Detected0значение должно быть допустимым флагом; для запрещённых микроорганизмов и роста обычно ожидается 0 / отсутствие

Пример CSV

BatchNumber,SaltType,Iron_Content_Percent,Salt_Assay_Percent,Lead_ppm,Arsenic_ppm,Mercury_ppm,Cadmium_ppm,Heavy_Metals_Total_ppm,Insoluble_Substances_Percent,Loss_On_Drying_Percent,pH_Value,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected
FE-SUL-2026-001,Ferrous Sulfate Heptahydrate,99.5,99.2,2.0,1.0,0.5,0.5,10.0,0.05,0.8,3.5,50,10,0,0

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

IDФункцияОписание реализации
FS-001CLI entry pointИсполняемый файл IronSaltsQualityChecker.exe принимает режим демонстрации и режим обработки input.csv output.json.
FS-002CSV parserМодуль импорта читает CSV, проверяет заголовок, порядок/наличие колонок, количество значений и кодировку. Для десятичных значений ожидается точка.
FS-003Field conversionДля каждой колонки выполняется преобразование к ожидаемому типу: идентификатор, текст, десятичное число, дата/время или логический флаг.
FS-004Domain rule engineДля объекта Iron Salts применяются явные правила: диапазон, минимум, максимум, отсутствие запрещённого признака, полнота данных или расчётная проверка.
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": "IronSaltsQualityChecker",
  "api": "Iron Salts",
  "batchNumber": "FE-SUL-2026-001",
  "overallStatus": "PASS|WARNING|FAIL",
  "checkedAtUtc": "2026-05-18T00:00:00Z",
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "FE-SUL-2026-001",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "SaltType",
      "value": "Ferrous Sulfate Heptahydrate",
      "unit": "as specified",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Iron_Content_Percent",
      "value": "99.5",
      "unit": "%",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Salt_Assay_Percent",
      "value": "99.2",
      "unit": "%",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Lead_ppm",
      "value": "2.0",
      "unit": "ppm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Arsenic_ppm",
      "value": "1.0",
      "unit": "ppm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Mercury_ppm",
      "value": "0.5",
      "unit": "ppm",
      "status": "PASS|WARNING|FAIL",
      "message": "Результат проверки по правилу"
    },
    {
      "parameter": "Cadmium_ppm",
      "value": "0.5",
      "unit": "ppm",
      "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-сценариев.

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

Global API & Biosimilars QC Suite

Пакет утилит по востребованным мировым API, генерикам и биоаналогам, включая комбинированные препараты и биологические продукты.

Открыть