Utility description
Method Validation Data Packager — Assessment of Analytical Method Validation Parameters
ℹ️ Utility checks key validation parameters according to ICH Q2(R1) and USP <1225>:
• Linearity: R² ≥ 0.999
• Accuracy: Recovery 98.0–102.0%, RSD ≤ 2.0%
• Precision: Repeatability RSD ≤ 2.0%
• Limit of Detection/Quantitation (LOD/LOQ): Reported
• Robustness: Variation ≤ 5.0%
⚠️ CRITICAL: Non-compliance with linearity or accuracy criteria renders the method unsuitable!
These parameters are the basis for registering a pharmacopoeial method.
Usage:
Method_Validation_Data_Packager.exe → demo mode (console output)
Method_Validation_Data_Packager.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,LinearityR2,YIntercept,Slope,MeanRecoveryPercent,RecoveryRSD,PrecisionRSD,LOD,LOQ,RobustnessVariationPercent
Example:
VAL-METHOD-2026-001,0.9998,0.5,12000.0,99.5,0.8,0.9,0.05,0.15,1.2
— WHY IS THIS NEEDED?
Analytical method validation is a mandatory GMP and regulatory requirement (FDA, EMA).
• Confirms that the method is suitable for its intended use (QC, identification, impurities).
• ICH Q2(R1) defines standard parameters: Specificity, Linearity, Accuracy, Precision, Range, LOD, LOQ, Robustness.
• The utility automates the calculation and verification of key metrics, reducing the risk of human error in report preparation.
• Allows rapid assessment of method suitability before starting serial analysis.
⚠️ CRITICAL:
• R² ≥ 0.999 is required for quantitative determination of active substance and impurities.
• Recovery 98-102% demonstrates absence of systematic error (bias).
• Precision RSD ≤ 2.0% ensures reproducibility of results between analyses.
• Robustness shows method resistance to small changes in parameters (pH, temperature, mobile phase composition).
Key features:
• Aggregation of data for all key ICH Q2 parameters.
• Automatic check of acceptance criteria.
• Generation of structured JSON for archiving in LIMS.
Critical parameters:
• Linearity R²: >= 0.999
• Accuracy Recovery: 98.0-102.0%
• Precision RSD: <= 2.0%
• Robustness Variation: <= 5.0%
💡 Usage tips:
1. Use data from at least 5 concentrations for linearity assessment.
2. For accuracy, perform analysis at 3 concentration levels (80%, 100%, 120%) with 3 replicates each.
3. Evaluate precision using 6 replicates of one concentration (100%).
4. Calculate LOD/LOQ by signal-to-noise (3:1 and 10:1) or by standard deviation of response and slope.
5. Store raw chromatogram/spectrum data along with this report for auditing.
⚠️ Note: This utility does not replace full statistical analysis (e.g., ANOVA for intermediate precision), but serves as a rapid screening tool before final validation report formatting.
URS & FS — User Requirements and Functional Specification
This document describes the controlled interface, user requirements and functional behaviour of Method_Validation_Data_Packager. 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.
- • Confirms that the method is suitable for its intended use (QC, identification, impurities).
- • ICH Q2(R1) defines standard parameters: Specificity, Linearity, Accuracy, Precision, Range, LOD, LOQ, Robustness.
- • The utility automates the calculation and verification of key metrics, reducing the risk of human error in report preparation.
- • Allows rapid assessment of method suitability before starting serial analysis.
- • R² ≥ 0.999 is required for quantitative determination of active substance and impurities.
- • Recovery 98-102% demonstrates absence of systematic error (bias).
- • Precision RSD ≤ 2.0% ensures reproducibility of results between analyses.
- • Robustness shows method resistance to small changes in parameters (pH, temperature, mobile phase composition).
- • Aggregation of data for all key ICH Q2 parameters.
- • Automatic check of acceptance criteria.
- • Generation of structured JSON for archiving in LIMS.
- • Linearity R²: >= 0.999
- • Accuracy Recovery: 98.0-102.0%
- • Precision RSD: <= 2.0%
- • Robustness Variation: <= 5.0%
- • Linearity: R² ≥ 0.999
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 Method Validation Data Packager 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 | VAL-METHOD-2026-001 | Batch or lot identifier used for traceability, review and deviation investigation. |
| 2 | R2 | decimal | 0.9998 | Coefficient of determination; key acceptance metric for method linearity. |
| 3 | YIntercept | decimal | 0.5 | Platinum content; controlled residual catalyst / elemental impurity parameter. |
| 4 | Slope | decimal | 12000.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 5 | MeanRecovery% | decimal | 99.5 | Recovery; accuracy metric indicating absence of significant bias. |
| 6 | RecRSD% | decimal | 0.8 | Relative standard deviation; precision metric for the process or analytical method. |
| 7 | PrecRSD% | decimal | 0.9 | Relative standard deviation; precision metric for the process or analytical method. |
| 8 | LOD | decimal | 0.05 | Limit of Detection; method sensitivity reference parameter. |
| 9 | LOQ | decimal | 0.15 | Limit of Quantitation; method suitability parameter for quantitative analysis. |
| 10 | RobustnessVar% | decimal | 1.2 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
BatchNumber,R2,YIntercept,Slope,MeanRecovery%,RecRSD%,PrecRSD%,LOD,LOQ,RobustnessVar%
VAL-METHOD-2026-001,0.9998,0.5,12000.0,99.5,0.8,0.9,0.05,0.15,1.2
VAL-METHOD-2026-002,0.9995,0.2,11500.0,100.1,1.1,1.2,0.06,0.18,1.5
VAL-FAIL-2026-003,0.9950,1.5,10000.0,95.0,3.5,3.0,0.10,0.30,8.0
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 Method Validation Data Packager, 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": "method-validation-data-packager",
"utilityName": "Method_Validation_Data_Packager",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "VAL-METHOD-2026-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "R2",
"value": "0.9998",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "YIntercept",
"value": "0.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Slope",
"value": "12000.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "MeanRecovery%",
"value": "99.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "RecRSD%",
"value": "0.8",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "PrecRSD%",
"value": "0.9",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "LOD",
"value": "0.05",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "LOQ",
"value": "0.15",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "RobustnessVar%",
"value": "1.2",
"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.