Quality healthcare in the United States is becoming increasingly difficult to access. This has been the case for three main reasons. First, is because of costs. Nearly five percent of Americans cannot access healthcare due to cost reasons. Furthermore, over 530,000 families in America each year declare bankruptcy due to medical issues. The primary reason for all of this is because patients are coerced into turning to out-of-network providers and high insurance premiums for routine tasks. Secondly, is because of the quality. Hospital admissions for preventable diseases are more frequent in the U.S. than in developed countries, resulting in an above average mortality rate compared to the rest of the world. Finally, it is due to COVID-19. Currently, this pandemic has torn the world apart. The New York Times writes that many Coronavirus patients died before even reaching the hospital because of long distances and lack of access to available hospitals. Some were reported to visit up to four hospitals without even receiving a bed

What it does

Our platform allows hospitals to register on our database and update with specific information about the hospitals including the available doctors as well as the number of available beds. On the iPhone app, we display the Firebase data, part of Google's Cloud Platform, in addition to quality metrics for the hospital acquired from Medicare datasets. This platform also sorts through all of the hospitals and arranges them in the order that you desire, allowing you to prioritize certain attributes. The data also consists of a score based on reviews that were scraped from the internet.

How I built it

We created the web application using Meteor.js. After including the Firebase database on the web app, we were successfully able to add and update data to the database, allowing the iPhone app to retrieve this data to display for the users. On the web application, geared towards hospitals, the hospitals were able to include data about which doctors were available and their insurance as well as the number of available beds in the hospital. This is especially useful during COVID-19 because most hospitals are filled to capacity, allowing the users to determine which specific hospitals are vacant. On the iPhone app side, we got data from Medicare datasets including effectiveness, mortality rates, timeliness, contact info, safety, location, etc. Based on your location, the app would show hospitals nearby you and rank them in the order that you desire because of our sorting algorithm. We included a map utilizing the MapKit library from Apple that zoomed in on the user's location and pinpointed all of the hospitals throughout the country so that the user is easily able to visually determine the closest hospitals. Additionally, we read from the Firebase database to display the availability of beds within the hospital and the available doctors that are able to assist you, including their specialty and insurance. Displayed on the iPhone app side was also the sentiment analysis that we conducted. After scraping reviews for each hospital from the Google Places API, we used machine learning on these reviews through the VADER NLP library. This returned an integer from -1 to 1 signifying the compound sentiment of all reviews for a specific hospital.

Challenges I ran into

We ran into a multitude of issues. Firstly, we were having difficulty trying to include the Firebase database in Meteor.js. Because of the asynchronous call back functions, it was very difficult for us to successfully utilize the database. We encountered this error with both the web application and the iPhone app. We also had a few issues developing the user interface on both ends. After spending large amounts of time on the CSS and HTML side of the web application, we were finally able to receive the UI that we were aiming towards. This issue was more drawn out on the iPhone app side, however. We had to create multiple View Controllers in order to display the data in the way that we wanted. After several attempts with the Collection View Controller, we decided to shift to a Table View Controller. This way, we were easily able to display all of the doctor's data from the Firebase database. Another large issue that we had was with parsing through the CSV files in Swift. After scraping the web for data, we created a master CSV file that was the basis for displaying data on the app. However, in Swift, we had tremendous difficulty parsing through this file and inserting the data into a two-dimensional array. Eventually, after downloading a different library, we were able to successfully enter all of the data into an array that would later be used to retrieve the specific information about the hospital. Since calculating the distances between each hospital and the inputted location took so much time, we decided to use the Haversine formula to calculate the distances based on the longitude and latitude coordinates. This formula was extremely accurate because it also took into account the Earth's curvature while determining the distance.

Accomplishments that I'm proud of

We are proud of building our first Swift application, syncing with the Firebase, scraping the reviews, and performing sentiment analysis on the reviews.

What I learned

We learned how to use Firebase as well as create various views in Swift.

What's next for The Best of Health

In the future, we want to expand our services to more hospitals. By getting more hospitals involved, users are more incentivized to download and participate on our platform. With this, we are able to better educate the public about the specific details behind each hospital to help them with their hospital and insurance provider decision.

Share this project: