Re: Algebraic equations and IOV

From: Leonid Gibiansky Date: October 24, 2019 technical Source: mail-archive.com
We have to be careful with data structure. When Nonmem advances from time T1=0 to time T2=24 (whether with DES or exact solution), covariate values (OCC in this case) at time T2=24 are used. So for the data file presented, 0 to 24 hours will be treated as OCC=2 > will then use CL1=THETA*EXP(ETA1 + ETA3) from 0 to 24h (NOT ETA2) Value of CL for time > 24 will depend on OCC value of the next record (not presented in the data file) Leonid
Quoted reply history
On 10/23/2019 2:11 PM, Eleveld-Ufkes, DJ wrote: > Hi Ruben, > > As I understand it the way you seem to intend it that CL takes value THETA(1)*EXP(ETA(2)) when IOV1=1 (thus IOV2=0) from 0 to 24h, and THETA(1)*EXP(ETA(3)) when IOV2=1 (thus IOV1=0) from 24h onwards. These are separate occasions and do not overlap, so ETA(2) has no meaning (no influence on any predictions or likelihood or anything) after 24 hours. The opposite meaning is for ETA(3). So in my view only A) makes sense and B) and C) dont. At least as far as I understand your code style. > > When you say algebraic equations do you mean the closed-form solutions for particular mammilary models? You only have to know the equations which can handle non-zero initial conditions which you would need starting at 24h to do the prediction at 30h. I dont know what structures you need, if you have unusual structures then DES is the only way I think. For some normal structures take a look at: Abuhelwa, A.Y., Foster, D.J. and Upton, R.N., 2015. ADVAN-style analytical solutions for common pharmacokinetic models. /Journal of pharmacological and toxicological methods/, /73/, pp.42-48. In the supplements is R code I believe. I have gotten some of the models to work in C just by cut-paste-compile and fix errors, so they should work in R as well. > > I hope this helps. > > Warm regards, > > Douglas Eleveld > > ------------------------------------------------------------------------ > > *From:* [email protected] < [email protected] > on behalf of Ruben Faelens < [email protected] > > > *Sent:* Wednesday, October 23, 2019 5:59:04 PM > *To:* [email protected] > *Subject:* [NMusers] Algebraic equations and IOV > 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 > ------------------------------------------------------------------------ > >
Oct 23, 2019 Ruben Faelens Algebraic equations and IOV
Oct 23, 2019 DJ Eleveld-Ufkes Re: Algebraic equations and IOV
Oct 24, 2019 Leonid Gibiansky Re: Algebraic equations and IOV