An intelligent healthcare assistant that extracts, analyzes, verifies, and summarizes medical prescriptions using AI, machine learning, and cloud services.
-
OCR with Google Cloud Vision API
- Extracts text from uploaded or captured prescription images.
-
Biomedical Named Entity Recognition (NER) with HuggingFace Transformers
- Identifies medications, dosages, and symptoms from free-text prescriptions.
- AI-powered backend using Google Gemini (Generative AI).
- Detects potential drug–drug interactions with structured risk levels (🔴 High, 🟡 Moderate, 🟢 Low).

-
Matches medications against a curated dosage dataset.
-
Verifies:
- Symptom appropriateness
- Age safety
- Dosage safety (mg/kg)
- Fetches standardized dosage ranges, intervals, and safety notes from dataset.
- Personalized to patient’s age and weight.
- Suggests alternative medications.
- Provides home remedies for common conditions from an internal knowledge base.
-
Generates a final patient-friendly report consolidating:
- Verification results
- Dosage guidelines
- Alternative remedies
-
Uses Google Gemini summarization for clear, simple medical summaries.
-
Frontend: Streamlit
-
Backend: FastAPI
-
AI Models: HuggingFace Transformers (
d4data/biomedical-ner-all), Google Gemini (Generative AI) -
OCR: Google Cloud Vision API
-
Dataset:
dosage.csv+ curated alternative medicines dataset -
Other Libraries:
pandasfor data processingrequestsfor API callsdotenvfor environment management
medify/
├── README.md
├── docker-compose.yml
├── render.yaml
├── .env.example
│
<<<<<<< Updated upstream
├── backend/ # FastAPI backend
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── main.py # Entry point for backend
│ ├── data_processors/ # Data preprocessing utilities
│ │ ├── dosage.py
│ │ └── prescription.py
│ ├── routers/ # API routes
│ │ ├── ai_router.py
│ │ └── drug_info.py
│ └── watson_ai/ # IBM Watson AI integration
│ ├── ai_config.py
│ ├── interactions.py
│ └── summarizer.py
=======
├── backend/
│ ├── main.py # FastAPI entrypoint
│ ├── routers/ # API endpoints
│ ├── data_processors/ # Dosage & prescription validation
│ ├── watson_ai/ # Gemini AI integration (Gemini client lives here)
>>>>>>> Stashed changes
│
├── datasets/ # Project datasets
│ ├── alt_dataset.py
│ ├── dosage.csv
│ └── ner_dataset.py
│
└── frontend/ # Streamlit/Frontend app
├── Dockerfile
├── requirements.txt
├── app.py # Entry point for frontend
└── features/ # Core frontend features
├── ai_services.py
├── alternative.py
├── ner.py
├── ocr.py
└── verification_client.py
git clone https://github.com/Risspecct/Medify.git
cd medifypython -m venv venv
source venv/bin/activate # Mac/Linux
venv\Scripts\activate # Windowspip install -r requirements.txtCopy .env.example → .env and set:
GENAI_API_KEY=your_genai_api_key
GEMINI_MODEL_ID=models/gemini-1.5
FAST_API_URL=http://127.0.0.1:8000
DOSAGE_FILE_PATH=datasets/dosage.csvcd backend
uvicorn main:app --reloadAPI will be available at: http://127.0.0.1:8000/docs
streamlit run frontend/app.py- Upload a prescription (image, photo, or text).
- Extract entities (NER + OCR).
- Run Drug Interaction Check.
- Perform Manual Verification with dataset.
- Fetch Dosage Guidelines.
- Explore Alternatives & Remedies.
- Generate a Final AI-Powered Summary.
This tool is for educational and research purposes only. It is not a substitute for professional medical advice. Always consult a qualified doctor before taking any medication.