model { # Define the number of people in each group n[v,t], where t=1,2 is status quo vs # vaccination and v=1,2 is non vaccinated vs vaccinated # t=1: If the vaccine is not available, no one will use it # number of vaccinated in the population when vaccine is not available V[1] <- 0 # number of individuals in the two groups n[1,1] <- N - V[1] # non vaccinated n[2,1] <- V[1] # vaccinated # t=2: When the vaccine is available, some will use it, some won't # number of vaccinated in the population if vaccine made available V[2] ~ dbin(phi,N) # number of individuals in the two groups if the vaccine is available n[1,2] <- N - V[2] # non vaccinated n[2,2] <- V[2] # vaccinated # Vaccination coverage phi ~ dbeta(a.phi,b.phi) # Probability of experiencing the clinical outcomes (N.outcomes = 7) # 1. Influenza infection # 2. GP visits # 3. Minor complications (repeat visit) # 4. Major complications (pneumonia) # 5. Hospitalisations # 6. Death # 7. Adverse events due to vaccination for (r in 1:4) { beta[r] ~ dbeta(a.beta[r],b.beta[r]) } for (r in 5:6) { beta[r] ~ dlnorm(a.beta[r],b.beta[r]) } beta[N.outcomes] ~ dbeta(a.beta[N.outcomes],b.beta[N.outcomes]) # Vaccine effectiveness in reducing influenza (for v=1, it is obviously 0) rho[1] <- 0 rho[2] ~ dlnorm(mu.rho,tau.rho) # Probability of influenza infection for (t in 1:2) { for (v in 1:2) { pi[t,v] <- beta[1]*(1-rho[v]) } } # Number of patients experiencing the events for both interventions & compliance groups for (t in 1:2) { for (v in 1:2) { Infected[t,v] ~ dbin(pi[t,v],n[v,t]) GP[t,v] ~ dbin(beta[2],Infected[t,v]) Repeat.GP[t,v] ~ dbin(beta[3],GP[t,v]) Pneumonia[t,v] ~ dbin(beta[4],GP[t,v]) Hospital[t,v] ~ dbin(beta[5],GP[t,v]) Death[t,v] ~ dbin(beta[6],GP[t,v]) Trt[1,t,v] ~ dbin(gamma[1],GP[t,v]) Trt[2,t,v] ~ dbin(gamma[2],Mild.Compl[t,v]) Mild.Compl[t,v] <- Repeat.GP[t,v] + Pneumonia[t,v] } } Adverse.events ~ dbin(beta[N.outcomes],n[2,2]) # Probability of experiencing other events (impacts on costs and QALYs/QALDs) for (i in 1:2) { # Treatment with antibiotics after GP visit gamma[i] ~ dbeta(a.gamma[i],b.gamma[i]) } delta ~ dpois(a.delta) # Number of prescriptions of antivirals xi ~ dbeta(a.xi,b.xi) # Taking OTC eta ~ dbeta(a.eta,b.eta) # Being off work lambda ~ dlnorm(mu.lambda,tau.lambda) # Length of absence from work for influenza # Costs of clinical resourses (N.resources = 8) # 1. Cost of GP visit # 2. Cost of hospital episode # 3. Cost of vaccination # 4. Cost of time to receive vaccination # 5. Cost of days work absence due to influenza # 6. Cost of antiviral drugs # 7. Cost of OTC treatments # 8. Cost of travel to receive vaccination for (r in 1:N.resources) { psi[r] ~ dlnorm(mu.psi[r],tau.psi[r]) } # Quality of life adjusted days/years loss # 1. Influenza infection # 2. GP visits (no QALD/Y loss) # 3. Minor complications (repeat visit, no QALD/Y loss) # 4. Major complications (pneumonia) # 5. Hospitalisations (same QALD/Y loss as pneumonia) # 6. Death # 7. Adverse events due to vaccination omega[1] ~ dlnorm(mu.omega[1],tau.omega[1]) omega[2] <- 0; omega[3] <- 0; for (r in 4:N.outcomes) { omega[r] ~ dlnorm(mu.omega[r],tau.omega[r]) } }