Thorium227QualityChecker
Thorium-227
Utility description: Thorium-227
Thorium-227 Quality Checker — Alpha Therapy (Ph. Eur., USP) ℹ️ The utility checks RCP, free thorium, daughter nuclides, long-lived impurities, sterility. ℹ️ Does not use machine learning — rule-based logic only. ⚠️ CRITICAL! Free Th ≤5%. Daughter escape ≤10%. Long-lived impurities ≤0.1%! Usage: Thorium227QualityChecker.exe → demo mode Thorium227QualityChecker.exe input.csv output.json → evaluate data Input format: BatchNumber,Radiopharmaceutical,Radionuclidic_Purity_Percent,Radiochemical_Purity_Percent,Specific_Activity_MBq_mg_Ab,Long_Lived_Th_Impurities_Percent,Free_Thorium_Ion_Percent,Daughter_Nuclide_Escape_Percent,pH_Value,Protein_Concentration_mg_per_mL,SterilityTest,Bacterial_Endotoxins_EU_per_mL,Appearance_Score,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected Example: TH227-AB-2026-001,Th-227-DOTA-Anti-HER2,99.9,98.0,5.0,0.05,1.5,5.0,6.5,2.0,0,5.0,0,0,0,0,0 — WHY IS THIS NEEDED? Thorium-227 — alpha-emitter for targeted therapy (T1/2 = 18.7 d): • Radiochemical Purity: Chelate stability is critical. Alpha decay causes nuclear recoil, which can break the bond with the chelator. Release of daughter nuclides (Ra-223, Rn-219) leads to their accumulation in bones and other organs, causing toxicity. Daughter escape limit is typically ≤10%. • Free Thorium: Accumulates in liver and bones. Limit ≤5%. • Long-Lived Impurities: Th-228 (T1/2 = 1.9 y) and Th-232 (T1/2 = 14 billion years) create long-term radiation burden. Their content must be minimal (<0.1%). • Specific Activity: Important for therapeutic efficacy of antibodies. • Sterility and Endotoxins: Drug is administered intravenously. Requirements are strict. ⚠️ CRITICAL: • Radionuclidic Purity: ≥ 99.0% • Radiochemical Purity: ≥ 95.0% • Long-Lived Impurities (Th-228/232): ≤ 0.1% • Free Thorium: ≤ 5.0% • Daughter Nuclide Escape: ≤ 10.0% • Specific Activity: ≥ 1.0 MBq/mg antibody • pH: 5.0–7.5 • Endotoxins: ≤ 17.5 EU/mL • Sterility: No growth • Appearance: Homogeneous, no aggregates ⚠️ Note: Utility focuses on specific challenges of alpha therapy: chelate stability under nuclear recoil and control of long-lived impurities that may create unacceptable long-term radiation dose.
input.csv
BatchNumber,Radiopharmaceutical,Radionuclidic_Purity_Percent,Radiochemical_Purity_Percent,Specific_Activity_MBq_mg_Ab,Long_Lived_Th_Impurities_Percent,Free_Thorium_Ion_Percent,Daughter_Nuclide_Escape_Percent,pH_Value,Protein_Concentration_mg_per_mL,SterilityTest,Bacterial_Endotoxins_EU_per_mL,Appearance_Score,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected TH227-AB-2026-001,Th-227-DOTA-Anti-HER2,99.9,98.0,5.0,0.05,1.5,5.0,6.5,2.0,0,5.0,0,0,0,0,0
URS & FS — User Requirements and Functional Specification
1. Scope
This document defines requirements and functional behaviour for Thorium227QualityChecker used to control: Thorium-227. The utility is intended for QC use and applies deterministic rules, not machine learning.
2. Execution modes
Thorium227QualityChecker.exe— demo mode or help output.Thorium227QualityChecker.exe input.csv output.json— process user data and write result.
3. Key source-derived controls
- Thorium-227 Quality Checker — Alpha Therapy (Ph. Eur., USP)
- ℹ️ The utility checks RCP, free thorium, daughter nuclides, long-lived impurities, sterility.
- ⚠️ CRITICAL! Free Th ≤5%. Daughter escape ≤10%. Long-lived impurities ≤0.1%!
- BatchNumber,Radiopharmaceutical,Radionuclidic_Purity_Percent,Radiochemical_Purity_Percent,Specific_Activity_MBq_mg_Ab,Long_Lived_Th_Impurities_Percent,Free_Thorium_Ion_Percent,Daughter_Nuclide_Escape_Percent,pH_Value,Protein_Concentration_mg_per_mL,SterilityTest,Bacterial_Endotoxins_EU_per_mL,Appearance_Score,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected
- Thorium-227 — alpha-emitter for targeted therapy (T1/2 = 18.7 d):
- • Radiochemical Purity: Chelate stability is critical. Alpha decay causes nuclear recoil, which can break the bond with the chelator. Release of daughter nuclides (Ra-223, Rn-219) leads to their accumulation in bones and other organs, causing toxicity. Daughter escape limit is typically ≤10%.
- • Free Thorium: Accumulates in liver and bones. Limit ≤5%.
- • Sterility and Endotoxins: Drug is administered intravenously. Requirements are strict.
- ⚠️ CRITICAL:
- • Radionuclidic Purity: ≥ 99.0%
- • Radiochemical Purity: ≥ 95.0%
- • Long-Lived Impurities (Th-228/232): ≤ 0.1%
- • Free Thorium: ≤ 5.0%
- • Daughter Nuclide Escape: ≤ 10.0%
- • Specific Activity: ≥ 1.0 MBq/mg antibody
- • pH: 5.0–7.5
- • Endotoxins: ≤ 17.5 EU/mL
- • Sterility: No growth
- ⚠️ Note: Utility focuses on specific challenges of alpha therapy: chelate stability under nuclear recoil and control of long-lived impurities that may create unacceptable long-term radiation dose.
4. URS — user requirements
| ID | Requirement | Criticality | Acceptance criterion |
|---|---|---|---|
| URS-001 | The utility shall accept input.csv with the exact headers defined in the data contract. | High | The file is processed without manual header changes. |
| URS-002 | The utility shall validate mandatory fields, data types, ranges, units, and critical pharmaceutical/radiochemical limits. | High | Each row receives PASS/WARNING/FAIL status. |
| URS-003 | The utility shall detect critical deviations related to radionuclidic/radiochemical purity, impurities, free radionuclide, pH, endotoxins and sterility where such fields are present. | High | A critical deviation produces FAIL or an explicit critical finding. |
| URS-004 | 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-005 | The utility shall not use machine learning to decide conformance. | Medium | The decision is based on explicit rules and thresholds. |
| URS-006 | The utility shall preserve traceability between batch number, input values, applied rules and final status. | High | The output contains batch identifier and checked parameters. |
| URS-007 | The documentation shall support IQ/OQ preparation and inspection discussion with FDA/EMA/Roszdravnadzor or local regulator. | Medium | URS/FS and test scenarios are supplied with the utility. |
5. input.csv contract
| # | Field | Type | Sample | Purpose |
|---|---|---|---|---|
| 1 | BatchNumber | string | TH227-AB-2026-001 | Batch or lot identifier. |
| 2 | Radiopharmaceutical | string | Th-227-DOTA-Anti-HER2 | Product/radiopharmaceutical type; affects control interpretation. |
| 3 | Radionuclidic_Purity_Percent | decimal | 99.9 | Radionuclidic purity; critical radiation safety attribute. |
| 4 | Radiochemical_Purity_Percent | decimal | 98.0 | Radiochemical purity; verifies radionuclide binding and target chemical form. |
| 5 | Specific_Activity_MBq_mg_Ab | decimal | 5.0 | Activity of the radiopharmaceutical material or finished product. |
| 6 | Long_Lived_Th_Impurities_Percent | decimal | 0.05 | Controlled input parameter from input.csv. |
| 7 | Free_Thorium_Ion_Percent | decimal | 1.5 | Free radionuclide/ion; critical due to non-target uptake and toxicity. |
| 8 | Daughter_Nuclide_Escape_Percent | decimal | 5.0 | Controlled input parameter from input.csv. |
| 9 | pH_Value | decimal | 6.5 | Solution pH; stability and administration compatibility parameter. |
| 10 | Protein_Concentration_mg_per_mL | decimal | 2.0 | Protein/antibody component of the product. |
| 11 | SterilityTest | flag 0/1 | 0 | Sterility test result; 0 usually means no contamination. |
| 12 | Bacterial_Endotoxins_EU_per_mL | decimal | 5.0 | Bacterial endotoxins; critical criterion for parenteral administration. |
| 13 | Appearance_Score | decimal | 0 | Visual appearance and visible defect assessment. |
| 14 | Microbial_Count_TAMC | decimal | 0 | Microbiological attribute; positive result is a critical deviation. |
| 15 | Microbial_Count_TYMC | decimal | 0 | Microbiological attribute; positive result is a critical deviation. |
| 16 | EColi_Detected | flag 0/1 | 0 | Microbiological attribute; positive result is a critical deviation. |
| 17 | Salmonella_Detected | flag 0/1 | 0 | Microbiological attribute; positive result is a critical deviation. |
BatchNumber,Radiopharmaceutical,Radionuclidic_Purity_Percent,Radiochemical_Purity_Percent,Specific_Activity_MBq_mg_Ab,Long_Lived_Th_Impurities_Percent,Free_Thorium_Ion_Percent,Daughter_Nuclide_Escape_Percent,pH_Value,Protein_Concentration_mg_per_mL,SterilityTest,Bacterial_Endotoxins_EU_per_mL,Appearance_Score,Microbial_Count_TAMC,Microbial_Count_TYMC,EColi_Detected,Salmonella_Detected TH227-AB-2026-001,Th-227-DOTA-Anti-HER2,99.9,98.0,5.0,0.05,1.5,5.0,6.5,2.0,0,5.0,0,0,0,0,0
6. FS — functional specification
| ID | Function | Implementation |
|---|---|---|
| FS-001 | CSV import | Read input.csv in UTF-8/CSV-compatible format; validate header and expected columns. |
| FS-002 | Schema validation | Validate mandatory fields and column count; report unknown or missing key fields. |
| FS-003 | Type conversion | Convert numeric, flag and text values; record invalid format as row-level error. |
| FS-004 | Rule engine | Apply domain rules for Thorium-227, including critical limits from the utility description. |
| FS-005 | Status aggregation | Generate final status: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance. |
| FS-006 | JSON export | Write output.json with check details, source values, warnings and critical findings. |
| FS-007 | Audit support | Keep result structure suitable for review, deviation investigation and IQ/OQ preparation. |
7. output.json example
{
"utilityId": "thorium227-quality-checker",
"api": "Thorium-227",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "TH227-AB-2026-001",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Radiopharmaceutical",
"value": "Th-227-DOTA-Anti-HER2",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Radionuclidic_Purity_Percent",
"value": "99.9",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Radiochemical_Purity_Percent",
"value": "98.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Specific_Activity_MBq_mg_Ab",
"value": "5.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Long_Lived_Th_Impurities_Percent",
"value": "0.05",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Free_Thorium_Ion_Percent",
"value": "1.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "Daughter_Nuclide_Escape_Percent",
"value": "5.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
}
],
"criticalFindings": []
}8. OQ/PQ test scenarios
| ID | Scenario | Expected result |
|---|---|---|
| OQ-001 | Valid sample row | PASS or acceptable WARNING according to rules. |
| OQ-002 | Mandatory column is 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 | Approved review result with input.csv and output.json retained. |
9. QA/QC and change control
- Do not rename columns without validator update.
- Store 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 checked against the approved specification and local SOPs.
Included in packages
PetRad2: advanced radiopharmaceutical QC package
A curated set of new utilities for radionuclide control, targeted alpha therapy, specific activity, radiolysis stability and preliminary dosimetry calculations.
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: alpha-emitting therapy
Ac-225, Ra-223, At-211, Bi-213 and Th-227: targeted alpha therapy and daughter/recoil control.
OpenRPH organ/system: bone and musculoskeletal
Bone scintigraphy, MDP/PYP, marrow, bone-pain palliation, skeletal metastases and radiosynovectomy.
OpenRPH organ/system: hepatobiliary and GI
HIDA, mebrofenin, gallbladder, gastric emptying, GI transit, bleeding and liver/spleen imaging.
OpenRPH organ/system: oncology and theranostics
Tumour imaging, PSMA/FAPI/receptor tracers, immuno-PET, targeted radionuclide therapy and radioembolization.
OpenRPH use case: radionuclide therapy and theranostics
Lu-177, Ac-225, Ra-223, Y-90, Ho-166, Sm-153, Sr-89, Re-188, Tb-161, I-131 and other therapeutic radiopharmaceuticals: activity, purity, free metal, daughters and toxicological constraints.
OpenRPH workflow: generators and isotope purity
Generator eluate, breakthrough, radionuclidic purity, isotope mix and starting radionuclides.
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