Client Background
A leader in medical device manufacturing for blood pressure and pain management. The company also provides healthcare solutions to enable healthcare infrastructure consisting of doctors, hospitals, patients, and healthcare support staff.
Project Overview
The primary requirement was to integrate the BLE-enabled medical devices with the mobile apps, so users could sync and view vital data securely in the cloud. The challenges included supporting multiple languages and Android phones, as well as testing multiple device variations. To tackle these challenges, we designed a modularized mobile app architecture with security features, automatic data sync, and defined data types. We rigorously tested the app across different devices, network conditions, and performance. We deployed a reliable solution that allowed users to track and monitor their health data easily.
Business Requirements
The client wanted to integrate their medical devices supporting BLE with their mobile apps. This would enable syncing all the vital data to mobile apps and to securely save the same in the cloud to help users see trends of their data. Client was aiming to help users manage their chronic health from the mobile app.
Challenge
- Client has multiple devices, and they would like to develop the solution so that it’s re-usable for future devices.
- Client sells devices across the world and has different SKU’s. This requires supporting multiple languages and reusing the code, screens, flows etc when devices are enabled for other countries.
- There is a wide variation of Android phones across the world. Challenge was to ensure that devices integrate with these phones and also support multiple versions of the OS supported on phones.
- Testing: We must test multiple devices with multiple variations of phones.
Solution
We ensure our solution is generic and reusable and tested thoroughly across multiple devices. The various phases that we incorporated for the successful delivery of the mobile app solution are as follows:
- Architecture Design
- We chose the Model-View-ViewModel (MVVM) pattern which is the most popular architecture of choice for developing native mobile apps as it provides separation of concerns, testability, and reusability. In the MVVM pattern, the model represents the data layer, the view represents the UI layer, and the view model acts as an intermediary between the two, providing business logic and data manipulation.
- Designed the mobile app’s architecture to support BLE communication, including integrating the CoreBluetooth framework and implementing the appropriate delegates and protocols.
- We used the modularized mobile app architecture, which is a design approach that organizes a mobile app’s features and functionalities into smaller, more manageable modules or components. Each module has its own set of responsibilities and can be developed, tested, and maintained independently from other modules.
- Considered the necessary security features, such as encryption and authentication, to protect the medical data transmitted between the devices and the mobile app. Mobile apps can be vulnerable to security threats such as data breaches, malware, and hacking. We ensure that the app is secure by implementing security measures such as encryption and secure login features.
- Ensured that the mobile app provided a user-friendly interface for connecting and pairing the medical devices, displaying device data, and controlling device settings.
- Development
- Library: We proposed and developed a reusable library that can be used for all the devices supported by the client. This ensures that we can reuse the core code for any future integrations with BLE enabled devices.
- Data Sync: We developed local storage on the phone. This ensures there is no data loss once it’s sent to the mobile app. From the mobile app data is synced to the cloud when the user has a good internet connection. This also helped users in countries where there is no cloud support.
- Automatic Sync: We developed automatic sync of data with the devices in addition to manual sync.
- Defining Data Types: Standardized data types for vitals we collected from the devices and synced with the cloud.
- Testing
- We followed several best practices in testing to ensure that the app functions as intended and provides a good user experience.
- We prepared and executed test cases to ensure each device is tested with multiple types of Android and iPhones having different OS versions. This helps to build an initial list of supported mobile phones. We continue to increase this list based on analytics collected from the field.
- We performed rigorous testing and validation of the system, including interoperability testing with multiple medical devices and various mobile OS versions.
Some key considerations that we usually include as part of the mobile app testing are:
- Device Compatibility: The app needs to be tested on a variety of devices and operating systems to ensure it functions correctly across different hardware and software configurations.
- Network Connectivity: The app needs to be tested under different network conditions, including poor or limited connectivity, to ensure that it can handle different network environments gracefully.
- Performance: The app needs to be tested to ensure that it performs well and is responsive, even under heavy loads or when running multiple tasks simultaneously.
- Security: The app needs to be tested to ensure that it is secure and protects user data, such as by encrypting sensitive information and preventing unauthorized access.
- Usability: The app needs to be tested to ensure that it is easy to use and intuitive and that it provides a good user experience.
- Functional Testing: The app needs to be tested to ensure that it meets all of its functional requirements, including testing all user flows and ensuring that all features and functions work as intended.
- Regression Testing: The app needs to be tested regularly to ensure that new changes or updates do not introduce new bugs or regressions that impact the app’s functionality or user experience.
- Deployment
We delivered a robust and reliable solution that allowed the health tech company to integrate their medical devices into their mobile app, enabling their users to easily track and monitor their health data. Mobile app deployment can be a challenging process, but with the right approach, we have overcome these challenges. Here are some points that we used to tackle some of the mobile app deployment challenges:- Multiple Platforms: Different platforms require different app formats and specific requirements. We need to understand the platform-specific requirements and develop the app accordingly.
- App Store Approval: App Store approval can be a daunting task, as they have strict guidelines for app submission. We need to make sure to follow their guidelines closely and test the app thoroughly to avoid rejection.
- Compatibility Issues: Compatibility issues can arise due to different device configurations, operating systems, and versions. We ensure that the app is tested on multiple devices and operating system versions to avoid compatibility issues.
- App Updates: App updates can be challenging as it requires thorough testing and deployment. We need to have a clear update plan and follow the guidelines for submitting updates to avoid any issues.
- User Feedback and App Performance: User feedback is crucial for app success, so we constantly ensure that we have a system in place to gather feedback and address performance issues quickly.
Results
We have expertise in working with medical devices and interfacing them with mobile apps. Here are some differentiators that we constantly focus on when it comes to mobile app development:
User Experience
Providing an intuitive and seamless user experience is crucial for any mobile app. We put a lot of thought in user experience design and continuously improved the app’s interface and features to enhance the user experience.
Performance
Mobile app performance is a critical factor in user engagement and retention. We optimized the app’s performance to ensure it runs smoothly and quickly on a wide range of devices. The app has received a rating of 4.7/5 based on feedback from 54.5 K users on Apple App Store & 4.4/5 based on feedback from 39.9 K users on Google Play, making it one of the most popular apps in its category.
Innovation
The mobile app market is highly competitive, and staying ahead of the curve requires constant innovation. We introduced new features and technologies continuously to enhance the app’s capabilities and stay ahead of the competition.
Customer Support
Mobile app users may face issues or have questions while using the app, and providing responsive and helpful customer support sets our company apart from the competition.
Tech Stack
Mobile SDKs
Programming languages
Bluetooth Low Energy (BLE) API
Connectivity
Database
Crash reporting
Analytics
In-App and Push messages
Development Environment
Backend