Tc99mMDPQualityChecker
Tc-99m MDP
Utility description: Tc-99m MDP
Tc-99m MDP Quality Checker — Technetium-99m MDP for Bone Scintigraphy
ℹ️ Utility checks critical parameters of Tc-99m MDP:
• Radiochemical purity (≥95%)
• Free pertechnetate (≤5%)
• Colloidal technetium (≤5%)
• Aluminum content (≤10 ppm) — CRITICAL!
• pH, endotoxins, sterility
⚠️ CRITICAL: Aluminum breakthrough from generator (>10 ppm) leads to colloid formation.
Drug accumulates in liver and spleen, not bones. Image is non-diagnostic.
Usage:
Tc99mMDPQualityChecker.exe → demo mode (console output)
Tc99mMDPQualityChecker.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,TotalActivityMBq,RadiochemicalPurityPercent,FreePertechnetatePercent,ReducedHydrolyzedTcPercent,pH,EndotoxinsEU,SterilityTest,AluminumContentPPM,ProductType
Example (sterility: 0=sterile, 1=contaminated):
TC99M-MDP-2026-030,740.0,98.0,1.5,0.5,6.5,10.0,0,2.0,BoneScintigraphy
Supported product types:
• BoneScintigraphy — skeletal scintigraphy (metastases, trauma, osteomyelitis)
— WHY IS THIS NEEDED?
Tc-99m MDP (Methylene Diphosphonate) is the most common radiopharmaceutical for skeletal imaging:
• Chemisorbs on the surface of hydroxyapatite in bone tissue
• Accumulation is proportional to osteoblastic activity and blood flow
• "Gold standard" for detecting bone metastases, occult fractures, osteomyelitis
• High signal-to-noise ratio with proper preparation
⚠️ CRITICAL:
• Radiochemical purity ≥95% — Low RCP reduces image contrast. Free technetium creates background in soft tissues, stomach, and thyroid.
• Aluminum Breakthrough ≤10 ppm — THE MOST COMMON CAUSE OF FAILED STUDIES. Aluminum ions (Al3+) from the generator column react with phosphonate, forming insoluble particles or competing for binding. This leads to uptake by RES cells of liver and spleen ("hot liver") and poor bone visualization.
• Free pertechnetate ≤5% — Artifacts in neck and chest area.
• Reduced/Hydrolyzed Tc ≤5% — Colloid accumulating in liver.
• pH 4.0–7.5, Endotoxins ≤175 EU/vial, Sterility — standard requirements.
Key features:
• Specific control of aluminum content (critical for phosphonate complexes)
• Assessment of suitability for high-sensitivity metastasis diagnosis
• Separation of major radiochemical impurities
Critical parameters:
• Radiochemical purity: ≥95.0%
• Free pertechnetate: ≤5.0%
• Colloidal Tc: ≤5.0%
• Aluminum: ≤10.0 ppm (STRICT!)
• pH: 4.0–7.5
• Endotoxins: ≤175 EU/vial
• Sterility: no microbial growth
💡 Usage tips:
1. Aluminum test is performed using indicator paper (aurintricarboxylic acid) or colorimetric method. Color should not be more intense than 10 µg/mL standard.
2. If image shows active liver and spleen with poor bone background — check generator eluate for aluminum.
3. Use fresh eluate. Old eluate may have increased aluminum content due to column degradation.
4. MDP is stable for 6-8 hours after preparation.
⚠️ Note: MDP is very sensitive to generator eluate quality. Even if RCP is high, aluminum content >10 ppm makes the drug unsuitable for bone scanning, as biodistribution changes drastically in favor of the liver.input.csv
BatchNumber,TotalActivityMBq,RadiochemicalPurityPercent,FreePertechnetatePercent,ReducedHydrolyzedTcPercent,pH,EndotoxinsEU,SterilityTest,AluminumContentPPM,ProductType TC99M-MDP-2026-030,740.0,98.0,1.5,0.5,6.5,10.0,0,2.0,BoneScintigraphy TC99M-MDP-AL-FAIL,700.0,96.0,2.0,2.0,6.8,15.0,0,15.0,BoneScintigraphy TC99M-MDP-RCP-FAIL,720.0,88.0,8.0,4.0,6.2,12.0,0,1.5,BoneScintigraphy
URS & FS — User Requirements and Functional Specification
This document describes the controlled interface and behaviour of Tc99mMDPQualityChecker for Tc-99m MDP.
Domain limits and critical parameters
- ℹ️ Utility checks critical parameters of Tc-99m MDP:
- • Radiochemical purity (≥95%)
- • Free pertechnetate (≤5%)
- • Colloidal technetium (≤5%)
- • Aluminum content (≤10 ppm) — CRITICAL!
- • pH, endotoxins, sterility
- ⚠️ CRITICAL: Aluminum breakthrough from generator (>10 ppm) leads to colloid formation.
- BatchNumber,TotalActivityMBq,RadiochemicalPurityPercent,FreePertechnetatePercent,ReducedHydrolyzedTcPercent,pH,EndotoxinsEU,SterilityTest,AluminumContentPPM,ProductType
- Example (sterility: 0=sterile, 1=contaminated):
- ⚠️ CRITICAL:
- • Radiochemical purity ≥95% — Low RCP reduces image contrast. Free technetium creates background in soft tissues, stomach, and thyroid.
- • Free pertechnetate ≤5% — Artifacts in neck and chest area.
- • Reduced/Hydrolyzed Tc ≤5% — Colloid accumulating in liver.
- • pH 4.0–7.5, Endotoxins ≤175 EU/vial, Sterility — standard requirements.
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 Tc-99m MDP 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 | TC99M-MDP-2026-030 | Batch or lot identifier used for traceability. |
| 2 | TotalActivityMBq | decimal | 740.0 | Radioactivity value used for release, decay or dose-related assessment. |
| 3 | RadiochemicalPurityPercent | string | 98.0 | Radiochemical purity; confirms the labelled chemical form and binding quality. |
| 4 | FreePertechnetatePercent | decimal | 1.5 | Free radionuclide / unbound species; important for non-target uptake and toxicity. |
| 5 | ReducedHydrolyzedTcPercent | decimal | 0.5 | Controlled input parameter used by the deterministic QC rules. |
| 6 | pH | decimal | 6.5 | Solution pH; relevant for stability, compatibility and administration. |
| 7 | EndotoxinsEU | decimal | 10.0 | Bacterial endotoxins; critical for parenteral administration. |
| 8 | SterilityTest | flag / boolean | 0 | Sterility result; critical release parameter. |
| 9 | AluminumContentPPM | decimal | 2.0 | Elemental impurity / metal residue parameter. |
| 10 | ProductType | string | BoneScintigraphy | Controlled input parameter used by the deterministic QC rules. |
BatchNumber,TotalActivityMBq,RadiochemicalPurityPercent,FreePertechnetatePercent,ReducedHydrolyzedTcPercent,pH,EndotoxinsEU,SterilityTest,AluminumContentPPM,ProductType TC99M-MDP-2026-030,740.0,98.0,1.5,0.5,6.5,10.0,0,2.0,BoneScintigraphy TC99M-MDP-AL-FAIL,700.0,96.0,2.0,2.0,6.8,15.0,0,15.0,BoneScintigraphy TC99M-MDP-RCP-FAIL,720.0,88.0,8.0,4.0,6.2,12.0,0,1.5,BoneScintigraphy
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 Tc-99m MDP, 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": "tc99m-mdp-quality-checker",
"api": "Tc-99m MDP",
"overallStatus": "PASS|WARNING|FAIL",
"sourceFile": "input.csv",
"checks": [
{
"parameter": "BatchNumber",
"value": "TC99M-MDP-2026-030",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "TotalActivityMBq",
"value": "740.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "RadiochemicalPurityPercent",
"value": "98.0",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "FreePertechnetatePercent",
"value": "1.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "ReducedHydrolyzedTcPercent",
"value": "0.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "pH",
"value": "6.5",
"status": "PASS|WARNING|FAIL",
"message": "Rule-based check result"
},
{
"parameter": "EndotoxinsEU",
"value": "10.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
Endocrinology QC Suite
QC package for endocrinology: thyroid, pituitary/peptide hormones, corticosteroids, sex hormones and selected metabolic medicines.
OpenPetRad3: 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 organ/system: bone and musculoskeletal
Bone scintigraphy, MDP/PYP, marrow, bone-pain palliation, skeletal metastases and radiosynovectomy.
OpenRPH organ/system: endocrine, thyroid and NET
Radioiodine, thyroid/parathyroid, somatostatin receptor, MIBG and neuroendocrine workflows.
OpenRPH organ/system: hepatobiliary and GI
HIDA, mebrofenin, gallbladder, gastric emptying, GI transit, bleeding and liver/spleen imaging.
OpenRPH use case: cardiac, bone and classic SPECT radiopharmaceuticals
Sestamibi, tetrofosmin, MDP, pyrophosphate, thallium and related quality checks for cardiology, bone imaging and classic SPECT protocols.
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: 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