RE: modeling fast and slow absorption
From jaap@leland.stanford.edu Mon May 8 16:02:46 1995
Subject: RE: modeling fast and slow absorption
The follwoing control stream should work for what you want. At least for a 1-compartment model. However, everything is easily adapted for a multi-compartment model. You will have to delete the part for the oral solution and keep the controlled release part
Jaap Mandema
$PROB controlled release
; simultaneous fit to immediate release (IR) oral solution (CR=0) and
; controlled release tablet (CR=1). The controlled release product
; is characterized by a biphasic absorption profile, with an initial fast rate
; followed by a slower rate
$INPUT ID TIME DV MDV CR
$ABBREV DERIV2=NO
$DATA
$PRED
CL=THETA(1)*EXP(ETA(1)) ; clearance
V=THETA(2)*EXP(ETA(2)) ; volume of distribution
KA=THETA(3)*EXP(ETA(3)) ; ka for solution
KB1=THETA(5)*EXP(ETA(5)) ; fast absorption component for CR
KB2=THETA(6)*EXP(ETA(6)) ; slow absorption component for CR
FABS=THETA(4)*EXP(ETA(4)) ; relative availability CR versus IR
FKA=THETA(7)*EXP(ETA(7)) ; fraction of dose absorped via fast component
TLA1=THETA(8)*EXP(ETA(8)) ; lag time
A1=1/V
AL1=CL/V
T1=TIME-TLA1
T1S=1
IF (T1.LT.0.0) T1S=0.0
FF1=EXP(-AL1*T1*T1S)-EXP(-KA*T1*T1S)
F1=A1*FF1*KA/(KA-AL1)
FF2=EXP(-AL1*T1*T1S)-EXP(-KB1*T1*T1S)
F2=A1*FF2*KB1/(KB1-AL1)
FF3=EXP(-AL1*T1*T1S)-EXP(-KB2*T1*T1S)
F3=A1*FF3*KB2/(KB2-AL1)
F4=FKA*F2+(1-FKA)*F3
CT=20.0*F1*(1-CR)+20.0*FABS*F4*CR
Y=LOG(CT)+EPS(1)
$THETA (0,2) (0,0.2) (0,5) (0,1.0) (0,2.0) (0,0.1) (0,0.5,1)
(0,0.1)
$OMEGA BLOCK(2) 0.1 0.01 0.1
$OMEGA 0.1 0.1 0.1 0.1 0.1 0.1
$SIGMA 0.2
$EST NOABORT SIG=3 MAX=3000 PRINT=10
$COVARIANCE
$TABLE ID TIME DV MDV CR NOHEADER
NOPRINT FILE=
****
From alison Mon May 8 17:40:53 1995
In response to Ralf Brueckner's posting:
Jaap Mandema sent mail that appears to have solved the differential equations. This is great if you can use it (e.g., if your dosing scheme is appropriate) because a $PRED is so much faster than using PREDPP.
I think that Brueckner's problem may lie partly in his data file. If he has only event records at time 0 (the dose) and time > tka, the $PK block computes KA ONLY at time > tka, and so this value of KA is in effect for the entire integration.
If tka is known and fixed, he could include an event record having TIME=tka-.0001 (or some other very small value.) This event record has EVID=2. It causes PK to compute a value of KA appropriate for the time interval (0, tka-.0001) which is used for the first part of the integration. Any event record having TIME > tka will provide a value of KA appropriate to the time interval (tka-.0001, TIME). (It is also unnecessary in this case to use ADVAN6, since ADVAN2
can be used in this case.)
However, this won't work when tka is modelled as a theta, because he won't know what time to use.
Instead, for a general solution, with the "switching time" a parameter, it would be better to compute KA within the $DES block. Within $DES, the variable T represents "continuous" valued time, as opposed to the discrete values of TIME in $PK.
E.g.,
$PK
KA1 = THETA(1) ; rapid
KA2 = THETA(2) ; slow
tka=2.5 ; or THETA(3)
S1=1/1000000 ; DV in ng, AMT in mg
; S2=V/1000 ; DV in ng/ml, AMT in mg
$DES
temp=0
IF (T.LT.tka) temp=1
KA=KA1*temp + KA2*(1-temp)
DADT(1) = -KA*A(1)
Ralf, let me know if this solves your problem.
Alison