Monitor parametrów życiowych pacjenta jest wyposażony w pulsoksymetr i czujnik tętna. Składa się z czujnika i mikrokontrolera. Komunikuje się on z czujnikiem, pobiera z niego dane i przesyła je kablem USB do komputera.
Technologie
Rozwój technologiczny w medycynie pozwala na opracowywanie coraz to nowszego sprzętu i oprogramowania, umożliwiając przykładowo przeprowadzanie wcześniej niemożliwych procedur. Ponadto, wraz z rozwojem technologii, możemy tworzyć rozwiązania, które są bezpieczniejsze i mniej inwazyjne dla użytkowników. Jeśli jesteś zainteresowany wsparciem tworzenia tego typu oprogramowania lub rozwiązań, zachęcam do zapoznania się z naszą podstroną poświęconą usługom tworzenia oprogramowania dla urządzeń medycznych.
Tworzenie urządzeń medycznych jest rdzeniem naszych usług i unikalną specjalizacją, dzięki czemu bardzo często mieliśmy okazję pracować nad tego typu projektami. Posiadamy certyfikaty ISO 13485:2016 i ISO 9001:2015, dzięki czemu klienci często zwracają się do nas po profesjonalne wsparcie.
W tym opracowaniu chcielibyśmy zaprezentować stworzone przez nas demo, które zostało zainspirowane jednym z naszych poprzednich projektów. Założeniem tego projektu było stworzenie monitora parametrów życiowych pacjenta przy użyciu zewnętrznego czujnika do zbierania danych i sprzętu z wyświetlaczem do ich wyświetlania.
Głównym powodem powstania tego demo była popularność rozwiązań do monitorowania parametrów życiowych pacjentów. Ten rodzaj monitorowania może odbywać się za pomocą różnych metod. Może być nastawiony bardziej na stronę diagnostyczną, np. poprzez systemy wykorzystywane do analizy krwi pacjenta, a następnie odczytywania interesujących wartości. Częściej jednak takie systemy wykorzystują dane w czasie rzeczywistym, takie jak puls pacjenta lub natlenienie krwi. W tego typu systemach niezwykle ważne jest zbieranie danych z bardzo dużą precyzją i częstotliwością. W ten sposób możemy być pewni, że nasz produkt spełnia wszystkie wymagane standardy i jest bezpieczny dla pacjenta. Dlatego też postanowiliśmy stworzyć aplikację najbardziej zbliżoną do rzeczywistego rozwiązania.
W tym demo założyliśmy scenariusz, w którym chory pacjent leżący w szpitalnym łóżku ma przymocowany do palca czujnik, który stale analizuje jego parametry życiowe. Pozwala to lekarzowi prowadzącemu ocenić, czy zastosowane leczenie poprawia stan pacjenta. Co więcej, może on również np. zapisywać wyniki do bazy danych, a następnie analizować je z szerszej perspektywy.
Aplikacja ta monitoruje dane otrzymywane przez czujnik. Pomiaru dokonuje się poprzez przyłożenie palca pacjenta do nieinwazyjnego czujnika, który następnie mierzy puls i natlenienie krwi. Dane te są następnie przesyłane do aplikacji, która wyświetla odpowiednie wartości w czasie rzeczywistym i tworzy wykresy.
Jeśli chodzi o komunikację z urządzeniem, dane są odczytywane za pomocą portu szeregowego przez USB (magistrala komunikacji szeregowej I²C). W ten sposób dane są przesyłane w czasie rzeczywistym. Do rysowania wykresów stworzyliśmy własny niestandardowy element w QML, dzięki czemu mamy swobodę modyfikowania wyglądu wykresu.
Jeśli aplikacja wykryje, odbiegającą od normy, wartość jednego z parametrów (np. zbyt niskie natlenienie krwi lub zbyt wysokie tętno), wyświetli odpowiedni komunikat. Jeżeli aplikacja jest używana w rzeczywistym scenariuszu, ten rodzaj powiadomienia może być wykorzystany na przykład do automatycznego alarmowania pielęgniarki.
Zdecydowaliśmy się wdrożyć naszą aplikację na dostosowanym do potrzeb tablecie medycznym z systemem Android. Niemniej jednak, aplikację można również uruchomić na przykład na wbudowanym urządzeniu z systemem Linux. Ponadto można ją uruchomić na niestandardowej dystrybucji Linuxa opartej na projekcie Yocto.
Czujnik do odczytu danych stworzyliśmy w warunkach domowych, w oparciu o komponenty, które akurat mieliśmy pod ręką w naszym biurze. Staramy się utrzymywać nasz dział badawczo-rozwojowy zaopatrzony we wszelkiego rodzaju elektronikę, aby w razie potrzeby móc pracować nad złożonym sprzętem w naszym biurze.
Jednostka czujnika została zbudowana w oparciu o dwa komponenty: mikrokontroler ESP32 (Wemos S2 Mini) wraz z pulsoksymetrem SparkFun i czujnikiem tętna – MAX30101 i MAX32664.
Jeśli chodzi o zastosowane technologie, polegaliśmy na dobrze znanym połączeniu składającym się z C++ i Qt dla backendu oraz QML do prezentacji warstwy wizualnej.
Wykorzystanie połączenia C++ i Qt dla logiki aplikacji pozwala nam osiągnąć wysoką wydajność przy zachowaniu spójności i przejrzystości kodu. Dodatkowo, gotowy do użycia moduł Qt-a znacznie ułatwia takie rzeczy jak komunikacja z sensorem i odczytywanie z niego danych.
Dzięki QML zastosowanemu w interfejsie użytkownika byliśmy w stanie przygotować nowoczesny i przyciągający wzrok design, wyróżniający tę aplikację spośród innych na targach. Dodatkowo, połączenie logiki napisanej w C++/Qt wraz z QML jest bajecznie proste, oszczędzając tym samym czas tworzenia.
Jednym z najważniejszych modułów Qt wykorzystanych w tym projekcie jest Qt Safe Renderer. Odpowiada on za bezpieczne i dokładne renderowanie krytycznych danych zdrowotnych, w tym tętna i poziomu tlenu. Moduł ten zapewnia, że wyświetlane informacje są wiarygodne i wolne od błędów, nawet w sytuacjach awaryjnych. W zastosowaniach medycznych taka precyzja jest niezbędna dla bezpieczeństwa pacjentów i skutecznego podejmowania decyzji.
Co więcej, Qt Safe Renderer jest zgodny z kluczowymi standardami medycznymi, w tym IEC 62304 dla procesów cyklu życia oprogramowania, IEC 61508 dla bezpieczeństwa funkcjonalnego oraz ISO 9001 dla systemów zarządzania jakością. Zapewnia to dokładne i niezawodne wyświetlanie parametrów życiowych pacjenta, dzięki czemu moduł nadaje się do zastosowań medycznych o wysokim ryzyku i spełnia rygorystyczne wymogi regulacyjne.
Jeśli jesteś zainteresowany współpracą z nami w zakresie branży medycznej, odwiedź naszą stronę poświęconą branży medycznej. W Scythe Studio bardzo często pracujemy nad projektami, które łączą wykorzystanie oprogramowania z niestandardowym sprzętem. Natomiast, jeśli Twój projekt jest na wczesnym etapie rozwoju i potrzebujesz wsparcia np. w opracowaniu wymagań lub stworzeniu odpowiednich diagramów, to zachęcamy do zapoznania się z naszą ofertą konsultacji i warsztatów.
Ostatnie projekty
Aplikacja medyczna służąca do prezentacji modelu 3D ludzkiego mózgu i wyświetlania informacji o jego poszczególnych częściach. Chcieliśmy, aby projekt był przyjemny dla oka użytkownika i pozwalał na łatwą interakcję z interfejsem.
Aplikacja medyczna działająca na urządzeniu wbudowanym, której celem jest symulacja działania lasera medycznego. Użytkownik ma do wyboru jedną z gotowych operacji lub stworzyć własną z ustawionymi indywidualnie parametrami. Aplikacja symuluje przebieg procedury.
Cross-platformowa aplikacja przeznaczona do komunikacji i sterowania ramieniem robotycznym Dobot Magician. Działanie ramienia jest również wspomagane przez model 3D w pełni odzwierciedlający pozycję i ustawienie fizycznego modelu w czasie rzeczywistym.