AntigranulocyteAntibodyImagingQualityChecker
Antigranulocyte Antibody Imaging Quality Checker
Antigranulocyte Antibody Imaging Quality Checker
Antigranulocyte Antibody Imaging Quality Checker
ℹ️ Utility performs:
• Check of administered activity, imaging time points, count statistics, motion, target-to-background ratio and marrow symmetry.
• input.csv structure and numeric-value validation
• LabWare-compatible output.json generation
• Deterministic PASS / FAIL / ERROR status
⚠️ CRITICAL: Any nonconformity shall be reviewed by qualified personnel before the result is used in an operational workflow.
Usage:
AntigranulocyteAntibodyImagingQualityChecker.exe → demonstration mode (console output)
AntigranulocyteAntibodyImagingQualityChecker.exe input.csv output.json → evaluate user data
Input format:
BatchNumber,AdministeredActivityMBq,EarlyImagingTimeHours,DelayedImagingTimeHours,TotalCounts,MotionScore,TargetCounts,BackgroundCounts,MarrowSymmetryScore,MinTargetToBackgroundRatio
Example:
AG-IMG-001,500,3,24,1000000,0.5,150000,40000,95,1.5
— WHY IS THIS NEEDED?
Check of administered activity, imaging time points, count statistics, motion, target-to-background ratio and marrow symmetry.
The utility belongs to “RPH Infection and Inflammation Imaging QC Suite” and can be used as a standalone check or as part of a wider nuclear-medicine workflow.
⚠️ CRITICAL:
• AdministeredActivity: >0
• EarlyImagingTime: 2-6
• DelayedImagingTime: 18-30
• TotalCounts: >=300000
• MotionScore: <=2
• TargetToBackground: >= protocol minimum
• MarrowSymmetry: >=75
Key features:
• One .NET 6 executable and one Program.cs
• Complete input.csv example with passing, boundary and failing records
• LabWare-compatible JSON: Header, Samples, Results, Status, StatusCode, ErrorMessage, Description and DescriptionEN
• CultureInfo.InvariantCulture for numeric values
• Explicit result for every parameter and empty ErrorMessage for PASS
Critical parameters:
• AdministeredActivity: >0
• EarlyImagingTime: 2-6
• DelayedImagingTime: 18-30
• TotalCounts: >=300000
• MotionScore: <=2
• TargetToBackground: >= protocol minimum
• MarrowSymmetry: >=75
💡 Usage tips:
1. Before operational use, reconcile limits with the approved specification, product information, local SOP and equipment configuration.
2. Retain the source input.csv together with output.json and the executable version.
3. For clinical calculations, use only verified source data and an approved protocol profile.
4. FAIL requires review and is not an automatic medical decision.
5. Limit changes require change control and renewed verification.
⚠️ Note: The utility implements a deterministic CSV-to-LabWare-compatible-JSON workflow and does not replace an approved method, specification, SOP or medical judgement.
The reference limits in this version are a conservative FUZKK project starting profile. They shall be confirmed by the process owner before OQ/PQ and production use.input.csv
BatchNumber,AdministeredActivityMBq,EarlyImagingTimeHours,DelayedImagingTimeHours,TotalCounts,MotionScore,TargetCounts,BackgroundCounts,MarrowSymmetryScore,MinTargetToBackgroundRatio AG-IMG-001,500,3,24,1000000,0.5,150000,40000,95,1.5 AG-IMG-002,300,4,20,400000,2,80000,50000,80,1.5 AG-IMG-003,50,10,6,80000,4,30000,50000,40,1.5
URS & FS — user requirements and functional specification
URS — User Requirements Specification
- The utility shall run without arguments in demonstration mode and with two arguments:
input.csv output.json. - Mandatory CSV header:
BatchNumber,AdministeredActivityMBq,EarlyImagingTimeHours,DelayedImagingTimeHours,TotalCounts,MotionScore,TargetCounts,BackgroundCounts,MarrowSymmetryScore,MinTargetToBackgroundRatio. - Numeric values shall be parsed with
CultureInfo.InvariantCulture. - Each row shall create a separate Samples object in LabWare-compatible JSON.
- Status shall be PASS, FAIL or ERROR; ErrorMessage shall be empty for PASS.
- The utility shall apply workflow-specific rules and return a result for every parameter.
- Repeated execution with the same data and version shall produce an identical result.
- An invalid header, column count or value type shall produce ERROR, never PASS.
Complete input.csv example
BatchNumber,AdministeredActivityMBq,EarlyImagingTimeHours,DelayedImagingTimeHours,TotalCounts,MotionScore,TargetCounts,BackgroundCounts,MarrowSymmetryScore,MinTargetToBackgroundRatio AG-IMG-001,500,3,24,1000000,0.5,150000,40000,95,1.5 AG-IMG-002,300,4,20,400000,2,80000,50000,80,1.5 AG-IMG-003,50,10,6,80000,4,30000,50000,40,1.5
FS — Functional Specification
Main()selects demonstration or file mode.LoadData()validates the exact header and converts each row intoRecord.Evaluate()returns a named tuple containing batch number, product, parameters, overall result and RU/EN recommendations.AddCheck()creates Results items with measured value, unit, limit and IsWithinSpec.RunWithFiles()builds Header/Samples and serializes the result with Newtonsoft.Json.- A global exception becomes a SampleResult with ERROR status and code -1.
Implemented rules
AdministeredActivity: >0EarlyImagingTime: 2-6DelayedImagingTime: 18-30TotalCounts: >=300000MotionScore: <=2TargetToBackground: >= protocol minimumMarrowSymmetry: >=75
Complete input.csv example
BatchNumber,AdministeredActivityMBq,EarlyImagingTimeHours,DelayedImagingTimeHours,TotalCounts,MotionScore,TargetCounts,BackgroundCounts,MarrowSymmetryScore,MinTargetToBackgroundRatio AG-IMG-001,500,3,24,1000000,0.5,150000,40000,95,1.5 AG-IMG-002,300,4,20,400000,2,80000,50000,80,1.5 AG-IMG-003,50,10,6,80000,4,30000,50000,40,1.5
Minimum OQ scenarios
- PASS for the first row.
- Boundary-record processing for the second row.
- FAIL for the third row.
- ERROR for an altered header.
- ERROR for a non-numeric value.
- Identical JSON result on repeated execution.
Included in packages
PetRad QC Suite
A specialised utility package for radiopharmaceutical quality control: PET, SPECT, therapeutic radionuclides, generators and decay calculations.
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 Infection and Inflammation Imaging QC Suite
Ga-67 citrate, Tc-99m sulesomab and Tc-99m besilesomab control, plus antigranulocyte imaging acquisition review.
OpenRPH isotope family: Ga/Ge
Ga-67, Ga-68 and Ge-68: generator, radiolabelling, PET/SPECT and purity workflows.
OpenRPH Labelled Leukocyte Preparation and Release QC Suite
Tc-99m HMPAO leukocyte labelling, labelling efficiency, cell viability and recovery, free activity, process time and temperature, and pre-reinjection release.
OpenRPH organ/system: blood, cells and marrow
WBC/RBC/platelet labelling, blood volume, survival, blood-pool and cellular release workflows.
OpenRPH organ/system: bone and musculoskeletal
Bone scintigraphy, MDP/PYP, marrow, bone-pain palliation, skeletal metastases and radiosynovectomy.
OpenRPH organ/system: lymphatic, infection and inflammation
Sentinel node, lymphoscintigraphy, nanocolloid, labelled leukocytes, granulocyte and inflammatory imaging.
OpenRPH use case: labelled cells and blood-pool workflows
Leukocytes, red blood cells, platelets and autologous cell workflows: labeling efficiency, viability, free activity, recovery and release before reinjection.
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