| | Solute-Solver: A Web-Based Tool for Modeling Urea Kinetics for a Broad Range of Hemodialysis Schedules in Multiple PatientsReceived 9 March 2009; accepted 11 June 2009. Practical application of urea kinetic modeling to measure the delivered dose of hemodialysis is hampered by lack of a reference or gold-standard program that would be widely available and freely distributed. We developed and here describe an open-source JavaScript tool, “Solute-Solver,” capable of batch processing of urea kinetics calculations. The Solute-Solver online interface is available at www.ureakinetics.org; in addition, the tool can be used as a standalone HTML file that is designed to be run using a web browser. Solute-Solver is written in uncompiled JavaScript for transparency and easy modification, and the source code is available for download and modification. The program uses fourth-order Runge-Kutta numerical integration applied to a variable-extracellular-volume 2-pool model to compute a variety of clearance measures, including 1-pool and 2-pool Kt/V, “standard” weekly Kt/V, and other equivalent clearance measures. The program accepts comma- or semicolon-delimited input (which can be produced from a spreadsheet) and generates a separator-delimited output file that can be imported back into a spreadsheet or other database. The program also produces individual patient-by-patient report pages. It typically provides kinetic output for 300 patient treatments in 30-60 seconds. Advantages of this program over previously available equations and algorithms include the capacity to properly model such newer dialysis schedules as 6-times-weekly short daily or nocturnal hemodialysis, as well as account for substantial variation in residual renal function. Ultimately, this effort may promote wider use of formal urea modeling and facilitate research that requires measurement of hemodialysis or hemodialysis adequacy, especially involving the newer expressions of continuous equivalent clearance, and expressions of clearance normalized to body surface area. Despite recommendations from standards organizations that favor urea modeling to measure hemodialysis and its adequacy,1, 2 a convenient means to rapidly calculate these measures by using urea kinetic analysis is not readily available. The current state-of-the-art model of urea kinetics incorporates 2 serially connected pools of urea distribution with fluid removed from and added to a variable-volume proximal pool representing extracellular water space.3 Application of a 2-pool model to calculate a patient's urea volume and generation rate and predict urea concentrations in extracellular and intracellular compartments is not straightforward because it requires iterative numerical and integration methods. The increasing power of personal computers and widespread availability of web-based programming languages allowed us to create a web-based JavaScript tool, “Solute-Solver,” that accomplishes this task. Solute-Solver can be used to assess adequacy for a variety of dialysis treatment schedules, from 2 to 7 times weekly, and can include the contribution of residual renal function up to 15 mL/min. The tool is available at www.ureakinetics.org and can be used directly through the web interface. Because the code is entirely contained in a single HTML-JavaScript file, users who want to run the program on a standalone basis may save the Solute-Solver page as an HTML file and run it using their web browser without the need for internet access. Although the most recent version of the tool will be available at www.ureakinetics.org, the initial release is provided in HTML form as supplementary material (Item S1; available with this article at www.ajkd.org). As an interpretive noncompiled language with transparency that permits easy modification, the JavaScript source code can be adapted to meet local requirements. Implementation  Data Preparation The 35 input variables and their required formats are listed in Table 1. Although variables can be entered manually in the Solute-Solver interface, the program is configured to receive input data from a comma- or semicolon-delimited file. This facilitates processing of data from multiple patients and transfer to and from any existing patient databases. One method for preparing such a file is to enter the data into a spreadsheet program, taking care that the 35 required fields are in separate columns. The data then can be exported to a separator-delimited file, which is opened in a text editor (such as Windows Notepad or Wordpad) for copying/pasting into Solute-Solver's input textbox. Some examples of input file rows are listed in Box 1. A European-style input and output using semicolons as variable separators and commas as decimal separators is also supported. | | |  | Column No. | Name | Format | Description |  |
|---|
 | 1 | REPORT | y, n | If “y”, will include detailed outputs for each patient on a combined report, 1 patient per page. If “n”, will generate only the separator-delimited spreadsheet file. Suggested input is “y” |  |  | 2 | ANTHRO | y, n | If “y”, then will return anthropometric volume and surface area, and age, height, and sex must be included in their respective columns |  |  | 3 | FAMPUTW | 0-50 (in %) | Weight reduction due to amputation. Enter total from column 2 in KDOQI table⁎ |  |  | 4 | FAMPUTS | 0-50 (in %) | Surface area reduction due to amputation. Enter total from column 3 in KDOQI table⁎ |  |  | 5 | HTUNITS | in, cm | Units for height; must be entered even though used only in the calculation of anthropometric volume and surface area |  |  | 6 | WTUNITS | lb, kg | Units for weight; used in the calculation of weight changes during dialysis plus anthropometric volume and surface area |  |  | 7 | BUNUNITS | mg/dL, mmol/L | Units for BUN. PREBUN, POSTBUN, and UUNCONC inputs must be in the same units |  |  | 8 | PTID | alphanumeric | Patient identifier |  |  | 9 | AGE | 0.1-100 (in y) | Patient age; enter “na” unless column 2 set to “y”. Note: Solute-Solver has not been validated in pediatric patients |  |  | 10 | HEIGHT | numeric | Patient height using units specified in column 5; enter “na” unless column 2 set to “y” |  |  | 11 | SEX | m, f | Patient sex; used only in calculation of anthropometric volume and surface area |  |  | 12 | LABDATE | dd-Mon-yyyy (eg, 02-Jul-2009) | Blood-draw date (must be a dialysis day). If entry is made in this column, put “na” in column 13. The program will calculate LABDAYOFWK internally from the blood-draw date |  |  | 13 | LABDAYOFWK | 1-7 for Mon-Sun | Blood-draw day of week; must be 1 of the dialysis days in column 14. If LABDAYOFWK is entered, put “na” in column 12 |  |  | 14 | SCHEDULE | eg, 1347 for MonWedThuSat | Dialysis schedule; 1 = Mon. Minimum is 2 d/wk; maximum is 7 d/wk. For alternate-day schedule, input “qod” (in which case column 13 should be 2 or 3) |  |  | 15 | KRUPS | 0-15 (in mL/min), 999 | Residual urea clearance (blood water). Alternatively, enter 999 if you wish the program to compute Kru from urine urea concentration, urine volume, and collection time and then enter these values in columns 26-29 |  |  | 16 | PREBUN | numeric | Predialysis BUN, using units specified in column 7 |  |  | 17 | POSTBUN | numeric | Postdialysis BUN, using units specified in column 7; program assumes specimen drawn 15 s postdialysis using a slow-flow technique |  |  | 18 | QB | numeric (in mL/min) | Blood flow rate. This program assumes that the entered value is the delivered blood flow rate and does not downregulate this input value |  |  | 19 | QD | numeric (in mL/min) | Dialysate flow rate. Online hemodiafiltration rates entered in columns 30 and 31 will be subtracted from this QD value. If infusing replacement fluid, augment QD here by the infusion rate. For pure hemofiltration, set QD to 0 |  |  | 20 | TDD | numeric (in min) | Treatment time; program assumes the same duration of dialysis for each treatment during the week |  |  | 21 | PREWEIGHT | numeric | Predialysis weight, using units specified in column 6 |  |  | 22 | POSTWEIGHT | numeric | Postdialysis weight, using units specified in column 6 |  |  | 23 | ACCESS | a, v, u | Arterial, venous, or unknown. Currently, Solute-Solver treats all accesses identically |  |  | 24 | KOA | numeric (in mL/min) | K0A is the dialyzer mass transfer area coefficient; use the manufacturer-specified value. The program will downgrade this to an in vivo K0A estimate |  |  | 25 | DZERNAME | alphanumeric | Dialyzer brand name/model. This information is not used but is simply passed through to the output separator-delimited file and report page |  |  | 26 | UUNCONC | numeric | Urea nitrogen concentration (in units set in column 7) in the collected urine sample. Set to “na” if Kru computation is not desired |  |  | 27 | UVOL | numeric (in mL) | Volume of collected urine sample. Set to “na” if Kru computation is not desired |  |  | 28 | UDUR | numeric (in min) | Duration of urine collection period; range, 360-4, 320. Set to “na” if Kru computation is not desired |  |  | 29 | TIMETOPRE | numeric (in min) | Time between end of urine collection period and start of dialysis in which the predialysis blood was drawn. The program is set up only for situations in which urine was collected before the dialysis during which the pre- and post-BUN were drawn; this usually will be < 1,440 min |  |  | 30 | HDFPREDIL | numeric (in mL/min) | Hemodiafiltration predilution infusion rate. Set to 0 if hemodiafiltration not done |  |  | 31 | HDFPOSTDIL | numeric (in mL/min) | Hemodiafiltration postdilution infusion rate. Set to 0 if hemodiafiltration not done |  |  | 32 | MODE | 996,997,998,999 | Special input mode to overide use of K0A (column 24); if not applicable, enter “na”. Code 996 is Kt + V input mode; enter Kt in column 33, V in column 34, and “na” in POSTBUN (column 17). Code 997 is Kt mode; enter Kt in column 33. Code 998 is V mode; enter V in column 33. Code 999 is Kd mode; enter Kd (the total clearance for the blood-draw day) in column 33 |  |  | 33 | OCMKT-V-KD | numeric | Entry field for parameters related to MODE (column 32). If column 32 is “996” or “997”, enter Kt (in L). If column 32 is “998”, enter V (in L). If column 32 is “999”, enter Kd (in mL/min). If column 32 is “na”, enter “na” |  |  | 34 | EXTRA1 | numeric (in L), alphanumeric | If column 32 is set to “996” mode, enter V (in L). Otherwise, this space is for any extra label (eg, group or location number) describing the patient or treatment and is not used by the program, but it is passed through to the separator-delimited output and treatment report. Enter “extra1” if not used |  |  | 35 | EXTRA2 | alphanumeric | This space is for any extra label (eg, group or location number) describing the patient or treatment and is not used by the program, but it is passed through to the separator-delimited output and treatment report. Enter “extra2” if not used |  | | | |
| ⁎ From National Kidney Foundation's KDOQI guidelines8; the table is reproduced at ureakinetics.org. |
Box 1  | Parameters |  |  | Prespecified Kru (col 15=4.5) |  |  | No anthropometrics (col 2=n) |  |  | Lab day = Wednesday (col 12=na, col 13=3) |  |  | Schedule = MWF (col 14=135) |  |  | Input row |  |  | y,n,0,0,in,kg,mg/dL,Joe,na,na,m,na,3,135,4.5,80,30,400,500,180,73,70,a,800,dzername,na,na,na,na,0,0,na,na,extra1,extra2 |  |  | Parameters |  |  | Prespecified Kru (col 15=4.5) |  |  | With anthropometrics (col 2=y; cols 9,10,11=30 [age], 72 [height in inches], f [sex]) |  |  | Lab calendar date = Dec 2, 2009 (col 12=02-Dec-2009; col 13=na) |  |  | Input row |  |  | y,y,0,0,in,kg,mg/dL,Mary,30,72,f,02-Dec-2009,na,246,4.5,80,20,400,500,240,80,78,a,800,dzername,na,na,na,na, 0,0,na,na,extra1,extra2 |  |  | Parameters |  |  | Kru from urine collection (col 15=999; cols 26-29 filled in) |  |  | No anthropometrics |  |  | Input row |  |  | y,n,0,0,in,kg,mg/dL,John,na,na,m,na,3,135,999,80,30,400,500,180,73,70,a,800,dzername,500,500,1440,60,0,0,na,na,extra1,extra2 |  |  | Parameters |  |  | Kd input mode (col 32=999; col 33=256 [Kd]) |  |  | No anthropometrics |  |  | Input row |  |  | y,n,0,0,in,kg,mg/dL,Fred,na,na,m,na,3,135,3,80,30,400,500,180,73,70,a,800,dzername,na,na,na,na,0,0,999,256,extra1,extra2 |  |  | Parameters |  |  | V input mode (col 32=998; col 33=35 [V in L]) |  |  | No anthropometrics |  |  | Input row |  |  | y,n,0,0,in,kg,mg/dL,Fred,na,na,m,na,3,135,3,80,30,400,500,180,73,70,a,800,dzername,na,na,na,na,0,0,998,35,extra1,extra2 |  | | | |
Input Variable Requirements and Formats Required input variables are pre- and postdialysis weights and blood urea nitrogen (BUN) values, the components required to estimate dialyzer clearance (K0A [dialyzer mass transfer area coefficient], Qb [blood flow rate], and Qd [dialysate flow rate]), treatment time (Td), and the dialysis schedule. Weight (and height; for optional anthropometric variables, discussed later) may be entered in English or metric units. BUN may be entered in either mg/dL or mmol/L; user-provided BUN values are converted to plasma water values by dividing by 0.93 (plasma is assumed to contain 93% water), then converted to mg/mL. The day on which the pre- and postdialysis BUN measurements are made can be specified as either a day of the week (1 to 7) or a calendar date. In either case, the alternative entry should be listed as “na.” The weekday for the modeled dialysis session is set as the initial day of the weekly urea nitrogen profile to be generated by the program. If dialyzer clearance is known, it may be entered directly, overriding its computation from the dialyzer K0A and blood and dialysate flow rates (Box 1). Another option is to enter the estimated urea distribution volume (V) in liters and let the program compute the estimated dialyzer clearance from the predialysis and postdialysis BUN values (Box 1). Residual urea clearance can either be entered as a known variable or calculated from the urine urea nitrogen concentration, urine volume, and timing of a collected urine sample (Box 1). Additional anthropometric variables (sex, height, and age) are optional, but when provided, are used to compute anthropometric V using the Watson equation4 if patient age is 14 years or older or the Mellits and Cheek equation5 if age is younger than 14 years. Height and weight also are used to compute body surface area by using the Dubois equation6 if 14 years or older or the Gehan and George7 equation if younger than 14 years. The effects of amputations on V and surface area are computed according to the method recommended in the National Kidney Foundation's Kidney Disease Outcomes Quality Initiative (KDOQI) peritoneal adequacy guidelines from 2000.8 Briefly, the total number of limbs amputated is translated into an estimated weight reduction as read from a table (Table II-4 in reference8). This then is used to compute estimated body weight in the absence of these amputations. Either the Watson or the Mellits-Cheek equation is used to compute the estimated value for V in the absence of amputations, and this value then is decreased by the percentage of effect of the total amputations. For body surface area adjustment, calculations proceed in a similar fashion, except a different set of percentages (from Table II-4, page S123 in reference8) are used to decrease the nonamputated body surface estimate. There are 2 pass-through variables (EXTRA1 and 2), alphanumeric in nature, that are not used by the program (except in one of the special input modes) but simply are linked to the treatment and passed through to the output. Users may place within these fields any desired information that is connected to the treatment. Kinetic Calculations Urea Modeling Approach The urea modeling approach used in this program is similar to that used to analyze data from the National Institutes of Health Hemodialysis (HEMO) clinical study9, 10 and that is currently used to analyze solute clearances in the Frequent Hemodialysis Network (FHN) trials of daytime and nocturnal dialysis delivered 6 times weekly.11 The equations used for the 1- and 2-pool models, both of which allow a variable volume, are modified from several sources.3, 9, 10 Urea generation rate (G) is calculated by using a previously described iterative method12 that systematically adjusts G while cycling until the modeled predialysis BUN matches the measured value. Dialyzer Clearance Dialyzer clearance is resolved in 1 of 3 ways. In default mode, diffusive dialyzer clearance (Kdif) is calculated from the dialyzer K0A and countercurrent flow rates of dialysate and blood (Qb and Qd), assuming an exponential change in concentrations across the dialyzer from inflow to outflow port.3 In dialyzer clearance (Kd) input mode, the estimated dialyzer clearance is entered directly. In V input mode, the estimated urea distribution volume is entered and Kd is estimated by using urea kinetic equations modified from a method described by Casino et al,13 the details of which are beyond the scope of the present report. The dialysis-machine-reported conductivity-based clearance (K) multiplied by time (t), or Kt, can also be entered, from which the program also can compute Kd. In default mode, the first step is to adjust the user-supplied K0A published by the dialyzer manufacturer. K0A values supplied by the dialyzer manufacturer most often are derived from in vitro measurements of solute removal from saline solutions; thus, the program adjusts these downward to more realistic in vivo values.14 The equation used to estimate in vivo K0A from the industry-supplied value (equation 1; all numbered equations are provided in the Appendix) was designed to be consistent with simultaneous inlet-outlet measurements of dialyzer clearance during the HEMO Study.14 The program also adjusts the dialyzer K0A as a function of the dialysate flow rate. At greater dialysate flow rates, better permeation of dialysate into the fiber bundle effectively increases the dialyzer surface area and K0A.14, 15 Low dialysate flow rates (<500 mL/min) have the opposite effect, which may significantly decrease K0A (even to levels below those calculated by the presently used equation).16, 17 The diffusive dialyzer clearance (Kdif) then is determined from the estimated in vivo K0A value, Qb, and Qd according to equation 2.3 Reduction from whole blood to blood water clearance in the clearance equation uses a multiplier of 0.86 for blood water content. This is a weighted average of the presumed urea distribution space in erythrocytes (0.72) and plasma (0.93), assuming hematocrit of 0.33.3 Kdif calculated in this manner then is adjusted for the expected fluid removal rate during each dialysis session by using equation 3.3 The resulting clearance is a total dialyzer clearance (Kd) that includes the ultrafiltration component. When hemodiafiltration is used, the program computes the additional clearance of urea due to this process based on the predilution and/or postdilution replacement fluid infusion rate.18 Volume Changes and Ultrafiltration Assumptions are made that fluid accumulation occurs at a constant rate during the week excluding dialysis sessions, and fluid removal during each dialysis session is adjusted by dialysis staff to achieve the same postdialysis weight. The duration of each dialysis treatment during the week is assumed to be identical; therefore, sessions after longer interdialysis intervals require a greater rate of ultrafiltration. This results in a slightly greater Kd for sessions that follow longer interdialysis intervals. Single-Pool Analysis Single-pool (1p) analysis is not strictly required, but is computed by the program for comparison purposes and to meet regulatory requirements and because single-pool analysis yields values for modeled urea distribution volume (V1p) and generation rate (G1p) that subsequently can be adjusted to estimated 2-pool values that are close to the final values, allowing for fewer iterations in the 2-pool (2p) portion of the program that requires numerical analysis for integration (discussed later). The variable volume single-pool equations described by Gotch are used.3, 19 Briefly, an initial value for G1p is estimated. Using the estimated total dialyzer clearance Kd, the predialysis and postdialysis BUN, and the fluid removal rate, a value for V1p is computed. Next, using single-pool kinetic equations and these initial estimates of V1p and G1p, a BUN profile is projected for an entire week. The projected predialysis BUN value 7 days later then is compared with the measured value. If these do not match, the value for G1p is adjusted upward or downward and the weekly urea profile projection is repeated, attempting again to match the measured value.12 Because changes in G1p will affect the calculation of V1p, after each adjustment of G1p, the value for V1p is recalculated. When G1p has stabilized and the BUN projection after 7 days matches the predialysis value, values for G1p and V1p are accepted and the single-pool Kt/V (spKt/V) is computed as Kd • Td/V1p. Two-Pool Analysis Unlike the 1-pool model, the differential equations describing the 2-pool model have no explicit solutions. It therefore is necessary to use other methods, such as numerical analysis, to find approximate values for V2p and G2p. The initial value for extracellular volume (Ve) is assumed to be one-third of an estimated 2-pool value for V plus the volume of fluid removed during the modeled dialysis session. This initial approximate estimate of V2p is computed from the modeled V1p, adjusted to a 2-pool volume based on the estimated equilibrated postdialysis BUN as described by Daugirdas and Smye.20 The starting value for G2p is 0.95 • G1p. Using these starting values, the “blood-draw-day” dialysis session is modeled. The program begins with the measured predialysis BUN value. This BUN concentration initially is assigned to both the extracellular (Ce) and intracellular spaces (Ci). The program calculates Ce and Ci, as well as Ve, as dialysis progresses by applying small time increments to the differential equations that describe changes in Ce, Ci, and Ve caused by movement of solute between compartments and both solute and water across the dialyzer membrane. Two differential equations describing urea mass balance (equations 4a and 4b) form the root of the 2-compartment analysis. The integration interval is 1 minute during the first 50 minutes of dialysis and the last 5 to 10 minutes of dialysis, but expands to 10 minutes between these time ranges. Integration is facilitated by using a fourth-order Runge-Kutta numerical method.21 At the end of the blood-draw-day dialysis session, the calculated Ce is compared with the measured postdialysis value. The initial estimate of V2p then is adjusted in the appropriate direction (increased if modeled postdialysis Ce is less than the measured postdialysis BUN and decreased if modeled postdialysis Ce is greater than the measured postdialysis BUN). The blood-draw-day dialysis integration is repeated with V2p adjustment multiple times until the computed postdialysis Ce value matches the measured postdialysis BUN. The fitted value for V (V2p) then is applied together with the estimated starting value for G2p to project a weekly BUN profile using the numerical method described. A 1-minute integration interval is used for the first 50 minutes postdialysis, and this is lengthened to 10 minutes until 5 minutes before the next dialysis session, a maneuver that substantially shortens the time required to complete the weekly BUN projection. Then, as in the single-pool simulation, the value of Ce predialysis 7 days later is compared with the measured predialysis value. G2p then is adjusted in the appropriate direction. Because the value for G2P will affect the value for V2p, the blood-draw-day dialysis session is remodeled after each adjustment to G2p, recomputing a new value for V2p, and then a new weekly projection of Ce and Ci is performed. Using the 2-pool model, Ce and Ci remain slightly different throughout the week, even predialysis. This difference is important for stability of the calculations, especially for long nocturnal dialysis, in which low BUN values and relatively short interdialysis intervals often result in nontrivial differences between predialysis Ce and Ci. When the 7-day projected predialysis Ce matches the measured predialysis value, the value for G2p is accepted along with the most recent value for V2p, and the 2-pool model is complete. A typical plot of the final BUN concentration profile is shown in Fig 1. Residual Renal Clearance For calculation of residual renal clearance (Kru), the program computes the time-averaged BUN level during the collection period from the computed weekly BUN profile. The program is configured to calculate Kru when the collection period begins and ends within the interdialysis interval immediately preceding the modeled dialysis session. An iterative solution is used because Kru contributes to the weekly urea nitrogen profile. Because a 2-pool analysis is required for proper determination of BUN values during the collection period, in patients with Kru, when Kru is computed from a urine collection, the single-pool loop is repeated with the final value of Kru to ensure an accurate single-pool Kt/V. Outputs of the Program The main output values are listed in Table 2. If the value for the “REPORT” input variable (column 1) is “y,” a page-by-page patient report will be generated in a new browser window. The standard output is a comma- or semicolon-delimited file that the browser opens in a new window. The contents of this window can be selected and pasted into a text editor and saved as a file for import into another program, such as a database or spreadsheet. Once imported into a spreadsheet program, the first 35 columns repeat the contents of the input data, while the output data are contained in the remaining columns. A separate row is created for each patient, and a header row identifies each parameter. Because the code is uncompiled and transparent, the order of the fields can be changed and fields can be deleted or added, although a rudimentary knowledge of JavaScript is required to make these changes. | | |  | Name | Units | Description |  |
|---|
 | Single-pool outputs | | |  |  | URR | % | Urea reduction ratio |  |  | spKT/V | Ratio | Single-pool Kt/V per session: Kd • Td/V1p |  |  | G1P | mg/min or mmol/min | Urea nitrogen generation rate |  |  | KD_labday | mL/min | Dialyzer urea clearance on day that blood was sampled |  |  | Kdif | mL/min | Dialyzer urea clearance due to diffusion |  |  | Double-pool and equilibrated outputs | | |  |  | eqKt/V | Ratio | Equilibrated Kt/V per session: Keq • Td/V2p |  |  | G2P | mg/min or mmol/min | Urea nitrogen generation rate |  |  | PCRN_2P | g/kg/d | Normalized protein catabolic rate (2-pool) |  |  | V2PL | L | Urea distribution volume (postdialysis, 2-pool) |  |  | TAC_wb | mg/dL or mmol/L | Time-averaged (whole-body) urea nitrogen concentration (water concentration × 0.93) |  |  | PEAKBUN_wb | mg/dL or mmol/L | Peak (whole-body) urea nitrogen value during the week (water concentration × 0.93) |  |  | Continuous equivalent clearances | | |  |  | DstdKtV | Ratio | “Dialysis standard” Kt/V; for an equivalent patient when Kru (residual urea clearance) is 0 |  |  | stdKtV | Ratio | Standard Kt/V, including Kru, calculated as (G2P/mean Cwb_pre) × 10080/V2p, where V2p is in mL |  |  | Residual renal clearance | | |  |  | KRU_input | mL/min | Residual urea clearance as entered |  |  | KRU_calc | mL/min | Residual urea clearance calculated from urine collection |  |  | Anthropometric volume and surface area and surface area–normalized stdKt/V | | |  |  | Vant | L | Anthropometric volume (calculated by Watson equation in adults or Mellits & Cheek equation in children) |  |  | V2PL/Vant | Ratio | Ratio of modeled/anthropometric volume |  |  | SA | m2 | Body surface area (calculated by Dubois equation in adults or Gehan & Gehan equation in children) |  |  | Vant/S | Ratio | Ratio of anthropometric volume to surface area |  |  | SAN_DstdKtV | Ratio | “Dialysis standard” Kt/V normalized to body surface area [DstdKt/V • (Vant/S)/20] |  |  | SAN_stdKtV | Ratio | Standard KtV, including Kru, normalized to body surface area [stdKt/V • (Vant/S)/20] |  | | | |
Equilibrated Kt/V Equilibrated Kt/V (eqKt/V) is defined here as Keq • Td/V2p. Keq is defined as the patient “equilibrated” clearance. This is calculated solving the single-pool model equations for K, but using the whole-body BUN concentration (Cwb) values predialysis and postdialysis (Cwb_pre and Cwb_post, respectively) along with the other values listed in equation 5. The single-pool model does not have an explicit solution for K because K appears on both sides of equation 5.3 This equation therefore is solved by using iteration. Initially, the single-pool value for K, Kd, is used as the estimate for Keq (equilibrated clearance) and is placed in the right-hand side of equation 5. The resulting value of Keq will be lower than the original estimate, with the true answer lying somewhere in between, resolved by using iteration. Two-Pool Kt/V eKt/V is not a “double-pool” Kt/V. The latter would be computed as Kd • Td/V2p. This is computed internally in the program, but is not reported in the default version of the program. If desired, one can easily reconfigure the code to add this to the output reports. Protein Catabolic Rate Protein catabolic rate (PCR) is calculated from G2p normalized to the 2-pool volume by using an equation (equation 6) described by Gotch.3, 18 This equation converts V2p to an ideal or “normalized” body weight (assuming 58% body water content) for use as the PCR denominator. Time-Averaged BUN: Extracellular and Whole-Body Average Values for Ce, Ci, and Ve determined at simultaneous intervals throughout the week are stored as an array in computer memory. Whole-body urea nitrogen concentrations (Cwb) at each time also are computed and stored as the average of Ce and Ci weighted by the relative values of Ve and Vi. The program then computes the time-averaged urea nitrogen concentrations TACe and TACwb from areas under the Ce and Cwb curves, respectively. Continuous Clearances Two continuous clearances can be calculated: G/TACwb22 and G/(mean Cwb_pre), the latter known as “standard” Kt/V.23, 24, 25 These clearances, expressed in mL/min, then are normalized to V2p and expressed on a weekly basis as a fractional volume cleared per week, analogous to Kt/V. In the default version, the only clearances reported are different versions of the “standard” Kt/V, G/mean Cwb_pre, but G/TACwb can be easily added to the output report. Treatment or “Dialysis Standard” Kt/V This measure isolates the clearance due to dialysis treatment and excludes effects of residual renal function. It is computed by simulating a weekly urea profile for the patient in question by assuming that Kru is zero, but V2p and G2p are unchanged. After urea concentrations are generated (which are now higher due to the lack of Kru), the clearance is calculated as G/(mean Cwb_pre) multiplied by 10,080/V2p, using the new value for mean predialysis urea nitrogen concentration. Surface Area Normalized Clearances Surface area (S), anthropometric V (Vant), and the ratio of Vant/S are computed from optional user input of demographic variables. To convert to surface area normalization, the continuous clearances described previously are multiplied by (Vant/S)/20.26 The average of the median Vant/S ratios in male and female dialysis patients in the HEMO baseline data set was close to 20, and V/S ratio is higher in large patients and men than in small patients and women. Multiplying any of the versions of “standard” Kt/V described by (Vant/S)/20 will adjust that particular “standard” Kt/V value for surface area because it adjusts for the ratio of Vant/S versus the population median that was used to derive overall adequacy standards.26 Surface area normalized clearances should be interpreted with caution in patients with significant amputations, as well in pediatric patients in which the potential impact of V/S ratio has not been studied. Time to Complete the Calculations Time to complete the calculations after pressing the “calculate” button depends on the web browser being used. Using the Chrome 2.0 browser, a sample file of 300 patients was analyzed in about 30 seconds; Firefox 3.5 analyzed the same file in 50 seconds, whereas Internet Explorer 8.0 required 240 seconds. Browser Compatibility Solute-Solver has been tested in recent versions of the Chrome 1.0 and 2.0 (Google, Inc), Firefox 3.0 and 3.5 (Mozilla Corporation), Internet Explorer 8.0 (Microsoft), and Safari 3.0 and 3.1.2 (Apple Computer) browsers. Earlier versions of these or alternative browsers should be used with caution because they may give erroneous results, and results should always be compared with 1 of these browsers. Chrome or Firefox are the browsers of choice. When analyzing multiple patients, Internet Explorer will present an annoying query box every 5 patients or so, asking if the user really wants to continue running such a “slow script.” To disable this alert message requires editing the local computer's registry by using the regedit.exe program to add a registry key that increases the maximum number of script statements (from default 5 million to about 200 million) that are allowed to execute before that particular alert message is sent.27 Ongoing Development Although this initial version is fully functional, it has not been tested extensively and especially not in children. The www.ureakinetics.org website has a forum for user comments and feedback, and from there, modified and improved versions will be downloadable. Initial plans include a “solute-simulator” component, allowing one to see the results of different proposed treatment prescriptions, as well as better integration with online conductivity monitoring systems. A graphing module, generating output similar to Fig 1, has been implemented and is available via the above website. Conclusions  The fast processing speed of personal computers and widespread availability of the internet have made it feasible to program a formal 2-pool kinetic model using an uncompiled language, such as JavaScript, and make it available on the web for clinical application. The open-source code provides transparency and portability and allows the user to adapt the program for specialized purposes. The program's speed can be increased greatly by translating it into a compiled language, such as “C,” and it can be adapted to data information systems that specialize in documenting and monitoring the care of dialysis patients. This allows for standardization of urea kinetic modeling and its application to assess and ensure hemodialysis adequacy. It should promote wider use of formal urea modeling and facilitate research that requires measurement of hemodialysis, especially involving the newer expressions of continuous equivalent clearance and expressions of clearance normalized to body surface area. One particular advantage of this program over previously described equations and algorithms is that it can model the newer dialysis schedules, such as 6-times-weekly short daily or nocturnal hemodialysis, as well as patients with substantial degrees of residual renal function. Appendix  Assumptions Regarding Rebound and Kc For the 2-pool model, Kc (intercompartmental clearance) is calculated as 16 • V2p/1000, where V2p is expressed in mL. For example, a patient with a V2p of 35,000 mL would have Kc of 560 mL/min. The coefficients in this equation were estimated from a detailed analysis of urea kinetics in a subgroup of HEMO Study patients from whom intradialysis and delayed postdialysis blood samples were drawn.9, 10 Note that the coefficient of 16/min corresponds to a Tattersall time constant of 30.7 minutes,10 which is different from the larger value of 35 minutes described by Tattersall et al.28 Assumptions Regarding Cardiopulmonary Recirculation Computed results from urea kinetic analysis differ slightly when blood inflow into the dialyzer comes from an arterial source compared with a venous (catheter) access. The difference is due to cardiopulmonary recirculation.29 The additional complexity to account for the source of blood inflow is not great, but when processing a large number of dialysis sessions, one does not always know if the blood access was arterial or venous during each modeled session. If such a modification were desired, one would need to multiply dialyzer clearance by the calculated A/V urea gradient during dialysis, which is a function of cardiac output, dialyzer diffusive clearance, and access blood flow rate.29 One also would need to increase the multiplier of V2p a bit to get a slightly higher value for Kc. Our decision was not to differentiate between dialysis treatments given through an arteriovenous access versus a venous catheter, considering the trivial difference in outcome variables that this would yield. The access column was retained for potential input, to allow easier modification of the code for those wishing to download the program and modify it. In the present version, one needs to enter “a” or “u” in the vascular access column, but this information is not used. Definitions Ce = urea nitrogen concentration in extracellular water (mg/mL) Ci = urea nitrogen concentration in intracellular water (mg/mL) Cwb_post = whole-body postdialysis urea nitrogen concentration (mg/mL) Cwb_pre = whole-body predialysis urea nitrogen concentration (mg/mL) G = urea nitrogen generation rate (mg/min) = G2p K0A = estimated in vivo K0A (mL/min) K0Ainit = industry-reported K0A (mL/min) Kc = intercompartmental (intracellular to extracellular) clearance (mL/min) Kd = total dialyzer clearance (including convective component [mL/min]) Kdif = diffusive dialyzer clearance (mL/min) Keq = equilibrated clearance (mL/min) Kru = residual urea clearance (blood water, mL/min) PCRn2p = protein catabolic rate Qb = whole blood flow rate (mL/min) Qbaq = blood water flow rate (mL/min) Qd = dialysate flow rate (mL/min) Qf = ultrafiltration rate (mL/min) V2p = postdialysis 2-pool urea distribution volume (mL) Ve = extracellular volume (mL) Vi = intracellular volume (mL) Td = treatment time (min) Supplementary Material  References  1. 1Hemodialysis Adequacy 2006 Work Group. Clinical practice guidelines for hemodialysis adequacy: Update 2006. Am J Kidney Dis. 2006;48(suppl 1):S2–S90. Full Text |
Full-Text PDF (1413 KB)
|
CrossRef
2. 2Tattersall J, Martin-Malo A, Pedrini L, et al. EBPG guideline on dialysis strategies. Nephrol Dial Transplant. 2007;22(suppl 2):ii5–ii21.
CrossRef
3. 3Depner TA. Prescribing Hemodialysis: A Guide to Urea Modeling. Kluwer Academic Publishers (The Netherlands); 1990;. 4. 4Watson PE, Watson ID, Batt RD. Total body water volumes for adult males and females estimated from simple anthropometric measurements. Am J Clin Nutr. 1980;33:27–39. MEDLINE 5. 5Mellits ED, Cheek DB. The assessment of body water and fatness from infancy to adulthood. Monographs Soc Res Child Dev Ser 140. 1970;35:12–26. 6. 6Dubois D, Dubois EF. A formula to estimate the approximate surface area if height and weight be known. Arch Intern Med. 1916;17:863–871. 7. 7Gehan E, George SL. Estimation of human body surface area from height and weight. Cancer Chemother Rep. 1970;54(pt I):225–235. MEDLINE 8. 8National Kidney Foundation. K/DOQI Clinical Practice Guidelines for Peritoneal Dialysis Adequacy: Update 2000. Am J Kidney Dis. 2001;37(suppl 1):S65–S136. Full Text |
Full-Text PDF (337 KB)
|
CrossRef
9. 9Daugirdas JT, Depner TA, Gotch FA, et al. Comparison of methods to predict equilibrated Kt/V in the HEMO Pilot Study. Kidney Int. 1997;52:1395–1405. MEDLINE |
CrossRef
10. 10Daugirdas JT, Greene T, Depner TA, et al. ; Hemodialysis Study Group: Factors that affect postdialysis rebound in serum urea concentration, including the rate of dialysis: Results from the HEMO Study. J Am Soc Nephrol. 2004;15:194–203. MEDLINE |
CrossRef
11. 11Greene T, Daugirdas JT, Depner TA, et al. ; Frequent Hemodialysis Network Study Group, National Institute of Diabetes and Digestive and Kidney Diseases; National Institutes of Health: Solute clearances and fluid removal in the frequent hemodialysis network trials. Am J Kidney Dis. 2009;53:835–844. Abstract | Full Text |
Full-Text PDF (384 KB)
|
CrossRef
12. 12Depner TA, Cheer A. Modeling urea kinetics with two vs. three BUN measurements (A critical comparison). ASAIO Trans. 1989;35:499–502. MEDLINE 13. 13Casino FG, Basile C, Gaudiano V, Lopez T. A modified algorithm of the single pool urea kinetic model. Nephrol Dial Transplant. 1990;5:214–219. MEDLINE 14. 14Depner TA, Greene T, Daugirdas JT, Cheung AK, Gotch FA, Leypoldt JK. Dialyzer performance in the HEMO Study: In vivo K0A and true blood flow determined from a model of cross-dialyzer urea extraction. ASAIO J. 2004;50:85–93. MEDLINE |
CrossRef
15. 15Leypoldt JK, Cheung AK, Agodoa LY, Daugirdas JT, Greene T, Keshaviah PR. Hemodialyzer mass transfer-area coefficients for urea increase at high dialysate flow rates (The Hemodialysis (HEMO) Study). Kidney Int. 1997;51:2013–2017. MEDLINE |
CrossRef
16. 16Ouseph R, Ward RA. Increasing dialysate flow rate increases dialyzer urea mass transfer-area coefficients during clinical use. Am J Kidney Dis. 2001;37:316–320. Abstract |
Full-Text PDF (71 KB)
|
CrossRef
17. 17Leypoldt JK, Cheung AK. Effect of low dialysate flow rate on hemodialyzer mass transfer area coefficients for urea and creatinine. Home Hemodial Int. 1999;3:51–54. 18. 18Ficheux A, Argilés A, Mion H, Mion CM. Influence of convection on small molecule clearances in online hemodiafiltration. Kidney Int. 2000;57:1755–1763. MEDLINE |
CrossRef
19. 19Gotch FA, Sargent JA, Keen M, Lam M, Prowitt M, Grady M. Clinical results of intermittent dialysis therapy (IDT) guided by ongoing kinetic analysis of urea metabolism. Trans Am Soc Artif Intern Organs. 1976;22:175–189. MEDLINE 20. 20Daugirdas JT, Smye SW. Effect of a two compartment distribution on apparent urea distribution volume. Kidney Int. 1997;51:1270–1273. MEDLINE |
CrossRef
21. 21Press WH, Flannery BP, Teukolsky SA, Vetterling WT. “Runge-Kutta Method” and “Adaptive Step Size Control for Runge-Kutta,” in Numerical Recipes in FORTRAN: The Art of Scientific Computing. In: ed 2. Cambridge, England: Cambridge University; 1992;p. 704–716. 22. 22Casino FG, Lopez T. The equivalent renal urea clearance: A new parameter to assess dialysis dose. Nephrol Dial Transplant. 1996;11:1574–1581. MEDLINE 23. 23Keshaviah P. The solute removal index—A unified basis for comparing disparate therapies. Perit Dial Int. 1995;15:101–104. MEDLINE 24. 24Gotch FA. The current place of urea kinetic modelling with respect to different dialysis modalities. Nephrol Dial Transplant. 1998;13(suppl 6):S10–S145. 25. 25Gotch FA. Evolution of the single-pool urea kinetic model. Semin Dial. 2001;14:252–256. MEDLINE |
CrossRef
26. 26Daugirdas JT, Depner TA, Greene T, et al. Surface-area-normalized Kt/V: a method of rescaling dialysis dose to body surface area-implications for different-size patients by gender. Semin Dial. 2008;21:415–421.
CrossRef
27. 27Microsoft Help and Support: How to set time-out period for script. http://support.microsoft.com/kb/175500. 28. 28Tattersall JE, DeTakats D, Chamney P, Greenwood RN, Farrington K. The post-hemodialysis rebound: Predicting and quantifying its effect on Kt/V. Kidney Int. 1996;50:2094–2102. MEDLINE |
CrossRef
29. 29Schneditz D, Kaufman AM, Polaschegg HD, Levin NW, Daugirdas JT. Cardiopulmonary recirculation during hemodialysis. Kidney Int. 1992;42:1450–1456. MEDLINE |
CrossRef
1 University of Illinois at Chicago, IL 2 University of California, Davis, CA 3 University of Utah, Salt Lake City, UT 4 Université du Québec, Montreal, Québec, Canada Address correspondence to John T. Daugirdas, MD, University of Illinois at Chicago, 15W560 89th St, Burr Ridge, IL 60527
PII: S0272-6386(09)00972-X doi:10.1053/j.ajkd.2009.06.033 © 2009 National Kidney Foundation, Inc. Published by Elsevier Inc All rights reserved. | |
|