Cobalt57QualityChecker
Cobalt-57
Utility description: Cobalt-57
Cobalt-57 Quality Checker — Cobalt-57 for diagnostics and equipment calibration ℹ️ Utility checks critical parameters of cobalt-57: • Radionuclidic purity (≥99.9%) • Cobalt-56 impurity (≤0.05%) — long-lived impurity (T½=77 days) • Cobalt-58 impurity (≤0.05%) — (T½=71 days) • Chemical purity, pH, endotoxins, sterility, heavy metals ⚠️ CRITICAL: Co-56 and Co-58 impurities increase patient radiation dose and create background noise! Usage: Cobalt57QualityChecker.exe → demo mode (console output) Cobalt57QualityChecker.exe input.csv output.json → evaluate your data Input format: BatchNumber,RadionuclidicPurityPercent,Co56ImpurityPercent,Co58ImpurityPercent,ChemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType Example (sterility: 0=sterile, 1=contaminated): CO57-DIAG-2026-001,99.95,0.02,0.01,98.5,6.0,50.0,0,2,Diagnostic Supported product types: • Diagnostic — diagnostics (Vitamin B12 absorption test, GI studies) • CalibrationSource — sources for SPECT camera and gamma counter calibration • Research — laboratory research — WHY IS THIS NEEDED? Cobalt-57 is an important gamma-emitter for nuclear medicine and quality control: • 271.8-day half-life — convenient for long-term calibration sources • Gamma emission 122 keV and 136 keV — ideal for calibrating Tc-99m detectors • Used in diagnostic kits (e.g., for B12 absorption assessment) ⚠️ CRITICAL: • Radionuclidic purity ≥99.9% — ensures signal clarity and reduces dose • Co-56 impurity ≤0.05% — Co-56 has high gamma yield and long half-life, which is undesirable • Co-58 impurity ≤0.05% — creates additional background • pH 4.0–8.0 — solution stability • Endotoxins ≤175 EU/vial — for parenteral administration • Sterility — MANDATORY for diagnostic products Key features: • Strict control of long-lived Co-56 and Co-58 impurities • Assessment of suitability for calibration sources and diagnostics • Verification of standard pharmacopoeial parameters (sterility, endotoxins) Critical parameters: • Radionuclidic purity: ≥99.9% • Co-56 impurity: ≤0.05% • Co-58 impurity: ≤0.05% • Chemical purity: ≥95.0% • pH: 4.0–8.0 • Endotoxins: ≤175 EU/vial • Sterility: no microbial growth • Heavy metals: ≤10 ppm 💡 Usage tips: Radionuclidic purity is controlled by gamma spectrometry Co-56 and Co-58 are formed during production (cyclotron/reactor) if purification is insufficient For calibration sources, chemical form must be stable (often CoCl2 in HCl) Apigenicity is crucial for diagnostic use ⚠️ Note: Cobalt-57 is often used as a surrogate for Technetium-99m in equipment setup due to similar gamma energies (122 keV for Co-57 vs 140 keV for Tc-99m). Purity from other cobalt isotopes is critical for calibration accuracy.
input.csv
BatchNumber,RadionuclidicPurityPercent,Co56ImpurityPercent,Co58ImpurityPercent,ChemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType CO57-DIAG-2026-001,99.95,0.02,0.01,98.5,6.0,50.0,0,2,Diagnostic CO57-CAL-2026-002,99.92,0.04,0.03,99.0,5.5,10.0,0,1,CalibrationSource
URS & FS — User Requirements and Functional Specification
This document describes the controlled interface and behaviour of Cobalt57QualityChecker for Cobalt-57.
Domain limits and critical parameters
- ℹ️ Utility checks critical parameters of cobalt-57:
- • Radionuclidic purity (≥99.9%)
- • Cobalt-56 impurity (≤0.05%) — long-lived impurity (T½=77 days)
- • Cobalt-58 impurity (≤0.05%) — (T½=71 days)
- • Chemical purity, pH, endotoxins, sterility, heavy metals
- ⚠️ CRITICAL: Co-56 and Co-58 impurities increase patient radiation dose and create background noise!
- BatchNumber,RadionuclidicPurityPercent,Co56ImpurityPercent,Co58ImpurityPercent,ChemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType
- Example (sterility: 0=sterile, 1=contaminated):
- ⚠️ CRITICAL:
- • Radionuclidic purity ≥99.9% — ensures signal clarity and reduces dose
- • Co-56 impurity ≤0.05% — Co-56 has high gamma yield and long half-life, which is undesirable
- • Co-58 impurity ≤0.05% — creates additional background
- • Endotoxins ≤175 EU/vial — for parenteral administration
- • Sterility — MANDATORY for diagnostic products
URS — User Requirements Specification
| ID | Requirement | Criticality | Acceptance criterion |
|---|---|---|---|
| URS-001 | The utility shall accept an input.csv file with the exact headers defined in the data contract. | High | The file is processed without manual header editing. |
| URS-002 | The utility shall perform deterministic QC evaluation for Cobalt-57 using input values, approved limits and domain rules. | High | Each input row receives a PASS / WARNING / FAIL status. |
| URS-003 | The utility shall validate mandatory fields, data types, numeric ranges, units and pharmaceutical/radiochemical plausibility. | High | Schema and conversion errors are explicitly reported. |
| URS-004 | The utility shall identify critical deviations related to radionuclidic purity, radiochemical purity, free radionuclide, impurities, pH, endotoxins and sterility when such fields are present. | High | A critical deviation causes FAIL or a separate 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 and QA/QC review. |
| URS-006 | The utility shall not use machine learning to decide conformance. | Medium | The result is based on explicit rules, thresholds and input values. |
| URS-007 | The utility shall preserve traceability between batch number, input values, applied rules and final status. | High | The output contains the batch identifier and the list of checked parameters. |
| URS-008 | The documentation shall support IQ/OQ preparation and inspection discussion with FDA/EMA/Roszdravnadzor or local regulators. | Medium | URS & FS, input.csv/output.json contract and test scenarios are supplied with the utility. |
input.csv contract
| # | Field | Type | Sample | Purpose |
|---|---|---|---|---|
| 1 | BatchNumber | string | CO57-DIAG-2026-001 | Batch or lot identifier used for traceability. |
| 2 | RadionuclidicPurityPercent | string | 99.95 | Radionuclidic purity; a critical radiation-safety and impurity parameter. |
| 3 | Co56ImpurityPercent | string | 0.02 | Controlled impurity or residual material. |
| 4 | Co58ImpurityPercent | string | 0.01 | Controlled impurity or residual material. |
| 5 | ChemicalPurityPercent | string | 98.5 | Controlled input parameter used by the deterministic QC rules. |
| 6 | pH | decimal | 6.0 | Solution pH; relevant for stability, compatibility and administration. |
| 7 | EndotoxinsEU | decimal | 50.0 | Bacterial endotoxins; critical for parenteral administration. |
| 8 | SterilityTest | flag / boolean | 0 | Sterility result; critical release parameter. |
| 9 | HeavyMetalsPPM | decimal | 2 | Elemental impurity / metal residue parameter. |
| 10 | ProductType | string | Diagnostic | Controlled input parameter used by the deterministic QC rules. |
BatchNumber,RadionuclidicPurityPercent,Co56ImpurityPercent,Co58ImpurityPercent,ChemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType CO57-DIAG-2026-001,99.95,0.02,0.01,98.5,6.0,50.0,0,2,Diagnostic CO57-CAL-2026-002,99.92,0.04,0.03,99.0,5.5,10.0,0,1,CalibrationSource
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 and column count; report unknown or missing key fields. |
| 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 Cobalt-57, including critical 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 preparation. |
| FS-008 | Integration contract | Support the production scenario: LIMS/ELN/MES creates input.csv, the utility returns output.json, the portal displays description and documentation. |
Example output.json
{
"utilityId": "cobalt57-quality-checker",
"api": "Cobalt-57",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "CO57-DIAG-2026-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "RadionuclidicPurityPercent",
"value": "99.95",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Co56ImpurityPercent",
"value": "0.02",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Co58ImpurityPercent",
"value": "0.01",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ChemicalPurityPercent",
"value": "98.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "pH",
"value": "6.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "EndotoxinsEU",
"value": "50.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "SterilityTest",
"value": "0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
}
],
"criticalFindings": []
}
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. |
| PQ-001 | User real batch/lot | Reviewed result with input.csv and output.json retained. |
QA/QC and change control
- Do not rename columns without updating the validator 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 radiopharmaceutical limits must be verified against the approved specification and local SOPs.
Included in packages
PetRad3: expanded PET/SPECT and radiopharmaceutical QC package
A curated suite for PET/SPECT radiopharmaceuticals, generator and cyclotron radionuclides, labelled compounds, radiochemical purity, breakthrough, sterility and endotoxin control.
OpenRadiology QC Suite
QC package for radiology and diagnostic imaging: radiopharmaceuticals, PET/SPECT, contrast media, iodinated and gadolinium products, plus particle, sterility and endotoxin checks.
OpenRPH isotope family: Tc-99m
Tc-99m radiopharmaceuticals, kit preparation, generator control, SPECT workflows and calculation utilities.
OpenRPH use case: generators, isotope purity and starting radionuclides
Control of generator eluate, breakthrough, radionuclidic purity, isotope mix, carrier/free radionuclides and starting radionuclides before labeling.
OpenRPH workflow: generators and isotope purity
Generator eluate, breakthrough, radionuclidic purity, isotope mix and starting radionuclides.
OpenRPH workflow: instruments, devices and radiation safety
PET/gamma-camera state, calibration, detector QC, energy window, TOF, shielding and radiation safety.
OpenRPH workflow: product release QC
Assay, purity, sterility, endotoxins, pH, impurities, appearance and batch-release checks.
OpenRPH workflow: stability, storage, decay and waste
Kinetic stability, shelf life, decay correction, expiry, storage, trend and radioactive waste.
OpenRPH: combined radiopharmaceutical QC package
RPH combines PetRad, PetRad2 and PetRad3 into one umbrella package for PET/SPECT, therapeutic radionuclides, generators, labelled compounds, decay calculations, sterility, endotoxins and radiochemical/radionuclidic purity.
Open