File size: 2,599 Bytes
fb132ef
a9fda12
 
 
 
fb132ef
a9fda12
f545f5b
a9fda12
fb132ef
a9fda12
 
fb132ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a9fda12
 
 
 
fb132ef
 
 
 
 
 
 
 
 
 
 
 
 
 
a9fda12
 
 
 
 
fb132ef
 
a9fda12
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

import streamlit as st
import requests
from geopy.geocoders import Nominatim

# Set your Hugging Face API URL and API key
API_URL = "https://api-inference.huggingface.co/models/dmis-lab/biobert-base-cased-v1.1"
headers = {"Authorization": ""}

# Function to query the Hugging Face model
def query(payload):
    response = requests.post(API_URL, headers=headers, json=payload)
    if response.status_code == 200:
        return response.json()
    else:
        st.error("Error: Unable to fetch response from model")
        st.error(response.text)
        return None

# Function to find nearby clinics/pharmacies using geopy
def find_nearby_clinics(address):
    geolocator = Nominatim(user_agent="healthcare_companion")
    location = geolocator.geocode(address)
    if location:
        return (location.latitude, location.longitude)
    else:
        st.error("Error: Address not found")
        return None

# Main function to create the Streamlit app
def main():
    st.title("Healthcare Companion")
    st.write("This app provides healthcare guidance, prescription information, and locates nearby clinics or pharmacies.")

    # User input for medical symptoms
    symptoms = st.text_area("Enter your symptoms (e.g., 'I am having a cough, weak knee, swollen eyes'):")
    if symptoms:
        context = """
        This is a healthcare question and answer platform. The following text contains typical symptoms, treatments, and medical conditions commonly asked about in healthcare settings. 
        For example, symptoms of COVID-19 include fever, dry cough, and tiredness. Treatment options for hypertension include lifestyle changes and medications. The platform is designed to assist with general medical inquiries.
        """
        payload = {"inputs": {"question": symptoms, "context": context}}
        st.write(f"Debug: Payload sent to model: {payload}")  # Debugging: Check payload
        result = query(payload)
        st.write(f"Debug: Response from model: {result}")  # Debugging: Check response
        if result:
            st.write("**Medical Advice:**")
            st.write(result.get('answer', "Sorry, I don't have information on that."))

    # User input for address to find nearby clinics/pharmacies
    address = st.text_input("Enter your address to find nearby clinics/pharmacies:")
    if address:
        location = find_nearby_clinics(address)
        if location:
            st.write(f"**Nearby Clinics/Pharmacies (Coordinates):** {location}")

    # Additional features like prescription info can be added similarly

if __name__ == "__main__":
    main()