The healthcare industry is experiencing rapid growth and transformation, driven by technological advancements and changing consumer preferences. Global healthcare spending exceeded $8 trillion in 2020 and is projected to continue rising. Digital investments surged to $57 billion in 2021, with a significant focus on telehealth and mental health. Moreover, there has been a surge in the number of digital health startups, with tech giants like Amazon expanding their presence into healthcare.
One of the driving forces behind this transformation is the shifting behavior and preferences of healthcare consumers. Patients are increasingly seeking convenient, accessible, and personalized healthcare solutions. As a result, there has been an increase in the use of telemedicine, wearable devices, and health apps, allowing individuals to monitor their health remotely and take proactive measures to manage their well-being.
Governments are spearheading initiatives to modernize the healthcare system, aiming to eliminate paperwork and increase the use of digital technologies. Investments in digital IT, such as IoT in medicine, are on the rise, revolutionizing patient care through real-time data collection and remote monitoring.
As the healthcare industry evolves, digital innovation plays a vital role in improving access to care, enhancing patient engagement, and driving better health outcomes worldwide. In all, we at Jetbase are proud to be part of this global transformation by developing innovative healthcare IT projects.
In this article, we are glad to share our case study — a medical web and mobile app development project — in detail, highlighting encountered issues, development solutions, all based on a serverless architecture from AWS. Please, enjoy the reading and don't hesitate to share if needed.
About the Project
Our project integrates a mobile and web Health Care Solution with modules such as Remote Patient Monitoring (RPM) and Chronic Care Management (CCM).
The RPM Solution provides clinics with a web platform for close-to-real-time patient monitoring and predictive analysis. It gathers data readings from healthcare devices connected to IoT.
The CCM is another module in which providers for clinics can prescribe medicine, set health and personal goals, track allergies, and more. Both modules streamline administrative tasks and securely store data.
From the user experience perspective, the web platform allows doctors and other medical workers to monitor patients' health in real time. It also tracks doctors' activities, stores all data reports in the system, and facilitates bill payment. Meanwhile, the mobile app enables patients to remotely monitor their health in real-time, extending to family members for efficient care.
Together, these web and mobile development solutions bridge healthcare providers and patients, enhancing remote healthcare management. Keep reading to learn how we at Jetbase launched the project and have continued to improve it to this day.
Client's Inputs and Objectives
The client is a provider of healthcare devices to clinics. They approached us about 3.5 years ago to continue to work on existing software connected to devices dedicated to calculating invoices based on readings.
The client's goal was to create a mobile application for patients using these devices and a web application for medical workers and clinic administrators to track patient conditions and staff work. It was also important for the client that the project could scale in the future.
As of today, all initially set goals have been achieved — the project is in a launched state and continues to evolve. The goal for the future is to transition the project into a Software as a Service (SaaS) product and release it to the open market.
Our Project Involvement (What Did We Do — Step by Step)
First and foremost, we created an MVP — minimum viable product. Then, we conducted testing, fixed bugs. All of this took about 7 months. It was during the testing phase that helped shape the product into its current form. Overall, we helped the client scale and launch the product, and we continue to support its development to this day.
Together with the client, we continue to improve the product. One of the enhancements includes the implementation of AI. For example, in a situation where critical data is received and a quick response is required, our connected service allows for the pre-writing of a text response.
This involves using available data within the system, such as full name and clinical situation, as well as template phrases for greetings and farewells. However, the essential information is always verified by the doctor before sending it to the patient. Thus, AI and humans work together.
Recently, we also added a feature for sending SMS messages, and we are currently enhancing it. Specifically, we are creating a dashboard that allows the doctor to access patient data and, if necessary, send a message without leaving the browser (see illustration above).
There is another AI service that we implemented at the client's request. This is a service for evaluating the tone of voice in messages. It is important to assess the quality of communication between medical professionals and patients.
What Features Were Implemented
We are still in the process of implementing new features, but here is a list of the ones that have already been implemented and tested:
Why We Have Chosen AWS Serverless Lambda Services for This Healthcare Project
The choice of AWS Lambda was evident because, in this case, you pay only for the seconds and megabytes you use. And if there is no activity, you don't pay. Also, you don't have to pay for the server, so you don't have to worry about it because AWS controls it automatically. It's undemanding and can handle more than a hundred requests. Due to the on-demand feature of AWS Serverless, we don't have to think about loads. Of course, after some point, we might hit the limits, but that will be another story.
There are also downsides. Here is what our Jetbase expert says about them and about the choice of AWS Serverless in general:
“On the chosen path, there will always be upsides and downsides. So, downsides of the serverless AWS Lambda are its limits. For example, it has a limit of 15 minutes for running, which means if you have some process that runs more than 15 minutes, then you are stuck. You need to think and find a workaround, such as splitting the process if possible, or you can consider using AWS Fargate, also a serverless computing engine, or some other solutions. Another downside is that AWS Lambda has limits on memory as well. So, depending on the feature you are going to implement, you should know these limits and tackle them…“
Shuhrat B. Full Stack Developer, Team Lead at Jetbase
In our journey, we encountered several challenges, one of which was the processing of reports. With a large number of active users generating and sending reports, the process became time-consuming and exceeded the 15-minute limit. To overcome this obstacle, we turned to Amazon's Simple Queue Service (SQS), a powerful tool that proved to be a game-changer.
Our solution involved splitting the reports and creating a message in the SQS for each active user. At the other end of the queue, we implemented a handler that would process and send reports for individual users. This approach significantly reduced the processing time report generation for users, ensuring that no report took longer than 15 minutes to generate and send. As we did not have a strict time range on sending those reports, this chosen way satisfied us and our client.
By leveraging SQS, we were able to streamline our report processing workflow and improve the overall efficiency of our system. This experience highlighted the importance of exploring and utilizing the various services offered by Amazon Web Services to overcome challenges and optimize performance in our projects.
Some pros and cons of AWS serverless server for your Healthcare IT project
AWS serverless services are beneficial for your healthcare web development project because:
- It's cost-efficient — need to pay only for resources used, measured in seconds and megabytes.
- It's scalable — the beauty of automated scalability cannot be overstated, as resources are allocated based on demand, ensuring optimal usage.
- Infrastructure can be managed — AWS handles server maintenance and scaling, reducing operational burden.
However, there are factors to consider when using AWS serverless services for your Healthcare IT project:
- Resource limitations — some tasks have time constraints, potentially limiting continuous or long-running processes.
- Latency concerns — complex operations or large-scale data processing tasks may encounter some delays.
- Dependency on AWS systems globally — Reliance on AWS services may lead to vendor lock-in and limited flexibility in the long term.
Despite the drawbacks, we prefer to choose AWS serverless for healthcare IT projects because years of experience have shown its efficacy and stability.
How the Infrastructure Building Process was Conducted
At the beggining of the project, the client outlined several key requirements. For example, they expressed the need for immediate notifications when a patient registers — that enables prompt dispatch of devices.
Regarding the choice of architecture, the client could provide input, but we suggested our own version. For instance, to handle high volumes of readings and actions (such as calls and comments), we proposed imple
As depicted in Diagram, doctors can initiate phone calls from the dashboard — in this case Amazon Connect SDK will be launched to connect patients with medical specialists. It is crucial for us to track the call details such as duration for billing calculations and call transcription to analyze patient satisfaction.
Our system must accurately track and record calls, achieving close to 100% accuracy, as this is a critical function. Therefore, as a team, we recommended employing a queue approach to gain control over the system, enabling features like retry on failure or saving failed messages for later action.
What Services Were Integrated Into the Project
In the project, there are so many integrations with other services that it's impossible to list them all. Here are just a few of them:
Twilio — an SMS service used for sending messages to users. Monday — a user registration service. Tray — used to automate workflows, such as sending reports. Stitch — an ETL (Extract, Transform, Load) service for integrating and processing Big Data. While we facilitate integration with Stitch, they also provide their own tool for data retrieval and analysis. Azure ChatGPT — a service utilized to analyze readings and provide comments. Auth0 — an authorization and authentication service. Files.com — a service for file storage and reporting.
How We Worked With Healthcare IoT Devices for Data Tracking
The essence of the project revolves around transmitting data from healthcare devices through the server to the applications. These filtered data are then accessible to both doctors and patients, as well as clinic agents and insurers, who need to have an overview and receive reports.
Data transmission occurs in close to real-time, allowing medical personnel to intervene promptly in case of emergencies. It also helps patients save time and money they would typically spend traveling to clinics and medical facilities.
In our case, various devices were connected, such as:
— Remote patient monitoring — Blood Glucose Monitors — Fall Detection Devices — Pulse Oximeters — Blood Pressure Monitors — Smart Thermometers — Fitness Trackers — Weight — Sleep Matt
We didn't encounter any issues with their integration, except perhaps with the synchronization of reading collection times. For example, some devices sent data according to the patients' time zones, while others used UTC. We had to resolve this issue to ensure data accuracy.
In terms of organizing and storing data, we utilized Amazon DynamoDB, which scales according to the volume of data, whether it's less or more, without compromising system efficiency. There is no waiting time for adaptation. Whole flow and architecture is demonstrated in the diagram.
Another service we integrated for convenient data management is Elasticsearch, which helps quickly find specific readings or any other data. The service also assists in analyzing data intelligently and swiftly.
IoT offers real-time data monitoring and tracking capabilities, enabling healthcare apps to provide timely insights into patients' health conditions. By integrating IoT technology, healthcare apps can enhance remote patient monitoring, improve treatment adherence, and facilitate early detection of health issues, ultimately leading to better patient outcomes
What Were the Issues on Developers' Side
Certainly, we faced some challenges. We're not afraid to discuss them because they've all been resolved. For example, as mentioned earlier, we encountered difficulties with the synchronization of reading collection times. It was imperative to address this issue to ensure data accuracy.
— Readings capture delay
Furthermore, due to device latency, we began receiving some readings very late, sometimes even readings from the previous week. This caused confusion among both doctors and patients, as readings received today were displayed as today's readings, despite being taken a week earlier.
— Incoming call issues
We encountered issues with inbound calls from unknown phone numbers (i.e., phone numbers not registered in our system). In such cases, we developed a solution to track these calls by patient ID, which doctors or agents can implement during the call. Consequently, we have established a semi-automated process for tracking calls from unknown numbers and are still working on resolving the issue.
— Data loss issues As the number of active patients increased, we encountered issues with losing some readings. Unexpected errors occurred, preventing us from transforming the reading data and displaying it in the user interface.
— Report distribution issues
We also faced challenges with report distribution. Initially, only 30-50 out of 500 clinics were receiving reports. However, we have since resolved this issue, and now all reports are distributed on the 1st of each month. Although this process still takes time—from early morning until 6 in the evening, about 4-5 hours — it is accomplished within a single working day. If the number of clinics exceeds 500, we will address the situation accordingly.
Regarding patients, there are tens of thousands, and we have successfully managed to send reports to all of them within a single day. Furthermore, our client is satisfied even if there are several days of delay.
Conclusions
We hope our case study article has been helpful for you. We aimed to provide transparent information about the creation of our digital healthcare solution for the IoT system, detailing the challenges we encountered and how we overcame them. Additionally, we outlined the services we utilized and explained why we chose AWS Lambda serverless services for our medical web development project.
With many years of experience in the field of healthcare development, we understand the intricacies and complexities of building robust and scalable solutions. If you're considering embarking on a medical project or need assistance with healthcare software development, we're well-equipped to offer our expertise and support. Feel free to reach out to us for consultation and collaboration on your next healthcare innovation journey.
And if you need further guidance on healthcare development, please note that we have a specially crafted 'Healthcare Development Cost 2024' guide that will help you gain insight into budgeting and investments.