NONMEM Users Network Archive

Hosted by Cognigen

[NMusers] Time-Varying Bioavailability on Zero-Order Infusion

From: Bill Denney <wdenney_at_humanpredictions.com>
Date: Tue, 13 Mar 2018 20:58:41 -0400

Hi NONMEMers,



Is there a good way to assign a time-varying bioavailabilty on a zero-order
rate of infusion in NONMEM? The best I’ve been able to come up wit=
h is
something like the below. It seems like something that should be easier
than what I’m doing below (I adjusted it from the real example as I=
 was
typing it into the email—I could have introduced a bug in the proce=
ss).
And importantly, -9998 is well before any time in my database.



(dosing into CMT=1 with an IV infusion)



$MODEL

COMP=(CENTRAL DEFDOSE DEFOBS) ; central

COMP=(P1) ; peripheral 1

COMP=(P2) ; peripheral 2

$PK

  ; Normal stuff and ...

  ; Record the dosing time

  IF (NEWIND.LT.2) THEN

    TDOSE = -9999

    DOSEEND = -9998

    DOSE = -999

    DOSERATE = 0

  ENDIF

  IF ((EVID.EQ.1 .OR. EVID.EQ.4) .AND. RATE.GT.0) THEN

    TDOSE = TIME

    DOSEEND = TIME + AMT/RATE

    DOSERATE=RATE

    MTDIFF=1

  ENDIF

  MTIME(1)=TDOSE

  MTIME(2)=DOSEEND

  F1 = 0 ; Bioavailability is zero so that the $DES block has full contro=
l
over the rate.



  RATEADJTAU=THETA(10)

  RATEADJMAX=THETA(11)

$DES

  ; Manually control the infusion

  RATEIN = 0

  IF (MTIME(1).LE.T .AND. T.LE.MTIME(2)) THEN

    RATEADJCALC = RATEADJMAX * EXP(-(T – MTIME(1)) * RATEADJTAU)

    RATEIN = DOSERATE - RATEADJCALC

  ENDIF

  DADT(1) = RATEIN - K10*A(1) - K12*A(1) + K21*A(2) - K13*A(1) + K31*A(3)

  DADT(2) = K12*A(1) - K21*A(2)

  DADT(3) = K13*A(1) - K31*A(3)



Thanks,



Bill


Received on Tue Mar 13 2018 - 20:58:41 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request_at_iconplc.com. Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.