## Abstract

In the daily practice of in-hospital or centralized radiopharmacies, there is a need to perform reliable numeric calculations. Furthermore, several nuclear medicine diagnostic tests also involve carrying out calculations. In both cases, these calculations are sometimes complex or tedious and prone to error. We report the development of a computer software program that performs a comprehensive range of calculations required in radiopharmacy and nuclear medicine diagnostic tests. **Methods:** This software was developed and compiled in the Visual Basic programming language using algorithms and methods reflected in the scientific literature. **Results:** We developed 2 versions of the software program, which we call Nucleolab. It automatically performs calculations relating to radiopharmacy practice as well as 9 diagnostic nuclear medicine tests. The 0.1 version performs all these calculations, and the 1.2 version also has a database that enables the user to save and recover diagnostic test results and issue custom reports. The software can be downloaded at www.radiofarmacia.org/nucleolab-english.**Conclusion:** To our knowledge, ours is the first attempt to develop a comprehensive software application that facilitates calculations in nuclear medicine and radiopharmacy, reducing errors and improving efficiency and accuracy.

- nuclear medicine software
- radiopharmacy software
- pediatric dosage of radiopharmaceuticals
^{99m}Tc generator- red cell volume
- plasma volume
- red cell kinetic
- platelet kinetic
- renal plasma flow
- glomerular filtration rate

Calculations—such as the appropriate pediatric dose of radiopharmaceuticals or the theoretic activity of a ^{99m}Tc generator at any specified time point—are required in radiopharmacy but can be cumbersome and prone to error. There are also several diagnostic techniques in nuclear medicine, such as studies of red cell and platelet kinetics, blood volume, or renal function, that require complex or time-consuming calculations. All such calculations can be performed using scientific calculators or spreadsheets. The purpose of this work was to develop a software application, which we call Nucleolab, to perform the most important calculations relating to the practice of radiopharmacy and several important diagnostic techniques of nuclear medicine. In addition, we set out to link this software with a database to store test data and results and to enable the issuance of custom reports of these tests at any time.

## MATERIALS AND METHODS

The first stage in the design of the application was the analysis, in our respective radiopharmacies and nuclear medicine departments, of those processes involving calculations that are of some complexity or are time-consuming. After identifying these processes, we reviewed the scientific literature to find the best ways to perform the calculations. When multiple formulas were described, we tried to choose those most widely agreed upon. These algorithms and methods were used to program the calculations in the software. The computer application was developed and compiled in the Visual Basic programming language (version 6.0; Microsoft) and contains over 300 pages of source code. The installation program was made with Visual Studio Installer (Microsoft). Excel spreadsheets (Microsoft) were used to verify that the program had correctly executed all calculations.

The equations we selected for the calculations are described in the following sections.

### Radioactive Decay

Radioactive decay is important in work with radiopharmaceuticals and is calculated by the standard radioactive decay formula:_{0} is the initial activity (when t = 0), λ is the decay constant of the isotope, and T_{1/2} is the physical half-life of the radionuclide.

### Pediatric Dosage

Several methods to calculate the activity of pediatric doses of radiopharmaceuticals can be found in the scientific literature. We chose the following method:^{2}). Body surface area (S) is calculated using the Du Bois formula (1):^{2}) = weight (kg)^{0.7}/11.

More recently, the Dosimetry and Pediatrics Committees of the European Association of Nuclear Medicine (EANM) proposed the use of 2 tables for the calculation of pediatric dose (3). Our software automatically performs the calculations of this new dosage card.

^{99m}Tc-Albumin Macroaggregate Dosage

The volume and activity that should be added to a vial of macroaggregated albumin (MAA) for labeling, depending on the number of particles and the activity of a dose of ^{99m}Tc-MAA, are calculated as follows:
^{99m}Tc-MAA remains constant, but activity decays with time; these calculations should therefore take into account the decay process at any time using the standard radioactive decay formula.

### Multiple-Dose Withdrawal from Vials

Because the radioactive concentration decreases over time, the dose volume required to administer a particular activity increases over time. Knowing the initial activity in the vial, the initial volume in the vial, and the volume and timing of every dose withdrawn from the vial, one can use the standard radioactive decay formula to determine at any time the activity remaining in the vial and the volume needed to obtain a dose of the required activity.

^{99}Mo/^{99m}Tc Generator

The activity of ^{99}Mo in the generator at any time is calculated by the standard radioactive decay formula. The theoretic activity of ^{99m}Tc in the eluate at any time is calculated using the following equation:_{1} and λ_{2} represent the decay constants for ^{99}Mo and ^{99m}Tc, respectively, and t is the time between 2 consecutive elutions.

The elution efficiency is the ratio between the measured activity and the theoretic activity, and the specific activity of the eluate is calculated using the following equations:_{Tc} is the mass of both ^{99m}Tc and ^{99}Tc (in μg), A_{0} is the activity of ^{99m}Tc (in mCi), and λ_{1} and λ_{2} are the decay constants for ^{99}Mo and ^{99m}Tc, respectively.

### Preparation of Solutions

The concentration of chemical solutions can be expressed several different ways. We have selected that which is most common in radiopharmacy. Molarity is the number of moles of solute per liter of solution. Percentage composition by mass is the mass of solute divided by the mass of solution (mass of solute plus mass of solvent), multiplied by 100. Concentration is also frequently expressed as mass of solute divided by volume of solvent (g/L, mg/L, or μg/L).

### Centrifugation Speed

The relation between the relative centrifugal acceleration (RCA), measured in *g*; the rotation speed (*v*), measured in revolutions per minute; and the rotational radius (r), measured in in centimeters, is given by the formula RCA = 0.000011189 · r · *v*^{2}.

### Platelet Kinetics and Red Cell Kinetics

In platelet kinetic studies, it is necessary to calculate the time required for half the labeled platelets to leave the circulation (half-life, or T_{1/2}), the percentage of platelets destroyed per day (by phagocytosis in the spleen), the mean platelet life span (T), and the recovery. These parameters can be calculated by applying a linear model, an exponential model, or the weighted average of both functions (4,5):

The linear regression function A_{L}(t) is calculated by:_{L}(0) is the *y*-intercept, *a* is the rate of platelet disappearance, and T_{L} is the mean platelet life span.

The exponential regression function A_{E}(t) is calculated by:_{E}(0) is the *y*-intercept, k is the relative rate of platelet disappearance, and T_{E} is the mean platelet life span.

The weighted mean regression function A_{W}(t) is calculated by:_{L} and S_{E} are the residual sum of squares associated with linear and exponential regression curves:_{L})_{i} and (H_{E})_{i} are linear and exponential regression curve points corresponding to data N_{i}.

The weighted mean platelet life span is calculated by:

The recovery is the percentage of activity bound to platelets that is circulating at a given time t (usually at time 0) and is obtained by dividing the current activity at time t by managed total activity.

In red cell kinetic studies, it is necessary to calculate the time taken for half the labeled red cells to leave the circulation (T_{1/2}) and the percentage of erythrocytes destroyed every day. These parameters can be calculated using a linear model, an exponential model, or the weighted average of both (6). The calculations are performed in the same way as described for platelet kinetics. However, in this case, ^{51}Cr is eluted at a rate that significantly affects estimates of mean red cell life span. The average elution of chromium is 1% per day, which is of the same magnitude as the normal rate of red cell destruction. Accordingly, an appropriate correction factor (f) must be applied to the radioactive concentration of the blood specimens, to offset this effect of elution of ^{51}Cr:

### Red Cell Volume and Plasma Volume

The calculations relating to measurement of red cell volume, using sodium ^{51}Cr-radiochromate as a red cell label, and the calculations relating to measurement of plasma volume, using radioiodine ^{125}I-labeled human serum albumin as a plasma label, are according to the recommendations of the International Council for Standardization in Hematology (7).

If red cell volume with ^{51}Cr-radiochromate as the red cell label is calculated by:

If plasma volume with ^{125}I-human serum albumin can be calculated by:_{sd} is standard dilution volume (in mL), H_{v} is venous hematocrit, B is concentration of radioactivity in the blood sample withdrawn when mixing of the radiopharmaceutical in the bloodstream has been completed (in cpm/mL of blood), BV is blood volume, f is H_{b}/H_{v} (H_{b} is whole-body hematocrit), PV is plasma volume, and P_{0} is concentration of radioactivity in the plasma sample (cpm/mL) corrected to zero time by extrapolation of 3 samples to the *y*-axis after the concentration in each has been plotted against time on semilog paper. The average f value is usually taken as 0.9. However, there is a wide deviation from this mean value, both in healthy subjects and in patients with various conditions (notably in cases of splenomegaly).

The red cell volume and plasma volume reference values are calculated according to the expert panel of radionuclides of the International Council for Standardization in Hematology (8):^{2}) according the Du Bois formula and A is age (in y).

### Effective Renal Plasma Flow

The curve for plasma ^{131}I-sodium iodohippurate concentration versus time is obtained using a 2-compartment model proposed by Sapirstein (9,10). The initial rapid-disappearance “fast curve” reflects the distribution of ^{131}I-sodium iodohippurate in the extravascular compartment and is followed by a slow-disappearance “slow curve” that represents renal elimination. The plasma concentration–versus–time data after injection are analyzed using the following equations:_{F}(t) is the exponential regression for the fast curve, A_{F} is the *y*-intercept of the fast exponential, k_{F} is the relative plasma clearance rate of ^{131}I-sodium iodohippurate, and (T_{1/2})_{F} is the time required for half the ^{131}I-sodium iodohippurate to leave the circulating plasma according to the fast curve.

_{s}(t) is the exponential regression for the slow curve, A_{S} is the *y*-intercept of the fast exponential, k_{S} is the relative plasma clearance rate of ^{131}I-sodium iodohippurate, and (T_{1/2})_{S} is the time required for half the ^{131}I-sodium iodohippurate to leave the circulating plasma according to the slow curve.

The plasma clearance of ^{131}I-sodium iodohippurate is calculated as:^{−1}) and I is the injected dose (in cpm).

### Tubular Extraction Rate

The clearance of ^{99m}Tc-mercaptoacetyltriglycine (^{99m}Tc-MAG3), also known as tubular extraction rate, is calculated using both the Russell algorithm (11) and the Bubeck algorithm (12). In the Russell algorithm:^{−1}), F_{max} is 0.04t^{2} − 8.2t + 915 (mL/min) (t is time between injection and withdrawal of sample [min]), α is 6.5 · 10^{−6} t^{2} − 8.6 · 10^{−4}t + 0.0391(L^{−1}), and V^{lag} is − 0.0015t^{2} + 0.01t + 8.79(L). In the Bubeck algorithm:^{−0.011t} (mL·min^{−1}·1.73 m^{−2}) (t is time between injection and withdrawal of sample [min]), B is 295e^{−0.016t} (mL·min^{−1}·1.73 m^{−2}), ID is injected dose (MBq), and Cn_{t} is normalized plasma concentration at time t (% dose · L^{−1} · 1.73 m^{−2}).

### Glomerular Filtration Rate

Calculations of glomerular filtration rate (GFR) of ^{51}Cr-ethylenediamine tetraacetic acid (EDTA) are performed by 3 different methods. In the method of Ham and Piepsz (13):

The distribution volume (in L) at time t is defined as:_{120}) is therefore given by:_{120} represents the plasma tracer concentration 120 min after administration of the dose. When the blood sample was not taken exactly at the 120th minute, a small correcting factor was introduced:_{(t)} is the plasma concentration at that time. An arbitrary value of 0.008 min^{−1} is used to replace the biologic decay constant. This value corresponds to the mean value of λ observed in the population studied.

In the method of Mistry (14):_{0} is the counting rate at time 0 (obtained from intercept at time 0).

_{1/2} is the time when A = A_{0}/2, and

In the 2-compartment model proposed by Sapirstein (15,16), this calculation is performed in the same way as described above for effective renal plasma flow:

## RESULTS

### Dosimetry

Nucleolab has 2 screens for calculating pediatric doses of radiopharmaceuticals. One calculates pediatric doses from the weight and height of the child (or only by weight) and from the standard adult dosage. The other calculates pediatric doses from the patient's weight and the radiopharmaceutical, according to the EANM 2007 pediatric dosage card (Fig. 1).

The “^{99m}Tc-MAA dosage” screen for calculations relating to the preparation and withdrawal of ^{99m}Tc-MAA consists of 3 subscreens. The “vial labeling” subscreen calculates the labeling volume and labeling activity when the following data are entered: dose activity, dose volume, number of particles in the dose, number of particles in the vial, and time between labeling and withdrawal of the dose. The “dose dispensation” subscreen (Fig. 2) calculates the dose volume and dose activity when the following data are entered: labeling activity, labeling volume, number of particles in the dose, number of particles in the vial, and time between labeling and withdrawal of the dose. The “particle number” subscreen calculates the volume and the number of particles in the dose when the following data are entered: labeling activity, labeling volume, dose activity, number of particles in the vial, and time between labeling and withdrawal of the dose.

The “dose withdrawal” screen calculates the volume of each dose according to activity, half-life of the radionuclide (which the user can select from a combination box with 48 radionuclides), time of dose withdrawal, initial activity and initial volume in the vial, and activity of any doses previously withdrawn. This screen also calculates the remaining activity and volume of radiopharmaceutical in the vial at any time (Fig. 3).

### Radiopharmacy

The “radioactive decay calculator” screen contains a combination box allowing the user to select from among the 48 radionuclides included in the database. If the radionuclide of interest is not included, the user can manually enter the physical half-life. The radioactive decay is calculated according to the standard radioactive decay formula.

The “^{99}Mo/^{99m}Tc generator” screen calculates the activity of ^{99}Mo and ^{99m}Tc in the generator at any time, the activity eluted according to the elution efficiency or vice versa, the specific activity, and the masses of ^{99m}Tc and ^{99}Tc in the eluate (Fig. 4). The user has to input the calibrated activity, date and time of calibration, date and time of elution, and date and time of the previous elution.

The “solutions assistant” screen performs calculations relating to preparation of solutions. This screen calculates the amount of solute required to prepare a solution, depending on the desired concentration in different units, as well as the amount of a concentrated solution required to prepare a more diluted solution. The solute can be entered in the screen by its molecular formula or by its molecular mass.

The “centrifuge” screen automatically converts rpm to *g* and vice versa according to the radius of a centrifuge (in cm).

### Diagnostic Tests

The “red cell survival” screens calculate the half-life and percentage of erythrocytes destroyed every day. The calculations use a linear model, an exponential model, and the weighted average of both models, as well as the regression coefficients of both the linear function and the exponential function. These screens include a minimum of 6 specimens and a maximum of 12 specimens (Fig. 5). The user has to enter the radioactive concentration, the times of blood specimen withdrawal, and the background radioactivity if necessary.

The “platelet survival” screens calculate the half-life and the percentage of platelets destroyed per day, the mean platelet life span, and the recovery (at t = 0). The calculations use a linear model, an exponential model, and the weighted average of both models, as well as the regression coefficients of both the linear function and the exponential function. These screens include calculations for a minimum of 6 specimens and a maximum of 12 specimens. The user has to enter the activity of the dose syringe before and after injection, the activity of the standard syringe before and after the contents are poured into the dilution flask, the volume of the dilution flask, the radioactive concentration of the dilute standard, the venous hematocrit, the radioactive concentration and times of withdrawal of the blood and plasma specimens, and the background radioactivity if necessary.

The “red cell volume” screen calculates the red cell volume from the activity of the dose syringe before and after injection, the activity of the standard syringe before and after its contents are poured into the dilution flask, the volume of the dilution flask, the venous hematocrit, the radioactive concentration of the dilute standard, the background radioactivity if necessary, and the radioactive concentration of the blood specimens withdrawn 30 min after injection of ^{51}Cr-chromate. The screen also calculates blood volume and plasma volume from red cell volume, venous hematocrit, and f (H_{b}/H_{v} = 0.9). Then, it calculates the maximum possible errors when f varies between 0.76 and 1.15. Finally, the screen compares the results for red cell volume, plasma volume, and blood volume with the reference values expected according to the age, height, and weight of the patient (Fig. 6).

The “plasma volume” screen calculates plasma volume from the activity of the dose syringe before and after injection, the activity of the standard syringe before and after its contents are poured into the dilution flask, the volume of the dilution flask, the venous hematocrit, the radioactive concentration of the dilute standard, the background radioactivity if necessary, and the radioactive concentration of the 3 plasma specimens withdrawn at different times after injection of the ^{125}I-human serum albumin. The screen also calculates blood volume and red cell volume from plasma volume, venous hematocrit, and f (H_{b}/H_{v} = 0.9). Then, it calculates the maximum possible errors when f varies between 0.76 and 1.15. Finally, the screen compares the obtained results for plasma volume, red cell volume, and blood volume with the reference values expected according to the age, height, and weight of the patient.

The “effective renal plasma flow” screen calculates the effective renal plasma flow (and its normalized value) of ^{131}I-sodium iodohippurate by the 2-compartment model. The data to be input are the activity of the dose syringe before and after injection, the activity of the standard syringe before and after its contents are poured into the dilution flask, the volume of the dilution flask, the radioactive concentration of the dilute standard, the background radioactivity if necessary, and the radioactive concentration of the 6 plasma specimens withdrawn at different times after injection of the ^{131}I-sodium iodohippurate (Fig. 7).

The “tubular extraction rate” screen calculates the ^{99m}Tc-MAG3 plasma clearance (and its normalized value) from a single specimen using both the Russell algorithm and the Bubeck algorithm. The user has to enter the activity of the dose syringe before and after injection, the activity of the standard syringe before and after its contents are poured into the dilution flask, the time between injection of the dose and withdrawal of the blood specimen, the volume of the dilution flask, the radioactive concentration of the dilute standard, the radioactive concentration of the plasma specimen, and the background radioactivity if necessary.

The “glomerular filtration rate (1 specimen)” screen calculates the GFR (and its normalized value) of ^{51}Cr-EDTA by the method of Ham and Piepsz. The data needed are the activity of the dose syringe before and after injection, the activity of the standard syringe before and after the contents are poured into the dilution flask, the time between injection of the dose and withdrawal of the blood specimen, the volume of the dilution flask, the radioactive concentration of the dilute standard, the radioactive concentration of the plasma specimen at about 2 h after injection of ^{51}Cr-EDTA, and the background radioactivity if necessary.

The “glomerular filtration rate (3 specimens)” screen calculates the GFR (and its normalized value) of ^{51}Cr-EDTA by the method of Mistry. The user has to enter the activity of the dose syringe before and after injection, the activity of the standard syringe before and after its contents are poured into the dilution flask, the volume of the dilution flask, the radioactive concentration of the dilute standard, the background radioactivity if necessary, and the radioactive concentration of the 3 plasma specimens withdrawn at different times after injection of the ^{51}Cr-EDTA.

The “glomerular filtration rate (6 specimens)” screen calculates the GFR (and its normalized value) of ^{51}Cr-EDTA by a 2-compartment model. The data to be input are the activity of the dose syringe before and after injection, the activity of the standard syringe before and after its contents are poured into the dilution flask, the volume of the dilution flask, the radioactive concentration of the dilute standard, the background radioactivity if necessary, and the radioactive concentration of the 6 plasma specimens withdrawn at different times after injection of the ^{51}Cr-EDTA.

To calculate the normalized values of every renal test, one needs to enter the weight, height, and age of the patient in the corresponding screens.

### Utilities

All Nucleolab screens have an “information” button. Clicking on this button provides detailed information about the working protocols, calculation methods, and bibliographic references of the program. The screens also have a button to change the background color. The screens of diagnostic tests allow storage of all data (including remarks) from the tests and recovery of the data through a search window by patient name or date of study. The screens also allow viewing and printing of one or more customized reports for each diagnostic test.

### Maintenance

The “database” screen allows one to network, compress, back up, and retrieve the database. It is important to regularly back up the data using the “copy” button to avoid losing data if Nucleolab needs to be reinstalled on the same computer or is being installed on another computer. Stored data are recovered using the “retrieve” button. Moreover, it is also desirable to regularly compact the database using the “compress” button.

The software can be used in network mode by installing the application on multiple computers and placing the “BaseNucleolab.mdb” database file in a directory on a network server. For each installation, this file has to be addressed to the same directory on the network.

The “general data” screen allows the user to adjust the headers and signatures of reports.

### Software Requirements

The minimum technical requirements for installation of Nucleolab version 0.1 are a Microsoft Windows 98 (or more recent) operating system, a 2-GB hard drive (minimally), and 64 MB of RAM memory. Nucleolab version 1.2 additionally requires Microsoft Office 2002 (or more recent) software. The 0.1 version performs all the calculations, and the 1.2 version also has the database that enables users to save and recover diagnostic test results and issue custom reports.

## DISCUSSION

The computer program Nucleolab runs various calculations that are needed in radiopharmacies and nuclear medicine departments, using algorithms and methods described in the scientific literature.

To calculate pediatric dosages, the EANM recommends use of a card consisting of one table showing multiples of the baseline activity and another table showing the recommended activities for 39 procedures. However, the calculations are complex, and the authors of the card suggested that software be introduced to automate the calculations (3). We included such automation in our software, which performs the calculations in a few mouse clicks.

Regarding ^{99m}Tc-MAA, a sufficient number of particles needs to be administered to avoid a nonuniform distribution of radioactivity in the lung. On the other hand, early reports indicated acute toxicity from administering too many particles for lung scans, leading several investigators to try to determine the ideal number of particles for a satisfactory lung scan (17). Consequently, calculations related to the preparation and withdrawal of ^{99m}Tc-MAA are important. These calculations can be performed quickly and reliably using the “^{99m}Tc-MAA dosage” screen.

Because radioactive concentration decreases over time, it is helpful to be able determine at any one time the activity remaining in a vial of radiopharmaceutical, as well as the volume that contains the activity required for a dose. With the help of the “dose withdrawal” screen, radiopharmacists and technologists may withdraw more accurate doses at the first attempt, reducing deterioration of the rubber septum, protecting the integrity of the contents of a typical multidose preparation (quality and patient safety improvement), and reducing exposure of the operator's fingers to radiation (occupational health and safety improvement).

The data sheets of ^{99m}Tc generators include nomograms (18) and tables to facilitate the complex calculations involved. Nucleolab provides an easier way to compute the amount of ^{99m}Tc available at any time after elution, as well as other parameters of interest, such as the elution efficiency or the specific activity of the eluate.

Some nuclear medicine diagnostic tests require calculations that normally are time-consuming and error-prone but, with the help of Nucleolab, can be accomplished quickly and reliably. Furthermore, the screens of Nucleolab are linked to a database enabling data recovery and the issuance of custom reports.

## CONCLUSION

To our knowledge, Nucleolab is the first attempt at a comprehensive software application that performs automatic calculations for nuclear medicine and radiopharmacy, thus reducing errors and improving efficiency and accuracy. The associated database allows results to be stored and reports generated. The software is useful, user-friendly, and customizable. We welcome inquiries and suggestions from radiopharmacy and nuclear medicine professionals all over the world, and we will continue to extend and improve the software. The installation program for Nucleolab can be downloaded at www.radiofarmacia.org/nucleolab-english.

## REFERENCES

- Received for publication January 21, 2010.
- Accepted for publication May 18, 2010.