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.