<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rishika Chanda</title>
    <description>The latest articles on DEV Community by Rishika Chanda (@rishikachanda).</description>
    <link>https://dev.to/rishikachanda</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3898416%2F7d2da05d-be96-4376-b0a9-bb04472d2a71.jpg</url>
      <title>DEV Community: Rishika Chanda</title>
      <link>https://dev.to/rishikachanda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rishikachanda"/>
    <language>en</language>
    <item>
      <title>From Concept to Code: Building an AI-Based Adverse Drug Reaction Detection System</title>
      <dc:creator>Rishika Chanda</dc:creator>
      <pubDate>Mon, 27 Apr 2026 09:42:14 +0000</pubDate>
      <link>https://dev.to/rishikachanda/from-concept-to-code-building-an-ai-based-adverse-drug-reaction-detection-system-16bf</link>
      <guid>https://dev.to/rishikachanda/from-concept-to-code-building-an-ai-based-adverse-drug-reaction-detection-system-16bf</guid>
      <description>&lt;p&gt;&lt;strong&gt;Our approach to tackling a real-world healthcare challenge using practical machine learning and fundamental NLP techniques.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By &lt;a href="https://dev.to/rishikachanda"&gt;Rishika Chanda&lt;/a&gt;, &lt;a href="https://dev.to/thiruveedhula_niharika_"&gt;Thiruveedhula Niharika&lt;/a&gt;, &lt;a href="https://dev.to/shiva_keerthana_13"&gt;Shiva Keerthana&lt;/a&gt;, &lt;a href="https://dev.to/karanam_sreeja"&gt;Karanam Sreeja&lt;/a&gt;&lt;br&gt;
This project was developed under the guidance and mentorship of Professor &lt;a href="https://dev.to/chanda_rajkumar"&gt;Chanda Rajkumar&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;The Idea Behind the Project:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What if a single sentence in a medical report subtly indicates a harmful drug reaction—but goes unnoticed?&lt;/em&gt;&lt;br&gt;
This was the question that stayed in our minds.&lt;/p&gt;

&lt;p&gt;Healthcare data is often unstructured. Clinical notes, prescriptions, and reports frequently contain critical insights embedded within plain text. Identifying adverse drug reactions (ADRs) manually in such data is not only time-intensive but also prone to oversight.&lt;/p&gt;

&lt;p&gt;Instead of pursuing a highly complex solution, We tried focusing on a simpler question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Can a system be designed to automatically analyze medical text and flag potential ADRs using straightforward NLP and machine learning techniques?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&lt;strong&gt;Why do we think this Problem Matters?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In real-world healthcare settings, a significant portion of clinical data exists as unstructured text, where valuable insights are often embedded within narrative notes rather than neatly organized fields. Within this complexity, adverse drug reactions (ADRs) can be subtle, expressed in indirect or ambiguous language, making them easy to overlook. Relying on manual detection in such scenarios not only introduces the risk of missing critical signals but also becomes increasingly impractical as the volume of healthcare data continues to grow.&lt;br&gt;
Against this backdrop, this project explores how far a lightweight NLP pipeline can go in addressing the challenge—focusing on building a solution that is both practical and scalable without relying on overly complex approaches.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6wfhmpdubafpn7ozmx9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6wfhmpdubafpn7ozmx9.jpg" alt="unstructured data" width="800" height="1113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How we setup our Project:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project focuses on creating a complete, working system that:&lt;br&gt;
1.Accepts medical text as input&lt;br&gt;
2.Processes and cleans it&lt;br&gt;
3.Extracts meaningful features&lt;br&gt;
4.Predicts whether an ADR is present &lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Technology Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To keep the system practical, scalable, and easy to extend, I built it using a lightweight yet complete stack—from NLP processing to backend APIs and database storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python — Core Engine&lt;/strong&gt;&lt;br&gt;
The entire pipeline is powered by Python for its strong ML + NLP ecosystem.&lt;br&gt;
Data Handling&lt;br&gt;
Pandas → dataset processing&lt;br&gt;
NumPy → numerical operations&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;clean_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;vector&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vectorizer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;prediction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;predict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;NLP with NLTK&lt;/strong&gt;&lt;br&gt;
Used for preparing raw medical text:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;nltk.corpus&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;stopwords&lt;/span&gt;
&lt;span class="n"&gt;stop_words&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stopwords&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;words&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;english&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Machine Learning — Scikit-learn&lt;/strong&gt;&lt;br&gt;
Scikit-learn was used to build the core classification pipeline, enabling efficient training and evaluation of models such as Logistic Regression and Naïve Bayes. It also supports feature extraction through techniques like TF-IDF, making it a reliable choice for text-based classification tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6g7tgwch458dh6nqb1p7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6g7tgwch458dh6nqb1p7.png" alt="logic regression" width="800" height="510"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.feature_extraction.text&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TfidfVectorizer&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.linear_model&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LogisticRegression&lt;/span&gt;

&lt;span class="n"&gt;vectorizer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TfidfVectorizer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_features&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;LogisticRegression&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Backend — Flask API&lt;/strong&gt;&lt;br&gt;
A lightweight backend built with Flask makes the model accessible via APIs.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;flask&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;jsonify&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nd"&gt;@app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;/predict&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;methods&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;POST&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;predict&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;predict_adr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;jsonify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;prediction&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;MongoDB Integration for Database:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Medical text data (like patient reviews and clinical notes) is highly unstructured.&lt;br&gt;
A NoSQL database like MongoDB is ideal because: Flexible schema (no rigid tables), Efficient handling of document-based data, Easy cloud deployment with MongoDB Atlas. &lt;br&gt;
The system follows a straightforward flow from input to insight. The backend, built with Flask, receives user input in the form of medical text, which is then processed by the trained model to generate predictions. These results are converted into structured insights and stored in MongoDB for easy access and further use.&lt;br&gt;
&lt;strong&gt;Data Stored in MongoDB&lt;/strong&gt;&lt;br&gt;
Each user submission is saved as a document containing:&lt;br&gt;
Drug name&lt;br&gt;
Extracted adverse reaction&lt;br&gt;
Temporal indicators (if any)&lt;br&gt;
Severity level&lt;br&gt;
Prediction label (ADR / Non-ADR)&lt;br&gt;
Timestamp&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;nlp_pipeline&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;compare_side_effects&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;known_side_effects&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pymongo&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MongoClient&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mongodb+srv://2410030044-ADR:niha1330@cluster0.xe8kag2.mongodb.net/?retryWrites=true&amp;amp;w=majority&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;adr_database&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;reviews_collection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reviews&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F383xrem3ia399krc25w9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F383xrem3ia399krc25w9.jpeg" alt="connection" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;System Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The system follows a modular pipeline architecture, where raw medical text is progressively transformed into meaningful predictions.&lt;br&gt;
&lt;strong&gt;1.Input&lt;/strong&gt;&lt;br&gt;
The system accepts medical text such as patient reviews or clinical descriptions.&lt;br&gt;
&lt;strong&gt;2.Preprocessing&lt;/strong&gt;&lt;br&gt;
Text is cleaned by converting to lowercase, removing punctuation, and eliminating stopwords.&lt;br&gt;
&lt;strong&gt;3.Feature Extraction&lt;/strong&gt;&lt;br&gt;
The cleaned text is transformed into numerical features using TF-IDF vectorization.&lt;br&gt;
&lt;strong&gt;4.Prediction&lt;/strong&gt;&lt;br&gt;
A trained Logistic Regression model classifies whether an ADR is present.&lt;br&gt;
&lt;strong&gt;5.Storage&lt;/strong&gt;&lt;br&gt;
The input and prediction are stored in MongoDB for future analysis.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Each component is independent, making the system easy to scale, debug, and improve.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Pipeline Flow&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Input&lt;/strong&gt; → Medical text&lt;br&gt;
&lt;strong&gt;Preprocessing&lt;/strong&gt; → Clean and normalize&lt;br&gt;
&lt;strong&gt;Feature Extraction&lt;/strong&gt; → Convert text into vectors&lt;br&gt;
&lt;strong&gt;Model&lt;/strong&gt; → Classification&lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt; → ADR detected or not&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6j8dugkaw1aq5emg9lb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6j8dugkaw1aq5emg9lb.png" alt="workflow" width="465" height="686"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data Storage Logic:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;reviews_collection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;insert_one&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; 
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;prediction&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prediction&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;drug&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;drug&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;drug&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Unknown&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reaction&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;reaction&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;reaction&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;None&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;time&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Not detected&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;severity&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;severity&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;severity&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Not categorized&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;expected_effects&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;expected_effects&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;unexpected effects&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;unexpected&lt;/span&gt; &lt;span class="n"&gt;effects&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;System Demonstration:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The developed system allows users to input a sentence describing a medical experience. The system processes the input, generates embeddings, and predicts whether it contains an adverse drug reaction.&lt;br&gt;
The output is displayed as either “ADR Detected” or “No ADR Detected,” demonstrating how the model can be used as a decision-support tool.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fesjgqrp91kixf0kyqqlq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fesjgqrp91kixf0kyqqlq.png" alt="output" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Results and Insights:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some example predictions we detected on our project:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp98ycn45l9g8clfko55l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp98ycn45l9g8clfko55l.png" alt="predictions" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26x2uq5jjfzfqgq1x9oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26x2uq5jjfzfqgq1x9oi.png" alt="graph" width="800" height="526"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Future Improvements:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Future work can focus on fine-tuning domain-specific models such as BioBERT to improve performance on medical data. Additional improvements include using ensemble methods, enhancing model interpretability, and deploying the system as a real-time application.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
This project demonstrates how AI and NLP can be used to build a scalable system for detecting adverse drug reactions from unstructured text data. By integrating machine learning models with MongoDB, the system evolves from a standalone model into a practical application capable of real-world deployment.&lt;br&gt;
Such systems have the potential to improve patient safety and support healthcare professionals in identifying risks more efficiently.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Project Links&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;GitHub Repository:&lt;/em&gt; &lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/2410030044-gif" rel="noopener noreferrer"&gt;
        2410030044-gif
      &lt;/a&gt; / &lt;a href="https://github.com/2410030044-gif/ADR-Detection" rel="noopener noreferrer"&gt;
        ADR-Detection
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Live Demo:&lt;/em&gt; &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://adr-detection.onrender.com" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;adr-detection.onrender.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Demo Video:&lt;/em&gt;   &lt;iframe src="https://www.youtube.com/embed/RiuQS_lwXqg"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>mongodb</category>
      <category>career</category>
    </item>
  </channel>
</rss>
