Moisture_Sorption_Isotherm_Processor
Moisture Sorption Isotherm Processor
Lumex QC URS & FS input.csv output.json rule-based LIMS-ready pharmaceutical QC
Open selectionUtility description: Moisture Sorption Isotherm Processor
Moisture Sorption Isotherm Processor — Analysis of Moisture Sorption Isotherms (DVS) ℹ️ Utility checks critical parameters of substance-water interaction: • Equilibrium moisture at 75% RH: ≤5.0% (example) • Hysteresis index (adsorption/desorption difference): ≤1.0% • Water Activity (Aw): ≤0.60 • Model fit quality (R²): ≥0.99 ⚠️ CRITICAL: High hysteresis (>1.0%) → possible phase transitions (swelling, crystallization)! High Aw (>0.60) → microbial growth risk. Usage: Moisture_Sorption_Isotherm_Processor.exe → demo mode (console output) Moisture_Sorption_Isotherm_Processor.exe input.csv output.json → evaluate your data Input format: BatchNumber,MoistureAt75RH,MoistureAt90RH,HysteresisIndex,WaterActivity,ModelFitR2 Example: ISO-EXC-2026-001,3.5,6.2,0.4,0.45,0.998 — WHY IS THIS NEEDED? Analysis of sorption and desorption isotherms (Dynamic Vapor Sorption, DVS) is necessary to understand hygroscopicity and stability of solid forms. • Allows prediction of product behavior under various storage conditions (ICH Q1A). • Hysteresis between adsorption and desorption curves indicates irreversible structural changes (e.g., amorphous-to-crystalline transition or polymer swelling). • Water Activity (Aw) is directly related to chemical stability and microbial growth risk (USP <1112>). • Data is used for packaging selection (barrier properties) and drying conditions. ⚠️ CRITICAL: • Equilibrium must be reached at each humidity step (dm/dt < 0.002%/min). • Hysteresis should be minimal for stable crystalline substances. • Aw < 0.60 is a generally accepted threshold for preventing growth of most bacteria and molds. • GAB (Guggenheim–Anderson–de Boer) model is often used for fitting food and pharma product isotherms. Key features: • Hygroscopicity assessment at key points (75% RH). • Structural integrity control via hysteresis. • Water activity calculation for microbial risk assessment. Critical parameters: • Moisture at 75% RH: <= 5.0% • Hysteresis Index: <= 1.0% • Water Activity (Aw): <= 0.60 • Model Fit R2: >= 0.99 💡 Usage tips: 1. Use freshly prepared samples to avoid pre-hydration. 2. Perform full adsorption and desorption cycle (0-90-0% RH) to assess hysteresis. 3. For amorphous forms, expect significant hysteresis and sharp moisture uptake jump (Tg point). 4. Calibrate humidity and weight sensors before each experiment. 5. Save raw sorption kinetics data for auditing. ⚠️ Note: DVS is a more sensitive method than traditional Loss on Drying (LOD), as it allows studying equilibrium states at controlled humidity rather than just removing moisture by heating.
input.csv
BatchNumber,Moisture75RH,Moisture90RH,Hysteresis,Aw,ModelR2 ISO-EXC-2026-001,3.5,6.2,0.4,0.45,0.998 ISO-API-2026-002,2.1,3.5,0.2,0.35,0.999 ISO-FAIL-HYST-003,8.5,15.0,3.5,0.75,0.985
Utility description
Moisture Sorption Isotherm Processor — Analysis of Moisture Sorption Isotherms (DVS) ℹ️ Utility checks critical parameters of substance-water interaction: • Equilibrium moisture at 75% RH: ≤5.0% (example) • Hysteresis index (adsorption/desorption difference): ≤1.0% • Water Activity (Aw): ≤0.60 • Model fit quality (R²): ≥0.99 ⚠️ CRITICAL: High hysteresis (>1.0%) → possible phase transitions (swelling, crystallization)! High Aw (>0.60) → microbial growth risk. Usage: Moisture_Sorption_Isotherm_Processor.exe → demo mode (console output) Moisture_Sorption_Isotherm_Processor.exe input.csv output.json → evaluate your data Input format: BatchNumber,MoistureAt75RH,MoistureAt90RH,HysteresisIndex,WaterActivity,ModelFitR2 Example: ISO-EXC-2026-001,3.5,6.2,0.4,0.45,0.998 — WHY IS THIS NEEDED? Analysis of sorption and desorption isotherms (Dynamic Vapor Sorption, DVS) is necessary to understand hygroscopicity and stability of solid forms. • Allows prediction of product behavior under various storage conditions (ICH Q1A). • Hysteresis between adsorption and desorption curves indicates irreversible structural changes (e.g., amorphous-to-crystalline transition or polymer swelling). • Water Activity (Aw) is directly related to chemical stability and microbial growth risk (USP <1112>). • Data is used for packaging selection (barrier properties) and drying conditions. ⚠️ CRITICAL: • Equilibrium must be reached at each humidity step (dm/dt < 0.002%/min). • Hysteresis should be minimal for stable crystalline substances. • Aw < 0.60 is a generally accepted threshold for preventing growth of most bacteria and molds. • GAB (Guggenheim–Anderson–de Boer) model is often used for fitting food and pharma product isotherms. Key features: • Hygroscopicity assessment at key points (75% RH). • Structural integrity control via hysteresis. • Water activity calculation for microbial risk assessment. Critical parameters: • Moisture at 75% RH: <= 5.0% • Hysteresis Index: <= 1.0% • Water Activity (Aw): <= 0.60 • Model Fit R2: >= 0.99 💡 Usage tips: 1. Use freshly prepared samples to avoid pre-hydration. 2. Perform full adsorption and desorption cycle (0-90-0% RH) to assess hysteresis. 3. For amorphous forms, expect significant hysteresis and sharp moisture uptake jump (Tg point). 4. Calibrate humidity and weight sensors before each experiment. 5. Save raw sorption kinetics data for auditing. ⚠️ Note: DVS is a more sensitive method than traditional Loss on Drying (LOD), as it allows studying equilibrium states at controlled humidity rather than just removing moisture by heating.
URS & FS — User Requirements and Functional Specification
This document describes the controlled interface, user requirements and functional behaviour of Moisture_Sorption_Isotherm_Processor. The utility is intended for automated verification of laboratory, pharmacopoeial, analytical or manufacturing QC parameters using input.csv and producing a structured output.json result.
Domain limits and critical parameters
Before production use, all limits must be verified against the approved specification, registration dossier, pharmacopoeial monograph, validated method and local SOPs.
- • Equilibrium moisture at 75% RH: ≤5.0% (example)
- • Hysteresis index (adsorption/desorption difference): ≤1.0%
- • Water Activity (Aw): ≤0.60
- • Model fit quality (R²): ≥0.99
- • Allows prediction of product behavior under various storage conditions (ICH Q1A).
- • Hysteresis between adsorption and desorption curves indicates irreversible structural changes (e.g., amorphous-to-crystalline transition or polymer swelling).
- • Water Activity (Aw) is directly related to chemical stability and microbial growth risk (USP <1112>).
- • Data is used for packaging selection (barrier properties) and drying conditions.
- • Equilibrium must be reached at each humidity step (dm/dt < 0.002%/min).
- • Hysteresis should be minimal for stable crystalline substances.
- • Aw < 0.60 is a generally accepted threshold for preventing growth of most bacteria and molds.
- • GAB (Guggenheim–Anderson–de Boer) model is often used for fitting food and pharma product isotherms.
- • Hygroscopicity assessment at key points (75% RH).
- • Structural integrity control via hysteresis.
- • Water activity calculation for microbial risk assessment.
- • Moisture at 75% RH: <= 5.0%
URS — User Requirements Specification
| ID | Requirement | Criticality | Acceptance criterion |
|---|---|---|---|
| URS-001 | The utility shall accept an input.csv file with exact headers defined in the data contract. | High | The file is processed without manual header editing. |
| URS-002 | The utility shall perform deterministic evaluation for Moisture Sorption Isotherm Processor using input values, approved limits and domain rules. | High | Each row receives a PASS / WARNING / FAIL status. |
| URS-003 | The utility shall validate mandatory fields, data types, numeric ranges, units and domain plausibility. | High | Schema, format and conversion errors are explicitly reported. |
| URS-004 | The utility shall identify critical deviations for parameters stated in the method description and specification. | High | A critical deviation causes FAIL or a dedicated critical finding. |
| URS-005 | The utility shall generate output.json with machine-readable results, source values, warnings and failures. | High | JSON is suitable for LIMS/ELN/MES integration, QA/QC review and archival. |
| URS-006 | The result shall not depend on machine learning or undocumented heuristics. | Medium | All decisions are based on explicit rules, thresholds and input values. |
| URS-007 | The system shall preserve traceability between batch/sample, input data, applied rules and final status. | High | The output contains the batch/sample identifier and checked parameters. |
| URS-008 | The documentation shall support IQ/OQ/PQ preparation and inspection discussion. | Medium | URS, FS, CSV/JSON contract and test scenarios are supplied with the utility. |
| URS-009 | The utility shall support batch processing of multiple input.csv rows. | Medium | Each row is evaluated independently; errors in one row do not mask errors in others. |
| URS-010 | The utility shall support a simple operating model: demo mode and execution with input/output files. | Medium | The CLI scenario is reproducible in test and production environments. |
input.csv contract
| # | Field | Type | Sample | Purpose |
|---|---|---|---|---|
| 1 | BatchNumber | string | ISO-EXC-2026-001 | Batch or lot identifier used for traceability, review and deviation investigation. |
| 2 | Moisture75RH | decimal | 3.5 | Rhodium content; controlled residual catalyst / elemental impurity parameter. |
| 3 | Moisture90RH | decimal | 6.2 | Rhodium content; controlled residual catalyst / elemental impurity parameter. |
| 4 | Hysteresis | string / decimal | 0.4 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 5 | Aw | string / decimal | 0.45 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 6 | ModelR2 | decimal | 0.998 | Coefficient of determination; key acceptance metric for method linearity. |
BatchNumber,Moisture75RH,Moisture90RH,Hysteresis,Aw,ModelR2 ISO-EXC-2026-001,3.5,6.2,0.4,0.45,0.998 ISO-API-2026-002,2.1,3.5,0.2,0.35,0.999 ISO-FAIL-HYST-003,8.5,15.0,3.5,0.75,0.985
FS — Functional Specification
| ID | Function | Implementation |
|---|---|---|
| FS-001 | CSV import | Read input.csv in UTF-8/CSV-compatible format and validate the header and expected columns. |
| FS-002 | Schema validation | Check mandatory fields, column count, critical missing values and row structure. |
| FS-003 | Type conversion | Convert numeric, flag and text values; invalid formats are recorded as row-level errors. |
| FS-004 | Domain rule engine | Apply domain rules for Moisture Sorption Isotherm Processor, including limits from the utility description and approved specification. |
| FS-005 | Status aggregation | Produce final status: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance. |
| FS-006 | JSON export | Write output.json with detailed checks, source values, warnings, failures and critical findings. |
| FS-007 | Audit support | Keep the result structure suitable for review, deviation investigation, calculation reproduction and IQ/OQ/PQ preparation. |
| FS-008 | Integration contract | Support the production scenario: LIMS/ELN/MES creates input.csv, the utility returns output.json, and the portal displays description and documentation. |
| FS-009 | Error handling | Report errors unambiguously and do not substitute missing values with calculated values unless the rule is explicitly defined. |
| FS-010 | Version control support | Document the utility version, input contract, executable checksum and rule application date. |
Example output.json
{
"utilityId": "moisture-sorption-isotherm-processor",
"utilityName": "Moisture_Sorption_Isotherm_Processor",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "ISO-EXC-2026-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Moisture75RH",
"value": "3.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Moisture90RH",
"value": "6.2",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Hysteresis",
"value": "0.4",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Aw",
"value": "0.45",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ModelR2",
"value": "0.998",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
}
],
"criticalFindings": [],
"warnings": [],
"generatedFor": "QA/QC review and LIMS integration"
}
Traceability matrix
| URS | FS | OQ/PQ coverage |
|---|---|---|
| URS-001, URS-003 | FS-001, FS-002, FS-003 | OQ-001/OQ-002/OQ-003 |
| URS-002, URS-004 | FS-004, FS-005 | OQ-004/PQ-001 |
| URS-005, URS-007 | FS-006, FS-007 | OQ-005/PQ-002 |
| URS-008, URS-010 | FS-008, FS-010 | IQ-001/OQ-006 |
OQ/PQ test scenarios
| ID | Scenario | Expected result |
|---|---|---|
| OQ-001 | Valid sample row | PASS or acceptable WARNING according to the rules. |
| OQ-002 | Mandatory column missing | Schema error or FAIL. |
| OQ-003 | Non-numeric value in numeric field | Type-conversion error. |
| OQ-004 | Critical parameter outside limit | FAIL and critical finding. |
| OQ-005 | Multiple rows with different statuses | Independent row-level evaluation. |
| PQ-001 | User real batch/sample | Reviewed result with retained input/output files. |
QA/QC and change control
- Do not rename columns without updating the validator, documentation and test set.
- Retain
input.csv,output.json, executable version, documentation and checksum. - Before production use, perform IQ/OQ/PQ or equivalent CSV/CSA verification.
- Critical limits must be verified against the approved specification, local SOPs and registration dossier.
Included in packages
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