Patient monitoring is a crucial tool for medical professionals to acquire the most accurate information on the physical condition of a person such as blood pressure, body position, temperature, or glucose level.
In a series of articles, we aim to present a full software patient monitoring solution which describes the challenges of system integration from a hardware and software perspective.
In the medical field, monitoring is the constant checking on a patient’s condition or phenomenon, either personally or by means of a mechanical monitor. The technique of monitoring vital processes and transmitting data without wires to a point remote from the subject is known as biotelemetry.
This first article will describe the requirements of the chosen components alongside with OS and software technologies that best fits the patient monitoring solution.
Components choices after setting the key objectives & requirements
The overall integration of the software and hardware layers is a key factor for the success of an embedded system project. For that reason, choosing the right components is a key decision.
Set and share your requirements
In order to make the right decisions you will have to think about your key expectations first.
In this case, our requirements are:
- Low power consumption: as our application could very well come in multiple flavors (full bed-side monitoring system or portable device)
- High CPU performance: in order to treat multiple sensors at once and being able to drive an advanced UI
- Hardware accelerated graphics: enabling us to build an attractive user interface along with multiple graphs depicting each sensor feedback
- Customer support: from the Silicon Vendor and/or its partners if need be
How to tackle the challenge of low consumption using ARM architecture
Microcontrollers would not allow us to easily develop a high-end graphical user interface. In terms of performance vs power consumption, the ARM architecture is a clear choice. In regard to CPU speed, a frequency equal or above to 800MHz would most likely do the trick. Lastly, we need OpenGL ES support (the version of OpenGL for embedded devices), as CPU rendering is not ideal to deliver a satisfying user experience.
Texas Instruments has been a big player for a long time when it comes to powerful, yet power-aware ARM System-on-Chip solutions. Looking at their various offerings, there’s a few which could match our requirements, and our choice is the AM437x. This processor is based on the Cortex-A9 architecture and paired with a PowerVR SGX530 GPU. For more information, visit http://www.ti.com/product/AM4379.
Decide for a hardware
The next decision we have to make is in regard to the actual hardware we want to start with. In other words, what is the reference design we should use. Due to the popularity of the AM437x, finding a development board is an easy task, provided we choose one with the required connectivity and ports for the application we want. Moreover, the AM437x is a stable and affordable development platform that can be used to develop a low cost and high-performance network application suitable for the patient monitoring solution. If you would eventually like to design your own hardware and prefer not to layout the processor and RAM directly on your PCB, TI has a myriad of partners they work with offering System-on-Module solutions. For this exercise, we will go ahead and use TI’s own Starter Kit: http://www.ti.com/tool/tmdxsk437x.
Choice of sensors – Luckily Arduino e-Health sensor platform
Another important decision in regard to the components is the sensors we are about to use and what information we want to monitor. We could obtain commercially available sensors individually, but this presents the drawback of having to investigate, and in some cases physically adjust, the sensors in order to connect them with the development board; not to mention having to figure out the protocol used to communicate between the modules.
Fortunately, a kit developed for the Arduino platform is available: the e-Health Sensor Platform. This set contains the following sensors:
- Pulse
- Oxygen in blood (SPO2)
- Airflow (breathing)
- Body temperature
- Electrocardiogram (ECG)
- Glucometer
- Galvanic skin response (GSR – sweating)
- Blood pressure (sphygmomanometer)
- Patient position (accelerometer)
The signals for each sensor have been conditioned for the Arduino platform that will communicate with the AM437x. To understand the communication protocol for each sensor, the source code provided with the kit is an invaluable resource.
Software stack solution including OS and graphical framework
Once the basic hardware is selected, we need to make sure there is software available to support it.
Set your objectives for the OS
The set of requirements for our operating system are the following:
- It needs to be well-supported, not only now but for years to come
- It has to offer a good choice of software technologies helping us develop our application
- It needs to allow for real-time capability
- Low cost is better
- Fast boot time is preferable
- Of course, it needs to be available for the AM437x
At TI’s AM437x web page, the following operating systems are listed as supported:
- Neutrino
- Integrity
- Windows Embedded CE
- Linux
- VxWorks
- Android