DosimetryPreCalculator

Dosimetry Pre Calculator

radiopharmaceuticals QC URS & FS input.csv output.json dosimetry radionuclidic purity
Open selection

Utility description: Dosimetry Pre Calculator

Dosimetry Pre-Calculator — Radiopharmaceutical Activity and Dose Calculation

ℹ️  Calculates activity at injection time, effective dose, and critical organ load.
ℹ️  Supports F-18, Ga-68, Tc-99m, Lu-177, Ac-225, Cu-64, I-131, Zr-89.

Usage:
  DosimetryPreCalculator.exe                            → demo mode
  DosimetryPreCalculator.exe input.csv output.json      → calculation

Input format:
PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq

Example:
PAT-001,F-18-FDG,F-18,400.0,2026-05-20T08:00:00,2026-05-20T10:30:00,75.0,45.0,200.0,400.0,5.5

— WHY IS THIS NEEDED?
Utility for medical physicists or NM physicians:
• Decay Calculation: Radiopharmaceutical activity decreases over time. It is crucial to know the exact activity at injection time, not just at calibration.
• Protocol Control: Ensures the administered dose is within the allowed range (min/max) and does not exceed weight-based limits (crucial for pediatrics).
• Dose Estimation: Preliminary calculation of effective dose (mSv) and critical organ dose (mGy) using simplified MIRD coefficients. Helps assess radiation risk.
• Nuclide Support: Built-in half-lives and coefficients for major diagnostic and therapeutic isotopes.

⚠️ IMPORTANT:
• Calculations are based on standard models. Individual dosimetry (based on serial imaging) is more accurate.
• Dose coefficients are averages.
• For therapeutic isotopes (Lu-177, Ac-225), doses can be significantly higher; special control of kidneys/bone marrow is required.

input.csv

PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq
PAT-001,F-18-FDG,F-18,400.0,2026-05-20T08:00:00,2026-05-20T10:30:00,75.0,45.0,200.0,400.0,5.5
PAT-002,Lu-177-DOTATATE,Lu-177,7400.0,2026-05-20T08:00:00,2026-05-20T14:00:00,80.0,60.0,7000.0,7800.0,100.0

URS & FS — User Requirements and Functional Specification

1. Scope

This document defines requirements and functional behaviour for DosimetryPreCalculator used to control: Dosimetry Pre Calculator. The utility is intended for QC use and applies deterministic rules, not machine learning.

2. Execution modes

  • DosimetryPreCalculator.exe — demo mode or help output.
  • DosimetryPreCalculator.exe input.csv output.json — process user data and write result.

3. Key source-derived controls

  • Dosimetry Pre-Calculator — Radiopharmaceutical Activity and Dose Calculation
  • ℹ️ Calculates activity at injection time, effective dose, and critical organ load.
  • PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq
  • Utility for medical physicists or NM physicians:
  • • Decay Calculation: Radiopharmaceutical activity decreases over time. It is crucial to know the exact activity at injection time, not just at calibration.
  • • Dose Estimation: Preliminary calculation of effective dose (mSv) and critical organ dose (mGy) using simplified MIRD coefficients. Helps assess radiation risk.
  • ⚠️ IMPORTANT:

4. URS — user requirements

IDRequirementCriticalityAcceptance criterion
URS-001The utility shall accept input.csv with the exact headers defined in the data contract.HighThe file is processed without manual header changes.
URS-002The utility shall validate mandatory fields, data types, ranges, units, and critical pharmaceutical/radiochemical limits.HighEach row receives PASS/WARNING/FAIL status.
URS-003The utility shall detect critical deviations related to radionuclidic/radiochemical purity, impurities, free radionuclide, pH, endotoxins and sterility where such fields are present.HighA critical deviation produces FAIL or an explicit critical finding.
URS-004The utility shall generate output.json with machine-readable results, source values, warnings and failures.HighJSON is suitable for LIMS/ELN/MES integration and QA/QC review.
URS-005The utility shall not use machine learning to decide conformance.MediumThe decision is based on explicit rules and thresholds.
URS-006The utility shall preserve traceability between batch number, input values, applied rules and final status.HighThe output contains batch identifier and checked parameters.
URS-007The documentation shall support IQ/OQ preparation and inspection discussion with FDA/EMA/Roszdravnadzor or local regulator.MediumURS/FS and test scenarios are supplied with the utility.

5. input.csv contract

#FieldTypeSamplePurpose
1PatientIDdecimalPAT-001Controlled input parameter from input.csv.
2RadiopharmaceuticalstringF-18-FDGProduct/radiopharmaceutical type; affects control interpretation.
3RadionuclidedecimalF-18Controlled input parameter from input.csv.
4Reference_Activity_MBqdecimal400.0Activity of the radiopharmaceutical material or finished product.
5Calibration_Time_ISOdecimal2026-05-20T08:00:00Controlled input parameter from input.csv.
6Injection_Time_ISOdecimal2026-05-20T10:30:00Controlled input parameter from input.csv.
7Patient_Weight_kgdecimal75.0Controlled input parameter from input.csv.
8Patient_Age_yearsdecimal45.0Controlled input parameter from input.csv.
9Min_Dose_MBqdecimal200.0Dosimetry parameter for preliminary evaluation.
10Max_Dose_MBqdecimal400.0Dosimetry parameter for preliminary evaluation.
11Max_Dose_per_kg_MBqdecimal5.5Dosimetry parameter for preliminary evaluation.
PatientID,Radiopharmaceutical,Radionuclide,Reference_Activity_MBq,Calibration_Time_ISO,Injection_Time_ISO,Patient_Weight_kg,Patient_Age_years,Min_Dose_MBq,Max_Dose_MBq,Max_Dose_per_kg_MBq
PAT-001,F-18-FDG,F-18,400.0,2026-05-20T08:00:00,2026-05-20T10:30:00,75.0,45.0,200.0,400.0,5.5
PAT-002,Lu-177-DOTATATE,Lu-177,7400.0,2026-05-20T08:00:00,2026-05-20T14:00:00,80.0,60.0,7000.0,7800.0,100.0

6. FS — functional specification

IDFunctionImplementation
FS-001CSV importRead input.csv in UTF-8/CSV-compatible format; validate header and expected columns.
FS-002Schema validationValidate mandatory fields and column count; report unknown or missing key fields.
FS-003Type conversionConvert numeric, flag and text values; record invalid format as row-level error.
FS-004Rule engineApply domain rules for Dosimetry Pre Calculator, including critical limits from the utility description.
FS-005Status aggregationGenerate final status: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance.
FS-006JSON exportWrite output.json with check details, source values, warnings and critical findings.
FS-007Audit supportKeep result structure suitable for review, deviation investigation and IQ/OQ preparation.

7. output.json example

{
  "utilityId": "dosimetry-pre-calculator",
  "api": "Dosimetry Pre Calculator",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "checks": [
    {
      "parameter": "PatientID",
      "value": "PAT-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Radiopharmaceutical",
      "value": "F-18-FDG",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Radionuclide",
      "value": "F-18",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Reference_Activity_MBq",
      "value": "400.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Calibration_Time_ISO",
      "value": "2026-05-20T08:00:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Injection_Time_ISO",
      "value": "2026-05-20T10:30:00",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Patient_Weight_kg",
      "value": "75.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Patient_Age_years",
      "value": "45.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    }
  ],
  "criticalFindings": []
}

8. OQ/PQ test scenarios

IDScenarioExpected result
OQ-001Valid sample rowPASS or acceptable WARNING according to rules.
OQ-002Mandatory column is missingSchema error or FAIL.
OQ-003Non-numeric value in numeric fieldType conversion error.
OQ-004Critical parameter outside limitFAIL and critical finding.
PQ-001User real batch/lotApproved 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.

Open

Radiology QC Suite

QC package for radiology and diagnostic imaging: radiopharmaceuticals, PET/SPECT, contrast media, iodinated and gadolinium products, plus particle, sterility and endotoxin checks.

Open

RPH isotope family: alpha-emitting therapy

Ac-225, Ra-223, At-211, Bi-213 and Th-227: targeted alpha therapy and daughter/recoil control.

Open

RPH isotope family: beta-emitting therapy

Lu-177, Y-90, Ho-166, Re-188, Sm-153, Sr-89, P-32, Cu-67 and Tb-161.

Open

RPH isotope family: Ga/Ge

Ga-67, Ga-68 and Ge-68: generator, radiolabelling, PET/SPECT and purity workflows.

Open

RPH isotope family: long-lived PET / immuno-PET

Cu-64, Zr-89, I-124, Mn-52 and Y-86 for antibodies, slow kinetics and extended imaging.

Open

RPH isotope family: radioiodine

I-123, I-124, I-125 and I-131 for diagnostics, therapy, labelling and purity control.

Open

RPH isotope family: Tc-99m

Tc-99m radiopharmaceuticals, kit preparation, generator control, SPECT workflows and calculation utilities.

Open

RPH organ/system: bone and musculoskeletal

Bone scintigraphy, MDP/PYP, marrow, bone-pain palliation, skeletal metastases and radiosynovectomy.

Open

RPH organ/system: renal and urinary

Renography, GFR/ERPF, renal uptake, DMSA/MAG3/DTPA and bladder-related workflows.

Open

RPH 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.

Open

RPH workflow: dosimetry and therapy planning

Activity planning, absorbed dose, organ dose, lung shunt, preplanning and therapy verification.

Open

RPH workflow: generators and isotope purity

Generator eluate, breakthrough, radionuclidic purity, isotope mix and starting radionuclides.

Open

RPH workflow: imaging QC and quantitative interpretation

Acquisition, uptake, clearance, perfusion, transit, ejection fraction, segmentation and quantitative imaging.

Open

RPH workflow: product release QC

Assay, purity, sterility, endotoxins, pH, impurities, appearance and batch-release checks.

Open

RPH workflow: stability, storage, decay and waste

Kinetic stability, shelf life, decay correction, expiry, storage, trend and radioactive waste.

Open

RPH: 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