Residual_Solvent_And_Extraction_QC
Residual Solvent And Extraction QC
ℹ️ Utility controls safety and efficiency of isolation process:
• Residual solvents (Butyl Acetate, Amyl Alcohol, MIBK, DCM)
• Compliance with ICH Q3C standards (Class 1, 2, 3)
• Extraction yield (% recovery)
⚠️ CRITICAL: Dichloromethane (DCM) is a Class 1 carcinogen!
High residues of other solvents are hepatotoxic.
Usage:
ResidualSolventAndExtractionQC.exe → demo mode (console output)
ResidualSolventAndExtractionQC.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,Butyl_Acetate_ppm,Amyl_Alcohol_ppm,MIBK_ppm,DCM_ppm,Extraction_Yield_Percent,LogP,Limit_BA,Limit_AA,Limit_MIBK,Limit_DCM
Example:
SOLV-EXT-2026-001,6-APA Crude,1200.0,800.0,50.0,2.0,96.5,1.2,5000.0,5000.0,1000.0,6.0
— WHY IS THIS NEEDED?
Solvent control is critical for antibiotic isolation processes (Shyndec, Sinopharm):
• Extraction from fermentation broth requires large volumes of organic solvents
• Butyl acetate and amyl alcohols are used for penicillin and cephalosporin extraction
• Dichloromethane (DCM) is sometimes used as washing agent but strictly regulated due to toxicity
• Inefficient extraction leads to loss of expensive product in waste
• Solvent residues must be removed to levels safe for patients (ICH Q3C)
⚠️ CRITICAL:
• Dichloromethane (Class 1) ≤6 ppm (or lower if possible)
• Butyl Acetate (Class 3) ≤5000 ppm (typical limit)
• MIBK (Class 2) ≤1000 ppm
• Extraction Yield ≥95% for economic efficiency
• Use of GC with Flame Ionization Detector (FID) for accuracy
Key features:
• Automatic check against ICH Q3C hazard classes
• Mass transfer efficiency assessment during extraction
• Control of critical carcinogenic solvents
• Support for specific limits for different purification stages
Critical parameters:
• DCM: ≤6 ppm
• Butyl Acetate: ≤5000 ppm
• MIBK: ≤1000 ppm
• Extraction Yield: ≥95%
💡 Usage tips:
1. Use Static Headspace GC method for volatile solvents
2. Control crystal drying temperature as it affects residual content
3. If high yield but high solvent residues, improve cake washing
4. For MIBK and butyl acetate, monitor dew point in dryer
5. Monitor solvent regeneration efficiency at plant
⚠️ Note: In intermediate production, solvent volumes are huge. Even slight decrease in extraction yield or under-drying leads to million-dollar losses and batch rejection due to toxicology. The utility links process economics with product safety.
input.csv
BatchNumber,ProductName,Butyl_Acetate_ppm,Amyl_Alcohol_ppm,MIBK_ppm,DCM_ppm,Extraction_Yield_Percent,LogP,Limit_BA,Limit_AA,Limit_MIBK,Limit_DCM SOLV-EXT-2026-001,6-APA Crude,1200.0,800.0,50.0,2.0,96.5,1.2,5000.0,5000.0,1000.0,6.0 SOLV-EXT-2026-002,7-ACA Refined,50.0,20.0,5.0,0.5,98.0,0.8,5000.0,5000.0,1000.0,6.0 SOLV-EXT-2026-003,Penicillin G (Poor Wash),6000.0,4500.0,1200.0,8.0,85.0,1.5,5000.0,5000.0,1000.0,6.0
Residual Solvent And Extraction QC — URS and FS
The English user requirements and functional specification are provided below.
Residual Solvent And Extraction QC — URS
Residual Solvent And Extraction QC
This document is generated for the English localization. Non-Russian portal languages must use this English version, not a mixed Russian/English document.
Purpose
Define user requirements for a standalone FUZKK utility that accepts laboratory CSV data, evaluates the records using limits embedded in code, and produces LabWare-compatible JSON.
Scope
The utility is intended for preliminary QC/QA review, integration testing, LIMS/LabWare flow and evidence-trail preparation. Final release decisions remain under the laboratory's validated procedure and responsible personnel.
Users
QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.
User requirements
- The utility shall run without arguments and print its self-description, a built-in input.csv example from GetDemoData(), and demo evaluation for the embedded records.
- The utility shall run with two arguments: input.csv output.json.
- The utility shall not read input.csv and shall not write output.json when started without arguments.
- CSV numeric values shall be parsed using CultureInfo.InvariantCulture.
- Output shall be generated as LabWare-compatible JSON with Header, Samples, Results, Status, StatusCode, ErrorMessage, Description and DescriptionEN.
- For PASS records, ErrorMessage shall be an empty string.
- Embedded limits shall follow this priority: Ph. Eur. → British Pharmacopoeia / UK implementation → EAEU / regional requirements → EMA/ICH/EU guidance → USP fallback.
- If an exact monograph is not known, strict standard API limits are used where applicable: assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%.
- For biologics and mAb-like products, aggregation, sterility and endotoxin checks shall be included where relevant to the utility purpose.
- If a parameter may arrive in different units, the unit shall be represented as a separate input field or explicitly reflected in the input.csv field name.
Input CSV
BatchNumber,ProductName,Butyl_Acetate_ppm,Amyl_Alcohol_ppm,MIBK_ppm,DCM_ppm,Extraction_Yield_Percent,LogP,Limit_BA,Limit_AA,Limit_MIBK,Limit_DCM SOLV-EXT-2026-001,6-APA Crude,1200.0,800.0,50.0,2.0,96.5,1.2,5000.0,5000.0,1000.0,6.0 SOLV-EXT-2026-002,7-ACA Refined,50.0,20.0,5.0,0.5,98.0,0.8,5000.0,5000.0,1000.0,6.0 SOLV-EXT-2026-003,Penicillin G (Poor Wash),6000.0,4500.0,1200.0,8.0,85.0,1.5,5000.0,5000.0,1000.0,6.0
input.csv fields
| Field | Sample |
|---|---|
| BatchNumber | SOLV-EXT-2026-001 |
| ProductName | 6-APA Crude |
| Butyl_Acetate_ppm | 1200.0 |
| Amyl_Alcohol_ppm | 800.0 |
| MIBK_ppm | 50.0 |
| DCM_ppm | 2.0 |
| Extraction_Yield_Percent | 96.5 |
| LogP | 1.2 |
| Limit_BA | 5000.0 |
| Limit_AA | 5000.0 |
| Limit_MIBK | 1000.0 |
| Limit_DCM | 6.0 |
Utility description
Residual Solvent & Extraction QC — Residual Solvent and Extraction Efficiency Control
Residual Solvent & Extraction QC — Residual Solvent and Extraction Efficiency Control
ℹ️ Utility controls safety and efficiency of isolation process:
• Residual solvents (Butyl Acetate, Amyl Alcohol, MIBK, DCM)
• Compliance with ICH Q3C standards (Class 1, 2, 3)
• Extraction yield (% recovery)
⚠️ CRITICAL: Dichloromethane (DCM) is a Class 1 carcinogen!
High residues of other solvents are hepatotoxic.
Usage:
ResidualSolventAndExtractionQC.exe → demo mode (console output)
ResidualSolventAndExtractionQC.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,ProductName,Butyl_Acetate_ppm,Amyl_Alcohol_ppm,MIBK_ppm,DCM_ppm,Extraction_Yield_Percent,LogP,Limit_BA,Limit_AA,Limit_MIBK,Limit_DCM
Example:
SOLV-EXT-2026-001,6-APA Crude,1200.0,800.0,50.0,2.0,96.5,1.2,5000.0,5000.0,1000.0,6.0
— WHY IS THIS NEEDED?
Solvent control is critical for antibiotic isolation processes (Shyndec, Sinopharm):
• Extraction from fermentation broth requires large volumes of organic solvents
• Butyl acetate and amyl alcohols are used for penicillin and cephalosporin extraction
• Dichloromethane (DCM) is sometimes used as washing agent but strictly regulated due to toxicity
• Inefficient extraction leads to loss of expensive product in waste
• Solvent residues must be removed to levels safe for patients (ICH Q3C)
⚠️ CRITICAL:
• Dichloromethane (Class 1) ≤6 ppm (or lower if possible)
• Butyl Acetate (Class 3) ≤5000 ppm (typical limit)
• MIBK (Class 2) ≤1000 ppm
• Extraction Yield ≥95% for economic efficiency
• Use of GC with Flame Ionization Detector (FID) for accuracy
Key features:
• Automatic check against ICH Q3C hazard classes
• Mass transfer efficiency assessment during extraction
• Control of critical carcinogenic solvents
• Support for specific limits for different purification stages
Critical parameters:
• DCM: ≤6 ppm
• Butyl Acetate: ≤5000 ppm
• MIBK: ≤1000 ppm
• Extraction Yield: ≥95%
💡 Usage tips:
1. Use Static Headspace GC method for volatile solvents
2. Control crystal drying temperature as it affects residual content
3. If high yield but high solvent residues, improve cake washing
4. For MIBK and butyl acetate, monitor dew point in dryer
5. Monitor solvent regeneration efficiency at plant
⚠️ Note: In intermediate production, solvent volumes are huge. Even slight decrease in extraction yield or under-drying leads to million-dollar losses and batch rejection due to toxicology. The utility links process economics with product safety.
Traceability and limitations
- The URS is used as the source document for functional specification, CSV review and later validation work.
- This document does not replace an approved pharmacopoeial monograph, validated analytical method or internal product specification.
- For product-specific limits, the approved customer specification takes priority.
Residual Solvent And Extraction QC — FS
Residual Solvent And Extraction QC
The functional specification describes the behaviour of the standalone FUZKK console utility, input-data format, evaluation algorithm and output JSON structure.
Functional flow
- Main() checks the number of arguments.
- If no arguments are provided: PrintHello() prints the description and built-in input.csv example, then RunDemoEvaluation() executes Evaluate() over GetDemoData() and prints demo JSON.
- If two arguments are provided: RunWithFiles(input.csv, output.json) reads CSV, evaluates each record and writes LabWare-compatible JSON.
- LoadData() uses CultureInfo.InvariantCulture and shall not be called in no-arguments mode.
- Evaluate() returns a named tuple with BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation and RecommendationEN.
- GetIssues() builds messages for ErrorMessage in WARNING/FAIL cases.
Evaluation rules
- PASS: CriticalFailCount = 0 and WarningCount = 0.
- WARNING: CriticalFailCount = 0 and WarningCount > 0.
- FAIL: CriticalFailCount > 0.
- ERROR: exception during reading or processing.
- ErrorMessage remains empty for PASS.
- Limits are embedded in Program.cs; no external limit configuration is required.
Input and fields
BatchNumber,ProductName,Butyl_Acetate_ppm,Amyl_Alcohol_ppm,MIBK_ppm,DCM_ppm,Extraction_Yield_Percent,LogP,Limit_BA,Limit_AA,Limit_MIBK,Limit_DCM SOLV-EXT-2026-001,6-APA Crude,1200.0,800.0,50.0,2.0,96.5,1.2,5000.0,5000.0,1000.0,6.0 SOLV-EXT-2026-002,7-ACA Refined,50.0,20.0,5.0,0.5,98.0,0.8,5000.0,5000.0,1000.0,6.0 SOLV-EXT-2026-003,Penicillin G (Poor Wash),6000.0,4500.0,1200.0,8.0,85.0,1.5,5000.0,5000.0,1000.0,6.0
| Field | Sample |
|---|---|
| BatchNumber | SOLV-EXT-2026-001 |
| ProductName | 6-APA Crude |
| Butyl_Acetate_ppm | 1200.0 |
| Amyl_Alcohol_ppm | 800.0 |
| MIBK_ppm | 50.0 |
| DCM_ppm | 2.0 |
| Extraction_Yield_Percent | 96.5 |
| LogP | 1.2 |
| Limit_BA | 5000.0 |
| Limit_AA | 5000.0 |
| Limit_MIBK | 1000.0 |
| Limit_DCM | 6.0 |
Output JSON
{
"Header": {
"UtilityName": "Residual_Solvent_And_Extraction_QC",
"Version": "1.0.0",
"Timestamp": "UTC",
"InstrumentID": "FUZKK-QC-WORKSTATION",
"OperatorID": "Admin"
},
"Samples": [
{
"SampleID": "from BatchNumber",
"BatchNumber": "from CSV",
"ProductName": "from CSV",
"TestName": "utility-specific test",
"AnalysisCode": "utility-specific code",
"Status": "PASS | WARNING | FAIL | ERROR",
"StatusCode": "1 | 2 | 0 | -1",
"ErrorMessage": "",
"Description": "Russian recommendation",
"DescriptionEN": "English recommendation",
"Results": [
{
"ParameterName": "parameter",
"ResultValue": 0.0,
"UnitOfMeasure": "unit",
"SpecificationLimit": "limit",
"IsWithinSpec": true
}
]
}
]
}Included in packages
Fermentation & Antibiotic Intermediates QC Suite
Fermentation & Antibiotic Intermediates QC Suite: FUZKK utility package for CSV→JSON QC checks with EU-first limit priority.
Open