I will try a third time to include remarks and all files in one email.

On Thu, 19 Apr 2007 14:54:11 +0000 (GMT), [EMAIL PROTECTED] said:
> Hello NONMEM Users,
> 
> Sometimes the same subjects receive the same drug from different batches.
>  Potentially, half-life can be different accross batches. Theoretically,
> it is easy to model if PKis linear because NONMEM superimposes
> single-dose processes to obtain predicted concentrations for multiple
> doses.  Does enyone know how to implement it in NONMEM?  Are there any
> classes or publications which can help?  
> 
> Thanks!
> Pavel
-- 
  Alison Boeckmann
  [EMAIL PROTECTED]

Original question:

Sometimes the same subjects receive the same drug from different
batches.  Potentially, half-life can be different accross batches.
Theoretically, it is easy to model if PKis linear because NONMEM
superimposes single-dose processes to obtain predicted concentrations
for multiple doses.  Does enyone know how to implement it in NONMEM?
------------
 
To me, this is a very interesting question. No one has posted a
response that addresses the modeling issue.  I will make an attempt,
although (as I do not read the literature or attend conferences) it may
well be that this has already been worked on and is well understood,
and this email is uneeded.  Also, my understand of the manufacturing
issues may be naive.

With any ADVAN, there are three parameters that might differ from batch
to batch:

 bioavailability  (difference in amount of active ingredient vs. filler).
 absorption lag (difference in thickness of coating) 
 duration of zero-order entry into compartment (difference in how fast
     tablet dissolves, once the coating is gone.)

These will make a difference in the cp vs.time profile, even when the
kinetics of the two drugs are identical. (Remember that, although you
can parameterize in terms of halflife or anything you choose,
ultimately PREDPP uses rate constants.)

With the superimposition principle, doses from different batches move
thru the system without affecting each other.

I did some little runs with ADVAN1. I created only one subject's data
The dose enters directly into compartment 1, but with lag time and
modelled duration (which gives somewhat the flavor of drug entering
from a depot compartment.)  

I attach control streams and data files for 3 runs: 
  cs1.txt, cs2.txt, cs3.txt 
data files 
  dat1.txt, dat2.txt, dat3.txt 

With cs1, there is a dose from batch 1, with cs2 a dose from batch 2,
with cs3 both doses.  If you do the three runs, you will see that the
PRED values in the tables add up exactly at every time point.  This is
indeed superimposition.

(Note that the $BIND record is needed. BAT would, by default, be the
value for the next event record when lag time is completed. $BIND tells
PREDPP to use the value of BAT from the originating dose event record,
enableing $PK to compute the values of F1 and D1 appropriate to the
value of BAT.)

Pavel asks about different half-lifes, as if the kinetics (rate
constants) could differ.  Perhaps this might be due to a diffence in
the molecular structure.

For this, I suggest a set of parallel compartments.  One set of
compartments is for batch 1, another is for batch 2.  In the $ERROR
block, the prediction Y is obtained by adding the concentrations from
the two "central" compartments.

I attach the following control and data files:
  csp.txt, datp.txt

ADVAN 7 is used. Again, there is only a single compartment for each
batch.  Notice that there is no need for $BIND, or indeed for the BAT
data item, as the doses enter different compartments.

The PRED values are the same with cs3.txt and csp.txt, again
demonstrating superimposition.

Finally, the same model is implemented  with differential equations ADVAN6:
   csd.txt
Results are identical to those with ADVAN7.

Now you can get fancy with the modelling. E.g., include an absorption
compartment, use different models for the rate constants K13 and K23,
or different models for S1 and S2.

With ADVAN6, even the differential equations could differ.
$PROB batch1
$DATA dat1.txt  IGNORE=#
$INPUT ID TIME AMT RATE BAT CMT DV EVID PCMT
$BIND   -    -   -    - DOSE
$SUBR ADVAN1
$PK (NONEVENT)
IF (BAT.EQ.1) THEN
  F1=1
  D1=1
  ALAG1=1
ENDIF
IF (BAT.EQ.2) THEN
  F1=.5
  D1=.5
  ALAG1=.5
ENDIF
K=1
S1=1+ETA(1)
$ERROR Y=F+ERR(1)
$OMEGA 1
$SIGMA 1
$TABLE TIME AMT BAT CMT FILE=tab1.txt
$PROB batch2
$DATA dat2.txt  IGNORE=#
$INPUT ID TIME AMT RATE BAT CMT DV EVID PCMT
$BIND   -    -   -    - DOSE
$SUBR ADVAN1
$PK (NONEVENT)
IF (BAT.EQ.1) THEN
  F1=1
  D1=1
  ALAG1=1
ENDIF
IF (BAT.EQ.2) THEN
  F1=.5
  D1=.5
  ALAG1=.5
ENDIF
K=1
S1=1+ETA(1)
$ERROR Y=F+ERR(1)
$OMEGA 1
$SIGMA 1
$TABLE TIME AMT BAT CMT FILE=tab2.txt
$PROB batch1+batch2
$DATA dat3.txt  IGNORE=#
$INPUT ID TIME AMT RATE BAT CMT DV EVID PCMT
$BIND   -    -   -    - DOSE
$SUBR ADVAN1
$PK (NONEVENT)
IF (BAT.EQ.1) THEN
  F1=1
  D1=1
  ALAG1=1
ENDIF
IF (BAT.EQ.2) THEN
  F1=.5
  D1=.5
  ALAG1=.5
ENDIF
K=1
S1=1+ETA(1)
$ERROR Y=F+ERR(1)
$OMEGA 1
$SIGMA 1
$TABLE TIME AMT BAT CMT FILE=tab3.txt
$PROB batch1
$DATA datp.txt  IGNORE=#
$INPUT ID TIME AMT RATE CMT DV EVID PCMT
$SUBR ADVAN6 TOL=6
$MODEL COMP=(B1) COMP=(B2)
$PK
 F1=1
 D1=1
 ALAG1=1
 F2=.5
 D2=.5
 ALAG2=.5
 K13=1
 K23=1
 S1=1+ETA(1)
 S2=1+ETA(1)
$ERROR 
Y=A(1)/S1+A(2)/S2+ERR(1)
IF (PCMT.EQ.3) Y=A(3)
$DES
DADT(1)=-K13*A(1)
DADT(2)=-K23*A(2)
$OMEGA 1
$SIGMA 1
$TABLE TIME AMT CMT FILE=tabd.txt
$PROB batch1
$DATA datp.txt  IGNORE=#
$INPUT ID TIME AMT RATE CMT DV EVID PCMT
$SUBR ADVAN7
$MODEL COMP=(B1) COMP=(B2)
$PK
 F1=1
 D1=1
 ALAG1=1
 F2=.5
 D2=.5
 ALAG2=.5
 K13=1
 K23=1
 S1=1+ETA(1)
 S2=1+ETA(1)
$ERROR 
Y=A(1)/S1+A(2)/S2+ERR(1)
IF (PCMT.EQ.3) Y=A(3)
$OMEGA 1
$SIGMA 1
$TABLE TIME AMT CMT FILE=tabp.txt
# ID TIME AMT  RATE BAT CMT DV EVID PCMT
1    0    1000  -2   1  1  .    1    .
1    0       .  .    0  2  .    2    .
1    1       0  0    0  0  10   0    .
1    2       0  0    0  0  10   0    .
1    3       0  0    0  0  10   0    .
1   10       0  0    0  0  10   0    .
1  999       .  .    .  2  0    2    2
# ID TIME AMT  RATE BAT CMT DV EVID PCMT
1    0    1000  -2   2  1  .    1    .
1    0       .  .    0  2  .    2    .
1    1       0  0    0  0  10   0    .
1    2       0  0    0  0  10   0    .
1    3       0  0    0  0  10   0    .
1   10       0  0    0  0  10   0    .
1  999       .  .    .  2  0    2    2
# ID TIME AMT  RATE BAT CMT DV EVID PCMT
1    0    1000  -2   1  1  .    1    .
1    0    1000  -2   2  1  .    1    .
1    0       .  .    0  2  .    2    .
1    1       0  0    0  0  10   0    .
1    2       0  0    0  0  10   0    .
1    3       0  0    0  0  10   0    .
1   10       0  0    0  0  10   0    .
1  999       .  .    .  2  0    2    2
# ID TIME AMT  RATE  CMT DV EVID PCMT
1    0    1000  -2   1  .    1   .
1    0    1000  -2   2  .    1   .
1    0       .  .    3  .    2   .
1    1       0  0    0  10   0   .
1    2       0  0    0  10   0   .
1    3       0  0    0  10   0   .
1   10       0  0    0  10   0   .
1  999       .  .    3  0    2   3

Reply via email to