September 22, 2021

Thedevopsblog

DevOps, AWS, Azure, GCP, IaC

Building a Serverless Outbreak Management Solution with AWS Data Lab

This post was co-written by Dhruba Mondal and Shhalu Mittal of Erickson Senior Living and Rielah De Jesus

Erickson Senior Living is an owner, manager, and developer of retirement communities in the United States. We provide independent living, assisted living, and memory and skilled nursing care, managing 20 campus-style retirement communities in 11 states. Headquartered in Catonsville, Maryland, we employ 15,000 people for more than 27,000 residents.

The Erickson Senior Living network of managed communities has over 35 years of experience serving seniors. Over the past three decades, we’ve perfected our approach to helping people of retirement age enjoy their independence, free from the burdens of home ownership and maintenance by being innovators in how we develop and deliver services for seniors. One of our premier services is the Erickson Health Medical Group, which is one of the largest integrated health and wellness systems for mature adults in the United States.

At Erickson Senior Living, our residents’ health and safety is always a top priority. With the current issues health providers are facing around COVID-19, our most pressing goal is to track and manage information associated to an outbreak of disease. A COVID-19 outbreak in any community could cause extensive transmission. We needed a way to efficiently collect key COVID-19 metrics from our community to identify cases and keep them safe. To meet this challenge, we planned a new solution. It could be deployed rapidly to gather and analyze data to predict the impact to our residents, employees, facilities, and services. We realized we should capitalize on the agility and innovation that a solution in the cloud can facilitate, so we asked our AWS Account Team for support.

Working with the AWS Data Lab

We had a clear vision for building an outbreak management solution in the cloud with a small team of developers—what we needed was guidance and a framework to accelerate the build. The AWS team introduced us to the AWS Data Lab. It offers accelerated, joint engineering engagements between customers and AWS technical resources to create tangible deliverables that accelerate data and analytics modernization initiatives. Customers leave a Data Lab engagement with a custom prototype, a path to production, a deeper knowledge of AWS analytics services, and new relationships with AWS experts.

After presenting our use case, we embarked on a 4-Day Build Lab. The resulting outbreak management solution, called IDMS (Infectious Disease Management System), includes a web interface that allows Erickson Senior Living personnel to enter and manage COVID-19 cases and automate demographic integration for employees and residents.

Our solution: A web portal built with React and AWS Amplify

The customer's architecture for their web portal is shown on a black background

Figure 1. Web portal architecture

Before we had this application, it was difficult to collect COVID-19 incidents with over 60 intake personnel across all 20 communities. Originally, we were using spreadsheets and call logs as a means to share data, which created challenges around data quality and integrity. To provide a single source of for COVID-19 data, we built a web portal using React and AWS Amplify. We deployed the portal using Amazon Simple Storage Service (Amazon S3), Amazon CloudFront, and Amazon Cognito.

As shown in Figure 2, on the IDMS website, you can create a new entry for a Person Under Investigation (PUI), check the status of your case, in addition to displaying demographics, location, infection, and symptoms. All of the input data is loaded into Amazon DynamoDB. One key feature is an integrated lookup and search functionality using Amazon Elasticsearch Service (Amazon ES) and AWS AppSync. These incorporate employee and resident data from our on-premises applications. For example, an employee creating a PUI record is able to search for an employee name and select their records to auto-fill the form. This effectively reduced our data integrity challenge because we struggled with using manual tracking. This approach allowed our teams to accurately track the right individuals throughout our communities.

A screenshot of how to create a new PUI record on the IDMS website

Figure 2. Creating a new PUI record on the IDMS website

As shown in Figure 3, one important function that we needed in the portal was contact tracing. We needed a way to identify who had contact with the PUI in order to track and collect information about these contacts. To achieve this, we developed our PUI network data model using a graph database, Amazon Neptune. This allows us to define potential relationships between PUIs, employees, and residents and map out where the virus has traveled within the Erickson Senior Living communities. Contact tracing tremendously helped us identify the individual and decide if they needed to stay isolated or quarantined to stop the COVID-19 spread. While this application was being developed, a new need arose to quickly extend this model to record mass asymptomatic and symptomatic testing at our communities. Using the current architecture template, we were able to swiftly deploy the module to record COVID-19 testing results. Most recently, we effectively extended the application to include management of records from vaccination clinics throughout the communities by referencing the architectural pattern we developed in the AWS Data Lab.

All of the testing, vaccine, and PUI-related data are stored in a DynamoDB database. The database is accessible to downstream applications in the cloud and on-premises, which will facilitate operational reporting and supports future analysis such as predictive analytics and dashboarding.

The figure shows the customer-built contract tracing map

Figure 3. Contract tracing map

What we learned, where we are now, what our solution accomplished

Working with the AWS Data Lab helped us mobilize a small team of developers and implement an accelerated framework for building applications on AWS. We were able to use their expertise to help us understand how we can best use different AWS services to build out our IDMS solution. IDMS provided us with a simple web interface to streamline the intake process and allow for a central point for data entry. Before we started this endeavor, we did not have data available in a centralized repository. After we deployed IDMS, we have collected over 20,000 data points within the last few months. These can be used to generate COVID-19 insights to protect our Erickson Senior Living community.

By using AWS Managed Services such as AWS Lambda, DynamoDB, and Amazon ES to build a serverless application, we significantly reduced the development time. This helped us minimize overhead for managing and maintaining the application going forward. Working with AWS, we were able to develop solutions like contact tracing. We were unable to do this previously because we were only able to define these relationships manually. Having a central repository for this information and a way to model the social contact will help us predict the pathway of the virus. We can now use that intelligence to better protect our residents and manage operational facilities accordingly. The new application architecture allows self-reporting, which reduces call center personnel and collects data centrally for other applications or views. Better and more efficient data collection capabilities will enable future capabilities such as dashboards and analytics to support our business operations. This resulting application architecture now serves as a blueprint for building additional applications beyond the current COVID-19 use case.

With IDMS, Erickson Senior Living is doing their part to help prevent the spread of COVID-19 and protect our employees and residents and their families. We look forward to collaborating with AWS to empower our development teams and continue to help Erickson Senior Living provide a premier residential experience for our seniors.