It's just a virus, the E.R. told him – days later, he was dead
nytimes.com246 points by wallflower 7 days ago
246 points by wallflower 7 days ago
Sepsis is hard to spot. Whats interesting about this article is that once you get into the details of whatt happened on the patients second visit, its largely about the hospital information systems and how they got in the way.
An automated alert popped up warning that the doctors should consider Sepsis. That alert essentially then blocked progress, and the doctors ended up (essentially) ticking the 'not sepsis' box so that they could get on with their (reasonable) next step which was either ordering an x-ray or starting antibiotics. Then somehow after that, sepsis did not get re-considered.
https://archive.is/tJePt#selection-1465.0-1491.52
It was Banerjee’s task to document Sam’s care, and as he began to do so, a pop-up appeared on his computer screen. Sam’s fever and heart rate had triggered an automated warning for sepsis, a potentially life-threatening condition in which the immune system has a dangerous reaction to an infection. It requires speedy intervention. To help the hospital comply with state-mandated sepsis regulations, the pop-up provides a checklist of tests and orders used to identify and treat sepsis.
Agyare had instructed Banerjee to hydrate Sam right away but to wait for the results of Sam’s lab work before ordering a chest X-ray or the strong antibiotics used to treat sepsis.
But Banerjee, a novice, got stuck. He couldn’t figure out how to navigate the template to make some but not all of the auto-populated orders. “This was my first patient that triggered the sepsis pathway,” he explained, in testimony. So he asked Connor Welsh, a third-year resident, for help.
At 8:50 p.m., Welsh showed Banerjee how. From his own computer, he clicked into a field on Sam’s chart to assert that sepsis was not likely: “Based on my evaluation,” the automated note said, “this patient does not meet clinical criteria for bacterial sepsis.” And then Welsh recorded what Banerjee said Agyare had said earlier: “Likely viral syndrome. Workup pending.” Welsh’s name appears on the note, but in his deposition he said he never interacted with Sam. Senior residents often help junior ones in this way, he said. “I signed this note based on the discussion with the provider, Dr. Banerjee, based on his evaluation and the medical management of Mr. Terblanche,” he testified.
...
Sam’s chart is 51 pages long, a catalog of billing codes and abbreviations, check-boxes and shorthand, updates and addenda. The record of the second visit contains numerous contradictions: Sam’s heart rate was documented at 126, yet Banerjee clicked the box “normal.” In one place it says Sam didn’t have a cough, while in another it says he did. The signatures of doctors who testified they never saw Sam — including one who was not in the hospital that night — accompany notes. Vital signs were ordered and not taken, as was an EKG.
> An automated alert popped up warning that the doctors should consider Sepsis. That alert essentially then blocked progress, and the doctors ended up (essentially) ticking the 'not sepsis' box so that they could get on with their (reasonable) next step which was either ordering an x-ray or starting antibiotics.
Man, I feel like I've been trying in vain to fight pop-ups for my whole software development career. Now we have an example where, at worst a pop-up got someone killed, and at best it was part of the chain of events that got someone killed. I don't know what it is that draws product designers to keep reaching for that horrible UX pattern, but it's got to be stopped. Nobody reads these things so a popup is the worst place to put important information that the user needs to read!
I think a lot of pop-up usage comes from company lawyers trying to cover butts: "Well, regulation says that users need to be informed of XYZ, so just stick a pop-up there. Then we can tell the regulator 'Hey at least we did our part to inform the user.'"
It's even worse, in a way. Mt Sinai uses Epic, as do many (most?) other larger hospitals in the US.
The stops - which in my experience (anesthesiologist, not ER doc, so I don't get sepsis warnings but I do get some of my own) are not popups, per se, but warnings that prevent you from leaving the screen until you have dealt with them. In this case, he could not place an order for at least some of the sepsis bundle of orders without placing all of them or making the sepsis warning go away - permanently. And the inexperienced trainee was told by the experienced supervising physician not to order the antibiotics and x-ray until at least preliminary labs had come back. At least for the antibiotics, this is good stewardship - we don't want to be giving people antibiotics for viral illnesses.
I have fought against incomprehensible ordering systems so much that when I order a chest X-ray (usually to confirm the placement of a large central IV), I have found it best to call the radiology technician and tell them what I want and let them order it under my name, because if I don't, I'll inevitably screw up some minor detail and they will have to re-order it anyway. "Chest x-ray to confirm internal jugular central venous catheter placement" (well, "CXR to check IJ CVC") is what I would have written in a paper chart; now it wants to know vast amounts of detail that I often don't know.
So this story comes down to a gripe about data systens that is as old as these systems themselves: the designers and implementers come up with data models and workflows that feel like they cover every possible case and they deliver a system that is a perfectly rigid implementation of these flows because they seem complete. Inevitably, these systems meet the messy real world and users find themselves unable to do what they need to do for the occasinal really weird case and get hopelessly stuck because they run up against stubborn rule checks.
This plays out every time when two workers look at each other and go "How do I enter XYZ without ABC?" - "You can't do this. Here's our workaround".
It’s not even a weird case. I have to specify, but don’t care if it’s back-to-front or front-to-back. Or where the x-ray is taken (yes, doctors have to specify that). That matters to the radiologist reading it (plain x-rays are like a camera obscura, so things close to the emitter cast a larger shadow), but for my purposes, it doesn’t matter because the level of detail I need is not that.
So in your case the SW is a poor fit. That feels underwhelming from a package that is used widely and presumably should have the flexibility to adapt to the requirements of very different customers.
Yes, all major inpatient EHRs do have the flexibility to adapt to those requirements. But that level of customization is itself a huge effort, and many hospitals lack the resources to do it well. The other problem is that hospital administrators and IT staff often give in to internal pressure from clinicians to customize every little thing even when it doesn't actually improve productivity or care quality. Sometimes it's better for humans to adapt to the software rather than vice versa. "Vanilla is the best flavor."
As a clinician, I wholeheartedly agree that adapting myself to the software is usually better than spending tons of money to try to make the software fit me, but at the same time the software really should fit the general norm of practice style.
This is more about unnecessary complexity. Medicine is hierarchical and like any hierarchy those at the top should be giving orders that leave lots of leeway for those who have to make them happen. EHRs often push all that onto the physician who never learned how to do that and really shouldn’t.
It’s like the old story about a green lieutenant in the army. Commander says, Lieutenant Smith, I want a flagpole on our parade ground. The dumb lieutenant tells their sergeant precisely how to do it. The smart lieutenant says, “Sergeant, the commander wants a flagpole right here. Make it happen.”
Whenever a question arises (and it will), the sergeant with a dumb lieutenant has to go back and clear every step. The smart lieutenant’s sergeant doesn’t have to call until they encounter something they don’t know how to do or can’t approve on their own authority.
> That feels underwhelming
That could be the motto of basically every EHR system!
> the designers and implementers come up with data models and workflows that feel like they cover every possible case and they deliver a system that is a perfectly rigid implementation of these flows because they seem complete. Inevitably, these systems meet the messy real world and users find themselves unable to do what they need to do for the occasinal really weird case and get hopelessly stuck because they run up against stubborn rule checks.
No. Those systems have nothing to do with the real world. They are just a project manager's idea about "the real world". Have you used any Microsoft product lately ? Every day it tells you: "Hey , i have a new feature".
Just stop.
Epic has 41% market share for inpatient EHRs so it's in many but not most hospitals.
https://www.definitivehc.com/blog/most-common-inpatient-ehr-...
But that is 41% for a single vendor out of 10. So market leader. And it looks like the data is based on hospital installations but not normalized based on quantity of patient served or patient case complexity.
Edward’s Hospital in Plainfield, Il and Mt Sinai are two different use cases and should not count equally.
That is something to keep an eye on. The system that owns the hospital where 95% of my work happens uses Epic and they subsidize it for hospitals that aren’t formally part of our system but could be a good referral base.
Catholic hospital, so it has its own internal issues, but it’s definitely not PE-controlled.
I think the main problem with pop-ups that makes them a bad place to put important (any?) information is that they interrupt the user's workflow - which is, indeed, kinda the point of the pop-up. But what is a normal human's reaction to this. They are in the middle of trying to do the thing they want to do. To continue with this, they need to get the pop-up out of the way, so they just click the button.
I run into this ALL THE TIME during the normal course of using software. I am trying to do something, then I get a pop-up about something-or-another that the developer clearly thought was important for me to see, but I click past it so I can get back to what I was doing. A lot of times is these "look at this cool new feature" kind of things - ARGH! And the worst part is, I might actually WANT to come back and learn about the new feature, but often I only get that one chance, and I'm too busy on my important task to focus on it right now.
Actually - a specific example of this just case to mind: I want to take a screenshot with Snagit - so I press PrtSn. But now Snagit pops up and asks me if I want to update. Sure, maybe I do - but not now! Now I just want to take my damn screenshot! So I click 'no.' And then I don't see it again until the next time I want to take a screenshot, and also do not want to be interrupted in my 5sec tasks with a 5min update.
Much better is to provide the information in a conspicuous, hard-to-miss area of the UI, but which DOESN'T block my workflow. Like, literally just put the text right on the form/interface in bold, red font. Like for Snagit - don't make it a popup update notification. Just put a bold/red link on the capture window and editor UI that says "Update"
Even claude Code does it.
Be typing a prompt and get 1) Do Action 2) Always Do Action 3) Don't Do Action
But if, like me, one looks at the keyboard while typing, you might not notice and be typing away and it has stolen your focus. Worse it used to default to 1) when you pressed enter and so you might have agreed to anything.
DO NOT STEAL FOCUS.
Oh man! Focus stealing is the worst! Bitwarden used to do this while I was typing my master password, stealing focus in the middle of what I'm typing to ask if I want to interrupt what I'm trying to accomplish to get their next minor upgrade. Which, of course typing my password very quickly I often hit enter at that moment, forcing me down an upgrade path. Beside the point of having my typing part of my password into a context it wasn't meant for. I think they've fixed it though.
Why would you mindlessly type away when you already know ahead of time, that they might be doing something tricky?
because the previous 30 times it didn't do it
Then it clearly it is an issue of overconfidence.
Since you can’t reliably catch 100% of tricks 100% of the time, continuing to do so is effectively guaranteering yourself to be tripped up in that 1 out of 100 times.
I remember a time when I thought we were past the Windows 98/XP popup malware era. Now every single website and application loves to shove popups in my face whenever I'm trying to accomplish a quick task. I don't think I have ever read anything other than the buttons to figure out which ones not to press.
Engagement metrics will be the death of us.
It occurs to me that maybe user behavior metrics are to blame, because our default response to these stupid intrusions (click any button to make it go away) appears as "engagement" to the devs/markting people: "oh look, people are clicking our popup buttons!" so then they are encouraged to add more of them. "Look how much engagement we're driving!"
The problem is that they actually work. I've been involved in having to implement these nightmares and it turns out that normal people do actually interact with them and it does result in increased revenue.
I am currently waiting for an oven technician to show up to help fix an oven that refuses to operate until I complete a certain cleaning cycle. But the cleaning cycle is blocked on a pop up that cannot be dismissed. I think it’s trying to helpfully give me instructions, but I don’t need the instructions — I already followed them and now it should be the oven’s turn.
Logs, or a message queue, where messages can be filtered / sorted for priority.
> don't know what it is that draws product designers to keep reaching for that horrible UX pattern, but it's got to be stopped. Nobody reads these things so a popup is the worst place to put important information that the user needs to read!
Hi, Product Manager and paramedic here.
The type of popup you are talking about is not what is happening here. It's a modal dialog requiring the provider to answer multiple questions to evaluate their patient (see my other comment in this thread).
And then it will warn you that the patient meets SIRS or sepsis criteria. It's not quite as simple as "regulation says user needs to get warned of blah".
As a product designer, I can think of 2 reasons why the person that came up with this flow might've made it a popup:
1) That's the default design system pattern for alerts, so whoever was the designer just went with it.
2) There's other alert patterns (alert bar, toast, etc), but sepsis was deemed to be so dangerous to the patient that it deserved to have its own special friction inducing UI element to alert doctors to take action.
>I don't know what it is that draws product designers to keep reaching for that horrible UX pattern
There are legitimate cases for alert modals like this one, but this definitely is an example as to when it shouldn't be used.
Sepsis is indeed an immediate life threatening condition, and I bet the alert was added as some kind of legal/medical ‘oh shit’ type of condition - without thinking through the consequences from a UX perspective.
What could possibly be a better use case for a progress halting pop up than a potential/likely "immediate life threatening condition"???
The issue is not the UX, it's the provider's arrogance thinking they know better. This thread is literally unbelievable.
Have you been on the other side of this? I get dozens of sepsis alerts a day, usually on the same patient, and the criteria that triggers them is so broad and non specific they are functionally useless. Each alert locks down the entire system ironically preventing you from reviewing what triggered it in the first place. You cannot do anything until it is addressed and you are forced to commit to an action without all the data because of it like administer a medication or order fluids, which may not be appropriate. Lots of things mimic sepsis criteria including but not limited to decompensated cirrhosis, HF, cancers, leukemias. The worst is that they don’t even pop up at the right time, they usually pop up usually way after the sepsis has been treated. In the past year, I’ve only had about a half dozen appropriate sepsis pop ups among the hundreds I’ve received.
Wait what?!
It blocks the system with a demanded action, but doesn't even show you what triggered the alert condition? I would completely expect a "List of conditions that suspect sepsis" and get those details up front and center.
I'd be putting in medical records "Due to software popping up an un-dismissable sepsis screen that does not show details, I dismissed it due to needing the data it was flagged on".
Lemee guess? Epic?
Yes, really. I’ve had to restart my Citrix session to make it go away or dismiss it like the writer did.
You’ll get something like “sepsis criteria triggered by wbc 13, cr 1.5, hr 101, rr 22.” And that’s it - usually in the middle of a night on a new patient I just got a page for. Can’t open documentation to see the patients med history. It’s ridiculous. I’m not using Epic but I am using a major EMR.
To be fair I’ve written almost exactly what you mentioned out of sheer frustration once or twice but it’s not ideal
> It blocks the system with a demanded action
Yes, in almost every case, the default "popup" GUI library call is also a modal dialog. You cannot access anything else, anywhere else, in the entire program (even if the program had multiple separate windows open). All you can do is read the dialog's text, and hit the "ok" button to dismiss it (or pick from one of a set of "buttons" that are shown on the popup to dismiss it).
The worst ones also do a global grab, with the result that you can't even switch away to another unrelated application on the system without first "interacting" with and dismissing the popup.
To see the version that is built into Javascript in the browser, put the following into the URL field of a new bookmark, and save the new bookmark.
javascript:(function(){alert("hello");})();
Then, while here on HN (or anywhere else), click that new bookmark you just made, which will pop up the default built in Javascript alert box, and try to interact with the rest of the page it pops up in front of.UI engineers need to be held legally responsible for false alarms like this.
My older car regularly hallucinates an incoming frontend collision and takes over the speedometer with a flashing red/black screen.
The new one (Kia) overrides the steering and forces the car to depart the lane (usually over double yellow lines).
If the alert regularly produces false positives then such behavior (and the behaviors of these EMRs) should open the vendor to civil and criminal liability. The courts should just assume the behavior will lead to loss of life, in the same way as discharging a firearm randomly in the city might.
It probably makes sense to have a short grace period to push a patch. Maybe one week after 0.1% of users complain?