ashishkgpian's picture
Update app.py
a0b81f5 verified
raw
history blame
2.79 kB
import gradio as gr
from transformers import pipeline
# Load the model
classifier = pipeline(
"text-classification",
model="ashishkgpian/biobert_icd9_classifier_ehr"
)
def classify_symptoms(text):
try:
results = classifier(text, top_k=5)
formatted_results = []
for result in results:
formatted_results.append({
"ICD9 Code": result['label'],
"Confidence": f"{result['score']:.2%}"
})
return formatted_results
except Exception as e:
return f"Error processing classification: {str(e)}"
# Custom CSS without theme dependencies
custom_css = """
.gradio-container {
background-color: #f8f9fa;
}
.contain {
background-color: white !important;
border-radius: 8px !important;
padding: 20px !important;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
margin-bottom: 20px !important;
}
.textbox {
border: 2px solid #4a90e2 !important;
border-radius: 6px !important;
}
.label {
color: #2c3e50 !important;
font-weight: bold !important;
font-size: 1.1em !important;
}
footer {
text-align: center;
padding: 20px;
color: #666;
font-size: 0.9em;
}
"""
with gr.Blocks(css=custom_css) as demo:
gr.Markdown(
"""
# MedAI: Clinical Symptom ICD9 Classifier
### AI-Powered Diagnostic Code Suggestion Tool
"""
)
with gr.Row():
with gr.Column():
input_text = gr.Textbox(
label="Patient Symptom Description",
placeholder="Enter detailed patient symptoms (e.g., 'Patient reports persistent chest pain radiating to left arm, accompanied by shortness of breath')",
lines=4
)
examples = gr.Examples(
examples=[
["45-year-old male experiencing severe chest pain, radiating to left arm, with shortness of breath and excessive sweating"],
["Persistent headache for 2 weeks, accompanied by dizziness and occasional blurred vision"],
["Diabetic patient reporting frequent urination, increased thirst, and unexplained weight loss"],
["Elderly patient with chronic knee pain, reduced mobility, and signs of inflammation"]
],
inputs=input_text
)
output = gr.JSON(label="Diagnostic Suggestions")
input_text.submit(fn=classify_symptoms, inputs=input_text, outputs=output)
gr.Markdown(
"""
---
**Disclaimer:** This is an AI-assisted diagnostic tool. Always consult with a healthcare professional for accurate diagnosis and treatment.
"""
)
if __name__ == "__main__":
demo.launch()