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
________________________________
De inhoud van dit bericht is vertrouwelijk en alleen bestemd voor de 
geadresseerde(n). Anderen dan de geadresseerde(n) mogen geen gebruik maken van 
dit bericht, het niet openbaar maken of op enige wijze verspreiden of 
vermenigvuldigen. Het UMCG kan niet aansprakelijk gesteld worden voor een 
incomplete aankomst of vertraging van dit verzonden bericht.

The contents of this message are confidential and only intended for the eyes of 
the addressee(s). Others than the addressee(s) are not allowed to use this 
message, to make it public or to distribute or multiply this message in any 
way. The UMCG cannot be held responsible for incomplete reception or delay of 
this transferred message.

Reply via email to