From: Ruben Faelens <*ruben.faelens*>

Date: Wed, 23 Oct 2019 11:59:04 -0400

Dear colleagues,

I am implementing my own simulation engine for non-linear mixed-effects

models in R. To ensure that I can reproduce models estimated in NONMEM or

Monolix, I was wondering how IOV is treated in those software.

Usually, IOV is implemented as follows (NONMEM code):

IOV1=0

IOV2=0

IF(OCC.EQ.1) IOV1=1

IF(OCC.EQ.2) IOV2=1

CL = THETA(1) * EXP( ETA(1) + IOV1*ETA(2) + IOV2*ETA(3) )

Assume a data-set with the following items:

TIME;OCC;EVID;AMT

0;1;1;50

24;2;1;50

We will then use CL1=THETA*EXP(ETA1 + ETA2) from 0 to 24h, and

CL2=THETA*EXP(ETA1+ETA3) from 24h onwards.

When using differential equations, the implementation is clear. We

integrate the ODE system using CL1 until time 24h. We then continue to

integrate from 24h onwards, but using CL2.

My question is how this works when we use algebraic equations. Let's define

CONC_tmt1(CL, X) to represent the concentration at time X due to treatment

1 at time 0. For tmt2 (which happens at t=24), we write CONC_tmt2(CL, X-24).

Suppose we need a prediction at times 5h and 30h. Without IOV, we would

calculate this as follows:

CONC(5) = CONC_tmt1(CL, 5)

CONC(30) = CONC_tmt1(CL, 30) + CONC_tmt2(CL, 30-24)

There are multiple options to do this with IOV:

A) Approximate what an ODE implementation would do:

CONC(5) = CONC_tmt1(CL1, 5)

INIT_24 = CONC_tmt1(CL1, 24)

CONC(30) = CONC_virtualTreatment( Dose=INIT_24, CL2, 30-24 ) +

CONC_tmt2(CL2, 30-24)

We calculate the elimination of the remaining drug amounts in each

compartment, and calculate the elimination of them into occasion 2.

Are these equations available somewhere?

B) We ignore overlap in dosing profiles. The full profile of tmt1 (even the

part in occasion 2) is calculated using CL1.

CONC(5) = CONC_tmt1(CL1, 5)

CONC(30) = CONC_tmt1(CL1, 30) + CONC_tmt2(CL2, 30-24)

C) We can ignore continuity in concentrations. The contribution of tmt1 in

occasion 2 is calculated as if the full treatment occurred under CL2.

CONC(5) = CONC_tmt1(CL1, 5)

CONC(30) = CONC_tmt1(CL2, 30) + CONC_tmt2(CL2, 30-24)

*Which technique does NONMEM and Monolix use for simulating PK

concentration using algebraic equations with IOV?*

This is important for numerical validation between my framework and NONMEM

/ Monolix.

Best regards,

Ruben Faelens

Received on Wed Oct 23 2019 - 11:59:04 EDT

Date: Wed, 23 Oct 2019 11:59:04 -0400

Dear colleagues,

I am implementing my own simulation engine for non-linear mixed-effects

models in R. To ensure that I can reproduce models estimated in NONMEM or

Monolix, I was wondering how IOV is treated in those software.

Usually, IOV is implemented as follows (NONMEM code):

IOV1=0

IOV2=0

IF(OCC.EQ.1) IOV1=1

IF(OCC.EQ.2) IOV2=1

CL = THETA(1) * EXP( ETA(1) + IOV1*ETA(2) + IOV2*ETA(3) )

Assume a data-set with the following items:

TIME;OCC;EVID;AMT

0;1;1;50

24;2;1;50

We will then use CL1=THETA*EXP(ETA1 + ETA2) from 0 to 24h, and

CL2=THETA*EXP(ETA1+ETA3) from 24h onwards.

When using differential equations, the implementation is clear. We

integrate the ODE system using CL1 until time 24h. We then continue to

integrate from 24h onwards, but using CL2.

My question is how this works when we use algebraic equations. Let's define

CONC_tmt1(CL, X) to represent the concentration at time X due to treatment

1 at time 0. For tmt2 (which happens at t=24), we write CONC_tmt2(CL, X-24).

Suppose we need a prediction at times 5h and 30h. Without IOV, we would

calculate this as follows:

CONC(5) = CONC_tmt1(CL, 5)

CONC(30) = CONC_tmt1(CL, 30) + CONC_tmt2(CL, 30-24)

There are multiple options to do this with IOV:

A) Approximate what an ODE implementation would do:

CONC(5) = CONC_tmt1(CL1, 5)

INIT_24 = CONC_tmt1(CL1, 24)

CONC(30) = CONC_virtualTreatment( Dose=INIT_24, CL2, 30-24 ) +

CONC_tmt2(CL2, 30-24)

We calculate the elimination of the remaining drug amounts in each

compartment, and calculate the elimination of them into occasion 2.

Are these equations available somewhere?

B) We ignore overlap in dosing profiles. The full profile of tmt1 (even the

part in occasion 2) is calculated using CL1.

CONC(5) = CONC_tmt1(CL1, 5)

CONC(30) = CONC_tmt1(CL1, 30) + CONC_tmt2(CL2, 30-24)

C) We can ignore continuity in concentrations. The contribution of tmt1 in

occasion 2 is calculated as if the full treatment occurred under CL2.

CONC(5) = CONC_tmt1(CL1, 5)

CONC(30) = CONC_tmt1(CL2, 30) + CONC_tmt2(CL2, 30-24)

*Which technique does NONMEM and Monolix use for simulating PK

concentration using algebraic equations with IOV?*

This is important for numerical validation between my framework and NONMEM

/ Monolix.

Best regards,

Ruben Faelens

Received on Wed Oct 23 2019 - 11:59:04 EDT