๐ฉบ MedPal
MedPal is your personal medical buddy. Don't know where to save so many medical reports or how to understand them when needed? Donโt worry โ we got you.
MedPal simplifies complex medical jargon into easy-to-understand summaries. It checks whether your medical values fall within normal ranges and suggests actionable next steps, helping you seek timely assistance from medical professionals. It also organizes your reports and lets you query them using Retrieval-Augmented Generation (RAG).
๐ก Inspiration
We noticed how overwhelming medical reports can be โ full of jargon, numbers, and reference ranges that arenโt easy to interpret. People often have no idea what to do after receiving lab results. We wanted to create something that not only stores reports but also makes sense of them, offering guidance in plain language.
โ๏ธ What It Does
MedPal lets users:
- ๐ Upload medical PDF reports
- ๐ง Extract and analyze data from those reports
- ๐ Check if medical values fall within normal ranges
- ๐ฌ Ask questions like โIs my blood sugar level normal?โ
- ๐๏ธ Get actionable suggestions like โConsult a cardiologistโ
- ๐ Store and view all past medical reports
All of this is powered by a Retrieval-Augmented Generation (RAG) system integrated with embeddings and an LLM.
๐ ๏ธ Tech Stack
Frontend
- Next.js โ UI and frontend interactions
Backend
- FastAPI โ For file handling and query endpoints
- Cohere โ For generating embeddings
- Qdrant โ As a vector database for chunked PDF content
- Groq โ To run the LLM and generate responses
๐ How It Works
- ๐ Sign in with Google
- ๐ค Upload a medical PDF file
- ๐ฌ Ask questions about your report using the built-in RAG
- ๐๏ธ View your report history and query past uploads
๐ง Challenges We Ran Into
The biggest challenge was developing the RAG pipeline โ this was our first time building something like this. We started with only a basic idea of what a vector is. Concepts like chunking, embeddings, and semantic search were all new to us, and we learned as we went.
We also faced:
- Issues with deprecated packages (especially in LangChain)
- Problems related to environment setup
- Difficulty getting vector-based filters to work correctly with metadata
๐ Accomplishments That We're Proud Of
Weโre proud that we:
- Built a fully functional RAG system end-to-end
- Successfully stored and retrieved document chunks from Qdrant
- Created a clean, usable frontend for uploading and querying reports
- Learned a LOT in the process!
๐ What We Learned
- Environments should be isolated and managed properly
- Deprecation warnings are not to be ignored โ they matter
- RAG is powerful, but also a bit complex
- Metadata filtering in vector databases like Qdrant is crucial for multi-user support
๐ฎ Whatโs Next for MedPal
- Chat Memory โ Add session memory so chats feel more natural and context-aware
- Personalized Health Trends โ Track changes in values across time
- Report Categorization โ Group reports by type or department
Submission Form Questions
What are you planning to build?
- Rag for medical reports Have you participated in a hackathon before?
- yes
Built With
- cohereai
- embeddings
- grok
- langchain
- nextjs
- parsing
- qdrant
- semanticsearch
- vectordb
Log in or sign up for Devpost to join the conversation.