generated from streamlit/blank-app-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstreamlit_app.py
111 lines (95 loc) · 4.88 KB
/
streamlit_app.py
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import streamlit as st
# Titel van de applicatie
st.title("FPIES Diagnostisch Algoritme")
# Inleiding
st.markdown(
"""
Welkom bij de FPIES diagnostische tool. Beantwoord de volgende vragen stap voor stap
om te bepalen of een patiënt mogelijk aan FPIES (Food Protein-Induced Enterocolitis Syndrome) lijdt.
"""
)
# Vraag 1: Leeftijd van de patiënt
age = st.selectbox("Wat is de leeftijd van de patiënt?", ["<16 jaar", "≥16 jaar"])
if age == "<16 jaar":
st.write("Patiënt valt onder de kindcategorie.")
# Vraag 2: Heeft de patiënt acute symptomen?
acute_symptoms = st.radio("Heeft de patiënt acute symptomen?", ["Ja", "Nee"])
if acute_symptoms == "Ja":
# Vraag 3: Zijn beide major criteria aanwezig?
major_criteria = [
st.checkbox("Braken 1-4 uur na het eten van verdacht voedsel"),
st.checkbox("Afwezigheid van klassieke IgE-gemedieerde allergische huid- of ademhalingssymptomen")
]
if all(major_criteria):
# Vraag 4: Zijn er ≥3 minor criteria aanwezig?
minor_criteria = [
st.checkbox("Een tweede episode van repetitief braken na hetzelfde voedsel"),
st.checkbox("Repetitief braken na eten van een ander voedsel"),
st.checkbox("Significant lethargie met reactie"),
st.checkbox("Bleekheid met reactie"),
st.checkbox("Bezoek aan de spoedeisende hulp met reactie"),
st.checkbox("Intravenus vocht nodig met reactie"),
st.checkbox("Diarree binnen 24 uur (meestal 5-10 uur)"),
st.checkbox("Hypotensie"),
st.checkbox("Hypothermie"),
st.checkbox("Toename neutrofielen (indien beschikbaar)")
]
# Tellen van criteria
criteria_count = sum(minor_criteria)
if criteria_count >= 3:
st.success("Patiënt voldoet aan criteria voor acute FPIES. Overweeg een gecontroleerde voedselprovocatie.")
else:
st.warning("Patiënt voldoet mogelijk niet aan de criteria. Overweeg andere oorzaken.")
else:
st.warning("Beide major criteria moeten aanwezig zijn om verder te gaan.")
else:
st.info("Geen acute symptomen. Overweeg chronische FPIES.")
chronic_symptoms = st.radio(
"Zijn er terugkerende symptomen zoals waterige diarree of braken met regelmatige consumptie?", ["Ja", "Nee"]
)
if chronic_symptoms == "Ja":
st.success("Patiënt voldoet aan criteria voor chronische FPIES.")
else:
st.info("Heeft de patiënt symptomen gehad na het herintroduceren van voedsel na een periode van eliminatie?")
food_reintroduction = st.radio("Symptomen na voedselherintroductie?", ["Ja", "Nee"])
if food_reintroduction == "Ja":
st.success("Overweeg acute FPIES na chronische FPIES. Plan een gecontroleerde voedselprovocatie.")
else:
st.warning("Geen duidelijke aanwijzingen voor FPIES. Overweeg andere oorzaken.")
elif age == "≥16 jaar":
st.write("Patiënt valt onder de volwassen categorie.")
# Vraag 2: Heeft de patiënt acute symptomen?
acute_symptoms = st.radio("Heeft de patiënt acute symptomen?", ["Ja", "Nee"])
if acute_symptoms == "Ja":
# Vraag 3: Zijn er ≥2 episoden van koliekachtige buikpijn na hetzelfde voedsel?
abdominal_pain = st.radio(
"Heeft de patiënt ≥2 episoden van koliekachtige buikpijn of braken na eten van hetzelfde voedsel?", ["Ja", "Nee"]
)
if abdominal_pain == "Ja":
# Vraag 4: Zijn er aanvullende symptomen?
additional_symptoms = [
st.checkbox("Significant lethargie"),
st.checkbox("Bleekheid"),
st.checkbox("Diarree binnen 24 uur"),
st.checkbox("Hypotensie of hypothermie"),
st.checkbox("Intravenus vocht nodig")
]
criteria_count_adult = sum(additional_symptoms)
if criteria_count_adult >= 3:
st.success("Patiënt voldoet aan criteria voor acute FPIES bij volwassenen.")
else:
st.warning("Mogelijke FPIES-symptomen. Overweeg verdere evaluatie.")
else:
st.info("Zijn er andere symptomen zoals significant lethargie, bleekheid, of diarree na voedselinname?")
other_symptoms = st.radio("Andere symptomen aanwezig?", ["Ja", "Nee"])
if other_symptoms == "Ja":
st.success("Overweeg FPIES met aanvullende diagnostiek.")
else:
st.warning("Geen duidelijke symptomen van FPIES. Overweeg andere oorzaken.")
# Slot
st.markdown(
"""
**Disclaimer:** Deze tool is bedoeld ter ondersteuning en niet als vervanging voor medische diagnose of behandeling.
Neem bij twijfel contact op met een specialist.
"""
)