zlacker

[parent] [thread] 28 comments
1. ok_dad+(OP)[view] [source] 2022-10-02 16:35:12
> What about a medical procedure that WILL kill the patient if interrupted? What about life support in space? Hitting an assert in those kinds of systems is a very bad place to be, but an automatic halt is worse than at least giving the people involved a CHANCE to try and get to a state where it's safe to take the system offline and restart it.

Kinda a strawman there. That's got to account for, what, 0.0001% of all use of computers, and probably they would never ever use Linux for these applications (I know medical devices DO NOT use Linux).

replies(3): >>gmueck+p1 >>goodpo+P9 >>Kim_Br+ko2
2. gmueck+p1[view] [source] 2022-10-02 16:41:55
>>ok_dad+(OP)
Do you know absolutely every medical device in existence and do you know how broad the definition of a medical device is (including e.g. the monitor attached to the PC used for displaying X-ray images)?
replies(2): >>jmilli+i2 >>ok_dad+15
◧◩
3. jmilli+i2[view] [source] [discussion] 2022-10-02 16:46:22
>>gmueck+p1

  > including e.g. the monitor attached to the PC used for displaying
  > X-ray images
Somewhat off-topic, but I used to work in a dental office. The monitors used for displaying X-rays were just normal monitors, bought from Amazon or Newegg or whatever big-box store had a clearance sale. Even the X-ray sensors themselves were (IIRC) not regulated devices, you could buy one right now on AliExpress if you wanted to.
replies(1): >>gmueck+Ze
◧◩
4. ok_dad+15[view] [source] [discussion] 2022-10-02 17:02:12
>>gmueck+p1
I worked in medical device quality control and so, yes, I know all about the FDA requirements for medical devices and ISO 13485. I can say, with certainty, that base Linux would not be allowed to run in a medical device in the USA. It's software of unknown provenance (SOUP) and would absolutely NOT be used as-is.
replies(6): >>smolde+Na >>gmueck+Gg >>voakba+vi >>sarlal+PO >>cplusp+Nn1 >>Suzura+tx2
5. goodpo+P9[view] [source] 2022-10-02 17:28:31
>>ok_dad+(OP)
> I know medical devices DO NOT use Linux

Absolutely false.

◧◩◪
6. smolde+Na[view] [source] [discussion] 2022-10-02 17:33:08
>>ok_dad+15
Makes me wonder what they run their NAS software with. Or their internal web-hosting, or their networking devices, or any of the other devices they have littered about. I'd swear on the Bible that I've seen a dentist or two running KDE 3 before...
replies(1): >>ok_dad+9m
◧◩◪
7. gmueck+Ze[view] [source] [discussion] 2022-10-02 17:55:16
>>jmilli+i2
That's not the case in the EU. I've worked for an equipment manufacturer for dental clinics. While the monitors were allowed to be off the shelf, the operator (dental clinic) is required to make sure that they work properly and display the image correctly - obey certain brightness and color resolution/calibration standards. Our display software had to refuse to work on an uncalibrated monitor.
replies(1): >>alias_+lI
◧◩◪
8. gmueck+Gg[view] [source] [discussion] 2022-10-02 18:05:10
>>ok_dad+15
Then you should know that the use of SOUP is not so clear cut. It depends on the class of device and more specifically, on the part of the device that the software is used on. I know medical devices running SOUP operating systems like Linux. They went to some length to show that the parts running Linux and the critical functions of the device were sufficiently independent. This isolation is specifically allowed by the standards you quote.

It's even worse on things like car dashboards: some warning lights on dashboards need to be ASIL-D conformant, which is quite strict. However, developing the whole dashboard software stack to that standard is too expensive. So the common solution these days is to have a safe, ASIL-D compliant compositor and a small renderer for the warning lights section of the display while the rendering for all the flashy graphics runs in an isolated VM on standard software with lower safety requirements. It's all done on the same CPU and GPU.

replies(1): >>ok_dad+5m
◧◩◪
9. voakba+vi[view] [source] [discussion] 2022-10-02 18:17:43
>>ok_dad+15
That’s an odd thing to claim. I have worked on certified medical devices that run custom Linux distribution.

Mind you, that experience also severely soured me on the quality of medical software systems, due to poor quality of the software that ran in that distribution. Linux itself was a golden god in comparison to the crap that was layered on top of it.

replies(1): >>ok_dad+qm
◧◩◪◨
10. ok_dad+5m[view] [source] [discussion] 2022-10-02 18:39:45
>>gmueck+Gg
> They went to some length to show that the parts running Linux and the critical functions of the device were sufficiently independent.

Let's not be too pedantic. You, as an experienced medical device engineer, probably knew what I meant was that they would never use Linux in the critical parts of a medical device as the OP had originally argued. Any device would definitely do all of it's functionality without the part with Linux on it.

The OP was still a major strawman, regardless of my arguments, because the Linux kernel will never be in the critical path of a medical device without a TON of work to harden it from errors and such. Just the fact that Linus' stance is as said would mean that it's not an appropriate kernel for a medical device, because they should always fail with an error and stop under unknown conditions rather than just doing some random crap.

◧◩◪◨
11. ok_dad+9m[view] [source] [discussion] 2022-10-02 18:39:59
>>smolde+Na
Those aren't medical devices.
◧◩◪◨
12. ok_dad+qm[view] [source] [discussion] 2022-10-02 18:41:20
>>voakba+vi
I'd like to hear more about that, but I assume it's much like the other poster here that described a Linux system that is a peripheral device attached to the actual medical device that does the medical shit.
replies(2): >>gmueck+zz >>voakba+cA2
◧◩◪◨⬒
13. gmueck+zz[view] [source] [discussion] 2022-10-02 20:11:31
>>ok_dad+qm
It is not a peripheral device if it runs the UI with all the main controls, is it?
replies(1): >>ok_dad+lw1
◧◩◪◨
14. alias_+lI[view] [source] [discussion] 2022-10-02 21:05:54
>>gmueck+Ze
Interesting, how does your software detect an uncalibrated monitor? Did it come with a calibration device which had to be used to scan the display output to check?

I don't suppose monitors report calibration data back to display adapters do they?

replies(2): >>Gauntl+FJ >>gmueck+fL
◧◩◪◨⬒
15. Gauntl+FJ[view] [source] [discussion] 2022-10-02 21:15:16
>>alias_+lI
My guess is they had some heuristic based on EDIDs, which are incredibly easy to spoof.

https://smile.amazon.com/EVanlak-Passthrough-Generrtion-Elim...

replies(1): >>gmueck+tM
◧◩◪◨⬒
16. gmueck+fL[view] [source] [discussion] 2022-10-02 21:25:40
>>alias_+lI
I didn't work on that specific software team and it has been a long time since I worked there. But the software came with its custom calibration routine and I believe that the calibration result was stored with model and serial number information from the monitor EDID.
replies(1): >>alias_+rJ1
◧◩◪◨⬒⬓
17. gmueck+tM[view] [source] [discussion] 2022-10-02 21:34:28
>>Gauntl+FJ
Yes, but why would you go to these lengths? The purpose of the whole mechanism is to prevent accidental misdiagnosis based on an incorrectly interpreted X-ray image. This isn't DRM, just a safeguard against incorrect use of equipment.
replies(1): >>Gauntl+Qw1
◧◩◪
18. sarlal+PO[view] [source] [discussion] 2022-10-02 21:52:41
>>ok_dad+15
Ok, that's good for a U.S. centric view. Do you know that every medical device manufactured in China, for use in China meets the same requirements? Same for India, Russia, etc. The U.S. isn't the world and I'd be surprised if Linux weren't in use in some critical systems around the world that would be shocking for U.S. experts on those types of systems.
◧◩◪
19. cplusp+Nn1[view] [source] [discussion] 2022-10-03 02:27:35
>>ok_dad+15
Surely we can “harden” Linux for this application?
◧◩◪◨⬒⬓
20. ok_dad+lw1[view] [source] [discussion] 2022-10-03 04:06:41
>>gmueck+zz
No, do you have a concrete example of this strawman, though?

Edit: I should also add (probably earlier too) that all my examples are specific to the USA FDA process. I'm sure some other place might not have the same rules.

replies(1): >>gmueck+ZI1
◧◩◪◨⬒⬓⬔
21. Gauntl+Qw1[view] [source] [discussion] 2022-10-03 04:12:04
>>gmueck+tM
People are cheap and corrupt. The speed bump this presents is real, but minor, in the face of a couple medical shops looking to save $100/pop on a dozen monitors.

I hope it's rare, but I think a persistent nag window ("Your display isn't calibrated and may not be accurate") is probably a better answer than refusing to work altogether, because it will be clear about the source of the problem and less likely to get nailed down.

replies(2): >>gmueck+FJ1 >>kaba0+vp2
◧◩◪◨⬒⬓⬔
22. gmueck+ZI1[view] [source] [discussion] 2022-10-03 06:32:57
>>ok_dad+lw1
I can't see how you can make out a strawman in what I said. There are medical devices where the UI is running on a processor separate from the controller in charge of the core device functions. The two are talking to each other and there is no secondary way of interacting with the controller. This lessens the requirements that are put on the part running the UI, but does not eliminate them.

I'm mostly familiar with EU rules, but as far as I know the FDA regulations follow the same idea of tiered requirements based on potential harm done.

replies(1): >>ok_dad+CX1
◧◩◪◨⬒⬓
23. alias_+rJ1[view] [source] [discussion] 2022-10-03 06:37:22
>>gmueck+fL
Thanks, sounds like I need to do some reading about EDIDs; I knew _of_ them but no real understanding is what they are and what they do.
◧◩◪◨⬒⬓⬔⧯
24. gmueck+FJ1[view] [source] [discussion] 2022-10-03 06:39:08
>>Gauntl+Qw1
You have to draw a line somewhere, I guess. As far as I remember, protections against accidental misuse and foreseeable abuse of a device are required in medical equipment. But malicious circumvention of protections or any kind of active tampering are a whole other category in my opinion.
◧◩◪◨⬒⬓⬔⧯
25. ok_dad+CX1[view] [source] [discussion] 2022-10-03 09:03:33
>>gmueck+ZI1
The UI is one of the most important parts of a machine, look at the Therac-25! The FDA regulations require a lot of effort goes into the human factors, too, and the UI definitely had to be as reliable as the rest of the device and be as well engineered as the rest.

https://www.fda.gov/medical-devices/human-factors-and-medica...

Honestly, the FDA regulations go too far vs the EU regs. The company I worked for was based in the EU and the products there were so advanced compared to our versions. Ours were all based on an original design from Europe that was approved and then basically didn’t charge for 30 years. The European device was fucking cool and had so many features, it was also capable of being carried around rather than rolled. The manufacturing was almost all automated, too, but in the USA it was not at all automated, it was humans assembling parts then recording it in a computer terminal.

26. Kim_Br+ko2[view] [source] 2022-10-03 12:45:06
>>ok_dad+(OP)
Industrial control systems (sadly, imho) don't use Linux as often as they could/should, but such systems do have the ability to injure their operators or cause large amounts of damage of course. [1]

The first priority is safety, absolutely and without question. And then the immediate second priority is the fact that time is money. For every minute that the system is not operating, x amount of product is not being produced.

Generally, having the software fully halt on error is both dangerous and time-consuming.

Instead you want to switch to an ERROR and/or EMERGENCY_STOP state, where things like lasers or plasma torches get turned off, motors are stopped, brakes are applied, doors get locked/unlocked (as appropriate/safe), etc. And then you want to report that to the user, and give them tools to diagnose and correct the source of the error and to restart the machine/line [safely!] as quickly as possible.

In short, error handling and recovery is its own entire thing, and tends to be something that gets tested for separately during commissioning.

[1] PLC's do have the ability to <not stop> and execute code in a real time manner, but I haven't encountered a lot of PLC programmers who actually exploit these abilities effectively. Basically for more complex situations you're quickly going to be better off with more general purpose tools [2], at most handing off critical tasks to PLCs, micro-controllers, or motor controllers etc.

[2] except for that stupid propensity to give-up-and-halt at exactly that moment where it'll cause the most damage.

◧◩◪◨⬒⬓⬔⧯
27. kaba0+vp2[view] [source] [discussion] 2022-10-03 12:52:49
>>Gauntl+Qw1
Medical devices are insanely expensive (a CT scanner may reach a million dollars), you won’t risk $100 on such a small thing as a screen.
◧◩◪
28. Suzura+tx2[view] [source] [discussion] 2022-10-03 13:33:33
>>ok_dad+15
I am an American citizen and a former dialysis patient, now kidney transplant recipient. I have watched in-center dialysis machines reboot during treatment, show the old "Energy Star" BIOS logo, and then boot Linux...

Felt kinda bad until I thought about how well a "Linux literally killed me" headline would do on HN, but then I realized I wouldn't be able to post the article if I actually died. Such is life. Or death? One or the other.

◧◩◪◨⬒
29. voakba+cA2[view] [source] [discussion] 2022-10-03 13:47:30
>>ok_dad+qm
These were not peripherals. We are talking devices that would be front line in an emergency room. Terrifying.
[go to top]