The MTS column on the States page refers to Maximum Tunnel States (for more information on tunnel states, click here). MTS sets a ceiling on the number of cycles for which state-time residency is tracked, which enables you to set a maximum number of unique values that variables dependent on state-time can take on. Please note that state-time residency may only be tracked in Markov cohort models, and cannot be tracked in partitioned survival models. Because tunnel states can vastly expand the size of a model and the time that it takes to run, it is best to create only as many tunnel states as you actually need. To limit the number of tunnel states in a model, you can use a longer cycle length, a shorter time horizon, or you can set a ceiling on the number of tunnel states created using MTS.
The MTS column is highlighted in the screenshot below:
To illustrate how to use MTS, assume you are building a 3-state model predicting the occurrence of an acute event (eg, ‘Healthy’, ‘Evented’, ‘Dead’). If you would like to assign evented patients a higher risk of death for one year following their event, and thereafter return their mortality risk to general population levels, you could set this up in hēRo3 in two steps. First, you would specify the increase in mortality (‘prob_death_postevent’) in the first year after an acute event, and then you would specify that mortality risk returns to general population levels (‘prob_death_gp’) in subsequent years among those who survive.
If your model used a quarterly cycle length, mortality risk during the first 4 cycles (ie, one year) in the ‘Evented’ state would be based on the parameter, ‘prob_death_postevent’, and mortality risk in cycle 5 and all subsequent cycles would be based on values for the general population (ie, ‘prob_death_gp’). You can define a third parameter, ‘prob_death’, that uses a logical function (eg, ifelse(…)) to assign the correct value for mortality to evented patients in the quarters following their event. Your formula for ‘prob_death’ might look like the following:
In the above example, you would specify that MTS = 5 on the States page. This will cause patients to have an elevated risk of death for 4 cycles following their event (ie, for one year), and then return to general population mortality levels in the 5th cycle following their event. Since mortality risk will be defined by general population values beginning in cycle 5, the model does not need to track post-event time beyond this point in time.
In the above example, if you had specified MTS = 4 rather than MTS = 5, you would never allow the second condition in the ifelse(…) statement to be triggered, and you would have inadvertently maintained post-evented patients at the elevated risk of death that prevailed in cycle 4. We illustrate this point in the table below, where we report assigned values for the variable, ‘prob_death’, by cycle when MTS is set alternatively to 4 and 5.
Cycles in State | MTS = 4 | MTS = 5 | ||
'state_month' | 'prob_death' | 'state_month' | 'prob_death' | |
1 | 3 | ‘prob_death_elevated’ | 3 | ‘prob_death_elevated’ |
2 | 6 | ‘prob_death_elevated’ | 6 | ‘prob_death_elevated’ |
3 | 9 | ‘prob_death_elevated’ | 9 | ‘prob_death_elevated’ |
4 | 12 | ‘prob_death_elevated’ | 12 | ‘prob_death_elevated’ |
5 | 12 | ‘prob_death_elevated’ | 15 | ‘prob_death_gp’ |
6 | 12 | ‘prob_death_elevated’ | 15 | ‘prob_death_gp’ |
etc. | etc. | ‘prob_death_elevated’ | etc. |
‘prob_death_gp’ |
In summary, if you create tunnel states using logical functions in which values are dependent on state time, you must specify a value for MTS that allows the second condition to be triggered. Using MTS correctly will allow your model to function with the necessary number of tunnel states, but without additional unnecessary tunnel states.
Please note that if you change the cycle length of your model, you will need to manually change the value you set for MTS to ensure that the number of tunnel states still reflects the number of model cycles for which you want to track state time. For instance, in the above example, if you use annual rather than quarterly cycles, you should change the value of MTS to 2. Alternatively, if you change this model to employ monthly cycles, you should change the value of MTS to 13.
Because limiting MTS places a cap on the number of cycles for which state-time residency is tracked, it also will limit the number of values taken on by state time keywords and the unique output of any formula that uses these keywords as inputs. Thus, for example, assume your model has a transition from ‘Sick’ to ‘Dead’ that is calculated based on excess risk of death that is dependent on the number of years spent in the ‘Sick’ state. If excess risk were depicted using a Weibull distribution, it might look like the following:
In this particular distribution, excess risk effectively declines to 0 by cycle 7. To avoid the creation of needless tunnels that track state time over cycles where excess mortality is the same (ie, ~0), you could set MTS = 7 to increase the efficiency of your model and reduce the time that it takes to run. This will cause the value of the Weibull distribution in cycle 7 to be used for that cycle and all subsequent cycles. The resulting distribution can be depicted as follows, which is indistinguishable from the original Weibull distribution for all intents and purposes:
In other instances, however, when capping the number of tunnel states with MTS would have an analytically relevant impact on the output of your model, you might not want to specify a value for MTS (when MTS = 0, the number of cycles that patients remain resident in tunnel states is limited only by the length of your cycles and the time horizon over which your model is run).