I thought I had figured out how to code up a solution for the below in the R programming language, however, I'm not sure that I make the daily reduction correctly and that my results make sense, so I'd be grateful for some feedback on what I'm doing:
In my analysis, cancer patients find themselves in a health state that lasts 14 days and provides a utility score of 0.85 (1 is the best utility score, 0 is the worst).
For these patients, there is a probability of toxicities AE1, AE2 and AE3, which last for 5 days during these 14 and reduce the utility by a certain percentage for these 5 days.
The probabilities of these occurring are:
p_AE1 <- 0.040 # probability of adverse event 1
p_AE2 <- 0.310 # probability of adverse event 2
p_AE3 <- 0.310 # probability of adverse event 3
The disutility of these toxicities are:
AE1_DisUtil <-0.45 # The percentage disutility of adverse event 1.
AE2_DisUtil <-0.19 # The percentage disutility of adverse event 2.
AE3_DisUtil <-0.36 # The percentage disutility of adverse event 3.
According to the original study these percentage reductions come from:
We also applied utility reductions for episodes of toxicity - Cost‐effectiveness analysis of oxaliplatin compared with 5‐fluorouracil/leucovorin in adjuvant treatment of stage III colon cancer in the US." Cancer: Interdisciplinary International Journal of the American Cancer Society 109.6 (2007): 1082-1089. https://acsjournals.onlinelibrary.wiley.com/doi/10.1002/cncr.22512
Thus, I assume these utility reductions last for the duration of the episode of toxicity, which is 5 days. So, for 5 days of the 14, cancer patients have a reduction in their utility by the above percentages.
I do the below to find one days worth of percentage discount:
daily_discount_AE_1 <- AE1_DisUtil/5
[1] 0.09
daily_discount_AE_2 <- AE2_DisUtil/5
[1] 0.038
daily_discount_AE_3 <- AE3_DisUtil/5
[1] 0.072
Then I create 5 days worth of percentage discount:
AE1_discounted_daily_utility <- daily_discount_AE_1 * 5
[1] 0.45
AE2_discounted_daily_utility <- daily_discount_AE_2 * 5
[1] 0.19
AE3_discounted_daily_utility <- daily_discount_AE_3 * 5
[1] 0.36
I create the utility for the 14 days pre any percentage discount:
u_F <- 0.85
Then I create the percentage of this utility that comes from 5 days of discounting:
u_AE1 <- AE1_discounted_daily_utility * u_F
[1] 0.3825
u_AE2 <- AE2_discounted_daily_utility * u_F
[1] 0.1615
u_AE3 <- AE3_discounted_daily_utility * u_F
[1] 0.306
Then I take this decrement from baseline utility - dependent on the probability of this decrement occuring.
u_F_SoC <- u_F - p_AE1 * u_AE1 - p_AE2 * u_AE2 - p_AE3 * u_AE3
And get the following result:
u_F_SoC
[1] 0.689775
If those 5 days are worse off by x percentage, could it be as simple as:
Break 14 days of utility into daily utility, create 5 days of utility, make those 5 days whatever percentage worse off, take the 14 days and minus the 5 days worse off from those 14 days based on the probability they occur?
Not quite sure how you would code that tbh...