Top.Mail.Ru

Мобильное приложение для медицинского осмотра.

Компания Квазар – ведущий про­из­во­дитель тер­ми­налов для ме­дицин­ско­го осмотра в России и СНГ.

Мы учас­тво­вали раз­ра­бот­ке кли­ент­ской части мо­биль­но­го при­ложе­ния для ме­дицин­ско­го осмотра.

Для чего нужно мо­биль­ное при­ложе­ние ме­дицин­ских осмотров

При­ложе­ние обес­пе­чива­ет вза­имо­дей­ствие между тер­ми­налом ме­дицин­ских осмотров и сервером. Терминал пред­став­ля­ет собой комплекс обо­рудо­вания для из­ме­рения па­рамет­ров здоровья человека: тем­пе­рату­ры, давления, пульса и наличия паров алкоголя. После вы­пол­не­ния из­ме­рений ре­зуль­та­ты пе­реда­ют­ся на сервер.

При­ложе­ние поз­во­ля­ет взять часть функций тер­ми­нала на себя: ав­то­риза­цию поль­зо­вате­ля, отоб­ра­жение данных и ре­зуль­та­тов из­ме­рений, ри­сова­ние подписи и другое. В отличие от прог­рам­мно­го обес­пе­чения тер­ми­нала, при­ложе­ние легко обновить через магазин при­ложе­ний.

Тех­но­логии

При ре­али­зации при­ложе­ния были ис­поль­зо­ваны BLE (Bluetooth Low Energy) и gRPC. В качестве SDK был выбран Kotlin Multiplatform, ис­поль­зу­емый для кросс­плат­формен­ной раз­ра­бот­ки.

gRPC поз­во­ля­ет пе­реда­вать данные между при­ложе­нием и сервером наиболее оп­ти­маль­ным образом в бинарном виде, ми­ними­зируя трафик, что повышает от­зывчи­вость при­ложе­ния и улучшает впе­чат­ле­ние поль­зо­вате­ля.
Бес­про­вод­ная тех­но­логия Bluetooth Low Energy ис­поль­зо­вана для передачи данных между тер­ми­налом и при­ложе­нием. Эта тех­но­логия сложна для ин­тегра­ции из-за проблем с ус­та­нов­кой связи между ус­трой­ства­ми.

Слож­ности и их пре­одо­ление

Практика показала, что стан­дар­тное API BLE на Android с не­кото­рыми ус­трой­ства­ми не работает, могут не ус­та­нав­ли­вать­ся связь и по­яв­лять­ся ошибки типа 101, 133. Иногда данные под­клю­чения могут сох­ра­нять­ся в кеше ус­трой­ства, что также может при­водить к не­вер­но­му по­веде­нию. Сбросить кеш блютуза просто так нельзя, так как в API Android нет дос­тупной функции. Для решения этой задачи была ис­поль­зо­вана биб­ли­оте­ка RxAndroidBle.

Для пре­одо­ления проблемы со­еди­нения с ус­трой­ства­ми в при­ложе­ние были до­бав­ле­ны нес­коль­ко попыток пов­торно­го ска­ниро­вания с тай­ма­ута­ми.