예제 #1
0
        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());
            }
        }
예제 #2
0
 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");
     }
 }
예제 #3
0
 public DetectarEnfermedadResponse(Enfermedad enfermedad, Diagnostico diagnostico)
 {
     Enfermedad  = enfermedad;
     Diagnostico = diagnostico;
 }