Мобильное приложение для медицинского осмотра.
Компания Квазар – ведущий производитель терминалов для медицинского осмотра в России и СНГ.
Мы участвовали разработке клиентской части мобильного приложения для медицинского осмотра.
Для чего нужно мобильное приложение медицинских осмотров
Приложение обеспечивает взаимодействие между терминалом медицинских осмотров и сервером. Терминал представляет собой комплекс оборудования для измерения параметров здоровья человека: температуры, давления, пульса и наличия паров алкоголя. После выполнения измерений результаты передаются на сервер.
Приложение позволяет взять часть функций терминала на себя: авторизацию пользователя, отображение данных и результатов измерений, рисование подписи и другое. В отличие от программного обеспечения терминала, приложение легко обновить через магазин приложений.
Технологии
При реализации приложения были использованы BLE (Bluetooth Low Energy) и gRPC. В качестве SDK был выбран Kotlin Multiplatform, используемый для кроссплатформенной разработки.
gRPC позволяет передавать данные между приложением и сервером наиболее оптимальным образом в бинарном виде, минимизируя трафик, что повышает отзывчивость приложения и улучшает впечатление пользователя.
Беспроводная технология Bluetooth Low Energy использована для передачи данных между терминалом и приложением. Эта технология сложна для интеграции из-за проблем с установкой связи между устройствами.
Сложности и их преодоление
Практика показала, что стандартное API BLE на Android с некоторыми устройствами не работает, могут не устанавливаться связь и появляться ошибки типа 101, 133. Иногда данные подключения могут сохраняться в кеше устройства, что также может приводить к неверному поведению. Сбросить кеш блютуза просто так нельзя, так как в API Android нет доступной функции. Для решения этой задачи была использована библиотека RxAndroidBle.
Для преодоления проблемы соединения с устройствами в приложение были добавлены несколько попыток повторного сканирования с таймаутами.