Time dependent absorption and multiple dosing

Hello, I want to fit a time dependent absorption as follows: dosepoint(Aa) Ka = Emax*(((Gamma/T50)*(t/T50)^(Gamma-1))/(1+(t/T50)^Gamma)^2) deriv(Aa = - Ka * Aa) deriv(A1 = Ka * Aa - (CL/V) * A1) C = A1 / V error(CEps = 0.3) observe(CObs = C * (1 + CEps)) stparm(T50 = tvT50) stparm(Gamma = tvGamma) stparm(Emax = tvEmax) stparm(V = tvV) stparm(CL = tvCL) fixef(tvT50 = c(, 4.99, )) fixef(tvGamma = c(, 1.54, )) fixef(tvEmax = c(, 0.116, )) fixef(tvV = c(, 168, )) fixef(tvCL = c(, 184, )) This code works with single dosing but not with multiple dosing (bid). I have made some tests with different input compartment for each new administration and lagtime or sleep statement but nothing works well. Thank you very much for your help Laurence

Dear Laurence I think this is more a modeling question rather an PML issue here. I guess that you need to reset your time at each dose. What you have here is the variable t which is the integration time. At the first dose the time since last dose is equal to the integration time and that is why it apparently works for single dose. You need the program to subtract each time t by the overall time from 0 to the last dose. You need therefore to add a covariate that will read the overall time til last dose. It is if you want the time after last dose that counts but it needs to change at each integration step and therefore you cannot just use TAD. This part is indeed a pml question. Let me know if it is clear and if you can handle it. If not, I will try to make an example for you. Best Serge

Hello Serge, Thank you very much for your reply I’ve tried the following code (for a second administration only, like NONMEM code) but it does not work anymore. The first administration is simulated but not the second. I would be happy if you propose an example for repeated bid administration. Thank you very for your help Ka1 = Emax*(((Gamma/T50)(t/T50)^(Gamma-1))/(1+(t/T50)^Gamma)^2) double(Ka2) double(TM2) sequence { Ka2 = 0 TM2 = 0 sleep(12) while (t>12) { TM2 = t-12 Ka2 = Emax(((Gamma/T50)*(TM2/T50)^(Gamma-1))/(1+(TM2/T50)^Gamma)^2) }} deriv(Aa1 = - Ka1 * Aa1) deriv(Aa2 = - Ka2 * Aa2) deriv(A1 = Ka1 * Aa1 + Ka2 * Aa2 - (CL/V) * A1) with Time Aa1 Aa2 0 50 0 12 0 50

Dear Laurence I think the following code should do it: The changes are only in the first 3 lines. The idea is to define time after dose in Ka but changing at each integration time but the integration time must be reset every time you have a dose. This can be done when you reach a dose point and ask the program to reset tad to 0. tad is then defined in a differential equation derive(tad=1) which in fact is in aprallle with the real time except that it is reset to zero at the dose point. Can you try and let me know? The demo project is attached. This should work if I am right with any dosing design. Let me know what you think? Best Serge dosepoint(Aa, dobefore={tad=0}) deriv(tad=1) Ka = Emax*(((Gamma/T50)*(tad/T50)^(Gamma-1))/(1+(tad/T50)^Gamma)^2) deriv(Aa = - Ka * Aa) deriv(A1 = Ka * Aa - (CL/V) * A1) C = A1 / V error(CEps = 0.3) observe(CObs = C * (1 + CEps)) stparm(T50 = tvT50) stparm(Gamma = tvGamma) stparm(Emax = tvEmax) stparm(V = tvV) stparm(CL = tvCL) fixef(tvT50 = c(, 4.99, )) fixef(tvGamma = c(, 1.54, )) fixef(tvEmax = c(, 0.116, )) fixef(tvV = c(, 168, )) fixef(tvCL = c(, 184, )) [file name=laurence.phxproj size=672565]Certara | Drug Development Solutions (657 KB)

Serge and Laurence, I happened to have a similar question and luckily found your communications. Serge’s code worked in my hand. My sincere thanks to your both. Cuyue

Thank you very much, it works very well ! Laurence