Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# ==================== Buscador de Eventos
|
| 2 |
|
| 3 |
# JAIRO ALEXANDER ERASO MD U Nacional de Colombia.
|
| 4 |
# DIANA MILENA SOLER MARTINEZ U Juan N. Corpas
|
|
@@ -12,9 +12,8 @@ import logging
|
|
| 12 |
import datetime
|
| 13 |
|
| 14 |
|
| 15 |
-
# --- CONFIGURACI脫N B脕SICA ---
|
| 16 |
st.set_page_config(
|
| 17 |
-
page_title="Buscador Inteligente SIVIGILA Colombia",
|
| 18 |
page_icon="buho.png",
|
| 19 |
layout="wide"
|
| 20 |
)
|
|
@@ -124,9 +123,7 @@ def search_with_gemini(query, event_list):
|
|
| 124 |
except Exception as e:
|
| 125 |
return f"Error en la comunicaci贸n con la API de Gemini: {e}"
|
| 126 |
|
| 127 |
-
|
| 128 |
-
# ========= INICIO DE LA FUNCI脫N DE AN脕LISIS ACTUALIZADA ====================
|
| 129 |
-
# =========================================================================
|
| 130 |
def analyze_query_with_gemini(query, definition, evento_name, ficha_number):
|
| 131 |
"""
|
| 132 |
Usa la API de Gemini para analizar la consulta y emitir una recomendaci贸n
|
|
@@ -173,16 +170,12 @@ def analyze_query_with_gemini(query, definition, evento_name, ficha_number):
|
|
| 173 |
return "Se ha alcanzado el l铆mite de consultas para el an谩lisis. Por favor, espere un minuto y vuelva a intentarlo."
|
| 174 |
except Exception as e:
|
| 175 |
return f"Ocurri贸 un error durante el an谩lisis de la IA: {e}"
|
| 176 |
-
# =========================================================================
|
| 177 |
-
# ========= FIN DE LA FUNCI脫N DE AN脕LISIS ACTUALIZADA =====================
|
| 178 |
-
# =========================================================================
|
| 179 |
-
|
| 180 |
|
| 181 |
# --- INTERFAZ DE USUARIO (UI) ---
|
| 182 |
col_img, col_text = st.columns([1, 5], gap="medium")
|
| 183 |
with col_img: st.image("buho.png", width=100)
|
| 184 |
with col_text:
|
| 185 |
-
st.title("Buscador Inteligente SIVIGILA")
|
| 186 |
st.markdown("Herramienta de apoyo para la notificaci贸n de eventos de salud p煤blica en Colombia.")
|
| 187 |
|
| 188 |
if 'search_results' not in st.session_state: st.session_state.search_results = None
|
|
@@ -193,7 +186,7 @@ def clear_search_state():
|
|
| 193 |
st.session_state.last_query = ""
|
| 194 |
|
| 195 |
with st.form(key="search_form"):
|
| 196 |
-
query = st.text_input("Ingrese su b煤squeda:", placeholder="Ej: Lepra, T630, mordedura de serpiente, 3MC...", help="Puede buscar por nombre de la enfermedad, palabras clave, o c贸digos CIE.")
|
| 197 |
submitted = st.form_submit_button("Buscar", type="primary")
|
| 198 |
|
| 199 |
if submitted:
|
|
@@ -296,15 +289,10 @@ if st.session_state.search_results is not None:
|
|
| 296 |
st.warning("No se puede realizar el an谩lisis porque no hay una definici贸n de caso disponible para este evento.")
|
| 297 |
else:
|
| 298 |
with st.spinner("Realizando an谩lisis con IA..."):
|
| 299 |
-
|
| 300 |
-
# ========= INICIO DE LA LLAMADA A LA FUNCI脫N ACTUALIZADA =================
|
| 301 |
-
# =========================================================================
|
| 302 |
# Extraemos el nombre y la ficha del evento para pasarlos a la funci贸n
|
| 303 |
evento_name = info.get("Evento", "N/A")
|
| 304 |
ficha_number = info.get("FICHA", "N/A")
|
| 305 |
|
| 306 |
analysis_result = analyze_query_with_gemini(st.session_state.last_query, definicion_de_caso_para_analisis, evento_name, ficha_number)
|
| 307 |
-
st.markdown(analysis_result)
|
| 308 |
-
# =========================================================================
|
| 309 |
-
# ========= FIN DE LA LLAMADA A LA FUNCI脫N ACTUALIZADA =====================
|
| 310 |
-
# =========================================================================
|
|
|
|
| 1 |
+
# ==================== Buscador de Eventos para Notificaci贸n SIVIGILA - Colombia 2025 =====================================
|
| 2 |
|
| 3 |
# JAIRO ALEXANDER ERASO MD U Nacional de Colombia.
|
| 4 |
# DIANA MILENA SOLER MARTINEZ U Juan N. Corpas
|
|
|
|
| 12 |
import datetime
|
| 13 |
|
| 14 |
|
|
|
|
| 15 |
st.set_page_config(
|
| 16 |
+
page_title="Buscador Inteligente de eventos para notificaci贸n SIVIGILA Colombia",
|
| 17 |
page_icon="buho.png",
|
| 18 |
layout="wide"
|
| 19 |
)
|
|
|
|
| 123 |
except Exception as e:
|
| 124 |
return f"Error en la comunicaci贸n con la API de Gemini: {e}"
|
| 125 |
|
| 126 |
+
|
|
|
|
|
|
|
| 127 |
def analyze_query_with_gemini(query, definition, evento_name, ficha_number):
|
| 128 |
"""
|
| 129 |
Usa la API de Gemini para analizar la consulta y emitir una recomendaci贸n
|
|
|
|
| 170 |
return "Se ha alcanzado el l铆mite de consultas para el an谩lisis. Por favor, espere un minuto y vuelva a intentarlo."
|
| 171 |
except Exception as e:
|
| 172 |
return f"Ocurri贸 un error durante el an谩lisis de la IA: {e}"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 173 |
|
| 174 |
# --- INTERFAZ DE USUARIO (UI) ---
|
| 175 |
col_img, col_text = st.columns([1, 5], gap="medium")
|
| 176 |
with col_img: st.image("buho.png", width=100)
|
| 177 |
with col_text:
|
| 178 |
+
st.title("Buscador Inteligente para notificar SIVIGILA CIE 10-11")
|
| 179 |
st.markdown("Herramienta de apoyo para la notificaci贸n de eventos de salud p煤blica en Colombia.")
|
| 180 |
|
| 181 |
if 'search_results' not in st.session_state: st.session_state.search_results = None
|
|
|
|
| 186 |
st.session_state.last_query = ""
|
| 187 |
|
| 188 |
with st.form(key="search_form"):
|
| 189 |
+
query = st.text_input("Ingrese su b煤squeda:", placeholder="Ej: Lepra, T630, mordedura de serpiente, Ni帽o 3 a帽os con 9 kilos, 3MC...", help="Puede buscar por nombre de la enfermedad, palabras clave, o c贸digos CIE.")
|
| 190 |
submitted = st.form_submit_button("Buscar", type="primary")
|
| 191 |
|
| 192 |
if submitted:
|
|
|
|
| 289 |
st.warning("No se puede realizar el an谩lisis porque no hay una definici贸n de caso disponible para este evento.")
|
| 290 |
else:
|
| 291 |
with st.spinner("Realizando an谩lisis con IA..."):
|
| 292 |
+
|
|
|
|
|
|
|
| 293 |
# Extraemos el nombre y la ficha del evento para pasarlos a la funci贸n
|
| 294 |
evento_name = info.get("Evento", "N/A")
|
| 295 |
ficha_number = info.get("FICHA", "N/A")
|
| 296 |
|
| 297 |
analysis_result = analyze_query_with_gemini(st.session_state.last_query, definicion_de_caso_para_analisis, evento_name, ficha_number)
|
| 298 |
+
st.markdown(analysis_result)
|
|
|
|
|
|
|
|
|