From: Alison Boeckmann <*alisonboeckmann*>

Date: Sun, 22 Apr 2007 18:01:19 UT

I am resending my response to this email. What I sent earlier was too

complicated.

The attachment "remarks.txt" contains the explanation.

On Thu, 19 Apr 2007 14:54:11 +0000 (GMT), nonmem

*> 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

alisonboeckmann

$PROB batch1

$DATA dat1.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN1

$PK

F1=1

D1=1

ALAG1=1

K=1

S1=1+ETA(1)

$ERROR Y=F+ERR(1)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tab1.txt

$PROB batch2

$DATA dat1.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN1

$PK

F1=.5

D1=.5

ALAG1=.5

K=1

S1=1+ETA(1)

$ERROR Y=F+ERR(1)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tab2.txt

$PROB batch1+batch2

$DATA dat3.txt IGNORE=#

$INPUT ID TIME AMT RATE BAT CMT DV

$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 CMT FILE=tab3.txt

# ID TIME AMT RATE CMT DV

1 0 1000 -2 1 .

1 1 0 0 0 10

1 2 0 0 0 10

1 3 0 0 0 10

1 10 0 0 0 10

# ID TIME AMT RATE BAT CMT DV

1 0 1000 -2 1 1 .

1 0 1000 -2 2 1 .

1 1 0 0 0 0 10

1 2 0 0 0 0 10

1 3 0 0 0 0 10

1 10 0 0 0 0 10

$PROB batch1

$DATA datp.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN6 TOL=6

$MODEL COMP=(B1) COMP=(B2)

$PK

F1=1

D1=1

ALAG1=1

F2=.5

D2=.5

ALAG2=.5

K10=1

K20=1

S1=1+ETA(1)

S2=1+ETA(1)

$ERROR

Y=A(1)/S1+A(2)/S2+ERR(1)

$DES

DADT(1)=-K10*A(1)

DADT(2)=-K20*A(2)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tabd.txt

$PROB batch1

$DATA datp.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN7

$MODEL COMP=(B1) COMP=(B2)

$PK

F1=1

D1=1

ALAG1=1

F2=.5

D2=.5

ALAG2=.5

K10=1

K20=1

S1=1+ETA(1)

S2=1+ETA(1)

$ERROR

Y=A(1)/S1+A(2)/S2+ERR(1)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tabp.txt

# ID TIME AMT RATE CMT DV

1 0 1000 -2 1 .

1 0 1000 -2 2 .

1 1 0 0 0 10

1 2 0 0 0 10

1 3 0 0 0 10

1 10 0 0 0 10

I am resending this email. The original version was too complicated.

The control streams cs1.txt and cs2.txt are simpler, which should

make the issue a little more clear.

-------------------------

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 additional PK 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 and dat3.txt

Both cs1 and cs2 use the same data file, dat1.txt. There is a single

dose into the central compartment. The values of F1, D1 and ALAG1

differ between cs1 and cs2. The values of PRED in the resulting tables

(tab1.txt and tab2.txt) are different.

cs3 uses dat3.txt, which puts two doses into the same compartment.

One dose has BAT=1 and the other has BAT=2. In $PK, the value of BAT

is tested and values are assigned to F1, D1 and ALAG1 equal to those of

cs1 (for BAT=1) and cs2 (for BAT=2). If you do the three runs, you

will see that the PRED values in the table (tab3.txt) add up to those

from tab1.txt and tab2.txt 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,

enabling $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

ADVAN7 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 (uses datp.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.

The idea is the same: define parallel (sets of) compartments for the

two batches. In $ERROR, add together the concentrations. This should

work for any system having linear kinetics for which doses can be

superimposed.

Received on Sun Apr 22 2007 - 14:01:19 EDT

Date: Sun, 22 Apr 2007 18:01:19 UT

I am resending my response to this email. What I sent earlier was too

complicated.

The attachment "remarks.txt" contains the explanation.

On Thu, 19 Apr 2007 14:54:11 +0000 (GMT), nonmem

--

Alison Boeckmann

alisonboeckmann

$PROB batch1

$DATA dat1.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN1

$PK

F1=1

D1=1

ALAG1=1

K=1

S1=1+ETA(1)

$ERROR Y=F+ERR(1)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tab1.txt

$PROB batch2

$DATA dat1.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN1

$PK

F1=.5

D1=.5

ALAG1=.5

K=1

S1=1+ETA(1)

$ERROR Y=F+ERR(1)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tab2.txt

$PROB batch1+batch2

$DATA dat3.txt IGNORE=#

$INPUT ID TIME AMT RATE BAT CMT DV

$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 CMT FILE=tab3.txt

# ID TIME AMT RATE CMT DV

1 0 1000 -2 1 .

1 1 0 0 0 10

1 2 0 0 0 10

1 3 0 0 0 10

1 10 0 0 0 10

# ID TIME AMT RATE BAT CMT DV

1 0 1000 -2 1 1 .

1 0 1000 -2 2 1 .

1 1 0 0 0 0 10

1 2 0 0 0 0 10

1 3 0 0 0 0 10

1 10 0 0 0 0 10

$PROB batch1

$DATA datp.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN6 TOL=6

$MODEL COMP=(B1) COMP=(B2)

$PK

F1=1

D1=1

ALAG1=1

F2=.5

D2=.5

ALAG2=.5

K10=1

K20=1

S1=1+ETA(1)

S2=1+ETA(1)

$ERROR

Y=A(1)/S1+A(2)/S2+ERR(1)

$DES

DADT(1)=-K10*A(1)

DADT(2)=-K20*A(2)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tabd.txt

$PROB batch1

$DATA datp.txt IGNORE=#

$INPUT ID TIME AMT RATE CMT DV

$SUBR ADVAN7

$MODEL COMP=(B1) COMP=(B2)

$PK

F1=1

D1=1

ALAG1=1

F2=.5

D2=.5

ALAG2=.5

K10=1

K20=1

S1=1+ETA(1)

S2=1+ETA(1)

$ERROR

Y=A(1)/S1+A(2)/S2+ERR(1)

$OMEGA 1

$SIGMA 1

$TABLE TIME CMT FILE=tabp.txt

# ID TIME AMT RATE CMT DV

1 0 1000 -2 1 .

1 0 1000 -2 2 .

1 1 0 0 0 10

1 2 0 0 0 10

1 3 0 0 0 10

1 10 0 0 0 10

I am resending this email. The original version was too complicated.

The control streams cs1.txt and cs2.txt are simpler, which should

make the issue a little more clear.

-------------------------

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 additional PK 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 and dat3.txt

Both cs1 and cs2 use the same data file, dat1.txt. There is a single

dose into the central compartment. The values of F1, D1 and ALAG1

differ between cs1 and cs2. The values of PRED in the resulting tables

(tab1.txt and tab2.txt) are different.

cs3 uses dat3.txt, which puts two doses into the same compartment.

One dose has BAT=1 and the other has BAT=2. In $PK, the value of BAT

is tested and values are assigned to F1, D1 and ALAG1 equal to those of

cs1 (for BAT=1) and cs2 (for BAT=2). If you do the three runs, you

will see that the PRED values in the table (tab3.txt) add up to those

from tab1.txt and tab2.txt 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,

enabling $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

ADVAN7 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 (uses datp.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.

The idea is the same: define parallel (sets of) compartments for the

two batches. In $ERROR, add together the concentrations. This should

work for any system having linear kinetics for which doses can be

superimposed.

Received on Sun Apr 22 2007 - 14:01:19 EDT