Theranostic_Paired_Dose_Calculator
Theranostic Paired Dose Calculator
ℹ️ Utility calculates personalized therapeutic dose:
• Based on diagnostic PET/CT data
• Considering critical organ dose limits (kidneys)
• Considering target tumor dose
⚠️ CRITICAL: Incorrect dose calculation leads to organ failure!
Theranostics requires precise conversion between isotopes.
Usage:
TheranosticPairedDoseCalculator.exe → demo mode (console output)
TheranosticPairedDoseCalculator.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney
Example:
RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008
— WHY IS THIS NEEDED?
Dose personalization is critical for theranostics (Novartis, Bayer):
• Standard fixed doses do not account for individual patient pharmacokinetics
• High accumulation in kidneys can lead to radiation nephropathy
• Low accumulation in tumor makes therapy ineffective
• Conversion of activity from diagnostic (short-lived) to therapeutic (long-lived) isotope requires complex dosimetry models
⚠️ CRITICAL:
• Kidney dose must not exceed 23 Gy (for Lu-177) or specific limits for alpha emitters
• Tumor dose must be sufficient for tissue ablation
• Account for differences in half-lives and radiation types
• Use of S-factors (MIRD) for accurate absorbed dose calculation
Key features:
• Integration of imaging data (SUV) into dose calculation
• Automatic calculation of maximum safe activity
• Prediction of dose to target and critical organs
• Safety margin assessment
Critical parameters:
• Kidney Dose: ≤23 Gy (example)
• Tumor Dose: ≥ Target
• Safety Margin: >0%
💡 Usage tips:
1. Use high-quality PET/CT data with attenuation correction
2. Update S-factors according to latest MIRD model versions
3. Account for patient organ mass when calculating S-factors
4. For alpha therapy, use micro-dosimetric models
5. Always manually verify calculation before administering drug to patient
⚠️ Note: Unlike external beam radiotherapy where dose is planned on CT, in systemic radionuclide therapy dose depends on biological distribution of the drug. The utility helps link diagnosis and therapy into a single safe treatment protocol.
input.csv
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008 RPH-DOSE-2026-002,PAT-002,F-18/Ac-225-PSMA,150.0,1.8,20.0,30.0,240.0,15.0,50.0,0.0006,0.001 RPH-DOSE-2026-003,PAT-003,Ga-68/Lu-177-DOTATATE,180.0,1.1,10.0,15.0,161.0,23.0,30.0,0.0004,0.0005
Theranostic Paired Dose Calculator — URS and FS
The English user requirements and functional specification are provided below.
Theranostic Paired Dose Calculator — URS
Theranostic Paired Dose Calculator
This document is generated for the English localization. Non-Russian portal languages must use this English version, not a mixed Russian/English document.
Purpose
Define user requirements for a standalone FUZKK utility that accepts laboratory CSV data, evaluates the records using limits embedded in code, and produces LabWare-compatible JSON.
Scope
The utility is intended for preliminary QC/QA review, integration testing, LIMS/LabWare flow and evidence-trail preparation. Final release decisions remain under the laboratory's validated procedure and responsible personnel.
Users
QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.
User requirements
- The utility shall run without arguments and print its self-description, a built-in input.csv example from GetDemoData(), and demo evaluation for the embedded records.
- The utility shall run with two arguments: input.csv output.json.
- The utility shall not read input.csv and shall not write output.json when started without arguments.
- CSV numeric values shall be parsed using CultureInfo.InvariantCulture.
- Output shall be generated as LabWare-compatible JSON with Header, Samples, Results, Status, StatusCode, ErrorMessage, Description and DescriptionEN.
- For PASS records, ErrorMessage shall be an empty string.
- Embedded limits shall follow this priority: Ph. Eur. → British Pharmacopoeia / UK implementation → EAEU / regional requirements → EMA/ICH/EU guidance → USP fallback.
- If an exact monograph is not known, strict standard API limits are used where applicable: assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%.
- For biologics and mAb-like products, aggregation, sterility and endotoxin checks shall be included where relevant to the utility purpose.
- If a parameter may arrive in different units, the unit shall be represented as a separate input field or explicitly reflected in the input.csv field name.
Input CSV
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008 RPH-DOSE-2026-002,PAT-002,F-18/Ac-225-PSMA,150.0,1.8,20.0,30.0,240.0,15.0,50.0,0.0006,0.001 RPH-DOSE-2026-003,PAT-003,Ga-68/Lu-177-DOTATATE,180.0,1.1,10.0,15.0,161.0,23.0,30.0,0.0004,0.0005
input.csv fields
| Field | Sample |
|---|---|
| BatchNumber | RPH-DOSE-2026-001 |
| PatientID | PAT-001 |
| RadioligandPair | Ga-68/Lu-177-PSMA |
| Diag_Activity_MBq | 200.0 |
| Diag_HalfLife_h | 1.1 |
| Tumor_Uptake_SUV | 15.0 |
| Kidney_Uptake_SUV | 25.0 |
| Ther_HalfLife_h | 161.0 |
| Max_Tolerated_Dose_Gy | 23.0 |
| Target_Tumor_Dose_Gy | 40.0 |
| S_Factor_Tumor | 0.0005 |
| S_Factor_Kidney | 0.0008 |
Utility description
Theranostic Paired Dose Calculator — Theranostic Paired Dose Calculator
Theranostic Paired Dose Calculator — Theranostic Paired Dose Calculator
ℹ️ Utility calculates personalized therapeutic dose:
• Based on diagnostic PET/CT data
• Considering critical organ dose limits (kidneys)
• Considering target tumor dose
⚠️ CRITICAL: Incorrect dose calculation leads to organ failure!
Theranostics requires precise conversion between isotopes.
Usage:
TheranosticPairedDoseCalculator.exe → demo mode (console output)
TheranosticPairedDoseCalculator.exe input.csv output.json → evaluate your data
Input format:
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney
Example:
RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008
— WHY IS THIS NEEDED?
Dose personalization is critical for theranostics (Novartis, Bayer):
• Standard fixed doses do not account for individual patient pharmacokinetics
• High accumulation in kidneys can lead to radiation nephropathy
• Low accumulation in tumor makes therapy ineffective
• Conversion of activity from diagnostic (short-lived) to therapeutic (long-lived) isotope requires complex dosimetry models
⚠️ CRITICAL:
• Kidney dose must not exceed 23 Gy (for Lu-177) or specific limits for alpha emitters
• Tumor dose must be sufficient for tissue ablation
• Account for differences in half-lives and radiation types
• Use of S-factors (MIRD) for accurate absorbed dose calculation
Key features:
• Integration of imaging data (SUV) into dose calculation
• Automatic calculation of maximum safe activity
• Prediction of dose to target and critical organs
• Safety margin assessment
Critical parameters:
• Kidney Dose: ≤23 Gy (example)
• Tumor Dose: ≥ Target
• Safety Margin: >0%
💡 Usage tips:
1. Use high-quality PET/CT data with attenuation correction
2. Update S-factors according to latest MIRD model versions
3. Account for patient organ mass when calculating S-factors
4. For alpha therapy, use micro-dosimetric models
5. Always manually verify calculation before administering drug to patient
⚠️ Note: Unlike external beam radiotherapy where dose is planned on CT, in systemic radionuclide therapy dose depends on biological distribution of the drug. The utility helps link diagnosis and therapy into a single safe treatment protocol.
Traceability and limitations
- The URS is used as the source document for functional specification, CSV review and later validation work.
- This document does not replace an approved pharmacopoeial monograph, validated analytical method or internal product specification.
- For product-specific limits, the approved customer specification takes priority.
Theranostic Paired Dose Calculator — FS
Theranostic Paired Dose Calculator
The functional specification describes the behaviour of the standalone FUZKK console utility, input-data format, evaluation algorithm and output JSON structure.
Functional flow
- Main() checks the number of arguments.
- If no arguments are provided: PrintHello() prints the description and built-in input.csv example, then RunDemoEvaluation() executes Evaluate() over GetDemoData() and prints demo JSON.
- If two arguments are provided: RunWithFiles(input.csv, output.json) reads CSV, evaluates each record and writes LabWare-compatible JSON.
- LoadData() uses CultureInfo.InvariantCulture and shall not be called in no-arguments mode.
- Evaluate() returns a named tuple with BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation and RecommendationEN.
- GetIssues() builds messages for ErrorMessage in WARNING/FAIL cases.
Evaluation rules
- PASS: CriticalFailCount = 0 and WarningCount = 0.
- WARNING: CriticalFailCount = 0 and WarningCount > 0.
- FAIL: CriticalFailCount > 0.
- ERROR: exception during reading or processing.
- ErrorMessage remains empty for PASS.
- Limits are embedded in Program.cs; no external limit configuration is required.
Input and fields
BatchNumber,PatientID,RadioligandPair,Diag_Activity_MBq,Diag_HalfLife_h,Tumor_Uptake_SUV,Kidney_Uptake_SUV,Ther_HalfLife_h,Max_Tolerated_Dose_Gy,Target_Tumor_Dose_Gy,S_Factor_Tumor,S_Factor_Kidney RPH-DOSE-2026-001,PAT-001,Ga-68/Lu-177-PSMA,200.0,1.1,15.0,25.0,161.0,23.0,40.0,0.0005,0.0008 RPH-DOSE-2026-002,PAT-002,F-18/Ac-225-PSMA,150.0,1.8,20.0,30.0,240.0,15.0,50.0,0.0006,0.001 RPH-DOSE-2026-003,PAT-003,Ga-68/Lu-177-DOTATATE,180.0,1.1,10.0,15.0,161.0,23.0,30.0,0.0004,0.0005
| Field | Sample |
|---|---|
| BatchNumber | RPH-DOSE-2026-001 |
| PatientID | PAT-001 |
| RadioligandPair | Ga-68/Lu-177-PSMA |
| Diag_Activity_MBq | 200.0 |
| Diag_HalfLife_h | 1.1 |
| Tumor_Uptake_SUV | 15.0 |
| Kidney_Uptake_SUV | 25.0 |
| Ther_HalfLife_h | 161.0 |
| Max_Tolerated_Dose_Gy | 23.0 |
| Target_Tumor_Dose_Gy | 40.0 |
| S_Factor_Tumor | 0.0005 |
| S_Factor_Kidney | 0.0008 |
Output JSON
{
"Header": {
"UtilityName": "Theranostic_Paired_Dose_Calculator",
"Version": "1.0.0",
"Timestamp": "UTC",
"InstrumentID": "FUZKK-QC-WORKSTATION",
"OperatorID": "Admin"
},
"Samples": [
{
"SampleID": "from BatchNumber",
"BatchNumber": "from CSV",
"ProductName": "from CSV",
"TestName": "utility-specific test",
"AnalysisCode": "utility-specific code",
"Status": "PASS | WARNING | FAIL | ERROR",
"StatusCode": "1 | 2 | 0 | -1",
"ErrorMessage": "",
"Description": "Russian recommendation",
"DescriptionEN": "English recommendation",
"Results": [
{
"ParameterName": "parameter",
"ResultValue": 0.0,
"UnitOfMeasure": "unit",
"SpecificationLimit": "limit",
"IsWithinSpec": true
}
]
}
]
}Included in packages
Radioligand & Theranostics Expansion QC Suite
Radioligand & Theranostics Expansion QC Suite: FUZKK utility package for CSV→JSON QC checks with EU-first limit priority.
OpenRPH organ/system: oncology and theranostics
Tumour imaging, PSMA/FAPI/receptor tracers, immuno-PET, targeted radionuclide therapy and radioembolization.
OpenRPH organ/system: renal and urinary
Renography, GFR/ERPF, renal uptake, DMSA/MAG3/DTPA and bladder-related workflows.
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: dosimetry and therapy planning
Activity planning, absorbed dose, organ dose, lung shunt, preplanning and therapy verification.
OpenRPH workflow: imaging QC and quantitative interpretation
Acquisition, uptake, clearance, perfusion, transit, ejection fraction, segmentation and quantitative imaging.
OpenRPH workflow: stability, storage, decay and waste
Kinetic stability, shelf life, decay correction, expiry, storage, trend and radioactive waste.
Open