Added drugs list and example of PDF.

This commit is contained in:
Lasse Studion 2023-03-29 10:38:50 +02:00
parent cc23d830bf
commit d8279088b8

40
app.py
View File

@ -25,21 +25,40 @@ varningar.*
😌 *Ingen information sparas i den här tjänsten.* 😌 *Ingen information sparas i den här tjänsten.*
''') ''')
show_example = st.button('Visa exempel på hur PDF:en ska se ut')
if show_example:
st.image('example_list.jpg', 'Exempel på läkemedelslista.')
# Get the pdf with prescriptions from the user. # Get the pdf with prescriptions from the user.
pdf = st.file_uploader(label='Ladda upp din läkemedelslista', type='pdf') pdf = st.file_uploader(label='Ladda upp din läkemedelslista', type='pdf')
if pdf: if pdf:
substances = []
drugs = []
# Extract table from prescription pdf. # Extract table from prescription pdf.
area = [111, 20, 528, 822] # Coordinates for the corners (up, left, down, right). area = [111, 20, 528, 822] # Coordinates for the corners (up, left, down, right).
df = tabula.read_pdf(pdf, pages='all', area=area, lattice=True)[0] df_list = tabula.read_pdf(pdf, pages='all', area=area, lattice=True)
df.columns = ['Uthämtat datum', 'Uthämtat läkemedel', 'Användning', 'Förskrivet av', 'Uthämtad mängd', 'Läkemedelsgrupp'] for df in df_list:
df.dropna(axis=0, inplace=True) if len(df.columns) != 6:
df['substance'] = df['Uthämtat läkemedel'].apply(lambda x: get_substance(x)) continue
df.columns = ['Uthämtat datum', 'Uthämtat läkemedel', 'Användning', 'Förskrivet av', 'Uthämtad mängd', 'Läkemedelsgrupp']
# Create list of precripted substances. df.dropna(axis=0, inplace=True)
substances = df.substance.tolist() df['substance'] = df['Uthämtat läkemedel'].apply(lambda x: get_substance(x))
df['Uthämtat läkemedel'] = df['Uthämtat läkemedel'].apply(lambda x: x.split('\r')[0])
# Create list of precripted substances.
substances += df.substance.tolist()
drugs += df['Uthämtat läkemedel'].tolist()
# Show the list of drugs.
text_drugs = '''
*De här läkemedlen hittar vi i din PDF. Om du saknar något kan du lägga till det genom att
följa länken till Janusmed nedan eller direkt i förhandsvisningen.*\n '''
for i in drugs:
text_drugs += f'+ **{i}**\n '
st.markdown(text_drugs)
# Create list of substance ids. # Create list of substance ids.
substances_id_list = [] substances_id_list = []
for substance in substances: for substance in substances:
@ -53,14 +72,15 @@ if pdf:
# Create URL for janusmed.se # Create URL for janusmed.se
substances_id_url_list = '&nslIds='.join(substances_id_list) substances_id_url_list = '&nslIds='.join(substances_id_list)
url = 'https://janusmed.se/interaktioner?nplIds=' + substances_id_url_list url = 'https://janusmed.se/interaktioner?nslIds=' + substances_id_url_list
# Show text with URL to janusmed.se. # Show text with URL to janusmed.se.
st.markdown(f''' st.markdown(f'''
:grey[*Följ [den här länken]({url}) för att se om dina :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 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.*] du skulle kunna prata med din läkare om. Nedan kan du se en förhandsvisning.
Observera att sökningen är gjord de aktiva substanserna i dina läkemedel
namnen stämmer kanske inte överens med läkemedelsnamnen i listan ovan.*]
''') ''')
# Preview janusmed.se in an iframe. # Preview janusmed.se in an iframe.
st.components.v1.iframe(url, height=600, scrolling=True) st.components.v1.iframe(url, height=600, scrolling=True)