commit 5a8da9d4e6ec17eba118044fab872406de883fc5 Author: Lasse Studion Date: Tue Mar 28 11:55:24 2023 +0200 first commit diff --git a/app.py b/app.py new file mode 100644 index 0000000..bab76c6 --- /dev/null +++ b/app.py @@ -0,0 +1,51 @@ +import requests +import json +import tabula +import re +import streamlit as st + +def get_substance(x): + 'Returns the substance of the drug.' + l = x.split('\r') + s = re.search(r'\w+', l[-1]).group() + return s.lower() + +# Get the pdf with prescriptions from the user. +pdf = st.file_uploader(label='Ladda upp din läkemedelslista', type='pdf') + +if pdf: + + # Extract table from prescription pdf. + area = [111, 20, 528, 822] + df = tabula.read_pdf(pdf, pages='all', area=area, lattice=True)[0] + df.columns = ['Uthämtat datum', 'Uthämtat läkemedel', 'Användning', 'Förskrivet av', 'Uthämtad mängd', 'Läkemedelsgrupp'] + df.dropna(axis=0, inplace=True) + df['substance'] = df['Uthämtat läkemedel'].apply(lambda x: get_substance(x)) + + # Make list of precripted substances. + substances = df.substance.tolist() + + substances_id_list = [] + for substance in substances: + # Get data for the substance. + data = requests.get(f'https://janusmed.se/api/search/input/{substance}').json() + data = data[0] # Only first is interesting(?) when searching on substances. + + # Add the substance ID to the list of substances. + substance_id = data['nslId'] #TODO Kan finnas flera!? + substances_id_list.append(substance_id) + + # Create URL for janusmed.se + substances_id_url_list = '&nslIds='.join(substances_id_list) + url = 'https://janusmed.se/interaktioner?nplIds=' + substances_id_url_list + + # Show text with URL to janusmed. + st.markdown(f''' + :grey[*Följ [den här länken]({url}) för att se om dina + läkemedel går bra ihop eller om det kan finnas något + du skulle kunna prata med din läkare om. Nedan kan du se en förhandsvisning.*] + ''') + + # View janusmed.se in an iframe. + st.components.v1.iframe(url, height=600, scrolling=True) + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2b96013 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,53 @@ +altair==4.2.2 +attrs==22.2.0 +backports.zoneinfo==0.2.1 +blinker==1.5 +cachetools==5.3.0 +certifi==2022.12.7 +charset-normalizer==3.1.0 +click==8.1.3 +decorator==5.1.1 +distro==1.8.0 +entrypoints==0.4 +gitdb==4.0.10 +GitPython==3.1.31 +idna==3.4 +importlib-metadata==6.1.0 +importlib-resources==5.12.0 +Jinja2==3.1.2 +jsonschema==4.17.3 +markdown-it-py==2.2.0 +MarkupSafe==2.1.2 +mdurl==0.1.2 +numpy==1.24.2 +packaging==23.0 +pandas==1.5.3 +Pillow==9.4.0 +pkgutil_resolve_name==1.3.10 +protobuf==3.20.3 +pyarrow==11.0.0 +pydeck==0.8.0 +Pygments==2.14.0 +Pympler==1.0.1 +pyrsistent==0.19.3 +python-dateutil==2.8.2 +python-decouple==3.8 +pytz==2023.2 +pytz-deprecation-shim==0.1.0.post0 +requests==2.28.2 +rich==13.3.3 +semver==2.13.0 +six==1.16.0 +smmap==5.0.0 +streamlit==1.20.0 +streamlit-aggrid==0.3.4.post3 +tabula-py==2.7.0 +toml==0.10.2 +toolz==0.12.0 +tornado==6.2 +typing_extensions==4.5.0 +tzdata==2023.2 +tzlocal==4.3 +urllib3==1.26.15 +validators==0.20.0 +zipp==3.15.0