Пример #1
0
        private string existe()
        {
            //////////////////////////////////////////////////////////////////////////////////////////
            ///Verifica de que no exista un item para la combincacion orden y tipo de muestra
            //////////////////////////////////////////////////////////////////////////////////////////
            string hay = "";

            MetrolabItem oItem = new MetrolabItem();

            oItem = (MetrolabItem)oItem.Get(typeof(MetrolabItem), "IdItem", int.Parse(ddlItem.SelectedValue));
            if (oItem == null)
            {
                ISession  m_session = NHibernateHttpModule.CurrentSession;
                ICriteria crit      = m_session.CreateCriteria(typeof(MetrolabItem));
                crit.Add(Expression.Eq("IdMetrolab", txtOrden.Text.Trim()));
                IList detalle = crit.List();
                if (detalle.Count > 0)
                {
                    hay = "Ya existe una vinculación para el ID de muestra seleccionado. Verifique.";
                }
            }
            else
            {
                hay = "Ya existe una configuración para el análisis seleccionado";
            }

            return(hay);
        }
Пример #2
0
        private void GuardarDetalleConfiguracion()
        {
            MetrolabItem oDetalle = new MetrolabItem();

            oDetalle.IdMetrolab = txtOrden.Text.Trim();
            oDetalle.IdItem     = int.Parse(ddlItem.SelectedValue);
            oDetalle.Habilitado = true;
            oDetalle.Save();
        }
Пример #3
0
 protected void gvLista_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Eliminar")
     {
         MetrolabItem oRegistro = new MetrolabItem();
         oRegistro = (MetrolabItem)oRegistro.Get(typeof(MetrolabItem), int.Parse(e.CommandArgument.ToString()));
         oRegistro.Delete();
         CargarGrilla();
     }
 }
Пример #4
0
        protected void chkStatus_OnCheckedChanged(object sender, EventArgs e)
        {
            CheckBox    chkStatus = (CheckBox)sender;
            GridViewRow row       = (GridViewRow)chkStatus.NamingContainer;

            int i_id = int.Parse(gvLista.DataKeys[row.RowIndex].Value.ToString());

            MetrolabItem oRegistro = new MetrolabItem();

            oRegistro            = (MetrolabItem)oRegistro.Get(typeof(MetrolabItem), i_id);
            oRegistro.Habilitado = chkStatus.Checked;
            oRegistro.Save();
        }
Пример #5
0
        private void guardarMetrolab(MindrayResultado oResultado, string s_prefijo, ISession m_session, Protocolo oProtocolo)
        {
            /// busco el item en el lis
            ICriteria crit2 = m_session.CreateCriteria(typeof(MetrolabItem));

            crit2.Add(Expression.Eq("IdMetrolab", oResultado.Descripcion));
            crit2.Add(Expression.Eq("Prefijo", s_prefijo));
            crit2.Add(Expression.Eq("Habilitado", true));
            MetrolabItem oItem = (MetrolabItem)crit2.UniqueResult();

            if (oItem != null)
            {
                int  IdItemLIS = oItem.IdItem; // id item en el lis
                Item oItemLIS  = new Item();
                oItemLIS = (Item)oItemLIS.Get(typeof(Item), IdItemLIS);
                string valorObtenido = oResultado.ValorObtenido;

                DetalleProtocolo oDetalle = new DetalleProtocolo();
                oDetalle = (DetalleProtocolo)oDetalle.Get(typeof(DetalleProtocolo), "IdProtocolo", oProtocolo, "IdSubItem", oItemLIS);
                if (oDetalle != null)
                {
                    if (oDetalle.IdUsuarioValida == 0)     // si no fue validado
                    {
                        if (oItemLIS.IdTipoResultado == 1) //Si es numero
                        {
                            decimal s_ItemNum = decimal.Parse(valorObtenido.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture);
                            oDetalle.ResultadoNum   = s_ItemNum;
                            oDetalle.Enviado        = 2;
                            oDetalle.ConResultado   = true;
                            oDetalle.FechaResultado = DateTime.Now;
                            oDetalle.Save();
                            oDetalle.GrabarAuditoriaDetalleProtocolo("Automático Metrolab", int.Parse(Session["idUsuario"].ToString()));
                        }
                        else //Si es texto
                        {
                            oDetalle.ResultadoCar   = valorObtenido;
                            oDetalle.Enviado        = 2;
                            oDetalle.ConResultado   = true;
                            oDetalle.FechaResultado = DateTime.Now;
                            oDetalle.Save();
                            oDetalle.GrabarAuditoriaDetalleProtocolo("Automático Metrolab", int.Parse(Session["idUsuario"].ToString()));
                        }
                        if (oProtocolo.Estado == 0)
                        {
                            oProtocolo.Estado = 1;
                            oProtocolo.Save();
                        }
                    } // fin if idusuario validado
                }     // fin odetalle null
            }
        }
Пример #6
0
        private void GrabarDatosaEnviar(string m_Equipo,Protocolo oProtocolo,int IdMuestra, string numero)
        {
            string m_paciente = ""; string m_anioNacimiento = ""; string m_sexoPaciente = "";
            string m_listaItem = ""; string m_sectorSolicitante = ""; string m_Prefijo = "";
            string m_tipoMuestra = ""; bool marcarenviado = false;
            m_tipoMuestra = Request["tipoMuestra"].ToString();
      

            ISession m_session = NHibernateHttpModule.CurrentSession;
            ICriteria crit = m_session.CreateCriteria(typeof(DetalleProtocolo));
            crit.Add(Expression.Eq("IdProtocolo", oProtocolo));
            //crit.Add(Expression.Eq("Enviado", 0));
            IList lista = crit.List();
           
            foreach (DetalleProtocolo oDetalle in lista)
            {
                    marcarenviado = false;
                    if (m_Equipo == "Mindray")
                    {
                        m_Prefijo = Request["Prefijo"].ToString(); 
                        MindrayItem oItemMindray = new MindrayItem();
                        oItemMindray = (MindrayItem)oItemMindray.Get(typeof(MindrayItem), "IdItem", oDetalle.IdSubItem.IdItem, "Habilitado", true);                      
                            
                        if (oItemMindray != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMindray.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMindray.IdMindray.ToString();
                                    else
                                        m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                                }
                            }
                            else
                            {
                                if (oItemMindray.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMindray.IdMindray.ToString();
                                    else
                                        m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                                }
                            }
                        }                                          
                    }


                    if (m_Equipo == "SysmexXS1000")
                    {
                        SysmexItemXS1000 oItemSysmex = new SysmexItemXS1000();
                        oItemSysmex = (SysmexItemXS1000)oItemSysmex.Get(typeof(SysmexItemXS1000), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemSysmex != null)
                        {
                            marcarenviado = true;
                            if (m_listaItem == "")
                                m_listaItem = oItemSysmex.IdSysmex.ToString();
                            else
                                m_listaItem += "|" + oItemSysmex.IdSysmex.ToString();
                            /////////////////////////////////////////////////////////
                            ///agrega los valores absolutos de la formula leucocitaria
                            switch (oItemSysmex.IdSysmex)
                            {
                                case "NEUT%": m_listaItem += "|NEUT#"; break;
                                case "LYMPH%": m_listaItem += "|LYMPH#"; break;
                                case "MONO%": m_listaItem += "|MONO#"; break;
                                case "EO%": m_listaItem += "|EO#"; break;
                                case "BASO%": m_listaItem += "|BASO#"; break;
                            }
                            /////////////////////////////////////////////////////////
                        }
                    }


                    if (m_Equipo == "SysmexXT1800")
                    {
                        SysmexItemxt1800 oItemSysmex = new SysmexItemxt1800();
                        oItemSysmex = (SysmexItemxt1800)oItemSysmex.Get(typeof(SysmexItemxt1800), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemSysmex != null)
                        {
                            marcarenviado = true;
                            if (m_listaItem == "")
                                m_listaItem = oItemSysmex.IdSysmex;
                            else
                                m_listaItem += "|" + oItemSysmex.IdSysmex;                         
                        }
                    }

                    if (m_Equipo == "Metrolab")
                    {
                        m_Prefijo = Request["Prefijo"].ToString(); 
                        MetrolabItem oItemMetrolab = new MetrolabItem();
                        oItemMetrolab = (MetrolabItem)oItemMetrolab.Get(typeof(MetrolabItem), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado", true);
                        if (oItemMetrolab != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMetrolab.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMetrolab.IdMetrolab;
                                    else
                                        m_listaItem += ";" + oItemMetrolab.IdMetrolab;
                                }
                            }
                            else
                            {
                                if (oItemMetrolab.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMetrolab.IdMetrolab;
                                    else
                                        m_listaItem += ";" + oItemMetrolab.IdMetrolab;
                                }
                            }
                        }
                    }
                    if (m_Equipo == "Miura")
                    {
                        MiuraItem oItemMiura = new MiuraItem();
                        oItemMiura = (MiuraItem)oItemMiura.Get(typeof(MiuraItem), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemMiura != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMiura.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem ="^" + oItemMiura.IdMiura + "^^"; 
                                    else
                                        m_listaItem += "|" + "^" + oItemMiura.IdMiura + "^^" ;
                                }
                            }
                            else
                            {
                                if (oItemMiura.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = "^" + oItemMiura.IdMiura + "^^";
                                    else
                                        m_listaItem += "|" + "^" + oItemMiura.IdMiura + "^^";
                                }
                            }
                        }
                    }
                if (m_Equipo == "CobasC311")
                {

                    m_Prefijo = Request["Prefijo"].ToString();
                    
                    CobasC311Item oItemCobasC311 = new CobasC311Item();
                    oItemCobasC311 = (CobasC311Item)oItemCobasC311.Get(typeof(CobasC311Item), "IdItemSil", oDetalle.IdSubItem.IdItem, "Habilitado", true);
                    if (oItemCobasC311 != null)
                    {
                        if (m_Prefijo.Trim() != "Rutina")
                        {
                            if (oItemCobasC311.Prefijo.Trim() == m_Prefijo.Trim())
                            {
                                marcarenviado = true;
                                if (m_listaItem == "")
                                    m_listaItem = oItemCobasC311.IdItemCobas.ToString() + "|" + oItemCobasC311.TipoMuestra.ToString();
                                else
                                    m_listaItem += ";" + oItemCobasC311.IdItemCobas + "|" + oItemCobasC311.TipoMuestra.ToString();
                            }
                        }
                        else
                        {
                            if (oItemCobasC311.Prefijo.Trim() == "")
                            {
                                marcarenviado = true;
                                if (m_listaItem == "")
                                    m_listaItem = oItemCobasC311.IdItemCobas.ToString() + "|" + oItemCobasC311.TipoMuestra.ToString();
                                else
                                    m_listaItem += ";" + oItemCobasC311.IdItemCobas + "|" + oItemCobasC311.TipoMuestra.ToString();
                            }
                        }
                    }
                }


                if (marcarenviado)
                    {   ////////marca como enviado
                        oDetalle.Enviado = 1;
                        oDetalle.IdUsuarioEnvio = int.Parse(Session["idUsuario"].ToString());
                        oDetalle.FechaEnvio = DateTime.Now;
                        oDetalle.Save();
                        ///////////////
                    }
             }


            if (m_listaItem != "")
            {
                m_sexoPaciente = oProtocolo.Sexo; if (m_sexoPaciente == "I") m_sexoPaciente = "O";
                
                if (m_Equipo == "SysmexXT1800")
                {
                    if (m_sexoPaciente == "O") m_sexoPaciente = "U";
                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + "-" + oProtocolo.IdPaciente.Apellido + "-" + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_tipoMuestra = "Sangre";
                }

                if (m_Equipo == "SysmexXS1000")
                {
                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "  " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_tipoMuestra = "Sangre";
                }
                
                if (m_Equipo == "Mindray")
                {                   
                    m_Prefijo = Request["Prefijo"].ToString(); 
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-" + m_tipoMuestra.Substring(0, 1).ToUpper() + "-" + m_Prefijo.ToUpper();
                    else   numero = numero + "-" + m_tipoMuestra.Substring(0, 1).ToUpper();
                    m_paciente = oProtocolo.IdPaciente.Apellido + " " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.Year.ToString();
               
                }
                if (m_Equipo == "Miura")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-" + m_Prefijo.ToUpper();
                    if (oProtocolo.IdPaciente.IdEstado == 1)
                        m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "^" + oProtocolo.IdPaciente.Nombre;
                    else
                        m_paciente = "0 - " + oProtocolo.IdPaciente.Apellido + "^" + oProtocolo.IdPaciente.Nombre;

                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_sexoPaciente = oProtocolo.Sexo; if (m_sexoPaciente == "I") m_sexoPaciente = "U";
                }

                if (m_Equipo == "Metrolab")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-"+ m_Prefijo.ToUpper();                  

                    string numeroDocumento = "";
                    if (oProtocolo.IdPaciente.IdEstado==1)
                        numeroDocumento = oProtocolo.IdPaciente.NumeroDocumento.ToString();
                    m_paciente =numeroDocumento+";"+ oProtocolo.IdPaciente.Apellido + " " + oProtocolo.IdPaciente.Nombre;
                    if (oProtocolo.UnidadEdad == 0)

                        //string resultado = n.ToString.PadRight(9, '0')
                        m_anioNacimiento = oProtocolo.Edad.ToString();
                    else
                        m_anioNacimiento = "0";
                    m_sexoPaciente = oProtocolo.Sexo;
                }
                
                if (m_Equipo == "CobasC311")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina")
                        numero = numero + "-" + m_Prefijo.ToUpper();

                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "  " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_sexoPaciente = oProtocolo.Sexo;
                    //Ver cuales son las condiciones del tipo de muestra
                    //m_Prefijo = Request["Prefijo"].ToString();
                    //m_tipoMuestra = "";
                    //if (m_Prefijo.Trim() != "Rutina") numero = numero + "/" + m_Prefijo.ToUpper();


                }


                string m_urgente = "N";  if (oProtocolo.IdPrioridad.IdPrioridad == 2) m_urgente = "Y";
                m_sectorSolicitante = oProtocolo.IdSector.Nombre;


                //////INSERTAR LOS ANALISIS EN LA TABLA TEMPORAL LAB_TempProtocoloEnvio
                ProtocoloEnvio oRegistro = new ProtocoloEnvio();
                oRegistro.IdMuestra = IdMuestra;
                oRegistro.NumeroProtocolo = numero;
                oRegistro.Iditem = m_listaItem;
                oRegistro.Paciente = m_paciente;
                oRegistro.AnioNacimiento = m_anioNacimiento;
                oRegistro.Sexo = m_sexoPaciente;
                oRegistro.SectorSolicitante = m_sectorSolicitante;
                oRegistro.MedicoSolicitante = "";
                oRegistro.TipoMuestra = m_tipoMuestra;
                oRegistro.Urgente = m_urgente;
                oRegistro.Equipo = m_Equipo;
                oRegistro.Save();
                //////////////////////////////////////////// 
            }

        }