How to validate a software medical device running on web browsers?
Your company develops medical web apps (HTML/JS, HTML5 or any other client-side technology) and your customers would like them to run on every web browser.
Web browsers are SOUP, according to IEC 62304. In case of Chrome and Firefox there are dozens of versions...
Does it mean that software has to be tested - and documented - with every single browser and every single version of the browser?
That's a nightmare!
It's simply not possible to test every combination of browsers versions, all the more combined with OS versions.
There are roughly 3 solutions that can make things more simple:
1. Assess what software class is the code on the browser side
Is it possible to have it in class A, while the server side is in class B or C? If so, it would decrease the burden. No tests requirements for class A in IEC 62304 standard and less risks management, even if tests are still required at medical device system level to verify and validate it.
2. Reduce the number of supported versions of OS and browsers
Eg: Win 7 or higher, Mac 10.6 or higher, IE 9.x or higher, Safari 5.x or higher, Firefox 14.x or higher, with :
- tests made on the combinations of OS x Browsers in their lowest accepted versions.
- a quality procedure of surveillance of all new versions of SOUP,
- and an assessment of the release notes or change logs to ensure that they are still compatible with your web site.
Provided that release notes and change logs are available on time.
3. Verify on the client side on which browser+OS the code is running
If this is an unsupported version, display an error to the user and a link to a page with supported versions + hotline number.
There might be other solutions. But none of them is magic.
There is no golden rule, we are constrained by 8.1.2 of IEC 62304 standard, which requires to identify the version of SOUP + various paragraphs in chapter 7, especially 7.1.3 and 7.4.2, which require to assess risks related to SOUP.
Tools like Browserstack or Selenium can automate the testing. So it's possible to test a lot of versions in a short time. But they're time-consuming. It's a lot of energy spent to test every new browser version when versions are released almost every week.
Automated testing doesn't change the root cause of the problem - floating configurations. Thus the idea of limiting the number of supported versions.