Available model structures

The model allows for 384 possible model structures related to the effect of treatment on HAQ during the 1st 6 months, causes of treatment switching during the 1st 6 months, the model used to simulate the long-term progression of HAQ, the probability distribution used to measure time to treatment discontinuation, and the algorithm used to simulate utility.

There are 3 possible pathways linking treatment to HAQ.

  • H1: Treatment -> ACR -> HAQ
  • H2: Treatment -> ACR -> EULAR -> HAQ
  • H3: Treatment -> HAQ

There are 6 possible pathways related to treatment switching:

  • S1: Treatment -> ACR -> Switch
  • S2: Treatment -> ACR -> \(\Delta\)DAS28 -> DAS28 -> Switch
  • S3: Treatment -> ACR -> \(\Delta\)SDAI -> SDAI -> Switch
  • S4: Treatment -> ACR -> \(\Delta\)CDAI -> SDAI -> Switch
  • S5: Treatment -> \(\Delta\)DAS28 -> DAS28 -> Switch
  • S6: Treatment -> ACR -> EULAR -> Switch

Not all model structures S1-S6 can be used with each of H1-H3. If H1 is used, then S1-S5 are available, but S6 is not because EULAR response is not simulated. In H2, S1-S6 are all available while in H3 only S5 can be used since ACR response is not simulated. The 12 possible model structures and the number of each structure are outlined in the table below.

S1 S2 S3 S4 S5 S6
H1 1 2 3 4 5 -
H2 6 7 8 9 10 11
H3 - - - - 12 -

HAQ progression for patients in the absence of tDMARDs can be modeled in one of two ways. First, progression can be modeled at a constant annual rate or second, progression can be modeled using a latent class growth model (LCGM). The advantage of the LCGM is that it allows for different classes of patients with different HAQ trajectories and that within each trajectory, the rate of HAQ progression decreases at a non-linear rate over time.

There also multiple ways to model time to treatment discontinuation. Treatment discontinuation can be due to all causes or due to serious infections alone. If discontinuation is due to serious infections alone, then treatment duration is modeled using an exponential distribution based on serious infection rates from clinical trials; converseley, if discontinuation is due to all causes, the treatment duration is modeled based on observational data with any of 7 possible distributions: exponential, Weibull, Gompertz, gamma, log-logistic, lognormal, and generalized gamma. All told, there are thus 8 possible ways to model time to treatment discontinuation.

Finally, there are two ways to estimate utility. Our preferred method is mixture model estimated by Hernandez Alava et al. (2013) that has been shown to significantly outperform existing models. The mixture model simulates utility as a function of age, pain, and HAQ for four separate classes that are, in turn, dependent on age, gender, pain, HAQ, and an unobserved random intercept term. The second algorithm is based on the logistic regression equation relating HAQ and other patient characteristics to utility by Wailoo et al. (2006).

Select model structures

Model structures are chosen with R using the select_model_structures function. The function returns an object of class model_structures, which is used as an input to functions needed to run the simulation. Here, we choose two model structures. In the first model structure, we model the effect of treatment on HAQ using H2, switching using S6, HAQ progression in the absence of tDMARDs with the LCGM, time to treatment discontinuation due to all causes with the generalized gamma distribution, and utility using the mixture model. In the second model structure, we use the pathway H3 so that treatment has a direct effect on HAQ, treatment switching is determined using the pathway S1, a linear model is used for HAQ progression in the absence of tDMARDs, an exponential distributon is used to model treatment discontinuation due to serious infections, and HAQ is mapped to utility with the Wailoo algorithm.

mod.structs <- select_model_structures(tx_ihaq = c("acr-eular-haq", "acr-haq"),
                                     tx_iswitch = c("acr-eular-switch", "acr-switch"),
                                     cdmards_haq_model = c("lcgm", "linear"),
                                     ttd_cause = c("all", "si"),
                                     ttd_dist = c("gengamma", "exponential"),
                                     utility_model = c("mixture", "wailoo"))
print(mod.structs)
##      tx_ihaq         tx_iswitch         cdmards_haq_model ttd_cause
## [1,] "acr-eular-haq" "acr-eular-switch" "lcgm"            "all"    
## [2,] "acr-haq"       "acr-switch"       "linear"          "si"     
##      ttd_dist      utility_model
## [1,] "gengamma"    "mixture"    
## [2,] "exponential" "wailoo"     
## attr(,"class")
## [1] "model_structures"