About
A student project about doing AI carefully
Built as a final-year Computer Science project, with a deliberate focus on where an AI assistant should stop.
Why this project
People look up their symptoms. They search a medicine before taking it. They get a lab report full of numbers and abbreviations and no explanation. What they find online is often wrong, frightening, or written for people who already have medical training.
General-purpose AI chatbots make this worse in a specific way: ask one for a diagnosis and it will usually give you one, confidently. Ask for a dose and it will often answer. For someone with no medical background, that is not helpful — it is risky.
This project asks a narrower question: can a language model be genuinely useful for health information if you refuse to let it make any decision at all? Everything that matters — whether a situation is an emergency, what a medicine is for, whether an analysis actually happened — is decided by ordinary program code. The model is used only to put things into clear language.
The principles it is built on
Heuristics decide, the AI describes
Whether to show emergency guidance is a rule in the code, not a judgement by the model.
Never claim what did not happen
No progress bar without work behind it, no "analysis complete" without a stored analysis, no statistics that are not real counts.
Say what you cannot do
Where a limit exists — no OCR, no notifications, no dosages — the interface says so plainly instead of staying quiet.
Health data is sensitive
Private storage, ownership checks on every record, and an admin panel that shows counts rather than content.
Project details
- Project title
- AI Based Medical Assistant
- Student
- Khushboo Manoj Prajapati
- Roll number
- 47
- Guide
- Prof. Pritam Karanjkar
- Department
- Computer Science
- College
- V.K. Krishna Menon College
- Project type
- Final-year academic project
How it is built
Chosen so the whole system stays small enough to understand, explain and maintain.
Laravel
Backend framework
PHP
Server language
MySQL
Database
Blade
Server-rendered views
Tailwind CSS
Styling
Alpine.js
Small interactions
Chart.js
The vitals trend chart
Google Gemini
Natural-language explanation
PHPUnit
248 automated tests
Known limitations
Listed here rather than discovered later.
- No OCR: photographs and scanned reports are stored but cannot be read.
- No notifications: reminders appear in the application only.
- Seeded medicine and emergency text is stored in English only.
- Times are server-local; there is no per-user timezone yet.
- AI requests are handled during the request, so a slow reply means a slow page.
- Emergency rules match phrases, so unusual wording can be missed.
- This is an educational project and has not been clinically validated.
Not a medical service
This application provides general educational health information. It does not diagnose conditions, prescribe medication or replace professional care. In an emergency, call 112 or 108, or go to the nearest hospital.