mbed, source code, and Medical Devices

17 Sep 2010

I have recently completed one mbed project (a networked beer dispense monitor) and was very pleased with the way the networking and database (mySQL) components went together to provide the solution. The mbed forum, compiler, and component libraries were definitely a key to developing this system without re-inventing many major functions and interface drivers.

I now have the opportunity to start another project. This time it is a Class II biomedical device. I believe the mbed module would be a super choice as it will support data processing all the way from low-level I2C, SPI, and analog all the way to storing data on a remote mySQL server -- an end-to-end solution.

In the United States, the Food and Drug Administration (FDA) requires that software developers use strict design control procedures and prove that any software or firmware contained in a medical device has been thoroughly tested to the best of their ability. This activity is known as Verification and Validation (V&V). The V&V activity can be quite extensive for Class I and Class II devices which are devices which can potentially harm a patient should a malfunction occur. The V&V procedure requires that comprehensive tests be developed for complete code coverage. It is not uncommon for a biomedical product to have more lines of test code than application code. By now you may see where this is leading. In order to use the mbed component in a medical device, all source code must go through the formal V&V process.

Does the mbed project have any plans to make full source code available (not open source)  for this comprehensive V&V testing? Release to a specific company and specific application through an non-disclosure agreement (NDA) or other agreement would be acceptable for this use.

Douglas Wendelboe
DxNA LLC
http://www.dxna.com/

17 Sep 2010

http://mbed.org/users/lolpcc/notebook/gcc-and-mbed/comment/336

 

You may want to look here, we are working on getting gcc and the MBED board working

together, currently we have the ethernet, rs232, i2c and can bus going,  looking at the

SPI bus and USB currently, we are compiling against the CMSIS device libraries, so all

the source is available.

Below are some links to our web server, for the current state of the source, also the

base board we have developed for teaching here at the computer science department

 

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/baseboard_2.html

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/code/cmsis.zip

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/code/diags.zip

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/code/FreeRTOS.zip

17 Sep 2010

I think if you need V & V testing then maybe the mbed platform isn't the most appropriate tool to develop with.

17 Sep 2010

I'm not familiar with biomed V&V in the US or Europe, but for the stricter variants of DO-178 (aerospace) you need to document the design of the code, not just the code itself - which basically means *all* the code (including the library functions - printf etc) needs to be designed specifically, unless you purchase a set of tools that include that documentation. Basically a whole bucket of pain!

Also, In aerospace, any code that can potentially be run (i.e. every byte in the firmware) also has to be traceable to a line of documented, verified code. In the case of mbed, that would also include the interface processor (on the underside of the mbed) because certain run time events on the main mbed processor can trigger code on the interface processor (for filesystem access etc).

The other thing you may (or may not) need to worry about is the hardware design/documentation requirements. I can't remember what it's called (been a while) but there are similar verification and documentation requirements for the hardware design. As I recall, this was pretty painless for airborne electronics, but from what I've heard, a nightmare for space (satellite) electronics.

Good luck, and I feel your pain!

Hugo

22 Feb 2013