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; } }
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; } }
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); }
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; } }