Invicta medical application is designed to research and treat sleep apnea. This solution encompasses all stages of collecting, storing, and analyzing patient data. TBR Group played a pivotal role in developing a mobile application that serves as a crucial link between a medical Bluetooth device and a data storage server.
The primary goal during development was to create a user-friendly and reliable mobile application. Despite its simplicity on the surface, the application needed to incorporate extensive business logic. This included seamless interaction with Bluetooth devices, continuous operation for extended periods, and efficient data storage and synchronization.
The application utilizes Bluetooth Low Energy to communicate with medical devices. Users interact with a few buttons and notification windows, such as pairing the device, checking the device's working status, or receiving a request to adjust the device's position on the body. Behind the scenes, the app automatically connects to the last known device, verifies its authenticity, checks for firmware updates, and performs many other tasks. It's much like using wireless headphones: you simply take them out of the box, put them in your ears, and your favorite music starts playing.
As the application runs, the medical device generates a large amount of data that needs to be securely cached and periodically synchronized with the backend. Despite implementing a mechanism for periodic data synchronization, we encountered an issue with RAM overflow when the application was active for extended durations. To address this, we analyzed and tested various NoSQL and SQL solutions, ultimately selecting the one that demonstrated trouble-free operation for the needs of the developed application.
We used Flutter to develop the Android and iOS applications for controlling medical Bluetooth Low Energy devices. To facilitate faster and more comprehensible development of various system modules, we utilized data models developed with Protobuf. For secure and uninterrupted operation, an encrypted SQLite database was implemented for local data storage.
BLE peripheral search
BLE device connection
Over-the-Air device firmware updates
Medical device battery level indication and status notifications
Data exchange with BLE devices using the UART protocol
iOS background modes
Android foreground service and battery saver disabling
Collection and caching of sensing data from the medical device
Data encryption
Data synchronization
Real-time display of medical measurement data
The developed solution makes significant contributions to the study and treatment of sleep apnea. Utilizing the latest technologies, we aim to simplify the lives of millions of people affected by this condition. Through a clear design and secure technologies, we have created
a mobile application that facilitates easier research and treatment
of sleep apnea.