Oxygen15WaterQualityChecker
Oxygen-15 Water
Utility description: Oxygen-15 Water
Oxygen-15 Water Quality Checker — Oxygen-15 Water for PET Perfusion ℹ️ Utility checks critical parameters of [15O]Water: • Radionuclidic purity (≥99.5%) • Nitrogen-13 impurity (≤1.0%) • Fluorine-18 impurity (≤0.1%) • Radiochemical purity (≥99%) • pH (4.5–8.5), endotoxins, sterility ⚠️ CRITICAL: N-13 impurity >1.0% distorts first-pass kinetics! F-18 impurity >0.1% creates long-term radioactive background! Usage: Oxygen15WaterQualityChecker.exe → demo mode (console output) Oxygen15WaterQualityChecker.exe input.csv output.json → evaluate your data Input format: BatchNumber,TotalActivityMBq,RadionuclidicPurityPercent,Nitrogen13ImpurityPercent,Fluorine18ImpurityPercent,RadiochemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType Example (sterility: 0=sterile, 1=contaminated): O15-H2O-2026-001,20000.0,99.9,0.05,0.001,99.9,6.0,10.0,0,0.5,Perfusion_PET Supported product types: • Perfusion_PET — Quantitative blood flow measurement (brain, heart) — WHY IS THIS NEEDED? [15O]Water is the ideal tracer for blood flow (Perfusion) measurement: • Half-life: 122 seconds (~2 minutes) — allows repeated studies every 10 minutes • Free diffusion: Crosses blood-brain barrier and cell membranes without restriction • Gold standard for quantitative Cerebral Blood Flow (CBF) and Myocardial Blood Flow (MBF) • Produced on a cyclotron via 14N(d,n)15O or 15N(p,n)15O reaction with online synthesis ⚠️ CRITICAL: • Radiochemical purity ≥99% — Any other oxygen forms (gas, peroxides) or impurities do not behave like water, critically distorting the single-tissue compartment model. • Nitrogen-13 impurity ≤1.0% — N-13 (T½=10 min) is often formed in the target. Due to longer half-life, it accumulates in blood and tissues differently than water, distorting the initial phases of the input-output curve. • Fluorine-18 impurity ≤0.1% — F-18 (T½=110 min) can form from target impurities. Even trace amounts create significant background during serial scans. • Sterility and endotoxins — Critical for IV administration, though parametric release is often used due to short half-life. Key features: • Control of N-13 and F-18 impurities (critical for kinetic modeling) • High RCP requirements (≥99%) • Consideration of ultra-short half-life in activity planning • Support for quantitative PET perfusion standards Critical parameters: • Radionuclidic purity: ≥99.5% • Nitrogen-13 impurity: ≤1.0% • Fluorine-18 impurity: ≤0.1% • Radiochemical purity: ≥99.0% • pH: 4.5–8.5 • Endotoxins: ≤175 EU/vial • Sterility: no microbial growth • Heavy metals: ≤10 ppm 💡 Usage tips: RCP is considered near 100% as the product is synthesized by simple mixing with water or distillation, but control for volatile impurities is important. N-13 impurity is controlled by gamma spectrometry after O-15 decay (10-15 minutes). Due to T½=2 minutes, activity is measured immediately before patient administration. The drug is administered as a bolus to capture the first pass. ⚠️ Note: [15O]Water is a freely diffusible tracer. Unlike [13N]Ammonia or [18F]FDG, it is not metabolically trapped but rapidly equilibrates. Therefore, product purity is critical for the accuracy of the blood flow mathematical model. Any impurity with different kinetics (e.g., gaseous [15O]O2 or [13N]N2) is unacceptable.
input.csv
BatchNumber,TotalActivityMBq,RadionuclidicPurityPercent,Nitrogen13ImpurityPercent,Fluorine18ImpurityPercent,RadiochemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType O15-H2O-2026-001,20000.0,99.9,0.05,0.001,99.9,6.0,10.0,0,0.5,Perfusion_PET O15-H2O-2026-002,18000.0,99.0,1.5,0.2,98.0,6.5,150.0,0,5,Perfusion_PET O15-H2O-2026-003,22000.0,99.95,0.02,0.0005,99.95,5.8,5.0,0,0.2,Perfusion_PET
URS & FS — User Requirements and Functional Specification
This document describes the controlled interface and behaviour of Oxygen15WaterQualityChecker for Oxygen-15 Water.
Domain limits and critical parameters
- ℹ️ Utility checks critical parameters of [15O]Water:
- • Radionuclidic purity (≥99.5%)
- • Nitrogen-13 impurity (≤1.0%)
- • Fluorine-18 impurity (≤0.1%)
- • Radiochemical purity (≥99%)
- • pH (4.5–8.5), endotoxins, sterility
- ⚠️ CRITICAL: N-13 impurity >1.0% distorts first-pass kinetics!
- F-18 impurity >0.1% creates long-term radioactive background!
- BatchNumber,TotalActivityMBq,RadionuclidicPurityPercent,Nitrogen13ImpurityPercent,Fluorine18ImpurityPercent,RadiochemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType
- Example (sterility: 0=sterile, 1=contaminated):
- • Free diffusion: Crosses blood-brain barrier and cell membranes without restriction
- ⚠️ CRITICAL:
- • Radiochemical purity ≥99% — Any other oxygen forms (gas, peroxides) or impurities do not behave like water, critically distorting the single-tissue compartment model.
- • Nitrogen-13 impurity ≤1.0% — N-13 (T½=10 min) is often formed in the target. Due to longer half-life, it accumulates in blood and tissues differently than water, distorting the initial phases of the input-output curve.
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 Oxygen-15 Water 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 | O15-H2O-2026-001 | Batch or lot identifier used for traceability. |
| 2 | TotalActivityMBq | decimal | 20000.0 | Radioactivity value used for release, decay or dose-related assessment. |
| 3 | RadionuclidicPurityPercent | string | 99.9 | Radionuclidic purity; a critical radiation-safety and impurity parameter. |
| 4 | Nitrogen13ImpurityPercent | string | 0.05 | Controlled impurity or residual material. |
| 5 | Fluorine18ImpurityPercent | string | 0.001 | Controlled impurity or residual material. |
| 6 | RadiochemicalPurityPercent | string | 99.9 | Radiochemical purity; confirms the labelled chemical form and binding quality. |
| 7 | pH | decimal | 6.0 | Solution pH; relevant for stability, compatibility and administration. |
| 8 | EndotoxinsEU | decimal | 10.0 | Bacterial endotoxins; critical for parenteral administration. |
| 9 | SterilityTest | flag / boolean | 0 | Sterility result; critical release parameter. |
| 10 | HeavyMetalsPPM | decimal | 0.5 | Elemental impurity / metal residue parameter. |
| 11 | ProductType | string | Perfusion_PET | Controlled input parameter used by the deterministic QC rules. |
BatchNumber,TotalActivityMBq,RadionuclidicPurityPercent,Nitrogen13ImpurityPercent,Fluorine18ImpurityPercent,RadiochemicalPurityPercent,pH,EndotoxinsEU,SterilityTest,HeavyMetalsPPM,ProductType O15-H2O-2026-001,20000.0,99.9,0.05,0.001,99.9,6.0,10.0,0,0.5,Perfusion_PET O15-H2O-2026-002,18000.0,99.0,1.5,0.2,98.0,6.5,150.0,0,5,Perfusion_PET O15-H2O-2026-003,22000.0,99.95,0.02,0.0005,99.95,5.8,5.0,0,0.2,Perfusion_PET
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 Oxygen-15 Water, 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": "oxygen15-water-quality-checker",
"api": "Oxygen-15 Water",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "O15-H2O-2026-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "TotalActivityMBq",
"value": "20000.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "RadionuclidicPurityPercent",
"value": "99.9",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Nitrogen13ImpurityPercent",
"value": "0.05",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Fluorine18ImpurityPercent",
"value": "0.001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "RadiochemicalPurityPercent",
"value": "99.9",
"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": "10.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: cardiac perfusion and generator tracers
Rb-82/Sr-82, N-13 and Tl-201 for myocardial perfusion and generator-supported workflows.
OpenRPH isotope family: short-lived PET isotopes
F-18, C-11, N-13, O-15 and related PET production, release and imaging workflows.
OpenRPH organ/system: brain and CNS
Brain perfusion, dopamine transporter, amyloid/tau, receptor imaging and neurological SPECT/PET.
OpenRPH organ/system: cardiovascular
Myocardial perfusion, cardiac PET/SPECT, ventricular function, blood-pool and perfusion tracers.
OpenRPH organ/system: oncology and theranostics
Tumour imaging, PSMA/FAPI/receptor tracers, immuno-PET, targeted radionuclide therapy and radioembolization.
OpenRPH use case: PET/SPECT oncology diagnostics and receptor imaging
F-18, Ga-68, Cu-64, Zr-89, In-111 and other diagnostic tracers: synthesis, purity, receptor targeting, immuno-PET and generator-based workflows.
OpenRPH workflow: generators and isotope purity
Generator eluate, breakthrough, radionuclidic purity, isotope mix and starting radionuclides.
OpenRPH workflow: imaging QC and quantitative interpretation
Acquisition, uptake, clearance, perfusion, transit, ejection fraction, segmentation and quantitative imaging.
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 workflow: synthesis, labelling and kit reconstitution
Radiolabelling, synthesis, chelation, reducing agent, pH/stoichiometry and kit preparation.
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