Inspiration

Upon hearing about the goals of Ending Pandemics Academy, we were inspired to help them with their goals of increasing the risk profile for emerging infectious diseases by creating and improving current early warning systems. A current problem they face is that they lack a lot of data and have no true baseline, as only those afflicted fill out their forms. In order to combat this, we were inspired by sites like down detector where by people simply searching for information relays information in itself. We hoped to create a similar tool in the context of symptoms. We hope that the emphasis on community wellness pushes more people to access the survey, as the current focus on "participatory surveillance" is not conducive to enlisting people to participate in the survey.

What it does

Our tool displays a heat map of the world where each symptom is a different color and the intensity of each color is the relative density of symptoms. Users can fill in a short survey of their symptoms that gets added to the heat. Additionally users can zoom in on the map to their specific regions, to get a better idea of how their cities are affected. The heat map only shows data that's a week old and all data collected is stores in a database that can analyzed later.

How we built it

We used a FastAPI backend and built the database out of SQLite. We then used python to connect this backend to a CS/JS/HTML frontend. The backend uses a public API, "nominatim", to get the names of cities and their corresponding longitude and latitude which are stored in the database when a users response is recorded. The frontend uses a free mapping API, "leaflet", to plot the corresponding responses on a heatmap itself.

Challenges we ran into

Our team is comprised of both Mac and Windows users (surprising I know), so we used docker to make sure everyone's native environments were consistent. However, we ran into issues with making sure imports were consistent. Additionally, we had issues with FastAPI seeming to load data from nominatim concurrently, voiding the api limits.

Accomplishments that we're proud of

We're proud that we were able to put together a fully, automatically deployed app, and create a polished finished product. We're happy the the tool we put together is something that can be used and expanded upon in the future, something that serves as a stepping stone instead of a simple hackathon project.

What we learned

Through this project, we learned what it takes to implement a SQLite data base using python, including making API calls to populate the database. Then we had to learn how to take this database and allow the front end to communicate with it. Furthermore, we had to learn how to use leaflet to display the data on the front end.

What's next for Community Health Map

We hope that that the data collected by a tool like Community Health Map serves as an improved early warning systems for different illnesses in the local area. We also hope that this serves as a change in perspective for enlisting Arizona residents into helping the program, switching the perspective from Participatory Surveillance to Protecting Community Health. Next, we hope to better incorporate ML and AI into identifying the most likely illness in each region based on the current symptoms, and using NASA Atmospheric Data in relating it to current symptoms to correlate environmental factors. Additionally, depending on the city entered, we could provide certain announcements depending on the density of a symptom in said city.

Share this project:

Updates