Sign in

Neil Pettinger

@kurtstat.bsky.social
436 followers 789 following 912 posts

Healthcare data analyst. Aspiring Munroist.

PostsRepliesMedia
Neil Pettinger @kurtstat.bsky.social · 30/09/2026
I had the idea of visualizing the trend in >12-hour ED stays in the same way the BBC visualizes small boat arrivals. So these are cumulative weekly totals for each (colour-coded) year as we move from left to right. The projection for the remaining 14 weeks of 2026 is mine.
001
Neil Pettinger @kurtstat.bsky.social · 04/08/2026
Watching the BBC News just now. Expediting discharges from prison is as fraught with problems as expediting discharges from hospital.
001
Reposted by Neil Pettinger
Diane Coyle @dianecoyle1859.bsky.social · 24/07/2026
Interesting thread and comments. I suspect people in Treasury are unaware of what a f….-up MTD is.
37310
Reposted by Neil Pettinger
Jo Wolff @jowolff.bsky.social · 06/07/2026
About this time yesterday I was marvelling about how uplifting the World Cup has been, even though it’s taking place in Trump’s America. Incredible that’s he’s found a way to spoil it. An incredible achievement.
89613
Neil Pettinger @kurtstat.bsky.social · 06/07/2026
Pochettino could just not include him in the matchday squad #balogun
000
Neil Pettinger @kurtstat.bsky.social · 15/05/2026
Median war expectancy data.
000
Neil Pettinger @kurtstat.bsky.social · 13/05/2026
Thanks, Mike! This looks like a great resource for me to start my VoC learning journey!
010
Neil Pettinger @kurtstat.bsky.social · 13/05/2026
This chart (together with its provocative title!) captures some of my anxieties. Emergency Departments in the UK are supposed to meet a 95% target for this metric. There is not a single hospital in the land that is even close to 95%. Yet I'm pretty sure they all monitor it using charts like this.
100
Neil Pettinger @kurtstat.bsky.social · 13/05/2026
Thanks very much for that. I am *very* concerned with that gap between VoP and VoC! I shall try to get my hands on that book.
110
Neil Pettinger @kurtstat.bsky.social · 06/05/2026
Data conversations need to take place between managers and data analysts. But managers don't initiate them because they have an antipathy towards data. And data analysts don't initiate them because they have an antipathy towards conversations.
This is a cross between a graph and a diagram. The horizontal axis is labelled "domain knowledge". The vertical axis is labelled "data knowledge". There's a blue square (labelled "Data analysts") positioned in the graph's top left quadrant and a red square (labelled "Managers") positioned in the graph's bottom right quadrant. Between the two squares is a double-pointed arrow labelled "Data conversations".
000
Neil Pettinger @kurtstat.bsky.social · 02/03/2026
When we want to describe how an AMU affects its patients' prior length of stay in the ED, 'heaviness' explains it better than fullness. But 'stickiness' explains it even better.
000
Reposted by Neil Pettinger
Iain Roberts @slowbikeiain.bsky.social · 20/01/2026
Yesterday it was cows using tools, today its penguins using satellite imagery.
Headline: "Scientists discover emperor penguin colony in Antarctica using satellite images"
14390662342
Neil Pettinger @kurtstat.bsky.social · 21/01/2026
Brexit in its proper context.
000
Reposted by Neil Pettinger
enlighten @enlightenscot.bsky.social · 08/12/2025
"All of these three measurement failings – the wrong doors, the wrong time zone, the wrong connotations – conspire to prevent the rigorous examination of cause-&-effect relationships in the health & care system that’s needed" @kurtstat.bsky.social for #NHS2048 www.enlighten.scot/nhs2048/thre...
021
Reposted by Neil Pettinger
Cethan Leahy @cethanleahy.com · 12/11/2025
Well, it's a little clearer now why billionaires are so invested in technology that produces better written emails.
68142333106
Reposted by Neil Pettinger
Jessica Elgot @jessicaelgot.bsky.social · 30/10/2025
Guys this is the ONE client you really need to double check
512112
Neil Pettinger @kurtstat.bsky.social · 23/10/2025
My AMU 'heaviness' metric came about after I tried showing AMU lengths of stay so far (ALoSSF) as horizontal timelines on top of each other. On the left: a snapshot that captured 60 patients with an ALoSSF of 24.6 hours. On the right: 58 patients with an ALoSSF of 37.8 hours. #rstats #ggplot2
060
Neil Pettinger @kurtstat.bsky.social · 23/10/2025
I want to have a go at adapting Stuart Hall's encoding/decoding model so that it works for how healthcare data messages are communicated. I think the key to this is how I flesh out the meaning structures on each side of the diagram.
Stuart Hall's encoding/decoding model (adapted from his 1973 essay) made to look a bit smarter with blue and pink text boxes.
040
Neil Pettinger @kurtstat.bsky.social · 22/10/2025
I'm hoping that - eventually - *everyone* involved in acute hospital patient flow will be talking about AMU 'heaviness'! (Meanwhile I can't work out if this chart is a volcano metaphor or a Pandora's Box metaphor...) #rstats #ggplot2
A scatterplot showing the relationship between Acute Medical Unit (AMU) 'heaviness' (measured along the horizontal axis) and Emergency Department (ED) length of stay (measured up the vertical axis). 366 overlapping grey dots in the chart represent the 366 days of the year. A "green zone of flow" has been (arbitrarily) drawn in the bottom left of the chart.
NOTE: AMU 'heaviness' is calculated as each day's average number of occupied beds multiplied by each day's average length of stay so far.
040
Neil Pettinger @kurtstat.bsky.social · 21/10/2025
Good question! I need to try and get hold of data from different types of AMUs to see if there's a difference! (I've recently embarked on a similar-ish quest following advice from @mancunianmedic.bsky.social about how medical specialties are organized differently from hospital to hospital...)
110
Neil Pettinger @kurtstat.bsky.social · 21/10/2025
The important thing would be to try and get the clinicians themselves (with a bit of help from the analysts!) to define the dimensions of the grey zone. "Ought-to-be" zones are probably better calculated 'bottom-up' rather than 'top-down', I think.
120
Neil Pettinger @kurtstat.bsky.social · 21/10/2025
Acute Medical Unit (AMU) 'heaviness' scores are calculated by multiplying each day's AMU mean lengths of stay by the same day's AMU fullness snapshots. The scores are closely correlated with Emergency Department (ED) performance, so I thought a scatterplot would be the way to go. #rstats #ggplot2
A scatterplot showing the relationship between Acute Medical Unit (AMU) 'heaviness' (measured along the horizontal axis) and Emergency Department (ED) length of stay (measured up the vertical axis). Two red dots in the chart represent the 'worst' day of the year (23 Jan 2024, when four-hour compliance was 40%) and the 'best' day of the year (23 Jun 2023, when four-hour compliance was 79%). A "grey zone of flow" has been (arbitrarily) drawn in the bottom right of the chart.
151
Neil Pettinger @kurtstat.bsky.social · 21/10/2025
Here's the graph after the correction. I'm trying out different ways of showing how a specialty's inpatients get more displaced as its workload increases. As @em-dr-jacklin.bsky.social might put it: the fuller the specialty, the greater the "wrongward-ness". #rstats #ggplot2
A scatterplot showing the relationship between occupied beds (along the horizontal axis) and no. of "wrong" wards used (up the vertical axis). There are 366 blue dots on the graph, each dot representing a midday snapshot in 2023-24. As occupied beds increase, so do the number of wrong wards.
071
Neil Pettinger @kurtstat.bsky.social · 21/10/2025
Error in gg_point() : could not find function "gg_point". Please tell me I'm not the only person who's made this mistake! #rstats #ggplot2
ggplot(data = df_resp_midday) +
  aes(x = total_fullness,
      y = no_of_wrong_wards) +
  gg_point()
150
Reposted by Neil Pettinger
Jessica Ellis @baddestmamajama.bsky.social · 21/10/2025
Tried to sneak a photo of a cute doggo and accidentally had long exposure on and I believe I have created man’s greatest expression of art
A white poodle leans out an suv with neon light streaks flashing across the surface of the car
280164892277
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Has anyone done 'loathed to say' yet?
000
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Speak for yourself. It's a 'doggy-dog world' for me from now on!
000
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
I'm working on a diagram that shows how we might incorporate emotion into data visualizations. I'm trying to mash together some ideas from Gavin McMahon's new book (www.story-business.com) with Don Norman's three layers of design (www.interaction-design.org/literature/a...).
A diagram that is basically a square. The horizontal axis is labelled Reason > judgement. The vertical axis is labelled Emotion > action. Within the square, a path is suggested first up the vertical axis (by using the visceral layer of design), then across the horizontal axis (using the behavioural layer of design), and finally up to the top of the vertical axis (using the reflective layer of design). The diagram is titled "Reason leads to judgement; emotion leads to action."
010
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
The result is that hospital beds are managed “reactively” in the permanent-crisis here-and-now: a bed manager sees an empty bed, so they immediately fill it. It would be better if clinicians could see and discuss their flow metrics, to give them at least a chance of managing beds "proactively". 6/6
230
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Preconceptions apart, the real problem is that we hardly ever report average bed occupancy to the clinicians whose patients occupy the beds. Most clinicians – and most managers– are not given the numbers that retrospectively describe demand and capacity in a general hospital. 5/6
110
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
There are some “NHS-specific” preconceptions, too. For example, there’s an “aura” surrounding “85%: the cure for all our ills”. In fact, the “right” percentage will be different for each part of the hospital. Some wards/specialties can work optimally at 95%; others need it to be lower than 60%. 4/6
100
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Most of us bring “generic” preconceptions to percentages. We think higher numbers are better. Like the anecdote about the optimist who sees a glass half-full, a pessimist who sees a glass half-empty and a hospital manager who sees a glass twice as big as it needs to be. 3/6
110
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Average percentage bed occupancy is the conventional way we measure bed usage in the NHS. (Here’s a visual example: 8,784 consecutive hour-by-hour snapshots of the number of beds occupied in a 46-bed hospital ward.) But the NHS has problems with bed occupancy as a metric. 2/6
110
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
This is a fascinating - and excellent - post by @samfr.bsky.social on his recent experience of being an NHS hospital patient. My heart jumped when I saw bed occupancy mentioned in the article: I have “views” on bed occupancy, so I thought I’d say something about it. substack.com/inbox/post/1... 1/6
substack.com
On the edge
My week in the NHS
1144
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Yes, perhaps we do need to be careful. One of my objectives here is to find a way of engaging clinicians in the specialties by giving them an indicator of dysfunction "of their own".
010
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
Thanks for this - I like this WrongWardHours idea a lot. Moving away from snapshots and building in a bit of history (including ED history) to the indicator. This might also allow me to add "number of non-clinical ward moves" into the mix...
010
Neil Pettinger @kurtstat.bsky.social · 20/10/2025
As it stands, it's a snapshot metric. I tried doing it for one specialty (Respiratory Medicine) based on hour-by-hour snapshots from two years ago. I posted it on X; can't remember if I posted it here. So here it is - in all its dual-vertical-axis glory...
010
Reposted by Neil Pettinger
Miranda Keeling @mirandakeeling.com · 17/10/2025
Man walking into the Post Office earlier: You look like a person who knows about things. Person behind the til: I do? Well I know about some things I suppose. Man (showing him his phone): Good. What do I press to answer this thing?
5423
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
...and called the package {abracadabra}...
010
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
I still think of pivot_wider() as magic, basically.
100
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
That’s what I’ve got so far. It’s an indicator in progress. I’m thinking out loud. Have I missed anything? 6/6
120
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
Third, I want to incorporate a measure of how many *non-clinical ward moves* have been involved in the run-up to this picture of displacement. It’s a bit like adding a dash of incidence to what so far is a picture of prevalence. I might be over-reaching myself here! 5/6
110
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
Second, we need to be able to count how many “wrong” wards are being used to accommodate a specialty’s patients. Six overflow patients distributed amongst six “wrong” wards is probably worse than six overflow patients confined to just one “wrong” ward. 4/6
110
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
We first need to distinguish between “right” wards and “wrong” wards. We need to be able to identify which ward (or wards) “belong” to each specialty, so that if any of a specialty’s patients are accommodated outside of that envelope, then they will count as being displaced. 3/6
110
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
I want to develop an indicator that describes an important aspect of this “everywhere” dysfunction. My working title for it is the “Patient Displacement Index” and I want it to measure the extent to which each specialty’s inpatients are accommodated in the “right” wards or not. 2/6
110
Neil Pettinger @kurtstat.bsky.social · 16/10/2025
Indicators of patient flow dysfunction mainly focus on either the hospital front door (e.g. breaches of the four-hour target) or the hospital back door (e.g. delayed transfers of care). But patient flow dysfunction manifests itself *everywhere* in a general hospital. 1/6
121
Neil Pettinger @kurtstat.bsky.social · 15/10/2025
I do! A good recent-ish example was me posting a question about overlapping Normal curves and getting a reply (complete with code) from @matloff.bsky.social.
120
Neil Pettinger @kurtstat.bsky.social · 15/10/2025
Yes! I got a sense of that, too! (I still get it from Bluesky #rstats on a good day!)
020
Neil Pettinger @kurtstat.bsky.social · 15/10/2025
Yes, I agree. I get a strong sense of that passive-not-active thing, too.
100