Over the last decade I have been involved in several software projects for medical applications. This has ranged from a non-invasive diagnostic product all the way up to a full-blown life critical if-it-fails-the-patient-dies type device. As a result, I have also had some exposure to the business and regulatory environment one encounters when marketing a medical product, and have made a few observations there that I think are interesting.
The most interesting thing (in my opinion of course) is what could be called “distributed liability”. For many non-medical products, when a person is hurt because they were using the product, the manufacturer is directly liable. This may be more of an issue in the US, but it is true in the EU as well. For medical devices, this is not the case. The way things are set up, the utimate responsibility, and therefore liability, lies with the medical professional operating the device. For this reason, medical practitionars are extremely reluctant to accept automated systems making medical decisions. At the same time medical device manufacturers are extremely reluctant to accept liability, because a single system error replicated over many devices can easily result in a company-destroying avalanche of lawsuits.
The net effect of this is that, for all the fancy user interfaces, soothing colors and sexy design enclosures, are still nothing more than dumb terminals that do whatever the doctor tells them to do (Ok, this may not be totally fair to modern devices, which are, in some ways, much more advanced than in the past, but it also not that far from the truth).
In other words, there is huge potential for medical technology to significantly improve health-care, but it is impeded by the way liability currently works.
Unfortunately, there are no easy answers to remedy this situation. It would be great if manufacturers were confident enough in their products and engineering practices they could accept full liability, but that is simply not a realistic scenario. Mistakes are always made, and not always found. There are no methodologies available to engineers today to say with absolute confidence their product does not contain any systemic defects. And even if they are confident in their own work, they inevitably rely on the work of others that are not held to the same standard.
All this may change in the future, when things like Model Driven Software Development have matured enough that they can be applied to the full technology stack, from the device level all the way up to the User Interface. But given the slow rate of adoption of advanced practices in the engineering world, this is not going to happen for quite a while yet, if ever.