July 30, 2021

Focus on scaling and performance.

From the very beginning of the COVID pandemic, Way to Health (W2H) has worked with Penn Medicine to implement numerous remote-monitoring programs across the health system. In implementing these programs, we scaled the number of people enrolled in a W2H program exponentially - going from ~70,000 to ~875,000 participant accounts in one year. This was a massive accomplishment for W2H, but it also meant that we needed to scale the platform to accommodate the change in user volume. Therefore, we focused our efforts in July 2021 on improving W2H performance at scale.

The most impactful change we made was the incorporation of Scout APM to help us troubleshoot slow pages and backend operations. We were able to identify areas in W2H that needed improvements, and map out which issues to focus on for the month. Many of these performance improvements helped us speed up user access to data-heavy pages in W2H, as well as increase the speed at which data is processed in our queues. We plan to continue using Scout APM to monitor W2H’s performance, and to make further improvements as needed.

Below is a summary of the enhancement work and bug fixes completed in July 2021.

Enhancements

  • Performance

    • Implement Scout APM for the platform

    • Scale start-events task to be able to process multiple events in parallel

    • Web performance: fewer queries for navigation

    • Web performance: device stats

    • Web performance: inbound twilio webhook

    • Web performance: payment feed

    • Web performance: Allow easier MRN filtering for API requests

    • Improve manage data and settings performance

    • Split out Fitbit processing into more than 2 queues

  • Integrations

    • TrueMotion (Way to Drive) - Enrollment, Unenrollment and data connection established

    • Add subscription to make data syncing from Omron blood pressure cuff faster

    • Updated Withings connector to use new endpoints

  • Enrollment:

    • Relax password strictness on ppt portal

    • Update participant’s profile based on survey responses

  • Misc

    • Message metadata in inbox should show timestamp with seconds

    • Participant Data variables can be displayed in text if failed to evaluate

Bug fixes

  • Device Authorization enrollment step broken

  • Survey links in portal don’t translate

  • ClinCard payment failures aren’t generating software incidents

  • Rating questions not serializing correctly

  • Event calendar broken on participant view

  • Epic status filter not working on Manage Data

  • Leaderboard variable does not store it’s value in the variable ledger

  • Logic sets don’t properly display conditions when data source changed

  • Event overview display for lotteries

  • No clarification for invalid usernames during account creation