Creating DES screening model with fixed screening intervals
I am trying to develop a DES model for a type of cancer screening for patients with pre-cancerous lesions, of which there are 3 precancerous stages until the development of cancer. With the DES model, I understand that I can model likely progression over time to one of the higher stages or even cancer. Given that the screening occurs at fixed variables, such as 3 years, how do I create a model in which it will let me know which of the precancerous stages it is at that 3 year interval. I do not want the model to determine a change to a higher stage at 1.5 years and then go back to the DES node, because this change will not be recognized until year 3.
Comments
This is a bit tricky, but I think that you will need to manage the time to screening event carefully.
If you had no complicated combined time-to-events, then this is simple. However, you need the time to screening to be 3 years regardless of what events happen in the meantime. Therefore, you probably need to manage the time to screening with an expression similar to this "3 - _time", where the keyword _time returns time elapsed since the start of the model.
With an expression like this, if you had a different event happen at say 1.2 years, then "3 - _time" would return 1.8 years. I think that is what you want.
Hi Andrew
Thank you so much for your help. I think I understand what you are saying regarding how to set it up. It may be a bit more complex because there can be a second or even third event prior to the 3 years time for the surveillance endoscopy. So using your method, would the model know if it advanced two stages by the time the diagnostic endoscopy occurred, and move to the correct next path (on this model under HGD). I am very new to creating DES models, but came up with the model below. Not sure if I am doing it correctly but in theory in might work. any thoughts?
The _time keyword will always return the current time elapsed, so "3 - _time" will always represent the remaining time from current time until 3 years from the start of the analysis.
If you need fancier stuff related to when time starts for the time to event, then you might have to use trackers to indicate the time to start the clock on the next event.
Andrew
I really appreciate your help with this. I apologize but I think I have not been super clear with what I am hoping to accomplish or maybe not understanding your solution. I see how your solution will lead to a surveillance scope every 3 years, but am unclear how it would identify at what stage the dysplasia, which progresses linearly (ie non-dysplastic->low grade->high grade->cancer), is at that 3 year time period. I thought would I did above would help solve this but this is my first DES and maybe using the time node incorrectly. Does _time reflect time from entry into model? time since moving from DES node? or time since moving from time node?
Thank you again for your help
_stage is useless in a DES model. It just counts how many times you return to the health states, but it is no reflection of time at all. Any amount of time could have passed by the time _stage changes from 0 to 1. So you should never use _stage in a DES model.
_time reflects time elapsed since the model started, regardless of the value of _stage. You may use _time quite a bit in DES models when you would have used _stage in a Markov model.
If you want time since you reached a specific health state, that is much trickier. in that case, you would need to record the time you reached that time node in a tracker. Then _time - tracker would be the time since you reached the time node.
Ok that makes sense. So does it make sense to use time nodes in series, as in my attempt above? If so, in my example above does the "time_progressHG" time-to-event expression above start once the time node its left is reach or does it start when the model goes through the DES node? For what I am trying to do would it make more sense to try a hybrid type model such as DES.trex
You can put time nodes in series or use terminal nodes to return back to a branch of the original DES node, whichever best represents the disease progression.
Every time expression is calculated the same, regardless of where it is used. The expression "3-_time" will always calculate the time from the current time elapsed in the model to 3 time units out (presumably years).
You have entered time_progressHG directly into the time expression. Therefore, it will be used the same way even if you return to the HGD node. This could become a problem for you if you go to Surveillance Endo in the mean time. For example...
If in the above scenario, you would want progression in a total of 3 years regardless of whether you get surveillance in the meantime, then you would need to do this.
t_time_reach_HDG = if(t_time_reach_HDG=0; _time; t_time_reach_HDG)
time_progressHG_calc = t_time_reach_HDG + time_progressHG - _time
The above will record the time of original arrival at HDG, and then calculate the time to progression based on that arrival time plus the distribution based time to progression, even if more time passes due to surveillance.
OK that definitely makes sense. Thank you for your help. I am still a bit caught up on how to factor in progression of disease between dif severities of dysplasia and the surveillance testing. I need to know where along the progression it is at the time of the surveillance testing because that information will dictate what treatment plan is implemented.
Thanks again
You are very welcome.
Please sign in to leave a comment.