Wearable Blood Pressure Monitor Development
Cardiovascular diseases have become one of the leading causes of death among elderly people, which is why it’s so important to track your blood pressure dynamics. However, isolated changes in blood pressure don’t show the big picture. Moreover, some people get nervous when treated by a doctor, which leads to distorted results. Sometimes, doctors must monitor the blood pressure under natural conditions at varying times to make a diagnosis.
Since hospital staff can’t stay by the patient all the time, this task can be delegated to smart devices that automatically measure various health indicators and record the data on a computer.
A private hospital system asked Integra Sources to develop a wearable device for hospital in and out-patients. The device had to perform the following functions:
- to automatically measure the patient’s blood pressure, cardiac rate, and oxygen saturation;
- to transmit the data to the healthcare information system of the hospital in which doctors can study the indicators to make a diagnosis and assign a treatment;
- to track the patient’s location inside the hospital and call for emergency assistance with a push of a button.
Since the device was supposed to be worn for hours or even days, it had to be battery-powered and have low energy consumption.
Thus, our job was to create such a device and the necessary software.
Blood pressure monitor
The device is connected to a blood pressure cuff and a fingertip pulse-oximetry sensor with a hose and cables. The printed circuit board designed by Integra Sources controls a 12 V DC air pump motor that inflates the cuff. The PCB also receives data from the pulse sensor installed on the cuff and the pulse oximeter. The cuff also has a built-in motion sensor (with a 3-axis accelerometer and a 3-axis gyroscope) that can recognize the posture of the patient during measurements. This way, the doctor can see whether the patient is lying, sitting, or standing at the moment.
The monitor processes the data and sends it to the hospital server via BLE gateways, along with the unique ID associated with the patient who wears the device. In the case of a BLE network failure, the monitor stores the data in built-in flash memory that can be accessed directly by connecting the device to a PC through a USB port.
The customer wanted to use a waterproof enclosure, so the team decided to power the device with Li-Ion rechargeable batteries. The device can be charged with a 5 V power adapter through a USB-C port.
Unlike many similar solutions, the device doesn't have an LCD screen. We did that to lower the product cost. Since users can see all the data on a computer or a tablet, there is no need to duplicate this information on the device. As a result, it only has a low battery indicator, a day/night mode button, and a power on/off button.
Mobile application development
The customer wanted the device to be used both at hospitals and at home. Therefore, we were also tasked with developing a mobile application for tablets that aggregates the data from the blood pressure monitor.
The app can be connected to the device via BLE, after which it begins data receiving and recording.
The measurement results can be presented in a table. It shows time, blood pressure, heart rate, saturation, body position, and day/night mode over a selected period of time.
Alternatively, users can see the results as a graph. Measurements can be turned on and off as users see fit.
The application also allows users to manage notifications, set up measurement intervals and session duration, choose what vitals to monitor, and customize day/night cycles. Alternatively, the user can switch to day/night modes manually by pressing the device button.
The tables and graphs can be exported as PDF files, thus making it possible to use the device as a telemedicine solution.
The app was created in C++ using the Qt framework for the Android platform.
Initially, the customer wanted the device to have an emergency button. If a patient suddenly feels unwell, he or she could press the button and call for help. However, since the device was supposed to be worn under clothes, it would be difficult to find the button. Also, patients could accidentally push it. Lastly, a device with an emergency button can be useful for patients with all kinds of diseases, not just those with cardiovascular problems.
Our team discussed this with the customer, and it was decided to create a standalone device with an emergency button whose only function is to call for help.
Integra Sources had developed a similar device for another project – a medical bracelet that delivers assistance at the touch of a button. This experience was very helpful for our new project, although we decided to make it simpler to reduce production costs.
While the device we created for the other project can detect a patient’s fall with a built-in accelerometer and transfer data from a patient's personal weight scales and pressure gauge, the new bracelet performs only 2 functions:
- When the button is pressed, the device sends an emergency signal and its ID to the backend server of the hospital via BLE beacons.
- The server calculates the patient’s location so that the staff can send help.
Data aggregation and device configuration utility
Our software development team also created a utility program that aggregates the data transferred by both devices. It connects to the healthcare information system used in the customer’s hospitals through its API and transmits the data. Thus, the information gathered by the devices is automatically added to patients’ medical records.
The program also allows doctors to assign the IDs of the devices to particular patients and configure the wearable monitor, namely choose what indicators the device should record and set up the time intervals for blood pressure measurements during the day and night. Lastly, the utility allows users to retrieve the data gathered by the monitor when the device is connected to the PC via USB.
The program was written in C++ using the Qt framework.
The Scope of Work
- Schematics and PCB design
- PCB assembly, testing, and debugging
- Firmware development
- Software development
- The team used NRF52840 with BLE 5.3 support as the microcontrollers for the project.
- Altium Designer was used for schematics and PCB design.
- Firmware for the monitor and emergency bracelet was created in C++.
- FreeRTOS was used for firmware development.
- The utility software and mobile application were written in C++ using the Qt framework.
Integra Sources has created two wearable devices for healthcare.
The emergency bracelet allows hospital in-patients to call for help with the push of a button. The device transmits an emergency signal via BLE to the hospital staff console and locates the patient.
The wearable monitor automatically measures a person’s blood pressure, heart rate, saturation, and posture. This information is stored in the flash memory of the device and is sent via BLE either to the hospital’s healthcare information system or to the mobile application developed by our team. The monitor can be used both by healthcare institutions and regular consumers at home.
The app allows users to see measurement results, configure the monitor, export files, and transmit data to doctors.
Time between battery charges
I’m impressed with how deep Integra Sources dives into problems and solves them. They are resourceful, proactive, and know how to get things done. The team’s work is transparent so we could clearly see how our concept is being turned into a real product.
You might also like...
Aircraft Towing Protection System
The safety of the aircraft must be ensured both in the sky and on the ground. The system, which consists of parking sensors, a mobile app, and a web portal, helps to carry out aircraft towing safely.
Corporate Messenger Development
A corporate messenger for a large enterprise. The team developed a client and a server application, a Rest API responsible for additional functionality, data storage for messages and profiles, and dedicated file storage for media files.