Model overview
Introduction
This model is developed iteratively, starting with a simple prototype and adding complexity in stages aligned to ambulance service use cases. At each stage, we assess whether the additional detail meaningfully improves validity or whether a simpler version remains sufficient.
The model represents incidents across four response categories:
- C1 - life-threatening incidents
- C2 - emergency incidents
- C3 - urgent incidents
- C4 - less urgent incidents
The primary output is category 2 mean response time, and resource utilisation is a secondary output.
The simulations use a warm-up period, (we anticipate will) run for one year, and use replications to capture variability. Distributions are estimated using input modelling with distfit where possible, with grouped empirical distributions used when parametric fits are inadequate.
The DES (particularly those with similar parameters) should broadly agree with existing estimates from regression models, while offering richer outputs. Regression is simpler, faster and easier to validate. However benefits of DES are:
- Multiple outcomes from the same run (regression just one per model).
- More intuitive system representation (can “see” how resourcing assumptions translate into waits and utilisation).
- Extendability (once core structure is in place, we can add more components in later stages).
Model overview
This is the simplest model. It can be used to model the whole trust at once, or by county. Model structure is consistent between them - just change the input files.
Key question
How do changes in total vehicle hours, number of incidents per day, and/or handover delays affect Category 2 mean response time and resource utilisation?
Whole trust
In the current regression model, they change three things:
- Vehicle hours
- Number of incidents per day
- Handover delays
Even in this simplest stage, we can’t just have one service time, as we need to be able to:
- Calculate response time output
- Input varying handover delay
To begin with, we don’t want to break down by whether patients are conveyed or not - that is only used when looking at job cycle times. For this question, we just want the overall category 2 mean response time.
By county
Historically demand planning was on a trust-level, but in recent years have been asked to do it on a county-level.
This stage is equivalent to having one model instance with separate ambulance resources per county, as then you’d just be running each county in parallel to each other essentially, no interaction, so it’s simpler to just use the single area model and run it for each county.
Although the model doesn’t capture interactions between counties (e.g., where patients are frequently conveyed out of their originating county), this simplification may be acceptable. The model groups activity by location where the call is received, rather than by the location of hospital attendance. As a result, it represents demand originating from each county, meaning that differences in response times driven by local demand and resource availability (e.g., longer response times in higher-pressure areas) are still reflected.
Conceptual model
Incident arrives
Arrival timing
Distribution: Non-homogeneous Poisson
Data: Mean inter-arrival time by day of week
Response category
Distribution: Discrete
Data: Proportion of calls that are from each category
NHPP by day of week
SWASFT are normally interested in category 2 mean response time for a given day of the week (e.g., a Monday), or a given week or year. They don’t look within the day at response times by time of day. In which case, arguably not relevant to include time of day in NHPP. Their typical profile is:
- Higher activity at weekend.
- Longer handover delays on Mondays (as they’ve built up over weekend).
Therefore, we agreed it best to use NHPP by day of week.
See Tom’s NSPP notebook.
Response category
These are assigned by a probability distribution afterwards, based on the assumption that the proportions don’t vary by day of week.
If this assumption fails, it should be changed to sampling as part of the NHPP.
Status
Implemented NHPP and discrete with fake data.
Next steps
Need count of arrivals by day of week and response category. This can then be used to:
- Check assumption that response category proportions don’t vary by day of week
- Plug straight into the model
↓
Wait for resource
Queue: First In First Out (FIFO) - TBC whether introduce prioritisation, reneging and/or balking
Resource: 24/7 fixed pool
Data: Number of ambulances, based on weekly conveying resource hours for chosen time period
A FIFO queue is the simplest approach and common in the ambulance DES literature.
Need to consider whether we introduce prioritisation, reneging and/or balking. Priority rule timings could be informed by call guidelines.
Status
Currently, the number of ambulances is estimated from the SWAST Annual Report and Accounts (2024–25), section 3.4 Operational Resourcing, which reports weekly conveying resource hours. Since April 2024 the mean has been 52,000 hours per week.
One always-available ambulance provides 168 hours of capacity per week (24 × 7), so the number of ambulances is approximated as resource_hours_per_week / 168. The model assumes a constant fleet size with no shift pattern.
Next steps
Update to more accurate number following provision of internal data.
↓
Mobilisation time
TBC whether include this - nothing currently implemented.
- Distribution: TBC
- Data: TBC
Status
Not yet implemented.
Next steps
Research how often this is included in models.
Discuss whether we want at this stage.
↓
Travel to scene
Distribution: Lognormal
Data: Mean and SD by C1–C4
Status
Implemented with synthetic data.
Next steps
On real data, need to:
- Assess whether travel to scene time varies by response category (can see from mean and SD, but probably also want to check min, max, range).
- Input modelling of travel to scene time.
- Relevant parameters (e.g., mean, sd).
↓
On-scene time
Distribution: Lognormal
Data: Mean and SD by C1–C4
Status
Implemented with synthetic data.
Next steps
On real data, need to:
- Assess whether on-scene time varies by response category (can see from mean and SD, but probably also want to check min, max, range).
- Input modelling of on-scene time.
- Relevant parameters (e.g., mean, sd).
↓
Travel to hospital
Distribution: Lognormal
Data: Mean and SD by C1–C4
Status
Implemented with synthetic data.
Next steps
On real data, need to:
- Assess whether travel to hospital varies by response category (can see from mean and SD, but probably also want to check min, max, range).
- Input modelling of travel to hospital.
- Relevant parameters (e.g., mean, sd).
↓
Handover
Distribution: Lognormal
Data: Mean and SD by C1–C4
Status
Implemented with synthetic data.
Next steps
On real data, need to:
- Assess whether handover time varies by response category (can see from mean and SD, but probably also want to check min, max, range).
- Input modelling of handover time.
- Relevant parameters (e.g., mean, sd).
↓
Wrap-up time
Distribution: Lognormal
Data: Mean and SD by C1–C4
Status
Implemented with synthetic data.
Next steps
On real data, need to:
- Assess whether wrap-up time varies by response category (can see from mean and SD, but probably also want to check min, max, range).
- Input modelling of wrap-up time.
- Relevant parameters (e.g., mean, sd).
This stages provides a further breakdown of times within the job cycle, breaking this down by whether patients are conveyed or not conveyed. It is run with data for the whole trust and per county.
County-level of interest e.g., sometimes each county is given a different target. This year, it’s a blanket target, to improve job cycle by X minutes.
Key question
How do improvements in specific job-cycle components (e.g., scene time, handover) affect response time and utilisation?
Conceptual model
Does job cycle need breaking down further? (a) mobilisation time (b) time to scene (c) on scene time (d) if conveyed, travel to hospital (e) handover queueing (f) wrap up.
Incident arrives
Example
↓
Example
↓
Example
This stages adds shifts, allowing us to model shift-pattern effects on capacity and response times. It is run with data for the whole trust and per county.
Key question
Can alternative shift patterns (start times, staggering, breaks) smooth resource availability and improve response time and utilisation?
Current pattern is that many 12-hour shifts starting at 06:00 or 07:00. This means there are:
- Midday and midnight dips in resource numbers when many crews are on break at once.
- Effects of protected periods towards the end of shifts.
The focus here is on whether alternative rota patterns smooth the resource availability profile and improve response time and utilisation. They want to look into:
- Rota review (stagger shifts)
- Meal break policy
- Restricted send policy
When evaluating shift scenarios, will work with Ambulance Operations Managers (visit in-person) (often ex-paramedics).
Will not explore cost, as not something their team get asked to report on.
Conceptual model
Add representation of shifts (resource availability over time), including breaks and protected periods.
Inputs would be current and alternative rota schedules (for the whole area, not by station, proportions on different schedules).
Would produce extra outputs e.g., resource availability profile over the day (to see whether staggered shifts remove midday and midnight dips). May also be other new outputs that are relevant like:
- Overtime
- Interruption of breaks
Will need to track individual resources to model shifts - can do so via Store and FilterStore - check out Tom’s notebooks - https://github.com/pythonhealthdatascience/intro-open-sim/blob/main/content/15_resource_stores.ipynb - and Sammi has done this a bunch too.
What are the current break policies?
Is it relevant to know proportion of crews going straight from one job to the next versus returning to station between jobs? Here or elsewhere?
- They can be cleared at hospital
- Depending on whether there’s a job straight away, they’ll either remain at hospital, or return to base, or return to dispatch point.
- Will also depends on whether close to break window or end of shift.
This stages adds geography: a single model containing all locations (counties or finer areas), so spatial variation and cross-location interactions are simulated together rather than via separate runs.
Key question
When vehicle hours change in one county, how are response time and utilisation affected both locally and in neighbouring counties?
Conceptual model
Arrivals and resources become linked to area - county or smaller.
Brings with it possible changes to e.g., travel times (as can estimate now based on distance), and demand profiles (e.g., vary by area).
There will be alot to figure here about how to do things, but can address at later stage.
- E.g. Whether do times, catetgories and conveyance by area.
- Where ambulances start from and where they go after release.
- How we model travel times.
Other things to consider would be:
- What size area is required to answer this question?
- Does this question require shifts in the model?
- If yes, it builds from stage 3 (as represented in current diagram), If no, it builds from stage 2.
- Socioeconomic inequalities…
Either with stage 5 (though may be too broad) or 6.
Could explore outcome of not just reducing overall response time, but about gaps in response time between more and less deprived? Although, in this case, sometimes it’s about rurality rather than socioeconomic - with actually better response times for lower SES.
Literature:
Demir et al. (2024) - SimulEQUALITY framework - DES of NHS hospital - “patients’ characteristics and their healthcare system interactions can vary according to their SES, leading to differences in resource utilisation, such as LoS, between individuals who are deprived and more affluent” - they create a model following this structural hierachy:
- Level 1 - percentage of patients for outpatient care, inpatient admission, and ED
- Level 2 - assign specific department or specialty based on how patient entered
- Level 3 - assigned SES using IMD
- Level 4 - assigned distributions (param + type), variables, attributes, etc. based on SES
Result example is that they find paediatric inpatient admissions are highest for children in second most economically disadvantaged group. Forecast increased demain, compounding this. It could diminish care quality, leading to adverse health outcomes, especially for disadvantaged. So, they explore scenarios for reducing backlog of patients. They also attach costs.
Madia et al. (2025) - analyses inequalities in access to emergency care (at Addenbrookes in Cambridgeshire).
- Referral source - not IMD - drives ED performance outcomes (length of stay, 4-hour breach, unplanned returns). Once you account for how patient entered the system, deprivation-level differences largely disappear
- Ambulance:
- Patients from most deprived areas are more likely to arrive by ambulance (even after adjusting for demographic, clinical and contextual variables).
- Ambulance utilisation highest in middle-deprivation areas.
- Ambulance referrals had longest ED stays and highest probability of 4-hour breaches.
- Non-medical referrals (mainly police/forensic) higher for deprived areas.
- GP referral higher in non-deprived.
Reflections:
- Deprivation gradients in our area may look different.
- By modelling ambulance calls across geographic areas, we are implicitly modelling inequality, as deprivation shapes who ends up in the ambulance pathway, so if our areas vary by IMD, our arrival rates are already an inequality signal.
- You could ask questions related to inequality such as:
- What is NHS 111 uptake increased in deprived areas? i.e., Reduced ambulance arrival rates for lower acuity cases in high deprivation areas.
- What if GP access improved in deprived areas? i.e., Shift some demand out of ambulance pathway.
- The ED waits observed in our model are an inequality outcome indicator.
We could tag arrivals by deprivation band (based on their area) - meaning we could report equity breakdowns (e.g., response time by IMD).
https://aace.org.uk/reducing-health-inequalities/
Implementation toolkit: Data insight, evidence and evaluation.
- Ambulance services and systems use ambulance data to better understand population health and health inequalities.
- Ambulance services work to improve the evidence-base that supports and informs the role of the ambulance sector in reducing health inequalities.
- Ambulance services work in collaboration witht heir local systems to better understand the needs of their communities through improved engagement, insight and patient experience.
Examples in practice:
- Routinely use population health data to better understand the needs of vulnerable population groups
- Establish direct access to analysts trained in public health who routinely influence service design/delivery
- Regularly undertake health inequalities research, implement changes based on the results
- Regularly review data on equity of access, experience and outcomes and use to influence decision making
Yorkshire Ambulance Service NHS Trust (as of June 2023) were undertaking a scoping review looking at what ambulance services understand about health inequalities in patients who have any of the characteristics described in the Core20PLUS5 approach for adults. Preliminrary themes:
Copied from report:
Ambulance access and usage:
- Women, CYP and those of Latino ethnicity less likely to call 911
- Higher rate of EMS calls in deprived areas and with high BAME population
- Ethnic minorities less likely to travel to hospital by ambulance
- Areas without ambulance provision over-represented by indigenous people
- Higher incidence of chest pain, children with traumatic injurices and stabbings in males in most deprived areas
- Higher incidence of out of hospital cardiac arrest for increasing age, sex ratio, diabetes prevalance, deprivation and ethnic concentration
- Higher risk of injury by road traffic collision in regional areas
- Emergency operations centre staff took longer to recognise cardiac arrest with limited English proficient callers
Ambulance times:
- Longer response times for areas of high deprivation and rurality (though other studies found shorter response times for those of BAME origin)
- Longer on scene time with increased age and for females
Ambulance assessment and treatment:
- Disparities in analgesia administration based on age and ethnicity
- Automated Externel Defibrilators more likely to be present in less deprived areas
- Black individuals less likely to receive defibriliation or CPR
- Less likely to give aspirin, GTN, perform ECG and gain intravenous access in women compared to men
Outcomes:
- Survival from OOHCA decreases with age in females, whereas younger men have relatively lower survival compared to older men until age 65
- Lower likelihood of transport to specialist receiving facility with increased age and ethnic minority and female
- Different hospital desination depending on racial group
- Odds of surviving OOHCA lower in rural areas
- Males in OOHCA without return of spontaneous circulation more likely tobe transported to hospital than females
- Higher levels of deprivation associated with lower acuity patients transported to emergency department
- Lower levels of stroke recognition amongst Hispanic patients
Portz et al. (2013)
Turner et al. (2022)
Leeds Institute for Data Analytics (2025)
This stage moves to lower-level geographies so stations can be modelled. Resources can be allocated to sites and we can model deployment, dispatching and repositioning policies.
Key question
What is the impact of adding/moving/removing individual station shifts?
For example, identifying stations with low utilisation, as candidates.
Conceptual model
This requires representing individual stations explicitly. And linking resources to those.
Depending on how model a station and what incorporate in prior stage, may not be super different structure. Just requires sufficiently small areas to represent different stations.