Spaces:
Running
Running
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() | |