예제 #1
0
        /// <summary>
        /// Descripción: Action que identifica una orden lista para el ingreso de resultados.
        /// Author: Sotero Bustamante.
        /// Fecha Creacion: 21/10/2017
        /// Fecha Modificación: 21/10/2017.
        /// Modificación: Se creo funcion para agregar Resultados bandeja de Verificador.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult SeleccionarAPVerificador(Guid id)
        {
            IngresoResultadosBl      ordenBl = new IngresoResultadosBl();
            OrdenIngresarResultadoVd orden   = ordenBl.GetAreaProcesamientoOrdenUsuario(id, Logueado.idUsuario, EstablecimientoSeleccionado.IdEstablecimiento);

            return(PartialView("SeleccionarAPVerificador", orden));
        }
예제 #2
0
        /// <summary>
        /// Descripción: Action que solicita orden para el ingreso de resultados.
        /// Author: Sotero Bustamante.
        /// Fecha Creacion: 21/10/2017
        /// Fecha Modificación: 21/10/2017.
        /// Modificación: Se creo funcion para agregar Resultados bandeja de Verificador.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult SolicitaAUVerificador(Guid id, int estatusSol)
        {
            try
            {
                IngresoResultadosBl ordenBl = new IngresoResultadosBl();
                ordenBl.SolicitaIngresoNvoResultados(id, Logueado.idUsuario, estatusSol);
                var liberador = ObtenerDatosUsuarioLiberador(id.ToString());
                if (liberador.Celular != "")
                {
                    var    sendSms = new EnvioCorreo();
                    string send    = sendSms.NewSendAlertaPaciente(liberador.Celular, liberador.mensaje);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(RedirectToAction("Index"));
        }
예제 #3
0
        /// <summary>
        /// Descripción: Action que identifica una orden lista para el ingreso de resultados.
        /// Author: Sotero Bustamante.
        /// Fecha Creacion: 21/10/2017
        /// Fecha Modificación: 21/10/2017.
        /// Modificación: Se creo funcion para agregar Resultados bandeja de Verificador.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="idArea"></param>
        /// <returns></returns>
        public ActionResult IngresarResultadosVerificador(Guid id, Guid idOrdenExamen, int idArea)
        {
            var ordenBl           = new IngresoResultadosBl();
            var orden             = ordenBl.DatosOrden(id);
            var idEstablecimiento = EstablecimientoSeleccionado.IdEstablecimiento;
            var examenes          = ordenBl.ExamenesResultadosAnalito(id, idOrdenExamen, idArea, Logueado.idUsuario, orden.EdadAnios, orden.Genero, idEstablecimiento);
            var fechaColeccion    = DateTime.MinValue;

            Session["idGenero"] = orden.Genero.ToString();

            foreach (var item in examenes)
            {
                if (fechaColeccion < item.Muestra.fechaColeccion)
                {
                    fechaColeccion = item.Muestra.fechaColeccion;
                }
            }

            ViewBag.examenes = examenes;

            return(PartialView("IngresarResultadosVerificador", orden));
        }
예제 #4
0
        public ActionResult RegistroResultadosVerificador(Guid idOrden, Guid[] resultados, Guid[] idOrdenResultadoAnalito, Guid[] idAnalito,
                                                          string[] resultado, string[] observacion, int[] metodo, Guid[] ordenExamen, int[] estatusOrdenExamen)
        {
            //List<Models.AnalitoValues> deserializedObject = JsonConvert.DeserializeObject<List<Models.AnalitoValues>>(Request.Form["jsonvalues"]);
            List <Model.AnalitoValues> deserializedObject        = JsonConvert.DeserializeObject <List <Model.AnalitoValues> >(Request.Form["jsonvalues"]);
            List <ObservacionesValues> deserializedObservaciones = JsonConvert.DeserializeObject <List <ObservacionesValues> >(Request.Form["observacionesjsonvalues"]);

            List <AnalitoOpcionResultado> resul = null;
            string convResultado  = "";
            string interpretacion = "";

            if (deserializedObject == null || !deserializedObject.Any())
            {
                return(PartialView("Blank"));
            }
            else
            {
                resul          = new DetalleAnalitoDal().GetAnalitosbyIdAnalitoResultado(deserializedObject);
                convResultado  = new OrdenDal().RetornaResultado(resul);
                interpretacion = InterpretacionResultado(ordenExamen, resul);
            }

            var ordenBl          = new IngresoResultadosBl();
            var detalleAnalitoBl = new DetalleAnalitoBl();

            var disabledCount = 0;

            for (var i = 0; i < ordenExamen.Length; i++)
            {
                disabledCount = disabledCount + 1;

                if (!resultados.Contains(ordenExamen[i]))
                {
                    continue;
                }

                var idExamenMetodo = 0;

                if (metodo != null && metodo[disabledCount - 1] > -1)
                {
                    idExamenMetodo = metodo[disabledCount - 1];
                }

                var ordenResultadoAnalito = ordenBl.GetOrdenResultadoAnalito(ordenExamen[i]);

                var lista = new List <OrdenResultadoAnalito>();
                foreach (var item in deserializedObject.GroupBy(x => x.IdOrdenResultadoAnalito))
                {
                    string serializedObject = JsonConvert.SerializeObject(item.ToList());

                    var analito = new OrdenResultadoAnalito
                    {
                        idOrdenResultadoAnalisis = item.Key,
                        resultado      = serializedObject,
                        idExamenMetodo = idExamenMetodo,
                        observacion    = deserializedObservaciones.Any(x => x.IdOrdenResultadoAnalito == item.Key) ? deserializedObservaciones.First(x => x.IdOrdenResultadoAnalito == item.Key).ObservacionContent : string.Empty,
                        convResultado  = convResultado,
                        interpretacion = interpretacion
                    };

                    if (deserializedObservaciones.Any(x => x.IdOrdenResultadoAnalito == item.Key))
                    {
                        analito.observacion = deserializedObservaciones.First(x => x.IdOrdenResultadoAnalito == item.Key).ObservacionContent;
                    }

                    lista.Add(analito);
                }

                ordenBl.RegistrarResultadosOrdenAnalito(lista, Logueado.idUsuario);

                var detalle = new List <OrdenResultadoAnalito>();
                OrdenResultadoAnalito analitoDetalle = null;

                foreach (var item in resul)
                {
                    if (item.idAnalitoCabeceraVariable != 0)
                    {
                        analitoDetalle = new OrdenResultadoAnalito
                        {
                            idOrdenResultadoAnalisis = ordenResultadoAnalito[0],
                            idAnalisis    = item.idAnalitoCabeceraVariable,
                            idSecuencia   = 2,
                            convResultado = (item.idAnalitoCabeceraVariable == 1 || item.idAnalitoCabeceraVariable == 2) ? convResultado : item.Glosa
                        };
                        detalle.Add(analitoDetalle);
                    }
                }

                ordenBl.RegistoResultadoAnalitoDetalle(detalle);
            }

            return(PartialView("Blank"));
        }