DexterSptizu's picture
Update app.py
d7057e2 verified
import gradio as gr
import requests
# Function to check drug interactions
def check_interaction(drug1, drug2):
API_ENDPOINT = "https://api.fda.gov/drug/event.json"
SEARCH_TEMPLATE = '?search=patient.drug.medicinalproduct:{}+AND+patient.drug.medicinalproduct:{}&count=patient.reaction.reactionmeddrapt.exact'
search_string = SEARCH_TEMPLATE.format(drug1, drug2)
response = requests.get(API_ENDPOINT + search_string)
data = response.json()
if "results" in data:
interactions = [result['term'] for result in data['results']]
return interactions if interactions else "No known interactions"
else:
return "No known interactions"
# Gradio interface using Blocks API
with gr.Blocks() as demo:
gr.Markdown("# Drug Interaction Checker")
drug1 = gr.Textbox(label="Enter Drug 1", placeholder="Drug name (e.g., Aspirin)")
drug2 = gr.Textbox(label="Enter Drug 2", placeholder="Drug name (e.g., Ibuprofen)")
output = gr.Textbox(label="Interaction Results")
# Adding predefined examples for users to test
examples = gr.Examples(
examples=[
["Aspirin", "Ibuprofen"],
["Metformin", "Lisinopril"],
["Warfarin", "Amoxicillin"]
],
inputs=[drug1, drug2],
label="Try these examples"
)
btn = gr.Button("Check Interaction")
# Define button click action
btn.click(fn=check_interaction, inputs=[drug1, drug2], outputs=output)
# Launch the Gradio interface
if __name__ == "__main__":
demo.launch()