InfraLUM_ID_Metformin

InfraLUM ID Metformin

Lumex QC URS & FS input.csv output.json rule-based LIMS-ready InfraLUM
Open selection

Utility description: InfraLUM ID Metformin

InfraLUM ID Metformin — Metformin Identification by IR Spectroscopy

ℹ️  Utility checks IR spectrum compliance with reference (Ph. Eur. / Russian Pharmacopoeia):
    • Correlation coefficient with reference spectrum: ≥0.995
    • Peak 3370 cm⁻¹ (N-H guanidine stretching): ±20 cm⁻¹
    • Peak 3170 cm⁻¹ (NH₂⁺/NH⁺ salt stretching): ±20 cm⁻¹ — HYDROCHLORIDE MARKER
    • Peak 1625 cm⁻¹ (C=N guanidine group): ±10 cm⁻¹ — CORE MARKER
    • Peak 1470 cm⁻¹ (CH₃ deformation + CN skeletal): ±10 cm⁻¹
    • Peak 1060 cm⁻¹ (C-N dimethylamino): ±10 cm⁻¹
    • Baseline noise: ≤0.005 Abs

⚠️  IMPORTANT: Metformin belongs to the biguanide class, not sulfonylureas.
    The molecule contains a guanidine group that is a strong base and exists
    in protonated form as hydrochloride salt.
    Protonation creates a hydrogen bonding network manifesting as a very broad
    and intense absorption band in the 3100–3400 cm⁻¹ region.
    This band is the most characteristic diagnostic feature of metformin and
    distinguishes it from most other oral antidiabetic agents.

Usage:
  InfraLUM_ID_Metformin.exe                            → demo mode (console output)
  InfraLUM_ID_Metformin.exe input.csv output.json      → evaluate your data

Input format:
BatchNumber,CorrelationCoefficient,Peak3370_cm1,Peak3170_cm1,Peak1625_cm1,Peak1470_cm1,Peak1060_cm1,BaselineNoiseAbs,PreparationMethod

Example (PreparationMethod: KBr / ATR / Nujol):
  MET-ID-2026-071,0.9995,3368.0,3172.0,1623.0,1468.0,1062.0,0.0013,KBr

— WHY IS THIS NEEDED?
Metformin hydrochloride is the first-line therapy for type 2 diabetes mellitus.
• Mechanism of action: AMPK activation, reduction of hepatic gluconeogenesis.
• Does not stimulate insulin secretion (not a hypoglycemic agent).
• IR spectroscopy is the primary identity confirmation method per Ph. Eur. and Russian Pharmacopoeia.
• Reference spectrum established in Ph. Eur. Metformin hydrochloride and Russian Pharmacopoeia FS.2.4.00225.18.
• InfraLUM FT-08/FT-10 instruments are widely used in Russian QC laboratories.

⚠️  CRITICAL:
• Correlation ≥0.995 — strict matching criterion with reference.
• Peak 1625 cm⁻¹ (C=N guanidine) — primary biguanide core marker.
  Absence indicates guanidine group destruction or substitution.
• Peak 3170 cm⁻¹ (NH₂⁺) — specific hydrochloride salt marker.
  For free base this peak is absent or significantly shifted.
  Distinguishes metformin HCl from other salt forms.
• Broad band 3100–3400 cm⁻¹ — result of strong hydrogen bonds
  in hydrochloride crystal lattice. Shape change may indicate
  polymorphic transition or HCl loss.
• Peak 1060 cm⁻¹ (C-N) — confirms dimethylamino group presence.
• Noise >0.005 Abs renders spectrum unsuitable for identification.

Key features:
• Uses NAMED TUPLE (record struct EvalResult) —
  eliminates positional field access errors.
• Specification based on Ph. Eur. Metformin hydrochloride and Russian Pharmacopoeia FS.2.4.00225.18.
• Control of five characteristic peaks + correlation + spectrum quality.
• Differentiation of salt and free base forms via NH₂⁺ peak at 3170 cm⁻¹.
• Full LabWare LIMS compatibility.

Critical parameters:
• Correlation Coefficient: ≥0.995
• Peak 3370 cm⁻¹ (N-H guanidine): 3370 ± 20 cm⁻¹
• Peak 3170 cm⁻¹ (NH₂⁺ salt): 3170 ± 20 cm⁻¹
• Peak 1625 cm⁻¹ (C=N guanidine): 1625 ± 10 cm⁻¹
• Peak 1470 cm⁻¹ (CH₃ deform + CN skeletal): 1470 ± 10 cm⁻¹
• Peak 1060 cm⁻¹ (C-N dimethylamino): 1060 ± 10 cm⁻¹
• Baseline Noise: ≤0.005 Abs

💡 Usage tips:
1. KBr tablets must be DRY — pre-dry at 120°C before use.
   Metformin HCl is VERY hygroscopic! Moisture radically distorts the 3100–3400 cm⁻¹ region.
2. Sample concentration in KBr: 0.3–0.7% (w/w). Metformin gives very intense
   absorption bands; exceeding concentration leads to detector saturation.
3. Record spectrum in 4000–400 cm⁻¹ range, 4 cm⁻¹ resolution, 32 scans.
4. Record background spectrum of pure KBr before each measurement.
5. For ATR method, ensure tight contact; metformin contacts crystal well.
6. Reference spectrum should be obtained on the same instrument under identical conditions.
7. Prepare sample QUICKLY under low humidity conditions (<40% RH).

⚠️ Note: Metformin HCl has a characteristic "fingerprint" in the 3100–3400 cm⁻¹ region —
    a very broad band with multiple maxima caused by complex NH₂⁺···Cl⁻ hydrogen bond network.
    Band shape is sensitive to polymorphic form and hydration state. Any significant shape
    change (narrowing, new maxima appearance) requires additional investigation by PXRD
    or DSC even if correlation test passes.
    Cyanoguanidine impurity (synthetic precursor) has a sharp peak ~2160 cm⁻¹
    (C≡N nitrile group). Presence of ANY peak in the 2100–2200 cm⁻¹ region
    is a CRITICAL DEVIATION requiring immediate investigation,
    as cyanoguanidine is toxic.

input.csv

BatchNumber,CorrelationCoefficient,Peak3370_cm1,Peak3170_cm1,Peak1625_cm1,Peak1470_cm1,Peak1060_cm1,BaselineNoiseAbs,PreparationMethod
MET-ID-2026-071,0.9995,3368.0,3172.0,1623.0,1468.0,1062.0,0.0013,KBr
MET-ID-2026-072,0.9918,3395.0,3145.0,1638.0,1455.0,1078.0,0.007,KBr

URS & FS — User Requirements and Functional Specification

This document defines the controlled interface, validation behaviour and expected output of InfraLUM_ID_Metformin. The document is intended to reside inside the utility folder together with input.csv and the description file. Expected executable: InfraLUM_ID_Metformin.exe.

Purpose: the utility performs deterministic verification of QC input data against approved limits, generates machine-readable output.json, and supports QC/QA review, LIMS/ELN/MES integration and CSV/CSA preparation.

Scope

Utility classIR spectroscopy / InfraLUM
Main object/methodMetformin Identification by IR Spectroscopy
Inputinput.csv with a fixed header and controlled data types.
Outputoutput.json with PASS, WARNING, FAIL statuses, detailed checks and critical findings.
ExclusionsThe utility does not replace the approved specification, analytical procedure, OOS/OOT investigation or Qualified Person / QA release decision.

Domain limits and critical parameters

Key fragments from the source description are listed below. Before production use, limits shall be verified against the approved specification, registration dossier, current pharmacopoeial edition and local SOPs.
  • • Correlation coefficient with reference spectrum: ≥0.995
  • • Peak 3370 cm⁻¹ (N-H guanidine stretching): ±20 cm⁻¹
  • • Peak 3170 cm⁻¹ (NH₂⁺/NH⁺ salt stretching): ±20 cm⁻¹ — HYDROCHLORIDE MARKER
  • • Peak 1625 cm⁻¹ (C=N guanidine group): ±10 cm⁻¹ — CORE MARKER
  • • Peak 1470 cm⁻¹ (CH₃ deformation + CN skeletal): ±10 cm⁻¹
  • • Peak 1060 cm⁻¹ (C-N dimethylamino): ±10 cm⁻¹
  • • Baseline noise: ≤0.005 Abs
  • ⚠️ IMPORTANT: Metformin belongs to the biguanide class, not sulfonylureas.
  • and intense absorption band in the 3100–3400 cm⁻¹ region.
  • InfraLUM_ID_Metformin.exe input.csv output.json → evaluate your data
  • BatchNumber,CorrelationCoefficient,Peak3370_cm1,Peak3170_cm1,Peak1625_cm1,Peak1470_cm1,Peak1060_cm1,BaselineNoiseAbs,PreparationMethod
  • • Mechanism of action: AMPK activation, reduction of hepatic gluconeogenesis.
  • • Does not stimulate insulin secretion (not a hypoglycemic agent).
  • • IR spectroscopy is the primary identity confirmation method per Ph. Eur. and Russian Pharmacopoeia.
  • • Reference spectrum established in Ph. Eur. Metformin hydrochloride and Russian Pharmacopoeia FS.2.4.00225.18.
  • • InfraLUM FT-08/FT-10 instruments are widely used in Russian QC laboratories.

Pharmacopoeial and regulatory references found in the description

#SourceNote
1Ph. EurUsed as a source/context reference from the description; the current edition must be verified before implementation.
2Ph. Eur. Metformin hydrochlorideUsed as a source/context reference from the description; the current edition must be verified before implementation.
3Ph. Eur. / Russian PharmacopoeiaUsed as a source/context reference from the description; the current edition must be verified before implementation.
4Ph. Eur. and Russian PharmacopoeiaUsed as a source/context reference from the description; the current edition must be verified before implementation.
5Ph. Eur. Metformin hydrochloride and Russian Pharmacopoeia FS.2.4.00225.18Used as a source/context reference from the description; the current edition must be verified before implementation.
6ГФ РФ / Ph. EurUsed as a source/context reference from the description; the current edition must be verified before implementation.
7ГФ РФ и Ph. EurUsed as a source/context reference from the description; the current edition must be verified before implementation.
8ГФ РФ ФС.2.4.00225.18 и Ph. Eur. Metformin hydrochlorideUsed as a source/context reference from the description; the current edition must be verified before implementation.

Production data flow

StepResponsible objectDescriptionControl
1LIMS/ELN/MES or QC analystCreates input.csv with measured values and batch identifier.Header, mandatory-field and unit checks.
2InfraLUM_ID_MetforminLoads CSV, converts data types, applies domain rules and produces the result.Deterministic rules; no ML/probabilistic conformance decision.
3QC reviewer / QAReviews output.json, warnings, critical deviations and source values.Review, deviation investigation and data-trail retention.
4Archive / eQMSRetains input, output, utility version, documentation and checksum.Data integrity: ALCOA+, reproducibility and change control.

URS — User Requirements Specification

IDRequirementCriticalityAcceptance criterion
URS-001The utility shall be supplied with InfraLUM_ID_Metformin.documentation.html in the same folder as the description and sample input.csv.MediumThe documentation file exists in the InfraLUM_ID_Metformin folder and opens locally in a browser.
URS-002The utility shall accept input.csv with the exact headers defined in the data contract.HighA CSV file with the correct header is processed without manual editing.
URS-003The utility shall validate mandatory fields, column count, data types and basic plausibility of values.HighSchema and conversion errors are explicitly reported.
URS-004The utility shall evaluate each critical and non-critical QC parameter against approved limits.HighEach checked parameter receives a status and explanatory message.
URS-005The utility shall produce a final record/batch status: PASS, WARNING or FAIL.HighA critical deviation causes FAIL; a non-critical deviation causes WARNING.
URS-006The utility shall generate output.json suitable for LIMS/ELN/MES integration and QA/QC review.HighJSON contains source values, rules, statuses, warnings and critical findings.
URS-007The utility shall preserve traceability between batch identifier, input values, applied rules and final status.HighThe output contains the batch/row identifier and list of checked parameters.
URS-008The utility shall not use machine learning or probabilistic interpretation for conformance decisions.MediumThe result is reproducible and based on explicit rules, thresholds and input values.
URS-009The utility shall support the CLI scenario: InfraLUM_ID_Metformin.exe input.csv output.json.HighWith valid arguments, output.json is created; on error, a diagnostic message is returned.
URS-010The documentation shall support IQ/OQ/PQ or equivalent CSV/CSA verification.MediumThe document contains URS, FS, CSV contract, rules, test scenarios and traceability.
URS-011The utility shall distinguish data errors, method warnings and critical specification failures.Highoutput.json provides separate structures/fields for errors, warnings and critical findings.
URS-012The utility shall support archival retention of unchanged input and output data.Mediuminput.csv and output.json can be retained as a batch record or OQ/PQ evidence.

input.csv contract

#FieldTypeSamplePurpose
1BatchNumberstringMET-ID-2026-071Batch or lot identifier used for traceability.
2CorrelationCoefficientdecimal0.9995Similarity/correlation criterion against a reference profile.
3Peak3370_cm1decimal3368.0Spectral peak position or chromatographic/analytical peak attribute.
4Peak3170_cm1decimal3172.0Spectral peak position or chromatographic/analytical peak attribute.
5Peak1625_cm1decimal1623.0Spectral peak position or chromatographic/analytical peak attribute.
6Peak1470_cm1decimal1468.0Spectral peak position or chromatographic/analytical peak attribute.
7Peak1060_cm1decimal1062.0Spectral peak position or chromatographic/analytical peak attribute.
8BaselineNoiseAbsdecimal0.0013Signal quality parameter used to determine analytical suitability.
9PreparationMethodcontrolled stringKBrControlled analytical or sample-preparation method identifier.
BatchNumber,CorrelationCoefficient,Peak3370_cm1,Peak3170_cm1,Peak1625_cm1,Peak1470_cm1,Peak1060_cm1,BaselineNoiseAbs,PreparationMethod
MET-ID-2026-071,0.9995,3368.0,3172.0,1623.0,1468.0,1062.0,0.0013,KBr
MET-ID-2026-072,0.9918,3395.0,3145.0,1638.0,1455.0,1078.0,0.007,KBr

Input validation rules

IDFieldTypeCheckCriticality
VR-001BatchNumberstringnot empty; unique within file where applicableMedium
VR-002CorrelationCoefficientdecimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-003Peak3370_cm1decimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-004Peak3170_cm1decimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-005Peak1625_cm1decimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-006Peak1470_cm1decimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-007Peak1060_cm1decimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-008BaselineNoiseAbsdecimalparse as invariant decimal; finite value; no NaN/Infinity; evaluate against approved numerical limitMedium
VR-009PreparationMethodcontrolled stringnot empty; value belongs to controlled set or is reported as warningMedium

FS — Functional Specification

IDFunctionImplementationURS link
FS-001Local HTML documentationProvide a bilingual InfraLUM_ID_Metformin.documentation.html file with RU/EN switch, source description, URS, FS, contracts and tests.URS-001, URS-010
FS-002CSV importRead input.csv in UTF-8/CSV-compatible format and identify the header row and data records.URS-002, URS-009
FS-003Schema validationCompare actual columns against the expected contract; missing key fields are recorded as schema errors.URS-002, URS-003
FS-004Type conversionConvert decimal, flag/boolean and controlled string values. Invalid values are recorded at row and field level.URS-003
FS-005Domain rule engineApply rules for InfraLUM ID Metformin, including critical limits from the description and approved specification.URS-004, URS-008
FS-006Status aggregationAggregate parameter statuses: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance.URS-005, URS-011
FS-007JSON exportWrite output.json with utility identifier, source values, check results, warnings and critical findings.URS-006, URS-007
FS-008Error handlingSeparate execution errors, schema errors, conversion errors and domain-limit failures.URS-003, URS-011
FS-009Audit supportKeep result structure suitable for review, OOS/OOT investigation, calculation reproduction and inspection discussion.URS-007, URS-012
FS-010Integration contractSupport the standard scenario: LIMS/ELN/MES creates input.csv, the utility returns output.json, and the portal displays description and documentation.URS-006, URS-009
FS-011Configuration/change controlAny change to limits, column names or rule logic requires versioning, review, regression tests and documentation update.URS-010, URS-012
FS-012Data integrityDo not modify the source input.csv; save results separately in output.json for archival retention.URS-007, URS-012

Example output.json structure

{
  "utilityId": "infralum-id-metformin",
  "utilityName": "InfraLUM_ID_Metformin",
  "object": "InfraLUM ID Metformin",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "recordCount": 2,
  "checks": [
    {
      "parameter": "BatchNumber",
      "value": "MET-ID-2026-071",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-001"
    },
    {
      "parameter": "CorrelationCoefficient",
      "value": "0.9995",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-002"
    },
    {
      "parameter": "Peak3370_cm1",
      "value": "3368.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-003"
    },
    {
      "parameter": "Peak3170_cm1",
      "value": "3172.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-004"
    },
    {
      "parameter": "Peak1625_cm1",
      "value": "1623.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-005"
    },
    {
      "parameter": "Peak1470_cm1",
      "value": "1468.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-006"
    },
    {
      "parameter": "Peak1060_cm1",
      "value": "1062.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-007"
    },
    {
      "parameter": "BaselineNoiseAbs",
      "value": "0.0013",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-008"
    },
    {
      "parameter": "PreparationMethod",
      "value": "KBr",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result",
      "ruleReference": "VR-009"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "metadata": {
    "executionMode": "CLI",
    "interface": "CSV to JSON",
    "documentationFile": "InfraLUM_ID_Metformin.documentation.html"
  }
}

Traceability matrix URS → FS → OQ/PQ

URSFSVerificationExpected result
URS-001FS-001Check that InfraLUM_ID_Metformin.documentation.html exists in the utility folder.The file exists, opens, and the RU/EN switch works.
URS-002/003FS-002/003/004Run the utility with a correct CSV, a CSV missing a mandatory column and a CSV with an invalid data type.Correct CSV is processed; schema and type errors are explicit.
URS-004/005FS-005/006Submit values within limits, at warning level and beyond a critical limit.PASS, WARNING and FAIL are produced according to rules.
URS-006/007FS-007/009/012Verify output.json structure and batch traceability.JSON contains batch identifier, values, rules, statuses and critical findings.
URS-008FS-005Repeat execution with the same input.csv.The result is identical; no probabilistic behaviour is present.
URS-009/010/012FS-010/011/012Execute the CLI scenario and archive input/output/version.Artefacts are suitable for OQ/PQ and change-control records.

OQ/PQ test scenarios

IDScenarioInput dataExpected result
OQ-001Positive pathSample CSV with valid values.output.json is created; final status is PASS or acceptable WARNING according to rules.
OQ-002Mandatory column missingRemove one key column from the header.Schema error; the row shall not be treated as passed.
OQ-003Invalid typePut text into a numeric field.Type-conversion error with field and row identification.
OQ-004Critical limitCritical parameter value outside the approved limit.FAIL and an entry in criticalFindings.
OQ-005WarningNon-critical deviation or unknown controlled category.WARNING without hiding the source value.
PQ-001User real batchReal input.csv from the QC process.Reviewed result with input.csv, output.json, version and checksum retained.

QA/QC, CSV/CSA and change control

  • Do not rename columns without updating the validator, test set and documentation.
  • Retain input.csv, output.json, executable version, checksum and a copy of the documentation.
  • Before production use, perform IQ/OQ/PQ or equivalent risk-based CSV/CSA verification.
  • Critical limits shall be approved by the process owner and verified against the registration dossier, pharmacopoeia and local SOPs.
  • Any change to rules, thresholds or status interpretation shall go through change control and regression testing.

Included in packages

Diabetes QC Suite

QC package for diabetes medicines: insulins, metformin, SGLT2/DPP-4/GLP-1 products, glucagon and supporting dosage-form quality checks.

Open

Endocrinology QC Suite

QC package for endocrinology: thyroid, pituitary/peptide hormones, corticosteroids, sex hormones and selected metabolic medicines.

Open

Lumex QC Suite

A single Lumex package combining the former Lumex and Lumex2 sets: instrumental and general pharmaceutical QC, AAS/ICP, CE, HPLC, NIR/PAT, stability, dissolution, content uniformity, system suitability and statistical control.

Open

Radiology QC Suite

QC package for radiology and diagnostic imaging: radiopharmaceuticals, PET/SPECT, contrast media, iodinated and gadolinium products, plus particle, sterility and endotoxin checks.

Open