For the U.S. Network of Clinics
The customer is the healthcare solutions provider headquartered in the U.S. with development facilities in Israel and Belarus.
The customer needed a team of savvy professionals in R&D to develop and deliver a sophisticated solution for the end client, which is a network of clinics in the North American region.
In order to meet the customer’s requirements, it was vital to equip the system with a communication tool, integrated back-end, and intuitive design to facilitate the connection between patients and medical professionals.
The dedicated team conducted a research and picked the best way to enable data aggregation from different data-generating sensors, data handling and further automation of the processes of measuring body temperature, blood pressure, weight, glucose, the oxygen level in blood, etc.
The developers have reviewed and analyzed relevant existing approaches and frameworks and picked WebRTC technology as the best one for voice/video P2P platform-independent communication implementation. Several Android-powered hardware devices were selected to implement central communication module or SNAs (Sensor Network Appliances).
The development process was split into 2 major modules: the building of apps for Android and iOS devices and the Web dashboard creation. These modules encompassed numerous components that the engineering team had to develop from scratch.
Stabilization and Deployment
The experts carried out extensive work optimizing some project components: developed several solutions to stabilize a high-load system, created a chat server and provided an algorithm for remote distribution.
Android and iOS Apps
The apps are designed for both patients and medical staff. Gradle flavors are leveraged to build apps’ variations fully compatible with different screen sizes: wide screen (for doctors), tablet (for nurses) and smartphone (for healthcare services users). Patients can smoothly access numerous sensors in order to monitor data and synchronize it with the server. Medical staff members get advantages in receiving alerts and improving audio/video communication with patients.
Central app. Based on Android-powered SNAs, the app collects and analyzes medical data from various Bluetooth sensors and sends the data to the server that runs in the background on a patient’s stationary device.
Communication app. This app is used to display the list of patients and loads of medical data including history graphs and updating measurements from Bluetooth sensors. It also allows medical staff members to make video/voice calls. The app is compatible with standard phones and tablets.
Home app. Installed on a stationary device, the app enables patients to request healthcare services. Alternatively, it can be used on TV screens through connected on SNAs or personal mobile devices.
“Relatives” app. By using this app, relatives can access patient’s data and video/voice call services. It has limited capabilities as compared to the one intended for medical stuff.
“Heartbeat” module. This module sends notifications and updates users on new recommendations pushed directly from the server or from a doctor’s device through the server. It dispatches new recommendations to appropriate modules and provides the server with the list of project components installed on user’s devices.
This dashboard assists medical professionals in monitoring the overall status of patients drilling down on personal medical data. It sends alerts on poor health indicators and maintains the doctor-patient connection. The central communication module is built upon a TV-connected Android-powered device.
1. UI administration tool. Provides useful functionalities to streamline healthcare delivery, such as:
- Check-in and check-out of patients undergoing treatment
- Registration of SNAs (Sensor Network Appliances) and sensors used to gather statistical data on patient’s activities and health conditions
- Registration of staff
2. REST server to collect patient’s medical data. The sensors collect medical data (e.g. blood pressure, movements, etc.) and send it to the measurements server. This server stores gathered data and allows using API to fetch it.
3. Chat server. The web interface enables easy doctor-patient communication. At home, a patient owns a TV equipped with connected SNA. To contact a patient, a doctor makes a call by using a web browser. The patient has this incoming call displayed on the TV and can accept the call.
4. Report server. Patient’s medical data can be processed and presented graphically. The Report server sends a request for patient’s measurements to the API server and then processes the data and draws up a chart to report back some visualized results. Any changes in patient’s health condition are fixed in the chart for a doctor to monitor the efficiency of patient’s treatment.
5. Survey builder server. The server assists medical professionals in keeping patients informed of the efficiency of treatment and other changes. It sends out medical surveys that can be generated both automatically or manually.
Tech Stack & Approach
All components were developed from scratch to bring together complex tech back-end, user-friendly design, and industry specifics. As a result, the solution was successfully crafted and delivered to a number of the U.S. clinics.
The development team optimized the measurement API server and decreased the load on the system by introducing the following features: aggregation of requests, grouping of data, NGINX server settings, optimization of queries and MySQL.
The solution for remote software deployment to SNA devices enables the distribution order of install, delete and update commands as per specifics of Android OS by building a queue of commands and sending them to the devices.
The developers leveraged WebRTC technology for the development of the chat server to enable real-time communication capabilities and allow easy and smooth doctor-patient remote connection in the course of treatment.
Technologies & Tools
- SwiftGen, DeviceKit, Timepiece (General)
- Valet, CryptoSwift (Secure store)
- Moya, SocketRocket, WebRTC (Network)
- Charts, SVProgressHUD (UI)
- Bluetooth Kit (Bluetooth)
|Open Source services & |