AI & Data
7 min read253 words

Inside MRS-AI: Designing the 1st Prize Winning ML Healthcare & Medicine Recommender Engine

Detailed architecture of MRS-AI, which won 1st Prize at the District Level Software Expo: Multi-class disease classification with SVC and personalized clinical precautions.

Om Prakash Behera
Om Prakash BeheraCSE Student at GCEK Kalahandi | Full-Stack & AI Engineer

Winning the District Level Project Expo

At the District Level Science & Tech Software Expo (YOUTH@2050), my project MRS-AI / Medicine-Recommendation-System won 1st Prize with a 7000 Rs. prize pool.

The challenge: Primary health centers and rural clinics often face severe shortages of specialist doctors. Patients with early or multiple overlapping symptoms need reliable triage guidance with safety guardrails.

Machine Learning Pipeline

The core AI engine predicts potential medical conditions based on $132$ discrete symptom inputs and prescribes verified pharmaceutical categories, dietary recommendations, and contraindication precautions.

1. Model Selection & Cross-Validation

We benchmarked 5 supervised classification algorithms on clinical prognosis datasets:

  • Decision Tree Classifier: $92.1\%$ accuracy (overfitted on sparse symptoms).
  • Gaussian Naive Bayes: $88.4\%$ accuracy (conditional independence assumption failed on correlated symptoms).
  • Random Forest (100 Trees): $96.8\%$ accuracy.
  • Support Vector Classifier (Linear Kernel, $C=1.0$): $98.2\%$ accuracy with highest generalization stability.
pythonCode Snippet
import pickle
import numpy as np

# Symptom vectorization and inference engine
def predict_disease_and_regimen(symptoms_list, model, symptoms_dict, disease_metadata):
    input_vector = np.zeros(len(symptoms_dict))
    
    for symptom in symptoms_list:
        clean_name = symptom.strip().lower().replace(" ", "_")
        if clean_name in symptoms_dict:
            input_vector[symptoms_dict[clean_name]] = 1
            
    prediction_idx = model.predict([input_vector])[0]
    disease_name = model.classes_[prediction_idx]
    
    # Retrieve structured precautions & medications
    regimen = disease_metadata.get(disease_name, {})
    return {
        "disease": disease_name,
        "medications": regimen.get("medications", []),
        "diet": regimen.get("diet", []),
        "precautions": regimen.get("precautions", [])
    }

UI/UX & Deployment

Built with Python Flask, HTML5, and responsive CSS, providing instantaneous (< 25ms) offline inference on standard low-power clinic laptops.

Related Topics:#MRS-AI#1st Prize#Python#Flask#Machine Learning#Healthcare