bsv and zero order absorbtion

47 views
Skip to first unread message

Dinko Rekic

unread,
Jan 24, 2018, 5:21:17 AM1/24/18
to mrgsolve
Dear all, 

What would be the preferred way of adding BSV on the rate of zero order absorption?

I understand that I can simulate different rates from the OMEGA estimate and input the rate as a variable in the dataset. But is there a better way? And what if I have off-diagonal elements in the OMEGA block?

Example code below without BSV on rate.  

.

code <- '
$PARAM TVCL = 1.23, TVV = 35.7, TVKA = 1.3
F1 = 0.82, ALAG = 1.21
WT = 70, SEX = 0

$MAIN
double CL = TVCL*pow(WT/70,0.75)*exp(ECL);
double V  = TVV*(WT/70)*exp(EV);
double KA = TVKA*exp(EKA);

if(SEX==1) V = V*0.8;

F_GUT = F1;
ALAG_GUT = ALAG;

$PKMODEL cmt="GUT CENT", depot=TRUE

$OMEGA @labels ECL EV EKA
0.015 0.2 0.5

$SIGMA @labels PROP ADD
0.03 230

$TABLE
capture IPRED = CENT/(V/1000);
capture DV = IPRED*(1+PROP)+ADD;

while(DV < 0) {
  simeps();
  DV = IPRED*(1+PROP)+ADD;
}

$CAPTURE WT CL 
'

mod <- mcode_cache("demo", code)

DUR=1.7

data <- expand.ev(ID=1:10, amt=80, rate=80/DUR, cmt="GUT", ii=24, addl=0)

out <- 
  mod %>% 
  data_set(data) %>%
  mrgsim(delta=1, end=24)


plot(out)

Kyle Baron

unread,
Jan 24, 2018, 8:24:13 AM1/24/18
to Dinko Rekic, mrgsolve
Hi Dinko - 

See the code below.  I followed your example of parameterizing this with from DUR.  In that case, set
rate to -2 in the data set and set the D_GUT variable to the duration that you want. 

If you did want to do this in terms of "rate", set rate to -1 in the data set and model R_GUT in $MAIN.

Kyle



code <- '
$PARAM TVCL = 1.23, TVV = 35.7, TVKA = 1.3
F1 = 0.82, ALAG = 1.21
WT = 70, SEX = 0, TVDUR = 1.7

$MAIN
double CL = TVCL*pow(WT/70,0.75)*exp(ECL);
double V  = TVV*(WT/70)*exp(EV);
double KA = TVKA*exp(EKA);

if(SEX==1) V = V*0.8;

F_GUT = F1;

ALAG_GUT = ALAG;

D_GUT = TVDUR * exp(EDUR);

$PKMODEL cmt="GUT CENT", depot=TRUE

$OMEGA @labels ECL EV EKA
0.015 0.2 0.5

$OMEGA @labels EDUR
0.3

$SIGMA @labels PROP ADD
0.03 230

$TABLE
capture IPRED = CENT/(V/1000);
capture DV = IPRED*(1+PROP)+ADD;

while(DV < 0) {
  simeps();
  DV = IPRED*(1+PROP)+ADD;
}

$CAPTURE WT CL 
'

mod <- mcode_cache("demo_dur", code)

DUR=1.7

data <- expand.ev(ID=1:10, amt=80, rate=-2, cmt="GUT", ii=24, addl=0)

out <- 
  mod %>% 
  data_set(data) %>%
  mrgsim(delta=0.05, end=24)


plot(out, GUT ~., xlim = c(0,12))






--
MetrumRG Website: http://www.metrumrg.com/opensourcetools.html
---
You received this message because you are subscribed to the Google Groups "mrgsolve" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mrgsolve+unsubscribe@metrumrg.com.
To post to this group, send email to mrgs...@metrumrg.com.
Visit this group at https://groups.google.com/a/metrumrg.com/group/mrgsolve/.



--
Kyle Baron, PharmD, PhD
Senior Scientist
Metrum Research Group

Reply all
Reply to author
Forward
0 new messages