Example #1
0
        public void EliminarAtencionEmergencia(int idTicketEmergencia)
        {
            TicketEmergencia        bTicket = new TicketEmergencia();
            List <Triaje>           bTriaje = new List <Triaje>();
            TicketTraumaShockTopico trauma  = new TicketTraumaShockTopico();
            TicketSalaObservacion   topico  = new TicketSalaObservacion();

            try
            {
                using (ConnectionRicardoPalma bdRicardo = new ConnectionRicardoPalma())
                {
                    bTriaje = bdRicardo.Triaje.Where(g => g.IdTicketEmergencia == idTicketEmergencia).ToList();
                    bTicket = bdRicardo.TicketEmergencia.Where(f => f.IdTicketEmergencia == idTicketEmergencia).First();
                    if (bTicket.IdTicketSala != null)
                    {
                        topico = bdRicardo.TicketSalaObservacion.Where(g => g.IdTicketSala == bTicket.IdTicketSala).First();
                        bdRicardo.TicketSalaObservacion.Remove(topico);
                    }
                    else
                    {
                        trauma = bdRicardo.TicketTraumaShockTopico.Where(g => g.IdTicketTrauma == bTicket.IdTicketTrauma).First();
                        bdRicardo.TicketTraumaShockTopico.Remove(trauma);
                    }
                    bdRicardo.Triaje.RemoveRange(bTriaje);
                    bdRicardo.TicketEmergencia.Remove(bTicket);
                    bdRicardo.SaveChanges();
                }
            }
            catch (EntityException exx)
            {
                if (exx.InnerException != null && (exx.InnerException.Message.Contains("A network-related") || exx.InnerException.Message.Contains("Error relacionado con la red")))
                {
                    throw new TimeoutException(ConfigurationManager.AppSettings["strErrorTimeout"]);
                }
                else
                {
                    throw exx;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        public void ModificarAtencionSalaObservacion(int idTicketEmergencia, int idmedico, int idtratamiento, string diagnostico, string condicioningreso, string condicionegreso)
        {
            TicketEmergencia bTicket = new TicketEmergencia();

            try
            {
                using (ConnectionRicardoPalma bdRicardo = new ConnectionRicardoPalma())
                {
                    bTicket = bdRicardo.TicketEmergencia.Where(f => f.IdTicketEmergencia == idTicketEmergencia).First();
                    bTicket.IdPersonalEmergencia = idmedico;
                    bTicket.IdTratamiento        = idtratamiento;

                    TicketSalaObservacion observacion = bdRicardo.TicketSalaObservacion.Where(f => f.IdTicketSala == bTicket.IdTicketSala).First();
                    observacion.Diagnostico      = diagnostico;
                    observacion.CondicionIngreso = condicioningreso;
                    observacion.CondicionEgreso  = condicionegreso;

                    bdRicardo.SaveChanges();
                }
            }
            catch (EntityException exx)
            {
                if (exx.InnerException != null && (exx.InnerException.Message.Contains("A network-related") || exx.InnerException.Message.Contains("Error relacionado con la red")))
                {
                    throw new TimeoutException(ConfigurationManager.AppSettings["strErrorTimeout"]);
                }
                else
                {
                    throw exx;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #3
0
        public List <BEReporteTriaje> GuardarTriaje(int dni, string sintoma, bool esViolencia)
        {
            Paciente bPaciente = new Paciente();
            List <BEReporteTriaje> reporteFinal = new List <BEReporteTriaje>();
            int    idticketemergencia           = 0;
            bool   EsTrauma = false;
            string sala     = string.Empty;
            int    iddestino;
            int    countTrauma, countObservacion, countPrioridad, countNoPrioridad;

            int[] arrSintoma;
            try
            {
                //sintoma = sintoma + ",";
                arrSintoma = sintoma.Split(',').Select(f => Int32.Parse(f.ToString())).ToArray();

                using (ConnectionRicardoPalma bdRicardo = new ConnectionRicardoPalma())
                {
                    using (TransactionScope scope = new TransactionScope())
                    {
                        TicketEmergencia        ticket      = new TicketEmergencia();
                        TicketTraumaShockTopico trauma      = new TicketTraumaShockTopico();
                        TicketSalaObservacion   observacion = new TicketSalaObservacion();

                        ticket.IdPaciente  = bdRicardo.Paciente.Where(g => g.dni == dni).First().IdPaciente;
                        ticket.EsViolencia = esViolencia;
                        bdRicardo.TicketEmergencia.Add(ticket);
                        bdRicardo.SaveChanges();
                        idticketemergencia = ticket.IdTicketEmergencia;

                        foreach (string sintomaitem in sintoma.Split(','))
                        {
                            int    sint   = Convert.ToInt32(sintomaitem);
                            Triaje triaje = new Triaje();
                            triaje.IdSintoma          = Convert.ToInt32(sintomaitem);
                            triaje.IdTicketEmergencia = idticketemergencia;
                            triaje.IdPrioridad        = bdRicardo.Protocolo.Where(g => g.IdSintoma == sint).First().IdPrioridad;

                            bdRicardo.Triaje.Add(triaje);
                        }
                        bdRicardo.SaveChanges();

                        //countTrauma = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma) && d.Sala == "Trauma").Count();
                        //countObservacion = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma) && d.Sala == "Topico").Count();
                        countPrioridad   = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma) && d.Sala == "Trauma" && d.IdPrioridad == 1).Count();
                        countNoPrioridad = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma) && d.Sala == "Trauma" && (d.IdPrioridad == 2 || d.IdPrioridad == 3 || d.IdPrioridad == 4)).Count();
                        //-------------------------------------------
                        if (countPrioridad > 0)
                        {
                            EsTrauma = true;
                        }
                        else if (countNoPrioridad > 0)
                        {
                            EsTrauma = false;
                        }
                        //else if (countObservacion > countTrauma)
                        //{
                        //    EsTrauma = true;
                        //}
                        //else if (countTrauma >= 2 && countPrioridad == 0)
                        //{
                        //    EsTrauma = true;
                        //}
                        //else if (countObservacion < countTrauma)
                        //{
                        //    EsTrauma = true;
                        //}
                        else
                        {
                            EsTrauma = false;
                        }

                        //-------------------------------------------
                        if (EsTrauma)
                        {
                            int    dias        = Convert.ToInt32(Math.Ceiling(bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).Average(f => f.DiasAtencion)));
                            string diagnostico = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).OrderByDescending(h => h.IdPrioridad).First().Diagnostico;
                            iddestino = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).OrderByDescending(h => h.IdPrioridad).First().IdDestino;

                            trauma.Ingreso       = DateTime.Now;
                            trauma.Egreso        = DateTime.Now.AddDays(dias);
                            trauma.Diagnostico   = diagnostico;
                            trauma.EsTraumaShock = EsTrauma;

                            bdRicardo.TicketTraumaShockTopico.Add(trauma);
                        }
                        else
                        {
                            int    dias             = Convert.ToInt32(Math.Ceiling(bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).Average(f => f.DiasAtencion)));
                            string diagnostico      = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).OrderByDescending(h => h.IdPrioridad).First().Diagnostico;
                            string condicioningreso = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).OrderByDescending(h => h.IdPrioridad).First().CondicionIngreso;
                            string condicionegreso  = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).OrderByDescending(h => h.IdPrioridad).First().CondicionEgreso;
                            iddestino = bdRicardo.Protocolo.Where(d => arrSintoma.Contains(d.IdSintoma)).OrderByDescending(h => h.IdPrioridad).First().IdDestino;

                            observacion.Ingreso          = DateTime.Now;
                            observacion.Egreso           = DateTime.Now.AddDays(dias);
                            observacion.Diagnostico      = diagnostico;
                            observacion.CondicionIngreso = condicioningreso;
                            observacion.CondicionEgreso  = condicionegreso;

                            bdRicardo.TicketSalaObservacion.Add(observacion);
                        }
                        bdRicardo.SaveChanges();

                        //-------------------------------------------
                        ticket.IdDestino = iddestino;
                        if (EsTrauma)
                        {
                            ticket.IdTicketTrauma = trauma.IdTicketTrauma;
                        }
                        else
                        {
                            ticket.IdTicketSala = observacion.IdTicketSala;
                        }
                        observacion.Ingreso = DateTime.Now;
                        if (EsTrauma)
                        {
                            ticket.Ingreso = trauma.Ingreso;
                            ticket.Egreso  = trauma.Egreso;
                        }
                        else
                        {
                            ticket.Ingreso = observacion.Ingreso;
                            ticket.Egreso  = observacion.Egreso;
                        }

                        bdRicardo.SaveChanges();
                        scope.Complete();
                    }

                    reporteFinal = bdRicardo.Triaje.Where(m => m.IdTicketEmergencia == idticketemergencia).Select(d =>
                                                                                                                  new BEReporteTriaje()
                    {
                        NombrePaciente = d.TicketEmergencia.Paciente.Nombre + " " + d.TicketEmergencia.Paciente.ApellidoPaterno + " " + d.TicketEmergencia.Paciente.ApellidoMaterno,
                        DNI            = d.TicketEmergencia.Paciente.dni,
                        TipoPaciente   = d.TicketEmergencia.Paciente.TipoPaciente.Descripcion,
                        Sintoma        = d.Sintoma.Descripcion,
                        Prioridad      = d.Prioridad.Descripcion,
                        Destino        = (d.TicketEmergencia.IdTicketSala == null && d.TicketEmergencia.IdTicketTrauma != null ? "Unidad Trauma" : "Sala Observación")
                    }).ToList();
                }
            }
            catch (EntityException exx)
            {
                if (exx.InnerException != null && (exx.InnerException.Message.Contains("A network-related") || exx.InnerException.Message.Contains("Error relacionado con la red")))
                {
                    throw new TimeoutException(ConfigurationManager.AppSettings["strErrorTimeout"]);
                }
                else
                {
                    throw exx;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(reporteFinal);
        }
Example #4
0
        public void ModificarAtencionEmergencia(int idTicketEmergencia, int idmedico, int idtratamiento, int idsala)
        {
            TicketEmergencia bTicket = new TicketEmergencia();

            try
            {
                using (ConnectionRicardoPalma bdRicardo = new ConnectionRicardoPalma())
                {
                    bTicket = bdRicardo.TicketEmergencia.Where(f => f.IdTicketEmergencia == idTicketEmergencia).First();
                    bTicket.IdPersonalEmergencia = idmedico;
                    bTicket.IdTratamiento        = idtratamiento;

                    if (idsala == 1 /*trauma*/)
                    {
                        if (bTicket.IdTicketTrauma == null)
                        {
                            //registrar a trauma
                            TicketTraumaShockTopico trauma = new TicketTraumaShockTopico();
                            trauma.Ingreso       = DateTime.Now;
                            trauma.EsTraumaShock = true;
                            //trauma.Diagnostico = diagnostico;
                            bdRicardo.TicketTraumaShockTopico.Add(trauma);
                            bdRicardo.SaveChanges();

                            ///despues de crear el truma asignar el id
                            bTicket.IdTicketTrauma = trauma.IdTicketTrauma;

                            ///borrar la sala topico
                            bdRicardo.TicketSalaObservacion.Remove(bdRicardo.TicketSalaObservacion.Where(f => f.IdTicketSala == bTicket.IdTicketSala).First());
                            bdRicardo.SaveChanges();

                            //asignar null  a topico
                            bTicket.IdTicketSala = null;
                            bdRicardo.SaveChanges();
                        }
                        else
                        {
                            TicketTraumaShockTopico trauma = bdRicardo.TicketTraumaShockTopico.Where(g => g.IdTicketTrauma == bTicket.IdTicketTrauma).First();
                            //trauma.Diagnostico = diagnostico;
                            bdRicardo.SaveChanges();
                        }
                    }
                    else
                    {
                        if (bTicket.IdTicketSala == null)
                        {
                            //registrar a sala topico
                            TicketSalaObservacion observacion = new TicketSalaObservacion();
                            observacion.Ingreso = DateTime.Now;
                            //observacion.Diagnostico = diagnostico;
                            bdRicardo.TicketSalaObservacion.Add(observacion);
                            bdRicardo.SaveChanges();

                            ///despues de crear el topico observacion asignar el id
                            bTicket.IdTicketSala = observacion.IdTicketSala;

                            //borrar la sala trauma
                            bdRicardo.TicketTraumaShockTopico.Remove(bdRicardo.TicketTraumaShockTopico.Where(g => g.IdTicketTrauma == bTicket.IdTicketTrauma).First());
                            bdRicardo.SaveChanges();

                            //asignar null a trauma
                            bTicket.IdTicketTrauma = null;
                            bdRicardo.SaveChanges();
                        }
                        else
                        {
                            TicketSalaObservacion observacion = bdRicardo.TicketSalaObservacion.Where(g => g.IdTicketSala == bTicket.IdTicketSala).First();
                            //observacion.Diagnostico = diagnostico;
                            bdRicardo.SaveChanges();
                        }
                    }
                    bdRicardo.SaveChanges();
                }
            }
            catch (EntityException exx)
            {
                if (exx.InnerException != null && (exx.InnerException.Message.Contains("A network-related") || exx.InnerException.Message.Contains("Error relacionado con la red")))
                {
                    throw new TimeoutException(ConfigurationManager.AppSettings["strErrorTimeout"]);
                }
                else
                {
                    throw exx;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }