- Gerry Dick
Leveraging IoT for Medical Device SoftwarePosted: Updated:
When you hear or read the term IoT, what comes to mind – the Internet of Things, the Indiana Office of Technology, something else, or nothing at all? All these answers are, of course, correct, depending on your perspective. And, I will have to admit, I did not know our state has an Indiana Office of Technology until I searched “Indiana IoT” and discovered so. (I would venture to guess that the Indiana Office of Technology was named before the term Internet of Things became popular.)
I expect a majority of the readers of Life Sciences Indiana have a working knowledge or even deep knowledge of IoT. For those that don’t, paraphrasing the Wikipedia definition, the Internet of Things is “the network of physical devices, vehicles, home appliances and other items that have connectivity which enables these objects to connect and exchange data. Each ‘thing’ is uniquely identifiable and is able to inter-operate within the existing Internet infrastructure.” All of your smart home appliances, like your Nest thermostat, smart electric plug, and Amazon Echo are considered IoT devices.
So, what is the connection between IoT and life sciences? The answer is medical device software that utilizes IoT. I was recently involved in the implementation of an Internet of Things (IoT) solution to manage a fleet of medical devices that perform diagnostic tests and push raw test data to the cloud. In this solution, a set of cloud-based services is responsible for receiving, storing, and calculating results from the raw data submitted by IoT devices. Unlike traditional medical devices, this solution moves the software intelligence for results processing, calculation, storage, and data management from the instrument hardware to the cloud. The benefits of this approach are many, including: reduced software complexity on the instrument, a simplified operator interface on the instrument, and greater access to data for users, for data mining, and for historical record keeping and reporting.
This project presented a unique opportunity to build and deploy some of the most crucial components of medical device software, including result calculation algorithms and specimen chain of custody tracking, in the cloud. There are a variety of challenges in implementing this logic in the cloud, including: data integrity between device and cloud, cybersecurity for cloud-resident software and data, scalability and performance when multiple IoT devices are communicating with the cloud, and the inability to “lock-down” (version control) the entire software stack in the cloud.
The implementation of the solution addressed these challenges through a risk assessment approach and created explicit requirements for the software for each of these challenges, and combined these cloud-specific requirements with the more traditional application behavior-specific requirements. This requirements-based approach drove software design decisions, and led to the creation of testing strategies to prove that the developed software met the challenges unique to deployment as a cloud solution.
Probably the most interesting aspect of the solution was designing a “self-aware” set of services in the cloud software to address the inability to control the versions of underlying cloud services software. In traditional medical devices, nothing about the device is allowed to change – hardware, operating system, third-party software, etc. If anything changes, the entire system may need to be re-verified, which is a lengthy and costly activity. To mitigate the fact that cloud vendors like Amazon, Google, and Microsoft can and do update the cloud software layers that this solution depends on, the “self-aware” services continuously monitor that key algorithms, like results calculation, are producing the correct results and are not affected by any changes to underlying software.
This entire project has been an incredible learning opportunity and has required creativity to apply and evolve traditional medical device software development techniques and processes to the world of IoT. Developing medical device software for an IoT environment is, without question, more difficult than developing for stand-alone systems. However, the benefits of connectivity and cloud-based software are so significant when compared to stand-alone systems, that the reward for doing so is worth the effort. I expect that the next few years will see an acceleration of IoT and cloud-based medical device software and that traditional stand-alone devices will soon be a thing of the past. This should be expected, as an ancient Greek philosopher once said, “change is the only constant in life”.
Brad Graves is Principal Project Manager at The RND Group.