© 2016 J Caro. All Rights Reserved.
DICE Simulation for HTA: a new, unifying method
J. Jaime Caro MDCM FRCPC FACPAdj. Prof Medicine & Epidemiology and Biostatistics, McGill University, MontrealChief Scientist, Evidera
(Discretely-Integrated Condition Event)
Disclosure:I have no conflict of interest in relation to this topic or presentation.
2
Modeling for HTA
HTA models
Dynamic transmission
SEIR
Agent-based
Disease course
Markov
Cohort
Microsim
DES
Constrained
Unconstrained
System dynamics
Stats
Infectious diseases
CEA/CUABIA
Disease epiPatient flowsPublic health
3
Generic Example
Country population
Diagnosis Disease X
Level A
Level B
surgery relapse
Tmt line 1
Death
Tmt line 2 Tmt line 3
incidence
Prop ATTrel
TT2 TT3
hDeath
hD1 hD2hD3
hD/Rel
4
What is DICE
A modeling technique that conceptualizes the decision-analytic problem in terms of two fundamental aspects:
Aspects that persist over timeHave levels, which can change & affect eventsMany conditions can be present at onceInterested in time spent at a given level (value)
Aspects that happen at a point in timeCan affect the level of a condition or other eventsMany can happen, at any timeInterested in number that happen (and when)
Conditions Events
discrete integration
5
Example
Country population
Diagnosis Disease X
Level A
Level B
surgery relapse
Tmt line 1
Death
Tmt line 2 Tmt line 3
incidence
Prop ATTrel
TT2 TT3
hDeath
hD1 hD2hD3
hD/Rel
6
The basic idea of DICE
Conditions
Name ValueProportion A
Disease type
Treatment
Age
Hazard death
Hazard relapse
Event: Start Assigned Item ExpressionProportion A 0.8
Disease typeIf (rand()<.8, A (resectable), B)
TreatmentIf(Disease type = A,Surgery,Line1)
Age
Index(ageD,Match(rand(),freq)
SurgeryIf(Treatment=Surgery, Now, Never)
0.8
A (resectable)
Surgery
59.3
Event: Surgery Assigned Item ExpressionSurgery NeverSurgery number Surgery number + 1Hazard relapse
Vlookup(Hazards,”Surgery”,2)
Relapse -ln(1-rand())/Hazard relapse… …
0.015
Surgery number 1
VBA
“Generic”Model
specifics are in the
tables
7
Example
Country population
Diagnosis Disease X
Level A
Level B
surgery relapse
Tmt line 1
Death
Tmt line 2 Tmt line 3
incidence
Prop ATTrel
TT2 TT3
hDeath
hD1 hD2hD3
hD/Rel
8
Cohort Markov approach
Disease-free Relapsed
Dead
Time (m)
Disease-free Relapsed Dead
0 1,000 0
1 1000-P 1000 x Prel 0xPdeath/Rel
2
… … … …
300 … … …
Prel
P death /Rel
9
DICE Cohort Markov version
Name ValueDisease-free 100Relapsed 0Death 0
Disease-free: 100%Transition: cycle
StartUpdate Disease-free, Relapsed, Death Select next eventTransition, End
Transition
Report all resultsEnd
TypeAssigned Item Expression
Condition Death Death+ Pdeath*Relapsed
Condition Relapsed
Relapsed*(1-Pdeath) +Disease-free*(Prel)
Condition Disease-free Disease-free*(1-Prel)Event Transition Now + cycle
Event End If ((Time=TimeHorizon), Now, Never)
Conditions Table Transition event Table
Name ValueTimeHorizon 10Never 99,999Now 0Prel .015Pdeath .001Cycle 1
Constants Table
%PF%P%D
Compact specification– Doesn’t change if longer time horizon– Or shorter cycles
o Can make these variable! Expressions written only once reducing error No programming! Transparent, easy to grasp
10
Cohort Markov approach
Disease-free Relapsed
Dead
Prel/BioM
P death /Rel
Age,sex,…
Microsimulation Markov approach
Pprog
P death /rel
Time (m)
Disease-free Relapsed Dead
0 1,000 0
1 1000-P 1000 x Prel 0xPdeath/Rel
2
… … … …
300 … … …
Age, sex, determinants
Biomarker
11
NameInitial Value
Disease-free NRelapsed 0Death 0
Name Initial ValueDisease Disease-freeAge Pick ProfileSex Pick ProfileBiomarker Pick Profile
Disease-free: 100%Transition: cycle
StartUpdate Progression-free, Progression, Death Select next eventTransition, End
Transition
Report all resultsEnd
DICE Microsimulation version
Conditions TableAge Sex BioM45 Male 12445 Female 216… …
Profiles Table
Assignment Type
Assigned Item Expression
Condition Disease
If (Disease=“Disease-free”,if(rand()<Prel,“Relapsed”, “Disease-free”),If(rand()<Pdeath,“Dead”, “Relapsed”)
Event Transition Now + cycleEvent End If ((Time=TimeHorizon), Now, Never)
Transition event Table
Disease: disease-free Disease
12
Example
Country population
Diagnosis Disease X
Level A
Level B
surgery relapse
Tmt line 1
Death
Tmt line 2 Tmt line 3
incidence
Prop ATTrel
TT2 TT3
hDeath
hD1 hD2hD3
hD/Rel
13
Tmt line 1Tmt line 1Tmt line 1Tmt line 1Tmt line 1Tmt line 1Tmt line 1
Microsimulation Markov approach
Disease-free Relapsed
Dead
Prel/BioM
P death /Rel
Age,sex,…
Time-to-event approach (“DES”)
RelapsedRelapsedRelapsedRelapsedRelapsedRelapsedRelapsed
Tmt line 1
Relapsed
14
Assignment Type
Assigned Item Expression
Condition Disease
If (Disease=“Disease-free”,if(rand()<Prel,“Relapsed”, “Disease-free”),If(rand()<Pdeath,“Dead”, “Relapsed”)
Event Transition Now + cycleEvent End If ((Time=TimeHorizon), Now, Never)
Transition event Table
Update DiseaseSelect next eventTransition, End
Update DiseaseSelect next eventSwitch, Death
Start Transition
Report all resultsEnd
DICE Time-to-Event Model
DeathDisease: Disease-freeTransition: cycle
Update DiseaseSelect next eventEnd
Relapse
TTE: Relapse, Death
Start event TableAssignment Type
Assigned Item Expression
Event Relapse -ln(1-rand())/hazardrel
Event Death -ln(1-rand())/hazardotherDeathRelapse event TableAssignment Type
Assigned Item Expression
Condition Disease RelapsedEvent Death Min(-ln(1-rand())/hazarddeath/rel,Death)
EventTreatment switch Now
Select new treatmentSwitch
Treatment switch event Table
15
Assignment Type
Assigned Item Expression
Condition Disease RelapseEvent Death -ln(1-rand())/hazarddeath/relapse
EventTreatment switch If (Treatment=“SoC”, Now, Never)
Output QALY +Time x UtilityOutput LY +TimeOutput Cost +(Time x CostTmt) + CostRel
Condition Utility UtilRel
DICE outputs
Conditions Table
Relapse event Table
NameInitial Value
Disease
Disease-free
Utility UDF
QALY 0LY 0Cost 0
Type Name Discount
Accumulator
QALY 3%
Accumulator
LY 3%
Accumulator
Cost 3%
Counter
Tmtswitch
0%
… …
Outputs Table
16
• Very flexible & natural• Can combine cohort,
individual & time-to-event approaches
• Transparent, simple to communicate
• Standard framework (easy to learn)
• Less error-prone• Enables structural sensitivity
analysis• Straightforward to review• Fast to create, easy to modify
• Excel is slow• No individuals,
interactions• No resources, queues• (lacking experience,
validation, publications)
Advantages & limitations
17Economic analyses
What can DICE be used for?
Epidemiologic modeling
Patient Flow
RCT Simulation
Portfolio optimization
MCDA
18
DICE transforms the way we develop models
Old wayPick a technique
(e.g., Markov)
Adapt decision problem To selected technique
Spend wks/mprogramming
Final Model• Complex• Huge• Tricky to verify• Hard to explain• Forget changing
structure!
New wayFocus on decision
problem
Design model to suit decision problem
ImplementDICE in days
Final Model• Straightforward• Compact• Easy to verify• Simple to explain• Change structure
any time