Spaces:
Runtime error
Runtime error
import re | |
def evaluar_triaje(sintomas, intensidad, duracion, antecedentes): | |
score = 0 | |
# Listas ampliadas con posibles sinónimos o expresiones comunes | |
sintomas_criticos = ["dolor intenso", "falta de aire", "desmayo", "pérdida de conciencia"] | |
for sintoma in sintomas_criticos: | |
if sintoma in sintomas.lower(): | |
score += 5 | |
sintomas_moderados = ["fiebre alta", "dolor en el pecho", "mareos", "náusea"] | |
for sintoma in sintomas_moderados: | |
if sintoma in sintomas.lower(): | |
score += 3 | |
intensidad = intensidad.lower() | |
if intensidad in ["intensa", "alta"]: | |
score += 3 | |
elif intensidad == "moderada": | |
score += 2 | |
elif intensidad in ["leve", "baja"]: | |
score += 1 | |
try: | |
duracion = float(duracion) | |
if duracion >= 24: | |
score += 3 | |
elif duracion >= 6: | |
score += 2 | |
else: | |
score += 1 | |
except ValueError: | |
print("Error: La duración debe ser un valor numérico.") | |
antecedentes_relevantes = ["cardiopatía", "hipertensión", "diabetes"] | |
for item in antecedentes_relevantes: | |
if item in antecedentes.lower(): | |
score += 2 | |
return score | |
def recomendar_atencion(score): | |
if score >= 12: | |
return "Se recomienda atención de emergencia. Llame a los servicios de urgencia." | |
elif score >= 7: | |
return "Se sugiere acudir a consulta médica lo antes posible." | |
else: | |
return "Puede programar una consulta médica de rutina." | |
def triaje_primer_tool(data): | |
score = evaluar_triaje( | |
data.get("sintomas", ""), | |
data.get("intensidad", ""), | |
data.get("duracion", "0"), | |
data.get("antecedentes", "") | |
) | |
recomendacion = recomendar_atencion(score) | |
return { | |
"score": score, | |
"recomendacion": recomendacion | |
} | |
if __name__ == "__main__": | |
ejemplo_data = { | |
"sintomas": "El paciente presenta dolor intenso en el pecho y falta de aire.", | |
"intensidad": "intensa", | |
"duracion": "8", | |
"antecedentes": "El paciente tiene antecedentes de hipertensión." | |
} | |
resultado = triaje_primer_tool(ejemplo_data) | |
print("Puntaje de riesgo:", resultado["score"]) | |
print("Recomendación:", resultado["recomendacion"]) | |