44 E. Russek-Cohen et al.
Fig. 2 Simulation decision tree: options provided in this
SAS program.
of caution, an important limitation is that random number generators can potentially repeat a number
sequence if the quantity of values to be generated exceeds 2
31
. By using different seeds to generate data for each treatment or any subset of the data,
the time until repeats occur can be substantially increased.
3.2. Study design
At this point in time, the programmer can only spec- ify a parallel study design. However, a future iter-
ation of this program will allow for the simulation of crossover trials.
3.3. Pharmacokinetic model
Either a one- or two-compartment open body model can be selected:
1. ncompart = 1: this indicates that a one-
compartment model is selected. The user must define the mean and coefficient of variation for
four parameters: K
a
, V
c
, F, and K
el
. In this case, the equation for a two-compartment model is
used, but the values for k
pc
, k
cp
, and ˛ are set to zero.
2. ncompart = 2: this indicates the use of a two-
compartment model. The user must define means and coefficients of variation for K
a
, k
pc
, V
c
, ˛, F, and ˇ. The value of k
cp
is automatically defined based upon Eq.
13 .
Output parameters e.g., AUC and C
max
can be evaluated as if they followed a normal or a log-
normal distribution, and statistical tests can be run on the transformed or untransformed values.
As currently written, the ln-transformed param- eter values are used for estimating the confi-
dence intervals about the ratio of treatment means. Should the use of untransformed param-
eter values be preferred, coding will need to be revised to accommodate corresponding changes
in the equation for calculating confidence in- tervals about the difference in treatments ex-
pressed relative to the reference mean
[1] .
3.4. Constraints on F
In most situations, it is biologically inappropriate for values of F bioavailability to exceed 100 of
the administered dose. Therefore, the user has the option of using the following command to constrain
the simulated output of F for the test preparation:
Note: F = paramt[i, 3]
if paramt[i, 3] = 1 then paramt[i, 3] = 1; if paramt[i, 3] = .001 then paramt[i, 3] = .001;
This command needs to be specified separately for the test and reference groups. The same state-
ment can be used for the reference formulation by substituting paramr in place of paramt. This op-
tion is included as a command within the SAS code. By inserting an asterisk immediately prior to these
comments
Note: F = paramt[i, 3], the output will
not constrain F to fall between 0.001 and 1.0. If this parameter is simulated under the condi-
tion of a lognormal distribution, the code can be modified to read as follows:
Note: log F = paramt[i, 3]
if paramt[i, 3] = 0 then paramt[i, 3] = 0; if paramt[i, 3] = .001 then paramt[i, 3] = .001;
Note that an asterisk is placed before the last state- ment above because back transformed values equal
to or less than 0 cannot be generated when using a log scale.
A SASIML program for simulating pharmacokinetic data 45
3.5. Population considerations
Randomly generated pharmacokinetic parameters can follow either a normal, a ln-normal, or a mix-
ture of two normal distributions. While there are examples of simulated bioequivalence studies that
are based upon normally distributed parameters
[20,21,31] , many investigators argue that pharma-
cokinetic parameters such as clearance and vol- ume of distribution more closely follow a ln-normal
distribution [32—34]
. Differences in the simulation output resulting from the use of normal versus ln-
normal parameter distributions is provided else- where
[35] . Further arguments suggest that due to
the presence of subpopulations, neither a normal nor a ln-normal distribution can accurately describe
the pharmacokinetic parameters within a popula- tion. Jelliffe et al.
[36] notes that many patient
populations are composed of clusters of subpopu- lations, in which case neither the assumption of a
normal nor ln-normal parameter distribution is ap- propriate.
The user is asked to define parameter distribu- tion characteristics as follow:
1. PARMTYPE = 0: single multivariate normal distri-
bution within each treatment group. When simu- lations are conducted under the assumption that
parameters are normally distributed, the user runs the risk of obtaining negative values for
some parameters. To avoid generating negative parameter values, the output reminds the user
that when large CV values are specified, use of a ln-normal distribution PARMTYPE = 1 may be
more appropriate.
2. PARMTYPE = 1: single multivariate ln-normal
population within each group. When conducting simulations under this condition, the parameter
means and CV must be expressed as the nat- ural log of the targeted values. To transform a
CV from a normal distribution to one that ap- proximates the error associated with values gen-
erated on a log scale, the following equation should be employed
[37] :
cvy = vy
m y
16 v
x = ln 1 +
v y
m y
2
17 m
x = lnmy − v
x 2
18 cvx =
vx m
x 19
where cvy is the coefficient of variation ex- pressed on the linear scale, vy the variance of
the untransformed data, my the mean of the untransformed data, vx the variance of the ln-
transformed data, and mx is the mean of the ln-transformed data.
To transform mean and variance estimates from the log scale to the linear scale, the following
equations may be used:
cvy
′
= exp
v x
− 1
20 m
y
′
= exp
m x
+ v
x 2
21 v
y
′
= my
2
× exp
v x
− 1
22 where cvy
′
is the coefficient of variation ex- pressed on the linear scale based upon the back
transformed data.
3. PARMTYPE = 2: the population is described as a
mixture of two multivariate normal distributions or two subpopulations within each treatment.
This option can be used to simulate populations that are bimodal.
For each of the NREP datasets, a binomial ran- dom number generator is used to determine the
number of individuals from each subpopulation that are included in the mixture. For example,
pmix1
= .9 will result in a parameter distribution
such that, on the average, 90 of the samples will follow the characteristics of the first or pri-
mary subpopulation while 10 will be from the second subpopulation. This reflects the reality
of random sampling of subjects in the presence of a mixture of two types of individuals. The only
similarity between these subpopulations is that they share the same correlation matrix. Since a
subpopulation can be defined for any parameter mean or variance, this subgroup can be as dif-
ferent than or similar to the main population as desired. If a second subpopulation is to be simu-
lated for one treatment but not for the other for example, model conditions similar to that pre-
viously described for diazepam, one treatment arm can have two subpopulations with identical
means and variances whereas the second arm can have two distinct sets of means and vari-
ances. In so doing, data within the treatment arm that has two identical subpopulations will
follow a single multivariate normal distribution.
3.6. Measurement error
The program generates an exact concentration at time t based upon parameter input. It also provides
46 E. Russek-Cohen et al.
the opportunity to superimpose measurement error to each observation.
Within the regulatory arena, specific recommen- dations have been forwarded with regard to as-
say performance [38]
. For example, the guidance specifies that the error and the CV should not ex-
ceed 15, except at the lower limit of quantifica- tion, where error and CV should not exceed 20.
Based upon these recommendations, the program includes an option to define confidence limits about
the ratio of the true versus observed values. The coding for this is as follows:
1. measerr = 0: this implies that no measurement
error will be added to the simulated drug con- centrations.
2. measerr = 1: this implies that a multiplicative