public DetectarEnfermedadResponse CalcularProbabilidad(DetectarEnfermedadRequest request) { int temp = 0; int suma = 0; _request = request; List <double> probabilidades = new List <double>(); List <double> probabilidades2 = new List <double>(); var pacientes = request.Paciente; if (pacientes != null) { foreach (var itemEnfermedad in request.Enfermedades) { suma = 0; temp = 0; foreach (var itemSintomas in itemEnfermedad.Sintomas) { foreach (var itemSintomaPaciente in request.Sintomas) { if (itemSintomas.Descripcion.Equals(itemSintomaPaciente.Descripcion)) { suma += 1; } } temp += 1; } probabilidades.Add(suma); double num = (double)suma / temp; double pro = (double)num * 100; probabilidades2.Add(pro); } var probabilidad = (double)probabilidades2.Max(); Enfermedad enfermedad = Detectar(probabilidades); if (enfermedad != null) { _diagnostico.Descripcion = ($"usted tiene {probabilidad}% de tener la enfermedad pulmonar de {enfermedad.Nombre}"); _diagnostico.Enfermedad = enfermedad; _diagnostico.Fecha = new DateTime(); _diagnostico.Paciente = request.Paciente; _diagnostico.Medico = request.Paciente.Medico; _diagnostico.Estado = "pendiente"; } else { _diagnostico = null; } return(new DetectarEnfermedadResponse(enfermedad, _diagnostico)); } else { return(new DetectarEnfermedadResponse()); } }
public string Guardar(Diagnostico diagnostico) { if (diagnostico.Descripcion == null || diagnostico.Paciente == null || diagnostico.Enfermedad == null || diagnostico.Estado == null || diagnostico.Medico == null || diagnostico.Enfermedad == null) { throw new InvalidOperationException("Complete todos los campos"); } else { this.Descripcion = diagnostico.Descripcion; this.Enfermedad = diagnostico.Enfermedad; this.Estado = diagnostico.Estado; this.Medico = diagnostico.Medico; this.Paciente = diagnostico.Paciente; return("Se Registro correctamente"); } }
public DetectarEnfermedadResponse(Enfermedad enfermedad, Diagnostico diagnostico) { Enfermedad = enfermedad; Diagnostico = diagnostico; }