|UX Designer and Lead Front-End Developer|
|Kewal Shah, Rachel Calder, Gyandeep Reddy Vulupala, Nghi (Hailey) Ho|
Languages and Tools
|Figma, React, CSS, AJAX, Bootstrap, Google Cloud Healthcare Natural Language API|
|1st Prize – Google Cloud Challenge and 2nd Prize – Carelon Challenge at HackGT|
It took us 32 hours without sleep. All four of us were equally driven to submit a fully functional web app before the 9:30 am deadline, and in the end, we won 2 awards at Hack GT 9!
HackGT, Georgia Tech’s 3-day hackathon, is an annual event organized by HexLabs. This year, about 1,300 students participated from universities across the country. Our project, CareAlly, won 1st prize for Best Use of Google Cloud, awarded by Google and Major League Hacking (MLH), and 2nd prize for Most Innovative Hack, awarded by Carelon (Anthem Inc).
CareA11y is a web app that helps reduce the time healthcare professionals (HPs) spend on electronic health records (EHR). HPs could input notes, diagnosis codes, and procedure codes which would be sent to the Google Cloud API to identify medical jargon and generate a translated summary that is easier to understand for the patient and their loved ones.
|Rachel Calder||MS Bioinformatics at Georgia Tech||Lead Researcher and Data Engineer|
|Kewal Shah||MS Human-Computer Interaction at Georgia Tech||UX Designer and Lead Front-End Developer|
|Gyandeep Reddy Vulupala||BS Computer Science at Georgia State||Lead Back-End Developer|
|Nghi (Hailey) Ho||BS Computer Science at Georgia Tech||Full-Stack Developer|
Our idea for CareA11y was sparked by a casual group conversation while standing in line to grab dinner on Day 1 of HackGT. I was describing a project I was doing in my Accessible and Inclusive Design class (CS 8803) at Georgia Tech, during which I worked with the Willian Breman Jewish Home. I found how difficult it was for family members of residents to stay updated with their loved one’s progress as the healthcare providers have too many responsibilities and do not have enough time to explain their medical notes in detail. On the morning of Day 2, we spent time researching and found this issue was pervasive within the healthcare field.
We then decided on the competition tracks we wanted to aim for. Carelon, a healthcare service company, was one of the main sponsors and had a separate award track. Their criteria for selecting a winner was a product that improves a person’s overall well-being and supports people with special needs. This fitted perfectly into our project idea. Inspired by one of the speakers at HackGT, Nandita Gupta (Accessibility Program Manager at Microsoft), we decided to make accessibility an important part of our front-end and therefore decided to name the app CareA11y (Ally is a common abbreviation for accessibility). Until noon of Day 2, we spent time discussing the app architecture, after which we split our responsibilities into working on different parts of the app.
Design and Development
After Lunch on Day 2, I explored the Carelon website and started creating a design system for CareA11y on Figma that was consistent with the brand. Rachel started working on data acquisition while Gyandeep and Hailey started work on the Python back-end and Natural Language Processing API.
By the evening of Day 2, the datasets, designs, and most of the Back-End were ready, and the custom API was hosted on a Heroku server. Our main challenge was to create the front end and connect it with Heroku. For the front end, I chose React.js as it is my preferred language, and I felt I could build the front end quickly using it. Over the entire night until the morning of Day 3, we kept on refining our data sets, improving the front-end user experience, transferring and testing data sent through our custom API, and incorporating accessibility features.
At noon on Day 3, we presented our project at the HackGT Expo. We explained our motivation, delivered an elevator pitch using a slide deck, and gave a live demo of our web app in front of 6 judges and multiple fellow participants. About 2 hours later, at the Award Ceremony, we were exhilarated to learn that all our hard work had paid off!
Challenges faced and how we overcame them
- Data Acquisition: The first challenge was aggregating meaningful electronic health records given HIPAA (Health Insurance Portability and Accountability Act of 1996) restrictions. We decided to use the MIMIC-III open-source database provided at the hackathon, as the text descriptions of patient encounters were only a few words long. Rachel worked very hard to find and refine open-source medical data based on ICD code descriptions.
- Front-End: Connecting a React front-end with a Python back-end is something we had never done before and were concerned about. I looked into our best options, and we finally decided to host the back-end API on the Heroku cloud. After we fixed a CORS (Cross-Origin Resource Sharing) and Authentication Token issue, I was able to send and receive data from the back end using AJAX and JSON parsing.
- Back-End: 3 hours before the submission deadline, the Heroku back-end code completely stopped working in the production environment! We initially panicked but soon started thinking about alternate strategies to display our data. Fortunately, we didn’t have to use any alternatives, as Gyandeep identified and fixed the back-end bug within the next hour.
- Natural Language Processing: We initially tried the AWS Comprehend Medicine API but discovered that it wasn’t giving us accurate results with the datasets we had. After getting more accurate results from Google Cloud Healthcare Natural Language API, we decided to switch. Hailey ensured that configuring the API clients and evaluating their accuracy was completed before we started connecting the Back-End with the Front-End.
We are interested in using medical datasets with larger text and more complex Electronic Health Records, integrating a machine-learning technique to improve readability scores (e.g., Flesch). This will allow for model re-training based on a healthcare professional’s feedback edits to continue to minimize the time spent away from patient care. For example, if a healthcare professional approves a note, that note would be stored as a ‘good’ note with an associated rating for that diagnosis.