Re: Two abosorption periods from a single dose??
From: ABoeckmann <alison@c255.ucsf.edu>
Subject: Re: Two abosorption periods from a single dose??
Date: Tue, 19 Jan 1999 14:48:32 -0800 (PST)
Matthew Hutmacher asked about modelling two abosorption periods from a single dose.
First, the control stream cannot be run as-is. This code is not permitted:
$INPUT ID AMT EVID TIME DV=CONC ABS RATE
$DATA ***.DAT
$SUBROUTINE ADVAN1 TRANS1
$PK
QABS=0
IF (ABS .EQ. 2) ABS=1
I suspect Matthew intends the following:
$INPUT ID AMT EVID TIME DV=CONC ABS RATE
$DATA ***.DAT
$SUBROUTINE ADVAN1 TRANS1
$PK
QCMT=0
IF (ABS .EQ. 2) QCMT=1
With this correction, it can be run and (with my guesses for theta's) does produce two peaks. This is because the doses are both lagged, and the values used for F1, D1, etc., are based on values of ABS on the event records with event time >= lag time, which happen to be always 0 in his data set. Hence QCMT=0 for both doses. He must tell PREDPP to use the value of ABS on the originating dose event records. This is done with the $BIND record. For more details, see the $BIND record and BIND examples in Guide VIII (or on-line help).
Here is a version of his control stream that works better, using his data file. Note that it is necessary to tell PREDPP to call PK when a lagged dose is about to enter the system.
$PROB 2 absorptions
$INPUT ID AMT EVID TIME DV=CONC ABS RATE
$BIND - - - - - DOSE -
$DATA data
$SUBROUTINE ADVAN1 TRANS1
$PK (LAGGED)
QCMT=0
IF (ABS .EQ. 2) QCMT=1
D1 =(1-QCMT)*THETA(1)+QCMT*THETA(2)
K =THETA(3)
V =THETA(4)
ALAG1 =(1-QCMT)*THETA(5)+QCMT*THETA(6)
RT =THETA(7)
F1 =(1-QCMT)*RT+QCMT*(1-RT)
S1=V
$ERROR
Y=F+ERR(1)
$THETA 1 4 1 1 1 6 1
$OMEGA 1
$TABLE TIME PRED
Here are the relevant values from the table:
TIME PRED
0.0000E+00 0.0000E+00
0.0000E+00 0.0000E+00
5.0000E-01 0.0000E+00
1.0000E+00 0.0000E+00
2.0000E+00 6.3212E+01
3.0000E+00 2.3254E+01
4.0000E+00 8.5548E+00
6.0000E+00 1.1578E+00
8.0000E+00 1.5669E-01
1.2000E+01 2.8698E-03