Empirical Method of Achieving Steady State
NONMEM v7.5+ supports an empirical method for steady state. It does not use the SS but the ADDL and II data item, by prescribing a large number of doses sufficient to have all subjects reach steady state.
In this approach, the user enters a negative ADDL, whose absolute value represents the maximum number of dose inputs to be given, followed by records with times relative to this last maximum dose. PREDPP will then determine, as it simulates each added dose, when the state variables no longer change according to the SSTOL/SSATOL tolerance specified in $SUBROUTINES, and stop adding doses when this is reached, up to the maximal ABS(ADDL). In addition, PREDPP will adjust the times of the subsequent records so it retains the same time after last dose relationship according to the actual number of doses given. The actual additional doses used is recorded in a reserved variable called ADDL_ACTUAL, accessible from $PK, $ERROR, $DES, and $AES. If ADDL_ACTUAL remains 0 for all records, this means the maximal number of doses ABS(ADDL) was reached before steady state occurred. The adjusted times are recorded in reserved variable ADDL_TIME, and the time difference between TIME (which is not altered) and ADDL_TIME is recorded in reserved variable ADDL_TIMEDIFF. The time of integration T for the ODE’s, TSTATE, DOSTIM, MTIME() are in reference to ADDL_TIME, not TIME, and the user’s model should be aware of this adjustment. When outputting results to a table, the relevant times displayed should be ADDL_TIME, not TIME. A user defined variable defined in $PK or $ERROR may store the ADDL_TIME value, such as
|
|
and then ADDLTIME can be outputted to the table. IF $PK is given limited calls (such as with CALLFL=1), then ADDLTIME should be defined in $ERROR. Similarly, if $ERROR is given limited calls (such as OBS ONLY or CALLFL=0), then ADDLTIME should be defined in $PK. In this way, the user-defined variable ADDLTIME is updated for each outputted record. There is no harm in defining ADDLTIME in both $PK and $ERROR.
Consider the following example, ..\examples∼pledii16_2d, which consists of a DDE problem, using ADVAN16, and records are set up for a maximum of 100 additional doses (designated as ADDL=-100) given every II=8 hours (data file simpledii16_2d.csv):
|
|
Note that the times after the multi-dose record are in accordance to the maximum doses to be given (ABS(ADDL)+1=101), and that the observation records begin just before the last maximum number of doses (at 799.9 hours), to capture the trough value, followed by the peak of the last maximum number of bolus doses (at 800 hours), with hourly observations thereafter.
The pertinent information is captured for table output as follows (..\examples∼pledii16_2d.ctl):
|
|
The resulting output (simpledii16_2d.tab) is shown as follows:
|
|
Notice that ADDLTIME is the appropriate adjusted time when relating to the actual number of additional doses (ADDLA=40) given.
If you have code that involves MTIME(), the MTIME should be adjusted with ADDL_TIMEDIFF. For example, if you want MTIME(1) to be at TIME=812.5 hours (relative to maximal number of doses), then MTIME should be set to the adjusted time value, after ADDL_TIMEDIFF becomes non-zero (which is after PREDPP has assessed the appropriate number of additional doses):
|
|
The above code is written for efficiency, so that MTIME(1) is set once.
Only the first negative ADDL is recognized as an indicator to adjust the number of doses. However, if you have a cluster of doses together, with the same starting time (although they may have different lag times), II, and ADDL, these will be treated as a composite steady state dosing strategy. For example, in method of steps problems, you may want a second dose record for the delay compartment (which may have an ALAG modeled in the control stream):
|
|
A steady state continuous infusion problem would also be modeled with II and negative valued ADDL. For this case, set the II equal to AMT/RATE, so that when one infusion period ends, the next one begins. See ..\examples∼pledii16_2e.ctl. Do not use the SS item with the negative valued ADDL method.