BatchReleaseJsonBuilder
Batch Release Json Builder
Utility description: Batch Release Json Builder
Batch Release Json Builder — Certificate of Analysis (CoA) Generator
ℹ️ Utility performs automated assembly and validation of data for the Certificate of Analysis according to GMP Annex 16 and 21 CFR Part 211.194 requirements:
• Data Aggregation: Collection of results from various laboratory modules (HPLC, GC, Wet Chem, Micro).
• Specification Verification: Comparison of obtained values with approved limits (Numeric limits and Textual criteria).
• Verdict Formation: Automatic determination of batch status (Compliant/Non-Compliant).
• Metadata Generation: Inclusion of manufacturing dates, expiry dates, and storage conditions.
⚠️ IMPORTANT:
• Utility processes only laboratory data. It does not check production deviations (Deviation Management).
• The final decision on batch certification is made by the Qualified Person (QP).
Usage:
BatchReleaseJsonBuilder.exe → demo mode (console output)
BatchReleaseJsonBuilder.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,TestName,NumericResult,StringResult,Unit,SpecLower,SpecUpper,SpecText,MfgDate,ExpDate
Example:
BATCH-001,Drug X,Assay,99.5,,%,98.0,102.0,,2026-01-01,2028-01-01
📍 Scope of Application (Usage Where):
• Quality Control (QC): Final check before transferring dossier to QA.
• Qualified Person (QP): Tool for rapid review of critical parameters.
• Regulatory Inspections: Demonstration of data integrity and transparency of release process.
• LIMS Integration: Export of ready-made certificates for clients or regulators.
— WHY IS THIS NEEDED?
Manual transfer of dozens of test results into a certificate template is prone to transcription errors.
Automation guarantees that only verified and valid data enters the final document.
This is critically important for adhering to Data Integrity (ALCOA+) principles and accelerating product release cycles.
⚠️ CRITICAL:
• Data Completeness: All mandatory tests (Monographed tests) must be present in the file.
• OOS Status: Any result exceeding specifications automatically blocks release.
• Units of Measure: Must strictly comply with pharmacopoeial monographs.
• Specification Versioning: Ensure current limits are used.
Key features:
• Support for numeric and textual acceptance criteria
• Automatic calculation of overall compliance status
• Inclusion of expiry date and storage metadata
• Structured JSON output for electronic systems
• Compliance with quality certificate formatting requirements
Critical parameters:
• Assay/Potency: Active pharmaceutical ingredient
• Impurities: Related substances
• Microbiology: Sterility/Bioburden
• Dissolution: For solid forms
• Physical Properties: pH, Appearance, Identification
💡 Usage tips:
1. Source Validation: Ensure input CSV is exported from a validated LIMS.
2. Exception Review: Even with "Compliant" status, QP must check for closed deviations.
3. Archiving: Save generated JSON as part of the batch electronic dossier.
4. Security: Access to utility must be restricted to authorized personnel.
5. Printing: Use JSON for automatic generation of tamper-proof PDF certificates.
⚠️ Note: This utility is a technical data consolidation tool. It does not replace expert assessment of the manufacturing process quality but ensures accuracy of the laboratory part of the release certificate.input.csv
BatchNumber,ProductName,TestName,NumericResult,StringResult,Unit,SpecLower,SpecUpper,SpecText,MfgDate,ExpDate BATCH-2026-API-001,Paracetamol Tablets 500mg,Assay,99.8,,%,98.0,102.0,,2026-01-15,2028-01-15 BATCH-2026-API-001,Paracetamol Tablets 500mg,Impurity_A,0.05,,%,0.0,0.10,,2026-01-15,2028-01-15 BATCH-2026-API-001,Paracetamol Tablets 500mg,Dissolution_Q,85,,%,80,,,2026-01-15,2028-01-15 BATCH-2026-API-001,Paracetamol Tablets 500mg,Microbial_Limit,0,Pass,CFU/g,,,Pass,2026-01-15,2028-01-15 BATCH-2026-API-001,Paracetamol Tablets 500mg,Water_Content,0.2,,%,0.0,0.5,,2026-01-15,2028-01-15
URS & FS — User Requirements and Functional Specification
This document describes the controlled interface and behaviour of BatchReleaseJsonBuilder for Batch Release Json Builder.
Domain limits and critical parameters
- ℹ️ Utility performs automated assembly and validation of data for the Certificate of Analysis according to GMP Annex 16 and 21 CFR Part 211.194 requirements:
- • Specification Verification: Comparison of obtained values with approved limits (Numeric limits and Textual criteria).
- • Qualified Person (QP): Tool for rapid review of critical parameters.
- This is critically important for adhering to Data Integrity (ALCOA+) principles and accelerating product release cycles.
- ⚠️ CRITICAL:
- • Data Completeness: All mandatory tests (Monographed tests) must be present in the file.
- • Units of Measure: Must strictly comply with pharmacopoeial monographs.
- • Specification Versioning: Ensure current limits are used.
- Critical parameters:
- • Assay/Potency: Active pharmaceutical ingredient
- 2. Exception Review: Even with "Compliant" status, QP must check for closed deviations.
- 4. Security: Access to utility must be restricted to authorized personnel.
URS — User Requirements Specification
| ID | Requirement | Criticality | Acceptance criterion |
|---|---|---|---|
| URS-001 | The utility shall accept an input.csv file for Batch Release Json Builder with headers defined in the data contract. | High | The file is processed without manual header editing. |
| URS-002 | The utility shall perform deterministic QC evaluation without machine learning and without probabilistic conformance decisions. | High | Identical input data, rule version and configuration produce reproducible results. |
| URS-003 | The utility shall validate mandatory fields, data types, ranges, units and domain plausibility. | High | Schema, conversion and range errors are explicitly reported. |
| URS-004 | The utility shall apply domain limits and rules from the description, approved specification, registration dossier and local SOPs. | High | Each check has PASS/WARNING/FAIL and a clear message. |
| URS-005 | The utility shall generate output.json with machine-readable results, source values, warnings, failures and critical findings. | High | JSON is suitable for LIMS/ELN/MES integration and QA/QC review. |
| URS-006 | The utility shall preserve traceability between batch/sample, input file, applied rules and final status. | High | Output contains identifiers, checked parameters and audit metadata. |
| URS-007 | The documentation shall support IQ/OQ/PQ, CSV/CSA and review by internal QA or inspectors. | Medium | URS, FS, input/output contract and test scenarios are supplied with the utility. |
| URS-008 | The utility shall be used as a QC decision-support tool and not as a substitute for approved specifications and QA/QP release decision. | Medium | Documentation states change control and limit-verification expectations. |
input.csv contract
| # | Field | Type | Sample | Purpose |
|---|---|---|---|---|
| 1 | BatchNumber | string / controlled vocabulary | BATCH-2026-API-001 | Batch or lot identifier used for traceability. |
| 2 | ProductName | string / controlled vocabulary | Paracetamol Tablets 500mg | Product or dosage-form name under evaluation. |
| 3 | TestName | string / controlled vocabulary | Assay | Controlled input parameter for deterministic QC rules. |
| 4 | NumericResult | string / controlled vocabulary | 99.8 | Result/status used in final classification. |
| 5 | StringResult | string / controlled vocabulary | | Result/status used in final classification. |
| 6 | Unit | string / controlled vocabulary | % | Controlled input parameter for deterministic QC rules. |
| 7 | SpecLower | decimal | 98.0 | Controlled input parameter for deterministic QC rules. |
| 8 | SpecUpper | decimal | 102.0 | Controlled input parameter for deterministic QC rules. |
| 9 | SpecText | string / controlled vocabulary | | Controlled input parameter for deterministic QC rules. |
| 10 | MfgDate | string / controlled vocabulary | 2026-01-15 | Controlled input parameter for deterministic QC rules. |
| 11 | ExpDate | string / controlled vocabulary | 2028-01-15 | Controlled input parameter for deterministic QC rules. |
BatchNumber,ProductName,TestName,NumericResult,StringResult,Unit,SpecLower,SpecUpper,SpecText,MfgDate,ExpDate BATCH-2026-API-001,Paracetamol Tablets 500mg,Assay,99.8,,%,98.0,102.0,,2026-01-15,2028-01-15 BATCH-2026-API-001,Paracetamol Tablets 500mg,Impurity_A,0.05,,%,0.0,0.10,,2026-01-15,2028-01-15 BATCH-2026-API-001,Paracetamol Tablets 500mg,Dissolution_Q,85,,%,80,,,2026-01-15,2028-01-15
Input validation rules
| ID | Field | Rule | Criticality |
|---|---|---|---|
| VR-001 | BatchNumber | The field shall match an approved dictionary or accepted string representation. | High |
| VR-002 | ProductName | The field shall match an approved dictionary or accepted string representation. | High |
| VR-003 | TestName | The field shall match an approved dictionary or accepted string representation. | High |
| VR-004 | NumericResult | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-005 | StringResult | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-006 | Unit | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-007 | SpecLower | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-008 | SpecUpper | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-009 | SpecText | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-010 | MfgDate | The field shall match an approved dictionary or accepted string representation. | Medium |
| VR-011 | ExpDate | The field shall match an approved dictionary or accepted string representation. | Medium |
FS — Functional Specification
| ID | Function | Implementation |
|---|---|---|
| FS-001 | CLI execution | Support execution modes: demo mode without arguments and production mode input.csv output.json. |
| FS-002 | CSV import | Read input.csv in UTF-8/CSV-compatible format and validate header and expected columns. |
| FS-003 | Schema validation | Check mandatory fields, column count, unknown key fields and empty mandatory values. |
| FS-004 | Type conversion | Convert numeric, flag and text values; invalid format is recorded as a row-level error. |
| FS-005 | Domain rule engine | Apply rules for Batch Release Json Builder, including critical limits from the description and approved specification. |
| FS-006 | Status aggregation | Produce final status: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance. |
| FS-007 | JSON export | Write output.json with detailed checks, source values, warnings, failures and critical findings. |
| FS-008 | Audit support | Keep result structure suitable for review, deviation investigation and calculation reproduction. |
| FS-009 | Integration contract | Support the scenario LIMS/ELN/MES → input.csv → utility → output.json → portal/admin review. |
| FS-010 | Error handling | Return explicit messages for missing file, empty CSV, invalid schema, output write failure and invalid format. |
Example output.json
{
"utilityId": "batchreleasejsonbuilder",
"utilityFolder": "BatchReleaseJsonBuilder",
"package": "LiquidBiopsy",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"processedAtUtc": "2026-06-10T00:00:00Z",
"checks": [
{
"parameter": "BatchNumber",
"value": "BATCH-2026-API-001",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-001"
},
{
"parameter": "ProductName",
"value": "Paracetamol Tablets 500mg",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-002"
},
{
"parameter": "TestName",
"value": "Assay",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-003"
},
{
"parameter": "NumericResult",
"value": "99.8",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-004"
},
{
"parameter": "StringResult",
"value": "",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-005"
},
{
"parameter": "Unit",
"value": "%",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-006"
},
{
"parameter": "SpecLower",
"value": "98.0",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-007"
},
{
"parameter": "SpecUpper",
"value": "102.0",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-008"
},
{
"parameter": "SpecText",
"value": "",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-009"
},
{
"parameter": "MfgDate",
"value": "2026-01-15",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-010"
},
{
"parameter": "ExpDate",
"value": "2028-01-15",
"status": "PASS|WARNING|FAIL",
"message": "Deterministic rule-based check result",
"ruleReference": "FS-RULE-011"
}
],
"criticalFindings": [],
"warnings": [],
"audit": {
"inputHash": "sha256:<calculated at runtime>",
"rulesVersion": "<utility executable version>",
"documentation": "BatchReleaseJsonBuilder.documentation.html"
}
}
Traceability matrix
| URS | FS | Test | Evidence |
|---|---|---|---|
| URS-001 | FS-001, FS-002 | OQ-001 | Verify execution and import of valid input.csv. |
| URS-002 | FS-005, FS-006 | OQ-004 | Repeat the same dataset and compare output.json. |
| URS-003 | FS-003, FS-004, FS-010 | OQ-002, OQ-003 | Verify missing columns and invalid types. |
| URS-004 | FS-005, FS-006 | OQ-004, PQ-001 | Verify critical deviations on real/boundary data. |
| URS-005 | FS-007, FS-009 | OQ-005 | Verify JSON schema and downstream-system suitability. |
| URS-006 | FS-008 | OQ-006 | Verify identifiers and audit metadata. |
| URS-007 | FS-008, FS-010 | IQ-001, OQ-007 | Verify documentation completeness and control evidence. |
| URS-008 | FS-005, FS-008 | PQ-002 | Verify review workflow and no replacement of QA decision. |
IQ/OQ/PQ test scenarios
| ID | Scenario | Expected result |
|---|---|---|
| IQ-001 | Verify executable, input.csv, documentation and checksum availability. | Delivery set is complete; version is recorded. |
| OQ-001 | Valid sample row from input.csv. | PASS or acceptable WARNING according to rules. |
| OQ-002 | Remove a mandatory CSV column. | Schema error or FAIL with missing-column reference. |
| OQ-003 | Place a non-numeric value into a numeric field. | Type-conversion error with row/field reference. |
| OQ-004 | Set a critical parameter outside the limit. | FAIL and critical finding. |
| OQ-005 | Verify output.json structure. | All mandatory sections are present and JSON is valid. |
| OQ-006 | Verify batch/sample traceability. | Input and result identifiers match. |
| PQ-001 | Verify 3–5 real user batches/samples. | Result is confirmed by QC/QA review. |
| PQ-002 | Verify deviation workflow and manual QA decision. | Utility supports review but does not replace approved decision. |
QA/QC and change control
- Do not rename columns without updating validator, documentation and test set.
- Retain
input.csv,output.json, executable version and checksum. - Before production use, perform IQ/OQ/PQ or equivalent CSV/CSA verification.
- Critical limits shall be verified against the approved specification, registration dossier and local SOPs.
- The utility provides structured QC decision support; final release decision remains with QA/QP and approved procedures.
Included in packages
Addiction Medicine & Controlled Substances QC Suite
QC utility package for addiction medicine and regulated medicinal products: addiction-treatment medicines, opioids, benzodiazepines, stimulants, sedatives, volatile impurities, assay/identity/dissolution/release checks.
OpenBiopharmaceuticals Extended QC Suite
Extended QC utility coverage for mAbs, biosimilars, proteins, insulins, vaccines, mRNA/LNP, HCP, sterile release, microbiology, water, cleanroom and stability workflows.
OpenImmunology QC Suite
QC utility package for immunology: monoclonal antibodies, biosimilars, immunomodulators, immunosuppressants, ELISA/SPR, HCP, protein characterization, sterility and pyrogen/release checks.
OpenInfectious Diseases QC Suite
QC utility package for infectious diseases: antibacterial, antiviral, antifungal and antiparasitic products, microbiology, sterility, endotoxins, viral safety and vaccine release checks.
OpenLiquid Biopsy QC Suite
QC and pre-analytical control package for liquid biopsy workflows: cfDNA/ctDNA, CTC, EV/exosomes, methylation, NGS/qPCR/ddPCR, sample quality, contamination, sensitivity and reporting checks.
Open