QRPEM Covariates

While I am aware of the QRPEM limitation in the earlier versions of NLME as far as nonlinear and time-varying (occasion) covariates, I am attempting to code a proportional effect of a lag time in a model using the following code (excerpt from my project):

covariate(FAST)

dosepoint(Ag, tlag=tlag)

TVLAG=tvtlag*(1 + (1-FAST)*theta_lag)

stparm( tlag= TVLAG*exp(ntlag) )

fixef( theta_lag = c(0, 0.75, ) )
fixef( tvtlag = c(0,0.5,3) )

Where ‘FAST’ is a categorical covariate indicating whether or not patients were in the fed or fasted state at time of administration. When attempting to run this model, I get the following error:

FATAL ERROR IN QRPEM/IMPEM!
Model not suitable for QRPEM analysis
Possibly non linear covariate model or
some other unimplemented feature

However, there is nothing nonlinear, nor time dependent about this covariate in the data set as the data set is only from the first dose. Thanks in advance!

Dear Jonathan

You put TVLAG as an equation and it is also in the stparm on the right side.

What I think you should do is as follows:

covariate(FAST)

dosepoint(Ag, tlag=tlag)

stparm( tlagbase= tvtlag*exp(ntlag) )

fixef( theta_lag = c(0, 0.75, ) )

fixef( tvtlag = c(0,0.5,3) )

# now you define tlag as a function ot tlagbase

tlag=tlagbase*(1 + (1-FAST)*theta_lag)

Try and let me know if the error disappeared.
best Regards
Serge

Serge,

Thanks for your reply. I just implemented this format and the particular error I was receiving before has gone away. Is there any chance you could elaborate on what the sensitivity was to the way I was coding? Is this the way I should proceed with all text-based covariate models in NLME? Thanks again!

comments in red

# code with error
covariate(FAST)

dosepoint(Ag, tlag=tlag)

TVLAG=tvtlag*(1 + (1-FAST)*theta_lag)

stparm( tlag= TVLAG*exp(ntlag) )

fixef( theta_lag = c(0, 0.75, ) )

fixef( tvtlag = c(0,0.5,3) )

code that works

covariate(FAST)

dosepoint(Ag, tlag=tlag)

stparm( tlagbase= tvtlag*exp(ntlag) )

notice how the stparm tlagbase is only defined as one fixef and associated random effect this is required for QRPEM

fixef( tvtlag = c(0,0.5,3) )

now you can define a function that represents tlag that depends on tlagbase and other covariates

fixef( theta_lag = c(0, 0.75, ) )

# now you define tlag as a function ot tlagbase

tlag=tlagbase*(1 + (1-FAST)*theta_lag)

as a general rule stparm should have a simple form where the software can separate the Mu part (mean) and variance part (random effect eta ). This enables the EM algorithm to work well.

Thanks all. While all the concepts are similar to NONMEM, the implementations are quite distinct from a user perspective. I’m glad these forums exist for everyone getting to know the ‘ins and outs’ of the NLME language.

Jonathan I’m glad you’re finding this thread useful…

As I am sure you are aware you can also sign up to follow a thread or whole forum of interest e.g. “Modelling & Simulation” to get notifications of new posts immediately or as a Daily or Weekly digest

Simon.