Inspiration
We were inspired by the lack of knowledge and resources available. We found that while certain areas have an excess in supplies, such as the US with vaccines, other areas have a large deficit. Thus, we created a mechanism to share resources with others, on a more local level. We were also inspired by the lack of information regarding medical facilities and knowledge, a problem exacerbated by the spread of misinformation, especially during the pandemic through social media platforms. In order to combat this, we decided it would be best to provide users with a website to find access to any medical related facilities within a radius. Finally, we found that in the case that users are unable to access a health-care provider due to their rural location or distance from a hospital, they would need a friendly "assistant" to help them with medical questions.
What it does
The website has three main features.
First, it provides a portal to find any type of medical facility, including hospitals, EMS, doctors, etc. Users can also provide a range in meters and access each facility's phone number, website, and address (Integrated with Google Maps).
Second, users can create requests for supplies and post supplies. Requests are broadcasted to all users and contain locating information. Users can edit, delete, and add more supplies as needed. Each supply object contains location information, description, name of supply, image, email, and a phone number to contact. A request object has a timestamp, name, description, location, description, phone number, and email to contact. This is managed through a login/signup system.
Third, users have access to a chatbot, where they can get immediate responses to various questions regarding their symptoms/medical conditions. This chatbot utilizes fuzzy word matching, meaning that users have flexibility in how they structure their sentences. The chatbot will then respond with a treatment and the diagnosis.
How we built it
The website pages were all built with HTML, CSS, and JS. We used Firebase for authentication services and Cloud Firestore for the database. Node.js and Express were used in the backend. The hospital locator information was created using TomTom API. Finally, we used Google Dialogflow for the chatbot.
Challenges we ran into
One of the main challenges we ran into was finding information to feed the facility locator. First, we considered a database with information about hospitals around the world. However, we quickly realized that this implementation would be highly unscalable and lack additional information such as hospital address, phone number etc. Furthermore, this would have led us to download large file sizes through which we need to index through every search. When finding APIs online to find facilities, we often found that most were locked behind a paywall or had too minimal free requests. Furthermore, most APIs only provided hospital addresses without other information (also limited to the US). After a bit of online research, we were finally able to decide that TomTom API was the best in regards to a free plan to find hospitals around the world.
Accomplishments that we're proud of
We are proud of creating 3 different features in the timeframe through time management and division of labor. Specifically, we found this solution to be extremely efficient as we were able to build a hospital locator, chatbot, and supply/request system with login.
For instance, we are proud of the variety of information we were able to feed the chatbot within the timeframe, creating a bot which can provide a multitude of diagnosis. In regards to the locator, we were proud of being able to provide not only directions, but also phone numbers/websites to each hospital. In regards to the supply/request system, we are proud of creating a broadcasting mechanism.
What we learned
Through this project, we learned a lot about login/verification systems. Through research online and reading through documentation, we were able to learn how to incorporate a login verification system without saving any passwords.
Additionally, we learned a lot about incorporating different elements into a final product. Whereas each member focused on one task the first day, we had to combine each of our projects into a final project on the second day. Therefore, we learned about how to communicate effectively and product integration.
What's next for CliniMaps
We hope to create a sorting mechanism for the requests based on dates and distance from the user. Thus, users should receive more requests for nearby areas instead of from the entire world. Additionally, we would like to create an expiration date for requests so that they dissappear after a certain period of time has elapsed.
In regards to the chatbot, we would like to add more languages so that it can be utilized by a wider range of audiences. We would also like to add more knowledge into the chatbot so that it can diagnose a larger number of disaeses.
Log in or sign up for Devpost to join the conversation.