For the U.S. Network of Clinics
How the project commenced
The European company with more than 14 years of successful experience in custom software development faced the challenge of delivering a competitive solution to the U.S. healthcare services provider.
The client is an innovative solutions provider headquartered in the U.S. with development facilities in Israel and Belarus.
The provider needed a team of savvy professionals in R&D to come up with a sophisticated solution for the end-client, which is a network of clinics in the North American region.
In order to meet customer’s needs, it was vital to equip the system with a communication tool that would facilitate patients’ connection with medical professionals and vice versa.
A dedicated team conducted a research and found the best way to integrate a would-be developed solution with data-generating sensors to automate the processes of measuring body temperature, blood pressure, weight, glucose, the oxygen level in blood and more.
The developers overviewed 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 driven hardware devices were selected to implement central communication module or SNAs (Sensor Network Appliances).
The engineers split the development process into 2 major modules: Android and iOS apps and Web dashboard. These modules encompassed numerous components that the 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 delivered an algorithm for remote distribution.
Android and iOS Apps
The apps are designed for both patients and medical personnel. 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 gain advantages in receiving alerts and improving audio/video communication with patients.
Central app. Based on Android-driven SNAs, the app collects and initially analyzes medical data from various Bluetooth sensors and sends collected 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 get access to 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 periodically notifies and updates users on new commands pushed directly from the server or from doctor’s device through the server. It dispatches new commands 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-driven device.
1. UI administration tool. Provides useful functionalities to streamline healthcare delivery:
- Check-in and check-out of patients undergoing treatment
- Registration of SNAs (Sensor Network Appliances) and sensors used to gather statistical data on patients’ activities and health conditions
- Registration of staff
2. REST server to collect patients’ medical data. The sensors attached to patients collect medical data (e.g. blood pressure, movements, etc.) and send it to the measurements server. This server stores gathered data and provides an 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 the chart to report back the 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 following functionalities: aggregation of requests, grouping of data, NGINX server settings, optimization of queries and MySQL.
The innovative 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 developing chat server to enable real-time communication capabilities and allow easy and smooth doctor-patient remote connection throughout the course of treatment.
Techonologies & Tools
- SwiftGen, DeviceKit, Timepiece (General)
- Moya, SocketRocket, WebRTC (Network)
- Valet, CryptoSwift (Secure store)
- Charts, SVProgressHUD (UI)
|Open Source services & |