knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Introduction

This is a basic example of how to define the policy and scenarios (within policies) for the LTBI screening model. Other vignettes will show how to run a model, automate some of the running over multiple scenarios, and how to visualised the output.

Fixed model parameters defining an intervention

Assume that everyone who enters the country doesn't leave.

force_everyone_stays <- FALSE

Do we include the QALY loss or costs of individuals who leave EWNI but then progress to active TB? If yes then we follow them to death rather than time of exit.

ENDPOINT_QALY <- "death"
ENDPOINT_cost <- "death"

Rather than offer screening to everyone immediately on entry, assume that we screen at a uniformly random time 0-5 years from entry.

screen_with_delay <- TRUE
MAX_SCREEN_DELAY <- 5

Time horizon for active TB progression

FUP_MAX_YEAR <- 100
screen_age_range <- 18:45

We pick a single year cohort to simulate from. The year 2012 is the most recent complete year but we'll use the largest.

year_cohort <- '2009'

Which incidence in country of origin group to target for screening

incidence_grps_screen <- c("(0,50]", "(50,150]", "(150,250]", "(250,350]", "(350,1e+05]")

What minimum duration in EWNI should someone have to be eligible for screening as a number or implictly on student status

min_screen_length_of_stay <- 0
no_students = FALSE

Computation options for number of Monte-Carlo iterations and whether to use the DIDE cluster to run the model

N.mc = 100,
cluster = FALSE,

This specification we'll call an intervention (in contrast to a scenario which are the lower level variables) and can be loaded as a list using

data("intervention_constants")

Scenario parameter values

We'll show later how to simulate over multiple scenarios but here we'll take the simplest case of a single scenario. For a given intervention (e.g. for QFT-GIT test and 3 months Rifampicin-Isoniazid treatment), we can load the different scenarios as a list:

data("scenario_parameters", package = "LTBIscreeningproject")

Each scenario's set of values are given in a long format tibble, such as the following.

scenario_parameters[[1]]

Study data

Read-in the cleaned individual-level study. This is in accordance with the fixed model parameters above.

data("sample_cleaned")

Data cleaning removes some entries and we also create new fields from the existing ones which we'll need later on.

Cost-effectiveness parameter values

The data objects are created in the following script.

source("scripts/01b-data-prep_cost-effectiveness.R", echo = TRUE)

The data are created with the date of the original and the discounted or inflated date as well as the reference from where it came.

Where available the parameter values are given as distibutions and their (hyper-)parameters. The data can be loaded using:

data("cost_effectivness_params", package = "LTBIscreeningproject")

This includes:

cfr_age_lookup
unit_cost
utility
QALYloss
NUM_SECONDARY_INF

References



n8thangreen/LTBIscreeningproject documentation built on May 23, 2019, 12:01 p.m.