The patient vital signs monitor features a pulse oximeter and heart rate sensor. It consists of a sensor and a microcontroller. It communicates with the sensor, gets data from it and sends it via a USB cable to a computer.
Technologies used
Technological developments in medicine are allowing the development of newer and newer hardware and software, making it possible, for example, to carry out previously impossible procedures. In addition, as technology develops, we can create solutions that are safer and less invasive for the user. If you are interested in supporting the development of this type of software or solution, I encourage you to take a look at our sub-page on services for the medical industry.
Medical device software development is the core of our services and a unique specialty thus we have had the opportunity to work on these types of projects very often. As we are ISO 13485:2016 and ISO 9001:2015 certified, customers often turn to us for professional support.
In this case study, we would like to present a demo we created, which was inspired by one of our previous projects. The premise of this project, was to create a monitor of the patient’s vital parameters using an external sensor to collect data, and hardware with display to show them.
The idea for this demo was the popularity of solutions for monitoring patients’ vital signs. This type of monitoring can take place through a variety of methods. It can be geared more towards the diagnostic side, e.g. through systems used to analyze the patient’s blood to then read out the values of interest. More often, however, such systems use real-time data such as the patient’s pulse or blood oxygenation. In this type of system, it is extremely important to collect data with very high precision and frequency. In this way, we can be sure that our product meets all required standards and is safe for the patient. That’s why we decided to create an application presenting the closest product to the real one.
For this demo we assumed a scenario in which a sick patient lying in a hospital bed has a sensor attached to his finger that continuously analyzes his vital signs. This allows the attending physician to assess whether the treating therapy is improving the patient’s condition. In addition, he can also, for example, write the data to a database and then analyze it from a broader perspective.
This application monitors the data received through the sensor. The measurement is made by applying the patient’s finger to a non-invasive sensor, which then measures pulse and blood oxygenation. This data is then transferred to the app which displays the relevant values in real time and creates graphs.
As for communication with the device, the data is read using serial port over USB (I²C serial communication bus). Thus, the data is transmitted in real time. For drawing charts, we created our own custom element in QML, so we have the freedom to modify the appearance of the chart.
If the application detects a value of one of the parameters which deviates from the norm (e.g. blood oxygenation is too low or heart rate is too high), it displays an appropriate message. If the application is used in a real-life scenario, this type of notification could be used to, for example, automatically notify a nurse.
We decided to run our application on a tailor-made Android medical tablet. However, the application could also be run on, for example, an embedded Linux device. Or going further, it could be run on a custom Linux distribution based on Yocto Project.
The sensor for reading the data, we created using a homemade method, based on components we just happened to have on hand in our office. We try to keep our R&D department stocked with all kinds of electronics, so that if necessary, we can work on complex hardware in our office.
The sensor unit was built based on two components: a micro-controller ESP32 (Wemos S2 Mini) together with SparkFun Pulse Oximeter and Heart Rate Sensor – MAX30101 & MAX32664
As for the technologies used, we relied on a well-known technology stack consisting of C++ and Qt for the backend and QML for the presentation of the visual layer.
Using a combination of C++ and Qt for the application logic allows us to achieve high performance while maintaining code consistency and readability. In addition, ready-to-use Qt-a module significantly facilitates such things as communication with the sensor and reading data from it.
Thanks to QML used in the user interface, we were able to prepare a modern and eye-catching design, making this application stand out from others at the fair. In addition, the combination of logic written in C++/Qt along with QML is fabulously simple, thus saving development time.
One of the most important Qt module used in this project is Qt Safe Renderer. It is responsible for the safe and accurate rendering of critical health data, including heart rate, and oxygen levels. This module ensures that the displayed information is reliable and free from errors, even under fault conditions. In medical applications, such precision is vital for patient safety and effective decision-making.
Whats more, Qt Safe Renderer complies with key medical standards, including IEC 62304 for software life cycle processes, IEC 61508 for functional safety, and ISO 9001 for quality management systems. This ensures the accurate and reliable display of patient vital signs, making the module suitable for high-stakes medical applications and meeting stringent regulatory requirements.
If you are interested in cooperating with us within the medical industry then visit our medical industry website. At ScytheStudio we very often work on projects that combine the use of software with custom hardware. If, on the other hand, your project is at an early stage of development and you need support in, for example, developing requirements or creating appropriate diagrams, then we encourage you to take a look at our offer of consultations and workshops.
Recent projects
Application that works on embedded device and it purpose is to simulate the operation of a medical laser. The user can select one of the pre-prepared operations, or create their own with pre-set parameters. The application simulates the course of the procedure.
Cross-platform application designed to communicate with and control the Dobot Magician robotic arm. The operation of the robotic arm, is also assisted by a 3D model fully reflecting the position and alignment in real time of the physical model.
Medical application used to present a 3D model of the human brain and display information about its specific parts. We wanted the design to be pleasing to the user's eye and allow to easily interact with interface.