Hack for Health Hackathon

Software in the Health Sector

Participants have 24 hours to identify a relevant challenge in the health sector (mental health, accessibility, healthcare, etc.) and then conceptualize, design, and build a solution that leverages google developer tools.

Problem

With the vast amount of information on the web, accessing information about necessary health provisions while traveling is at best tedious.

When traveling internationally, people have to dig through links on the CDC / WHO websites in order to find out which vaccinations they should take to enter and stay safe in a foreign country.

Challenges: Web Scraping

Initially the plan was to utilize Selenium to web scrape for international vaccination requirement data. However, although we established a functioning algorithm, it was incompatible with the Javascript we were using to code the front-end. Therefore, we had to create our own database from CDC information and hard code the data into our program.

Solution

AIR HART

An easy-to access webpage with an interactive map (powered by google maps) that displays the vaccines recommended and required to travel to any country the user hovers on.

Design

Due to the time restriction, we decided to leverage the Google Maps API to expediently build out the interactive map. Based on this integration, the design itself needed to be minimal enough to be implemented through a styling layer.

Development

library(RSelenium)
library (netstat)
library(httr)
random_port <- as.integer(runif(1, 4000, 60000))
rD <- rsDriver (port = random_port, browser = "firefox", chromever = NULL, verbose = FALSE)
mybrowser <- rD[["client"]]
mybrowser$navigate ("https://wwwnc.cdc.gov/travel/destinations/list")
wxbox <- mybrowser$findElementCusing = 'css selector', '#thIrdssl-traveler")
wxbox$clickElement) # to clear the current contents wxbox$sendKeysToElement(list"India")) # adds to any existing text
Sys.sleep (1) # wait one second
wxbutton <- mybrowser$findElement(using = 'css selector', ' d-block')
wxbutton$clickElement
library("rvest")
vaccineHTML <- mybrowser$findElements(using = 'css selector', '‚clinician-disease a')
quotes ‹- c()
for (i in seq_along(vaccineHTML)) {
	text <- vaccineHTML[[1]]$getElementText) # Extract text content
	if (text != "") {
		quotes ‹- c(quotes, text)
	}
}
quotes

Takeaways

  • API Integration

    This experience allowed me to understand the complexities of integrating third-party services into a software solution, enhancing my ability to create more dynamic and interactive applications. Working with Google Maps API in particular provided specific insight into the nuances of geolocation services and the visualization of data in an intuitive, user-friendly manner.

  • UX Developer

    To ensure a functioning prototype, I had to adopt a developer mindset. I learned to question the practicality of my design ideas and prioritize their implementability. This shift in focus, however, did not mean compromising on user experience. I ensured that while the design was technically feasible, it was also user-friendly, catering to the needs and expectations of the end-user.