stepwise zero order process

From: Alison Boeckmann Date: October 07, 1998 technical Source: cognigencorp.com
From: alison@c255.ucsf.EDU (ABoeckmann) Subject: stepwise zero order process Date: Wed, 7 Oct 1998 13:59:57 -0700 (PDT) Most of you have seen Ralph Quadflieg's question about a stepwise zero order process and Mats Karlsson's response. I am going to answer in some detail, including some simple examples at the end of the email, because the two emails raise important questions about how PREDPP works, and its important that people who use modelled rates and durations ("zero order bolus doses", in PREDPP's terms) understand these issues. 1) What is wrong with Ralph's control stream? Nothing that I can see, without seeing the data file. Seems to me that it should work if the TIME values in the data are the same as the second value in each IF statement: 0 2880 4320 etc. For debugging, I suggest (as always) a run without the $ESTIMATION record. Include $TABLE TIME R1 Q1 Q2 Q3 ... From this, he can see if the Q's are being set correctly, and if R1 is being set correctly. R1 acts on the advance from the previous to the current event record. He should see Q1=1 and R1=THETA(1) when TIME=2880 Q2=1 and R1=THETA(2) when TIME=4320 etc. He says: > NOMEM does not fit single steps as I expected but something like a mean > rate which leads to a constant steady state plasma level instead of fitting > the whole plasma level time course. > I thought that with my Qs only one THTEA is estimated during the time > intervall, which seems not to be true. I don't understand what he means. Does this mean that the Q's and R1 are set correctly for each step, but that NONMEM is estimating all thetas to have the same value? If so, it is possible that there is not enough data (especially, not enough observations between the various time points 2880, 4320, etc.) to estimate each of the thetas. It seems likely, if all the observed CP's follow the end of the setpwise infusion, that NONMEM could not distinguish all those thetas ... and especially all those etas ! Even with very good data, it seems to me that there are too many etas, and that it would be difficult to estimate inter-individual variability in THETA(1), THETA(2), etc. > So how can a stepwise zero order process can be modeled with time varying > concomittant variables ? The control stream looks reasonable. See the example below. 2) Mats sent an interesting control stream, and did send the data. However, there is a lot more going on in this control stream that zero order stepwise input. It appears that during the second set of doses, he uses a new infusion dose event record with the total amount that applies to the entire stepwise input, an appriate duration, and a value of F1 that computes the amount infused during this step. I am not going to take time to understand fully what Mats is doing. I will only respond to this remark: > the default for varying bioavailability is that it affects the duration > rather than rate of the input. Not exactly. The formulas used by PREDPP are as follows: Given D1, then R1=F1*AMT/D1 Given R1, then D1=F1*AMT/R1 In the first case, it is clear that F1 affects only R1, never D1. In the second case, it may appear that F1 affects D1, but this is because the model is inadequate. Suppose you are modelling R1=THETA(1). If you feel that with various values of F1 the duration should be unaffected (because the drug has a fixed timed release), then the model should really be: R1 = F1*THETA(1) D1 = F1*AMT/(F1*THETA(1))= AMT/THETA(1) Now, PREDPP will compute the same D1 for any value of F1. Only the rate R1 is affected by F1. Here are 2 very simple control streams, data files and the outputs. An infusion of 1000 units to the central compartment has rate 400 from time 0 to 1. It has rate 300 from time 1 to 3. With K very, very small, we see that the amount in the compartment is indeed 400 when time = 1, and is 1000 when time is 3. With the first control stream, R1 is modelled as Ralph suggests. With the second control stream, D1 is modelled as Mats suggests. With the second, it is also necessary to adjust the bioavailability F1 of the amounts so that the appropriate fraction of 1000 enters during the time period. Note that the tests of TIME are somewhat different. R1 (as computed with a given event record) affects the advance TO the event time. D1 and F1 (as computed with a given dose event record) affect the advance FROM the event time, and are fixed for that particular dose. These features of PREDPP are discussed in Guide VI, Chapt III, B.2. I use Ralph's programming style of Q-type variables, although IF/THEN/ENDIF statements could be used instead. $PROB test with R1 $DATA dataR $INPUT TIME AMT RATE DV $SUBR ADVAN1 $PK K=.000001 Q1=0 Q2=0 IF (TIME.GT.0.AND.TIME.LE.1) Q1=1 IF (TIME.GT.1.AND.TIME.LE.3) Q2=1 A1=Q1*400 A2=Q2*300 R1= A1+A2 $ERROR Y=F $TABLE TIME R1 Q1 Q2 NOPRINT FILE=tableR =========== dataR 0 1000 -1 . 1 . . . 3 . . . ========== $PROB test with D1 $DATA dataD $INPUT TIME AMT RATE DV $SUBR ADVAN1 $PK K=.000001 Q1=0 Q2=0 IF (TIME.GE.0.AND.TIME.LT.1) Q1=1 IF (TIME.GE.1.AND.TIME.LT.3) Q2=1 A1=Q1*1 A2=Q2*2 D1= A1+A2 F1=.4*Q1+.6*Q2 $ERROR Y=F $TABLE TIME D1 Q1 Q2 NOPRINT FILE=tableD =========== dataD 0 1000 -2 . 1 . . . 1 1000 -2 . 3 . . . ========== TableR TIME D1 Q1 Q2 PRED 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00 4.0000E+02 1.0000E+00 0.0000E+00 4.0000E+02 3.0000E+00 3.0000E+02 0.0000E+00 1.0000E+00 1.0000E+03 ========== TableD TIME D1 Q1 Q2 PRED 0.0000E+00 1.0000E+00 1.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00 2.0000E+00 0.0000E+00 1.0000E+00 4.0000E+02 1.0000E+00 2.0000E+00 0.0000E+00 1.0000E+00 4.0000E+02 3.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+03 -- Alison Boeckmann
Oct 07, 1998 Alison Boeckmann stepwise zero order process
Oct 07, 1998 Mats Karlsson Re: stepwise zero order process
? Ralph Quadflieg stepwise zero order process