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"]) | |