Concept Architecture
Discrete Event Simulation: How DES Models Work in Health Economic Evaluation
In health economic evaluation, discrete event simulation (DES) follows individual patients, or other entities such as organs and referral requests, from one event to the next, so that each patient's history and the availability of services can shape what happens later. It is used for disease pathways that a cohort Markov model handles awkwardly and for services where beds, clinicians or scanners are limited and patients wait. This page explains the building blocks of a DES (entities, attributes, events, resources and queues), how the simulation clock advances, how event times are sampled from parametric distributions, and how costs and QALYs accrue. It also shows how simulation error is separated from parameter uncertainty, works through an illustrative capacity example, and sets out verification and validation checks drawn from the ISPOR-SMDM good practice report on DES and the NICE Decision Support Unit's TSD 15.
What discrete event simulation represents
In a DES, each event can change a person's condition, resource use, queue position or pathway through care. Entities are the patients or items that move through the model, attributes are the characteristics they carry, events are the occurrences that change their state, resources are the services they need, and queues form when a needed resource is occupied.
DES is especially useful when individual histories, competition for resources and the timing of events affect outcomes. The ISPOR-SMDM task force recommends DES when the problem involves constrained resources, and regards it as an attractive option without such constraints when individuals interact, when time dependencies matter, when pathways depend on several patient characteristics, or when individual experience needs to be recorded. In health technology assessment, many DES models are non-constrained, following the usual health economic assumption that every required resource is available when needed; TSD 15 notes that patient interaction and constrained resources are not a common feature of NICE technology appraisals. DES is not automatically preferable to a cohort model or other individual-level simulation; the model structure should follow the decision problem.
Events change the system state
A DES moves from one event to the next rather than updating every person at fixed time intervals. Between events, the system state remains unchanged unless the model explicitly includes continuous processes. This next-event logic can represent irregular timing without introducing an arbitrary cycle length.
Core components include:
| Component | Role in a health-economic DES | Example |
|---|---|---|
| Entity | The individual or item moving through the system | Patient, sample or treatment request |
| Attribute | A characteristic stored for an entity | Age, disease severity or treatment history |
| Event | An instantaneous occurrence that changes state | Admission, progression, discharge or death |
| State variable | Information describing the current system | Number waiting or current treatment status |
| Resource | A constrained service or capacity | Bed, scanner, clinician or operating theatre |
| Queue | Entities waiting for a resource or event | Patients awaiting consultation |
| Event calendar | Scheduled future events ordered by time | Progression, follow-up and discharge dates |
| Simulation clock | The current simulated time | Day 125.4 from model start |
The event definition should state what changes, which future events are scheduled or cancelled, and which costs or outcomes accrue. Hidden event side effects make the model difficult to verify.
The clock advances to the next scheduled event
The event calendar contains future events and their scheduled times. The simulation selects the earliest event, moves the clock directly to that time and executes the associated logic. Ties require a documented priority rule because simultaneous events can have different consequences depending on processing order.
If the current clock is $t$ and the pending event times are $T_1,\ldots,T_K$, the next event time is:
$$ t_{\text{next}}=\min_{k=1,\ldots,K}T_k $$
The clock update is:
$$ t\leftarrow t_{\text{next}} $$
The selected event is removed from the event calendar, its state changes are applied, and any resulting events are added. An event that becomes impossible, such as a scheduled follow-up after death, must be cancelled or ignored through an explicit rule.
Individual histories determine future risks
DES can retain attributes and past events for each person. Future event times or choices can therefore depend on age, time since treatment, previous complications, accumulated resource use or other history. This memory makes DES suitable for non-Markovian processes in which current state alone does not capture all relevant information. A Markov model conditions transitions on the current state only, so history or time since an event has to be carried by replicate or tunnel states, and TSD 15 notes that a cohort model becomes unwieldy once many such states are needed.
A cause-specific event time may be generated from a hazard function $h_j(t\mid x_i,H_i)$, where $x_i$ contains fixed attributes and $H_i$ contains the individual's simulated history. For a constant hazard $\lambda_j$, an exponential waiting time can be generated from a uniform random number $U$:
$$ T_j=-\frac{\ln(U)}{\lambda_j}, \qquad U\sim\operatorname{Uniform}(0,1) $$
This is the inverse-transform method: the sampled time is the value at which the survival function $S(T_j)$ equals $U$, which is valid because one minus a uniform random number on the interval from 0 to 1 is itself uniform on that interval. For a Weibull distribution with shape $\gamma$, scale $\beta$ and survival function $S(t)=\exp[-(t/\beta)^{\gamma}]$, the same step gives $T=\beta(-\ln U)^{1/\gamma}$; a shape above 1 gives a rising hazard, a shape below 1 a falling hazard, and a shape of 1 reduces to the exponential case.
For time-varying hazards more generally, inverse cumulative-hazard methods, numerical inversion or other validated sampling algorithms may be required. The model should preserve the intended dependence between competing event times rather than sample every time independently by convenience.
Competing events determine which pathway occurs next
A person may be at risk of several events, such as progression, treatment discontinuation, adverse event and death. DES can schedule candidate times and execute the earliest event, after which the remaining event schedule is updated. This creates a competing-risks process at the individual level.
For candidate event times $T_{i1},\ldots,T_{iJ}$ for person $i$:
$$ T_i^{\text{next}}=\min_j T_{ij} $$
The event type is:
$$ J_i^{\text{next}}=\arg\min_j T_{ij} $$
After the selected event occurs, previously scheduled times may remain valid, be resampled conditionally or be cancelled. The correct rule depends on the underlying time-to-event model and treatment of residual waiting time.
Resources and queues make capacity explicit
DES can represent finite resources and the waiting that occurs when demand exceeds availability. An entity seizes a resource when capacity is available, uses it for a simulated duration and releases it afterward. If no unit is available, the entity joins a queue governed by a stated priority rule.
Common queue disciplines include:
- First in, first out serves entities in arrival order.
- Clinical priority serves higher-acuity patients before lower-acuity patients.
- Shortest expected processing time prioritises activities expected to finish sooner.
- Appointment priority reserves capacity for scheduled rather than unscheduled arrivals.
- Pre-emption allows a high-priority entity to interrupt another entity's resource use.
Resource logic can affect health as well as throughput. Waiting may delay treatment, worsen prognosis, increase emergency use or change costs, so queues should not be modelled as operational detail alone when they influence outcomes.
Queue measures connect operations to economic outcomes
DES records waiting times, queue lengths, utilisation and throughput over simulated time. These outputs help explain why a capacity change affects costs or health. Measures should be defined over a stable observation period and distinguish time averages from averages across entities.
Resource utilisation for a resource with $c$ identical units over horizon $T$ can be estimated as:
$$ Utilisation= \frac{\text{total busy resource time}}{cT} $$
The average waiting time among $N$ served entities is:
$$ \overline W=\frac{1}{N}\sum_{i=1}^{N}W_i $$
For a stable queueing system, Little's law relates the long-run average number in the system $L$, arrival rate $\lambda$ and average time in the system $W$:
$$ L=\lambda W $$
Little's law is a useful validation relationship, but it requires consistent definitions and a stable measurement period. It should not be applied mechanically to a transient system or to one whose arrival pattern or capacity shifts during the observation period.
Illustrative example: utilisation and Little's law at a diagnostic service
In this illustrative example, with hypothetical figures, patients arrive at a diagnostic service at an average rate of 18 per day. The service has three identical machines, and each machine is available for eight hours per day. Mean processing time is one hour per patient, so nominal daily capacity is 24 patients.
The nominal utilisation implied by average demand is:
$$ \rho=\frac{18\times1}{3\times8}=0.75 $$
Average demand uses 75% of nominal machine time. This does not imply that no queue will form because random clustering of arrivals, variable processing times, downtime and scheduling rules can create temporary congestion.
If simulation estimates an average time in the system of 0.30 days under stable demand, Little's law implies:
$$ L=18\times0.30=5.4 $$
An average of 5.4 patients should therefore be in the system, including both waiting and service, if the arrival-rate and time definitions match. A material discrepancy can reveal an incorrect observation window, missed entities or inconsistent units.
Costs and health outcomes accrue at events or over time
A DES can assign one-off consequences when events occur and continuous consequences while a person occupies a state or uses a resource. Separating these mechanisms reduces double counting. Every accrued value should retain its timing so that discounting can be applied correctly.
For individual $i$, total discounted cost may be written as:
$$ C_i= \sum_{e\in E_i}c_e d(t_e) +\int_0^{T_i}c_i(t)d(t),dt $$
where $c_e$ is a cost attached to event $e$, $c_i(t)$ is a continuous cost rate, and $d(t)$ is the discount factor. Discounted QALYs can be accumulated as:
$$ Q_i=\int_0^{T_i}u_i(t)d_Q(t),dt $$
where $u_i(t)$ is the individual's utility over time. The model should specify whether utility changes immediately at events, gradually, or only after a delay.
Initialisation depends on the decision context
A simulation can begin empty and build toward steady operation, or it can begin with an existing population, queue and resource state. An empty start may create an artificial low-congestion period, while an unrealistic full start may create an artificial backlog. Initialisation should reflect whether the question concerns a new service, an established service or a defined patient cohort.
Common approaches include:
- A terminating cohort simulation follows a defined set of patients until a time horizon or absorbing outcome.
- A steady-state simulation represents an ongoing service with continuing arrivals and no natural final patient.
- A warm-up period allows an ongoing system to move away from arbitrary starting conditions before outcome collection begins.
- A historical initial state populates the model from observed queues, patients and resources at a selected date.
Warm-up data should be excluded from steady-state performance estimates but may still incur model runtime. The warm-up duration should be justified through convergence diagnostics rather than selected solely for convenience.
Terminating and steady-state analyses use different estimands
A terminating simulation has a natural end, such as completion of a trial horizon or follow-up of a closed cohort. A steady-state simulation estimates long-run performance of an ongoing system. The replication design, initialisation and uncertainty analysis should match the chosen estimand.
For a terminating model, replication $r$ may produce an outcome $Y_r$, and the simulation estimate is:
$$ \overline Y=\frac{1}{R}\sum_{r=1}^{R}Y_r $$
For a steady-state model, observations close in simulated time may be autocorrelated. Batch means, independent long runs or other methods are needed to estimate uncertainty without treating correlated observations as independent.
Replications quantify simulation uncertainty
Random event times and attributes make repeated DES runs produce different outputs even with unchanged input distributions. This Monte Carlo variation is numerical uncertainty created by finite simulation, not uncertainty about the true input parameters. Increasing the number of independent replications reduces the standard error of the estimated mean.
For outcomes $Y_1,\ldots,Y_R$ from independent replications:
$$ SE(\overline Y)=\frac{s_Y}{\sqrt{R}} $$
where $s_Y$ is the sample standard deviation of the replication outputs and $R$ is the number of replications. A confidence interval for the mean simulation output is:
$$ \overline Y\pm t_{1-\alpha/2,,R-1} \frac{s_Y}{\sqrt{R}} $$
where $t_{1-\alpha/2,,R-1}$ is the Student t quantile with $R-1$ degrees of freedom. The number of replications should be chosen to achieve a prespecified precision for decision-relevant outputs. A visually stable running mean is useful evidence but is not a substitute for a quantified Monte Carlo standard error.
In a patient-level cost-effectiveness DES the same kind of error comes from simulating a finite number of patients. TSD 15 calls this between-patient sampling error first-order uncertainty, which falls as more patients are simulated, and separates it from second-order uncertainty about parameter values, which probabilistic sensitivity analysis (PSA) characterises. PSA in a patient-level DES usually needs two nested loops: an outer loop samples one set of parameter values, and an inner loop simulates enough patients to estimate mean costs and QALYs for that set. Because run time grows with both loop sizes, the number of patients per parameter set and the number of parameter sets should be chosen together and justified; both the ISPOR-SMDM task force and TSD 15 point to an analysis-of-variance approach for balancing them.
Common random numbers improve comparison efficiency
When two strategies are compared, using aligned random-number streams can make corresponding simulated patients or events experience comparable random variation. This common random numbers design can reduce the variance of the incremental result when strategy outputs are positively correlated. Separate random-number streams for different events, for example one for an event's occurrence and another for length of stay, help keep the same patient's draws aligned across strategies. The design must be implemented consistently so that shared randomness does not accidentally impose unrealistic dependence.
For replication-level strategy outputs $Y_{1r}$ and $Y_{0r}$, the analysis uses the paired difference:
$$ \Delta Y_r=Y_{1r}-Y_{0r} $$
The standard error is calculated from the variation in $\Delta Y_r$, not by treating the two strategy means as independent. Seed management and stream assignment should be documented so results are reproducible without reusing random numbers in unintended places.
Input distributions must represent the underlying process
DES often requires distributions for arrivals, service times, event times, patient characteristics and costs. Distribution choice should be supported by data, process knowledge and diagnostics, and for time-to-event inputs TSD 15 advises checking both the fit to the data and the clinical plausibility of the hazard the distribution implies. Matching only the mean can produce incorrect queues and outcomes because variability and tail behaviour affect congestion and rare events.
Input modelling should address:
- The empirical data source and observation window.
- Censoring, truncation and competing risks in time-to-event data.
- Dependence between patient characteristics and event times.
- Correlation between repeated events for the same person.
- Time-varying arrivals, capacity and clinical practice.
- Structural breaks, seasonality and exceptional periods.
- Parameter uncertainty in the fitted input distributions.
Empirical resampling can preserve observed distributional shape, while parametric models can support extrapolation and covariate effects. Neither approach is automatically superior in every application.
DES differs from other health-economic model structures
DES shares features with individual-level simulation but is defined by its event-scheduling mechanism and explicit simulated time. The choice between structures depends on whether event timing, history and resources materially affect the decision. A more detailed model is not better if the additional mechanisms are unsupported or irrelevant.
| Model structure | Distinguishing feature |
|---|---|
| Cohort state-transition model | A population distribution moves between states at regular cycles. |
| Individual state-transition simulation | Individuals move between states, often at fixed cycle boundaries. |
| Discrete event simulation | Individual events occur at scheduled, potentially irregular times and can interact through resources and queues. |
| System dynamics | Continuous stocks and flows represent aggregate feedback over time. |
| Agent-based model | Autonomous agents follow rules and interact with one another or their environment. |
DES can represent cohort-like disease progression without queues, but its distinctive value is strongest when timing, history, resource competition or operational pathways matter.
Verification checks whether the model was built correctly
Verification, also called internal validity or technical validity, tests whether the implementation follows the conceptual model and code specification. It should examine event ordering, state updates, cancellations, resource accounting and outcome accumulation. Traceable event logs for a small number of entities are especially valuable.
Useful verification tests include:
- A single patient with deterministic event times follows the expected pathway exactly.
- Event times never move backward and the simulation clock is non-decreasing.
- Dead or discharged entities cannot experience prohibited later events.
- Resource use never exceeds available capacity unless the model explicitly permits overtime.
- Queue membership and service counts reconcile after every event.
- Costs and outcomes accrue once at the intended time.
- Extreme parameter settings produce predictable limiting behaviour.
- Re-running the same seed reproduces the same result.
Code review, unit tests and comparison with independent calculations provide complementary evidence. Passing one aggregate output check is not enough to verify event logic.
Validation asks whether the model is credible for its purpose
Validation compares model behaviour with data, expert knowledge and expected relationships. A model can be free of coding errors but still omit important mechanisms or use invalid inputs. Validation should be proportionate to the decision consequences and recorded separately from verification.
Relevant validation includes:
- Face validity assesses whether pathways, constraints and outputs are clinically and operationally credible.
- Dependent validation compares simulated outcomes with the data used to build or calibrate the model, so it shows consistency with those sources rather than independent support.
- Independent external validation compares outputs with data from another period or setting that were not used to build the model.
- Cross validity compares results with another credible implementation or model structure.
- Predictive validity evaluates whether the model predicts later observations when such a test is feasible.
A capacity model should validate both clinical-economic outcomes and operational measures such as arrivals, waiting, utilisation and throughput. Matching total cost while producing implausible queues does not establish credibility.
Common errors in discrete event models
DES can hide complex logic behind plausible aggregate outputs. The most important errors involve event dependence, initial conditions, queues and the treatment of uncertainty. The following failures can materially affect a health-economic result.
- Scheduling incompatible events independently can create impossible sequences or incorrect competing-risk probabilities.
- Leaving obsolete events on the calendar can allow follow-up, progression or costs after an absorbing event.
- Blocking ongoing risks by accident, for example suspending stroke risk while a patient is in hospital for another event, removes events that should remain possible over the time horizon.
- Using an empty start without warm-up can understate congestion in an ongoing service.
- Matching only average arrival and service times can misrepresent queue behaviour when variability differs.
- Treating correlated observations as independent understates uncertainty in steady-state results.
- Reporting one stochastic run confuses a random realisation with the expected model output.
- Changing random seeds inconsistently across strategies can add avoidable noise to incremental comparisons.
- Using resource queues that do not affect health or cost when delays matter breaks the pathway from operations to outcomes.
- Double counting event and state costs can overstate total expenditure.
- Adding detail without evidence increases complexity without improving decision validity.
A step-by-step verification and validation sequence for a DES
Validation should proceed from a transparent conceptual model to entity-level traces and then to aggregate behaviour. Randomness should be added only after deterministic logic works correctly. The following sequence provides an auditable minimum.
- Define the entities, attributes, states, events, resources and queues in a conceptual model before coding.
- Specify every event's trigger, state changes, scheduled consequences and cancellation rules.
- Run a deterministic one-entity trace and reconcile every event time, cost and health outcome by hand.
- Test event ties and priorities using deliberately simultaneous events.
- Reconcile arrivals, queue entries, service starts, completions and exits over a short run.
- Verify resource conservation and capacity limits at every event.
- Test absorbing events and obsolete-event cancellation so prohibited events cannot occur later.
- Choose and justify initialisation, warm-up and termination rules for the intended estimand.
- Run independent replications and quantify Monte Carlo error for each decision-relevant output.
- Validate clinical, economic and operational outputs against appropriate observed or external evidence.
- Propagate parameter and structural uncertainty separately from finite-replication simulation error.
- Archive the model version, input set, seeds and software environment needed to reproduce the result.
Discrete event simulation is most useful when event timing and system interactions materially affect the decision. Its credibility depends on transparent event logic, defensible input processes and validation of both individual pathways and system-level outcomes.
Sources
- Karnon J, Stahl J, Brennan A, Caro JJ, Mar J, Möller J. Modeling using discrete event simulation: a report of the ISPOR-SMDM Modeling Good Research Practices Task Force-4. Value in Health. 2012;15(6):821-827.
- Davis S, Stevenson M, Tappenden P, Wailoo A. NICE DSU Technical Support Document 15: Cost-effectiveness modelling using patient-level simulation. Sheffield: Decision Support Unit, School of Health and Related Research, University of Sheffield; April 2014.
- Eddy DM, Hollingworth W, Caro JJ, Tsevat J, McDonald KM, Wong JB. Model transparency and validation: a report of the ISPOR-SMDM Modeling Good Research Practices Task Force-7. Value in Health. 2012;15(6):843-850.
- Little JDC. A proof for the queuing formula: L = λW. Operations Research. 1961;9(3):383-387.
- Law AM. Simulation Modeling and Analysis. 5th ed. New York: McGraw-Hill Education; 2015.
Related Concepts (3)
Institutional Perspectives (4)
- NICE
Choice of Individual Patient Simulation Must Be Justified
NICE requires the chosen type of model, naming a Markov cohort model and an individual patient simulation as examples, to be justified for each new decision problem. Stating that a structure has previously appeared in published model reports or been accepted in earlier NICE submissions is not enough. The conceptual modelling process that informs the structure, including how experts were involved, should be transparent and justified.
NICE technology appraisal and highly specialised technologies guidance: the manual (PMG36), section(s) 4.6.3, last updated 31 March 2026View source → - NICE Decision Support Unit
When Patient-Level Simulation Suits NICE Appraisals and How to Size It
TSD 15 advises that a patient-level simulation, such as a discrete event simulation, may be preferable to a cohort model when outcomes vary non-linearly with patient characteristics, when risks depend on time since an event or on past events, when bursts of events alternate with long quiet periods, or when patients compete for constrained resources. The choice of approach should be properly justified. Modellers are expected to justify the number of patients simulated, and probabilistic sensitivity analysis usually needs two nested simulation loops.
NICE DSU Technical Support Document 15: Cost-effectiveness modelling using patient-level simulation (Davis, Stevenson, Tappenden and Wailoo, April 2014), sections 1, 3.1 to 3.6 and 5.2View source → - ZIN
Stable Simulated Population Size for Microsimulation Models
The Dutch guideline lists discrete event simulation among the commonly used model types, with the choice depending largely on the research question and the nature of the disease. For microsimulation models, analysts should clarify what simulated population size gives stable results, for example by plotting outcomes against an increasing population size with a 95% confidence interval. Uncertainty in the parameters of distributions describing variability should be included, preferably by bootstrapping, without mixing variability or heterogeneity with uncertainty.
Zorginstituut Nederland, Guideline for economic evaluations in healthcare (2024 version), sections 4.1.2, 4.7.2 and 4.7.2.2View source → - HAS
Model Type Justified Against Individual Simulation and DES Criteria
HAS requires the selected model type to be justified through an analysis of the possible options, based mainly on how the model handles time, whether individuals interact, whether a cohort or an individual-centred unit suits the heterogeneity of the population, and whether parameter randomness must be captured. Its guidance table prefers individual simulation when parameters interact or when too many dimensions rule out a cohort approach, and describes discrete event simulation as useful when a marginal parameter change can produce a non-linear change in performance, such as a full intensive care unit.
Haute Autorité de Santé, Choices in methods for economic evaluation (methodological guidance, April 2020), Guideline 22 in section 4.2, and Annex 10, Table 18View source →
Functions & Formulae (3)
s(U,S) = T, where S(T) = U
Exponential event time by inverse transform
T_j = -log(U) / lambda_j
Weibull event time by inverse transform
T = beta * (-log(U))^(1 / gamma)
Little's law check on a simulated queue
L = lambda * W
Library
Publications
8
Simulation Modeling and Analysis — Law AM, 5th Edition ed., 2015 (McGraw-Hill Education)
Textbook on discrete-event simulation covering model building, random variate generation, input modelling, output analysis, and verification and validation.
BookA proof for the queuing formula: L = λW — Little JDC, Vol. 9, No. 3, pp. 383-387 ed., 1961 (Operations Research)
Proof of Little's law, which states that the long-run average number in a stable queueing system equals the arrival rate multiplied by the average time in the system.
Journal ArticleView source →NICE DSU Technical Support Document 16: Adjusting survival time estimates in the presence of treatment switching — Latimer & Abrams, TSD 16 ed., 2014 (NICE Decision Support Unit (University of Sheffield))
Guidance on statistical methods (RPSFTM, IPCW, two-stage) for adjusting overall-survival estimates when patients in a trial switch from the control arm to the experimental treatment, a common problem in oncology economic evaluation.
Modeling Good Research Practices — Overview: A Report of the ISPOR-SMDM Modeling Good Research Practices Task Force-1 — Caro, Briggs, Siebert & Kuntz, Task Force Report 1 ed., 2012 (Value in Health / Medical Decision Making)
The overview paper of the seven-part ISPOR-SMDM modelling good-practice series, setting out best-practice recommendations across model design, technique selection, implementation, validation, parameterisation, uncertainty and use in decision making.
Journal ArticleView source →Modeling Using Discrete Event Simulation: A Report of the ISPOR-SMDM Modeling Good Research Practices Task Force-4 — Karnon, Stahl, Brennan, Caro, Mar & Moller, Task Force Report 4 ed., 2012 (Value in Health / Medical Decision Making)
Best-practice guidance on discrete event simulation (DES) for health economic evaluation — when DES is preferable to cohort approaches, and how to structure, populate and validate such models.
Journal ArticleView source →A Taxonomy of Model Structures for Economic Evaluation of Health Technologies — Brennan, Chick & Davies, Vol. 15, No. 12 ed., 2006 (Health Economics)
An influential paper classifying decision-analytic model structures along axes of expected value vs randomness, entity heterogeneity, and Markovian vs non-Markovian structure — providing a framework for choosing between decision trees, Markov cohort models, microsimulation, discrete event simulation and system dynamics.
Journal ArticleView source →Applying Dynamic Simulation Modeling Methods in Health Care Delivery Research — The SIMULATE Checklist: Report of the ISPOR Simulation Modeling Emerging Good Practices Task Force — Marshall, Burgos-Liz, IJzerman, Osgood, Padula, Higashi, Wong, Pasupathy & Crown, Vol. 18, No. 1 ed., 2015 (Value in Health)
The first ISPOR dynamic-simulation good-practice report, introducing system dynamics, discrete event simulation and agent-based modelling for health care delivery problems and providing the SIMULATE checklist for their application.
Journal ArticleView source →Patient-Level Health Economic Modeling in Excel Without VBA: A Tutorial — Mike Paulden, Tutorial ed., 2025 (PharmacoEconomics)
A step-by-step tutorial implementing an individual-level discrete event simulation entirely in native Excel using contemporary functions and no Visual Basic (VBA) code, demonstrating flexible patient-level modelling in familiar spreadsheet software.
Journal ArticleView source →
Tools & Resources
1
hesim — Health Economic Simulation Modeling and Decision Analysis (R package) — Devin Incerti & Jeroen P. Jansen, R package ed., 2024 (CRAN)
A modular, computationally efficient R package for building and analysing health economic simulation models — cohort state-transition, partitioned survival, and individual-level continuous-time models — with fast individual-patient simulation and PSA via C++.
Software (R package)View source →
Frequently Asked Questions (6)
What is discrete event simulation?
Discrete event simulation (DES) is a modelling method that follows each patient from event to event over time, tracking their history and use of resources.
Source: Law & Kelton 2000
What advantage does discrete event simulation offer over cohort models?
Discrete event simulation follows individuals rather than a single averaged cohort, so it can give each patient a memory and let what happens to them depend on their own history and characteristics. It also represents time to the exact moment of each event and allows entities to compete for shared, limited resources such as staff or beds. These features let it capture waiting, resource constraints, and patient variation that a cohort model, which lacks individual memory and shared resources, cannot. Karnon and colleagues (2012) set out these advantages.
Source: Karnon et al. 2012
How does discrete event simulation work?
Discrete event simulation works by maintaining a list of scheduled future events and repeatedly advancing the clock to the next event, processing it, updating the system state, and scheduling any new events that result. Entities move through the system, requesting resources, joining queues when resources are busy, and being served, with each transition an event. Statistics such as waiting times and resource use are collected as the simulation runs. The clock jumps from event to event, so idle intervals are skipped, making the method efficient.
Source: Law & Kelton 2000
What are the components of a discrete event simulation?
A discrete event simulation comprises entities, the units such as patients that flow through the system; attributes, their characteristics; events, the occurrences that change the state; resources, the limited assets entities require; queues, where entities wait for busy resources; and the event list and clock that schedule and advance events. Statistical distributions govern arrivals, service times, and other random elements. Together these components represent how individual entities move through a system, using resources and waiting, so their flow and its performance can be studied.
Source: Law & Kelton 2000
When is discrete event simulation used in health?
Discrete event simulation is used in health to model patient flow and the operation of services where waiting times, resource use, and congestion matter, such as emergency departments, outpatient clinics, operating theatres, and diagnostic services. By representing individual patients, their attributes, the resources they need, and the queues that form, it captures how demand and limited capacity produce waiting and bottlenecks. It supports planning capacity, scheduling, and process redesign, and it is also used for economic evaluation where individual patient histories and resource constraints are important.
Source: Law & Kelton 2000
How does discrete event simulation differ from a Markov model?
Discrete event simulation tracks individual entities through events, capturing their attributes, histories, interactions, resource use, and queues, with the clock advancing event to event, whereas a Markov cohort model follows a group through health states in fixed cycles using average transition probabilities, without individual memory or resource contention. Discrete event simulation suits problems with heterogeneity, patient history, competition for resources, and waiting, while Markov models suit simpler state-transition processes. The choice depends on whether these individual-level and resource features matter for the question.
Source: Law & Kelton 2000
Trust Record
Verified by Dr Darrin Baines
British health economist
Professional identity: darrinbaines.org
Verification date: 29 Sep 2026
Content version: 1.0.0
Canonical Identity
- Term code
- HE-EM-DES-006
Stable URI · Machine-readable · Resolvable · CC BY 4.0