Skip to content

Hemo is an AI Chatbot that helps Blood Donors learn more about Blood Donation & helps predict Blood Donation Patterns.

License

Notifications You must be signed in to change notification settings

ShatilKhan/Hemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hemo

Hemo🩸

"A single drop of blood can make a huge difference." 🩸
Hemo is an AI Chatbot that helps Blood Donors learn more about Blood Donation & predict Blood Donation Patterns.

GitHub stars GitHub watchers Pull Requests GitHub forks Issues License

Table of Contents

Scenario

Every 2 seconds, someone in the U.S. needs blood, and more than 50,000 units of blood are needed each year at Cedars-Sinai alone.While 38% of the American population is eligible to give blood, only 2% actually donates. While this is just the condition of America, the scene is much worse in under-developed & developing countries like Rwanda , Bangladesh & many more. It's become so scarce to find blood donors that Rwanda is even using drones to supply blood from big cities to remote villages. In Bangladesh alone there's thousands of people that need blood everday. Most people lack the awarness about blood donation activities. So even if there are hundreds of blood donation camps, we still don't get blood donors. Hence the need for proper encouragement & information on blood donation. Hemo aims to encourage the young population through Generative AI to give proper assessment on the donors blood, manage thier donor information & also predict Blood Donation Patterns using Generative AI.
Forecasting blood supply is a serious and recurrent problem for blood collection managers: in January 2019, "Nationwide, the Red Cross saw 27,000 fewer blood donations over the holidays than they see at other times of the year." Machine learning can be used to learn the patterns in the data to help to predict future blood donations and therefore save more lives.

Solution

Hemo is an AI chatbot built for Social Good Purpose of encouraging blood donation activities. Hemo has the follwoing features:

  • Getting Donors Blood Report as input (via pdf, txt file)
  • Showing information about the donors blood type (which blood types are compatible, health advice for each blood type)
  • Show nearby Blood Donation Centers where Donors can Register or Donate Blood
  • Predicting Blood Donation Pattern by Analyzing Huge Amounts of Blood Donor Reports

Sustainable Development Goals

image

Features

Maps

User can enter their current location & the web app will show nearby clinics/healthcare centers where they can donate blood. API: Google Places API image

Medical Report Chat

Upload your Medical Report & Chat with it to understand & be informed as a blood donor. It's not perfect as I'm using an Open Source LLM at the moment
Model: impira/layoutlm-document-qa
type: document-question-answering
Link to Model on Hugging Face: https://huggingface.co/impira/layoutlm-document-qa

You can upload & ask about you're blood test report now. The goal is to automatically suggest the user about how & when they can donate blood based on their health report.
Note: most of all , using a smaller Open Source LLM makes the deployment process much easier & also uses less energy, hence also reducing CO2 emissions.

Blood Donation Pattern Prediction

You can upload a CSV data of blood donors & create a pattern prediction. This part uses the Pandas library & some python logic. The web app creates a beautiful Pairplot & calculates the percentage of people who did not donate blood. image

Demo Video

This is the full demo of all the mentioned features. First we see a location entered & immidiately nearby blood donation centers are shown. Then We enter a CSV data of blood donors & a pattern is predicted through pairplot Lastly we upload our Blood Test report & ask it general questions.

Hemo-Demo.mp4

I'm using a fully open-source model instead of OpenAI because I'm lazy & don't want to create an API key everytime I run the app, plus I don't have any credits left :)

Local Setup

Prerequisites

Install PyTorch , Tesseract-OCR on your device.

Installation

1.Install all the requirements

pip install -r requirements.txt
  1. Rename .env_sample to .env & add your Google Places API KEY
GOOGLE_API_KEY= "AI......"

3.Run the Web App

streamlit run hemo.py

it-aint-much

About

Hemo is an AI Chatbot that helps Blood Donors learn more about Blood Donation & helps predict Blood Donation Patterns.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages