Inspiration

MedEssentials is inspired by the current need of healthcare providers for urgent medical supplies. We believe that these professionals should be given the chance to conveniently obtain the proper healthcare equipment to protect them and to allow them to fight the pandemic. In addition, we want to make MedEssentials for the sacrifices that the frontline workers and healthcare professionals are doing in this period of time.

During this quarantine period, many healthcare services need medical supplies to combat the Coronavirus. How can clinics, hospitals, and senior homes provide support to the members of the society if they don’t have a sufficient supply? How can healthcare professionals gain access to medical supplies conveniently?

Profile

  • Arvind Vivekanandan - student at Oxford Academy (Arvind Vivekanandan#5510)
  • Arianne Rull - student at L’Amoreaux Collegiate Institute (chicken noodle soup #8675)
  • George Shao - student at St. Robert’s Catholic High School (George #4436)
  • Justin Yue - student at Oxford Academy (jay43yue #1128)

Solution

  • We want to enable healthcare professionals to order medical supplies for their respected working environment.
  • The healthcare providers would be visualizing a map that includes nearby medical equipment manufacturers.
  • By making an account, both manufacturers and healthcare providers can save their data (past transactions and history).
  • Medical workers can choose to either accept or decline the products, while manufacturers are required to describe their products.

How it works

  • The app asks for the credentials to ensure that the user is a real person.
  • It also allows healthcare professionals to conveniently see nearby medical suppliers.
  • Medical suppliers could add descriptions of their respective products.

How we built it

  • Figma - prototyping the mobile application
  • Android Studio - building the app
  • Firebase - backend for authentication and database management
  • Google Maps API - geospatial visualization

Challenges we ran into

  • Sleep deprivation
  • Google Maps API (Manipulating the Google Maps API to display custom windows and respectively retrieving data from firebase.)
  • Firebase (Adding data to Firebase instead of replacing it and structuring data to then be efficiently read later)
  • GitHub Pages (Publishing the website pages via Github)
  • Time Zones (Some of our team members are following PST while the others are in EST)

What we learned

  • Processes of making a mobile application
  • Hosting a website via GitHub pages
  • Firebase authentication, reading and writing to a database for Android applications
  • Using the Google Maps API

What's next for MedEssentials

  • Cross-platform (In the future, our team is planning to create a cross-platform version of the application to ensure that the app is accessible for everyone by using React Native.)
  • Web scraping ( If given the chance, we would like to implement web scraping a larger database of medical supply providers. )
  • Domain (When we are able to use a domain for our website, we would like to name it as medessentials.tech)

Code Explanation:

Activities found in MedEssentials-TitanHacks2020-/app/src/main/java/com/example/medessentials/:

  • Authentication.java: The authentication activity provides the fields necessary to log in to MedEssentials and authenticates via a Firebase backend before routing the user to the correct activity (MapsHome activity for medical workers and Offers activity for donors), but if the user would like to sign up, the sign up button will lead to the sign up activity (Signup.java).
  • InfoWndowAdapter.java: This is a class implementing the GoogleMap.InfoWindowAdapter, which helps in formatting the different offers data above each GoogleMap marker.
  • MainActivity.java: MainActivity is the first screen seen, which is a splash screen, which is seen by the user before being redirected to the Signin activity.
  • MapsHome.java: This is activity seen by medical workers and loads the different offers that have been made by both individual and manufacturer donors by reading the Offers data in the Firebase realtime database and then visualizing these Offers through the Google Maps API .
  • Offer.java: Offer.java is the activity that contains multiple fields, such as company name, product name, quantity, description, email, longitude, and latitude, and pressing the “create offer” button sends data to be organized in the Firebase realtime database. It is only seen by the donor users.
  • Placeholder.java: This activity is simply a placeholder for testing during the hackathon. Request.java: This activity’s purpose is for medical workers to request for specific items but was unfortunately not implemented in the final application.
  • Signup.java: The signup activity provides 4 fields for the user to fill out, which are necessary to differentiate between medical workers and donors, and based on the user’s role (donor or medical worker), signup.,java routes the user to the correct location (MapsHome activity for medical workers and Offers activity for donors).
  • User.java: This is a custom class to assist in sending data to Firebase for user data and takes in the parameter of a user’s email address and their occupation (medical worker, individual donor, or manufacturer donor).
  • offerData.java: This is a custom class to assist in sending data to Firebase for any offer data and takes in the parameters of a company name, product name, quantity, description, email, longitude, and latitude.

XML files found in MedEssentials-TitanHacks2020-/app/src/main/res/layout/:

  • Activity_authentication.xml: This creates the user interface for the authentication activity.
  • Activity_main.xml: This creates the user interface for the authentication activity.
  • Activity_offer.xml: This creates the user interface for the authentication activity.
  • Activity_placeholder.xml: This creates the user interface for the authentication activity.
  • Activity_request.xml: This creates the user interface for the authentication activity.
  • Activity_signup.xml: This creates the user interface for the authentication activity.
  • Context_info.xml: This creates the user interface for the authentication activity.
  • Maps_home.xml: This creates the user interface for the authentication activity.
Share this project:

Updates