示例#1
0
        public MuestraCodificacion GenerarCodigosKobo(int idEstablecimiento, int idUsuario, int icodigoLineal)
        {
            var o = new MuestraCodificacion();

            var codificacion = ObtenerCodificacion(idEstablecimiento);

            if (!string.IsNullOrEmpty(codificacion))
            {
                o = InsertarCodificacionDeMuestraKobo(idEstablecimiento, codificacion, idUsuario, icodigoLineal);
            }

            return(o);
        }
示例#2
0
        public MuestraCodificacion InsertarCodificacionDeMuestraKobo(int idEstablecimiento, string codificacion, int idUsuario, int icodigoLineal)
        {
            var objCommand           = GetSqlCommand("pNLI_MuestraCodificacionKobo");
            var oMuestraCodificacion = new MuestraCodificacion();

            InputParameterAdd.Int(objCommand, "idEstablecimiento", idEstablecimiento);
            InputParameterAdd.Varchar(objCommand, "codificacion", codificacion);
            InputParameterAdd.Int(objCommand, "idUsuarioRegistro", idUsuario);
            InputParameterAdd.Int(objCommand, "icodigoLineal", icodigoLineal);
            OutputParameterAdd.Varchar(objCommand, "newcodigoQR", 10);
            OutputParameterAdd.Varchar(objCommand, "newcodigoLineal", 12);
            OutputParameterAdd.UniqueIdentifier(objCommand, "idMuestraCod");
            ExecuteNonQuery(objCommand);
            oMuestraCodificacion.codificacionLineal = objCommand.Parameters["@newcodigoLineal"].Value.ToString();
            oMuestraCodificacion.idMuestraCod       = Guid.Parse(objCommand.Parameters["@idMuestraCod"].Value.ToString());
            oMuestraCodificacion.codificacion       = codificacion;

            return(oMuestraCodificacion);
        }
示例#3
0
        public string PreSaveOrden()
        {
            var orden        = new Orden();
            var ordenBl      = new OrdenBl();
            int idEnfermedad = int.Parse(GetSetting <string>("EnfVirusRespiratorio"));

            string fechaObtencion     = Request.Form["fechaObtencion"];
            string idExamen           = GetSetting <string>("Covid19");
            string idTipoMuestra      = Request.Form["TipoMuestraCovid"];
            string nroCelularPaciente = Request.Form["nroCelularPaciente"];
            Guid   idPaciente         = Guid.Parse(Request.Form["GuidIdPaciente"].ToString());

            orden.idOrden = Guid.Parse(Request.Form["idOrden"].ToString());


            List <OrdenDatoClinico> ordenDatoClinicoList = new List <OrdenDatoClinico>();
            var datoClinicoBl     = new DatoClinicoBl();
            var categoriaDatoList = datoClinicoBl.GetCategoriaByEnfermedad(idEnfermedad, 1, idExamen);
            var oEnfermedad       = new Enfermedad();

            oEnfermedad.idEnfermedad      = idEnfermedad;
            oEnfermedad.categoriaDatoList = categoriaDatoList;
            List <Enfermedad> enfermedadListAgregados = new List <Enfermedad>();

            enfermedadListAgregados.Add(oEnfermedad);
            {
                var datosClinicos =
                    enfermedadListAgregados.SelectMany(e => e.categoriaDatoList)
                    .SelectMany(c => c.OrdenDatoClinicoList);
                foreach (var ordenDatoClinico in datosClinicos)
                {
                    var id = ordenDatoClinico.Enfermedad.idEnfermedad.ToString() +
                             ordenDatoClinico.Dato.IdDato.ToString();

                    OrdenDatoClinico ordenDatoClinicoFormulario =
                        ordenDatoClinicoList.FirstOrDefault(x => x.Dato.IdDato == ordenDatoClinico.Dato.IdDato);

                    //Si el dato clinico existe previamente en el formulario entonces se copia los valores del existente
                    if (ordenDatoClinicoFormulario != null)
                    {
                        ordenDatoClinico.noPrecisa   = ordenDatoClinicoFormulario.noPrecisa;
                        ordenDatoClinico.ValorString = ordenDatoClinicoFormulario.ValorString;
                    }
                    else
                    {
                        //Si el dato clinico no existe se crea con los valores obtenidos
                        ordenDatoClinicoFormulario = new OrdenDatoClinico();
                        Dato datoClinico = new Dato();
                        datoClinico.IdDato = ordenDatoClinico.Dato.IdDato;
                        ordenDatoClinicoFormulario.Dato = datoClinico;
                        ordenDatoClinicoList.Add(ordenDatoClinicoFormulario);


                        var    formValue             = Request.Form["valueDato" + id];
                        string checknoprecisa        = Request.Form["checkNoPrecisa" + id];
                        var    checkNoPrecisaBoolean = !string.IsNullOrEmpty(checknoprecisa) && (checknoprecisa.ToLower() == "on" || checknoprecisa.ToLower() == "true");

                        if ((int)Enums.TipoCampo.CHECKBOX == ordenDatoClinico.Dato.IdTipo ||
                            (int)Enums.TipoCampo.COMBO == ordenDatoClinico.Dato.IdTipo)
                        {
                            ordenDatoClinico.noPrecisa   = formValue == null || formValue.Equals("0");
                            ordenDatoClinico.ValorString = formValue == null || formValue.Equals("0")
                                ? ""
                                : formValue;
                        }
                        else
                        {
                            ordenDatoClinico.noPrecisa   = checkNoPrecisaBoolean;
                            ordenDatoClinico.ValorString = !checkNoPrecisaBoolean ? formValue : string.Empty;
                        }
                        ordenDatoClinicoFormulario.noPrecisa   = ordenDatoClinico.noPrecisa;
                        ordenDatoClinicoFormulario.ValorString = ordenDatoClinico.ValorString;
                    }
                }
            }
            orden.enfermedadList    = enfermedadListAgregados;
            orden.IdUsuarioRegistro = Logueado.idUsuario;
            orden.ordenMuestraList  = new List <OrdenMuestra>();
            orden.ordenExamenList   = new List <OrdenExamen>();
            var oOrdenMuestra         = new OrdenMuestra();
            var oOrdenExamen          = new OrdenExamen();
            var oMuestraCodificacion  = new MuestraCodificacion();
            var codigoOrdenGenerado   = string.Empty;
            int EstablecimientoOrigen = string.IsNullOrEmpty(Request.Form["EESSOrigen"].ToString()) ? 0 : int.Parse(Request.Form["EESSOrigen"]);
            int hddDatoEESSOrigenEdit = string.IsNullOrEmpty(Request.Form["hddDatoEESSOrigenEdit"].ToString()) ? 0 : int.Parse(Request.Form["hddDatoEESSOrigenEdit"]);

            //OrdenMuestra
            oOrdenMuestra.TipoMuestra = new TipoMuestra {
                idTipoMuestra = int.Parse(idTipoMuestra)
            };
            oOrdenMuestra.fechaColeccion = DateTime.Parse(fechaObtencion);
            oOrdenMuestra.horaColeccion  = DateTime.Now;
            oOrdenMuestra.idProyecto     = 1;
            orden.idEstablecimiento      = EstablecimientoOrigen;
            orden.editarEstablecimiento  = "N";
            if (EstablecimientoOrigen != hddDatoEESSOrigenEdit)
            {
                //Orden
                orden.editarEstablecimiento = "S";
                orden.codigoOrden           = ordenBl.GenerarCodigoOrden(hddDatoEESSOrigenEdit);
                orden.idEstablecimiento     = hddDatoEESSOrigenEdit;
                //OrdenMuestra
                oMuestraCodificacion = new MuestraBl().GeneraCodigosMuestraKobo(hddDatoEESSOrigenEdit, Logueado.idUsuario, 1);
                oOrdenMuestra.MuestraCodificacion = oMuestraCodificacion;
            }
            orden.ordenMuestraList.Add(oOrdenMuestra);

            orden.Paciente = new Paciente {
                IdPaciente = idPaciente, Celular1 = nroCelularPaciente
            };

            var Res = "Registro Exitoso.";

            try
            {
                ordenBl.UpdateOrdenCovid(orden);
            }
            catch (Exception ex)
            {
                Res = ex.Message;
            }
            return(Res);
        }