public bool GuardarSignosVitales(NOTA_SIGNOS_VITALES Entity, short Anio, int IdImputado, short?IdCentro, short IdIngreso) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { var AtencionMedica = new ATENCION_MEDICA { ID_TIPO_ATENCION = (short)eTipoAtencionMedica.CONSULTA_MEDICA, ID_ANIO = Anio, ID_IMPUTADO = IdImputado, ID_CENTRO = IdCentro, ID_INGRESO = IdIngreso, ID_ATENCION_MEDICA = GetSequence <short>("ATENCION_MEDICA_SEQ") }; var SignoVital = new NOTA_SIGNOS_VITALES { FRECUENCIA_CARDIAC = Entity.FRECUENCIA_CARDIAC, FRECUENCIA_RESPIRA = Entity.FRECUENCIA_RESPIRA, ID_ATENCION_MEDICA = AtencionMedica.ID_ATENCION_MEDICA, ID_RESPONSABLE = Entity.ID_RESPONSABLE, OBSERVACIONES = Entity.OBSERVACIONES, PESO = Entity.PESO, TALLA = Entity.TALLA, TEMPERATURA = Entity.TEMPERATURA, TENSION_ARTERIAL = Entity.TENSION_ARTERIAL }; Context.ATENCION_MEDICA.Add(AtencionMedica); Context.NOTA_SIGNOS_VITALES.Add(SignoVital); Context.SaveChanges(); transaccion.Complete(); return(true); } } catch (System.Exception) { throw; } return(false); }
public void RecrearTVCanalizaciones(ATENCION_MEDICA atencion_medica, short id_centro, int id_tv_canalizacion) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { var id_atencion_medica = GetIDProceso <int>("ATENCION_MEDICA", "ID_ATENCION_MEDICA", string.Format("ID_CENTRO_UBI={0}", id_centro)); atencion_medica.ID_ATENCION_MEDICA = id_atencion_medica; atencion_medica.NOTA_MEDICA.ID_ATENCION_MEDICA = id_atencion_medica; atencion_medica.NOTA_MEDICA.CANALIZACION.ID_ATENCION_MEDICA = id_atencion_medica; if (atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_ESPECIALIDAD != null && atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_ESPECIALIDAD.Count() > 0) { foreach (var can_esp in atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_ESPECIALIDAD) { can_esp.ID_ATENCION_MEDICA = id_atencion_medica; } } if (atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_SERV_AUX != null && atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_SERV_AUX.Count() > 0) { foreach (var can_serv_aux in atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_SERV_AUX) { can_serv_aux.ID_ATENCION_MEDICA = id_atencion_medica; } } Context.ATENCION_MEDICA.Add(atencion_medica); var _tv_canalizacion = Context.TV_CANALIZACION.Where(w => w.ID_TV_CANALIZACION == id_tv_canalizacion && w.ID_CENTRO_UBI == id_centro).FirstOrDefault(); if (_tv_canalizacion == null) { throw new Exception("No se pudo encontrar el registro en la tabla TV_CANALIZACION"); } _tv_canalizacion.ID_TV_MEDICO_ESTATUS = "RP"; Context.SaveChanges(); transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
public void RecrearTVInterconsulta(ATENCION_MEDICA atencion_medica, short id_centro, int id_tv_interconsulta) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.Serializable })) { var id_atencion_medica = GetIDProceso <int>("ATENCION_MEDICA", "ID_ATENCION_MEDICA", string.Format("ID_CENTRO_UBI={0}", id_centro)); atencion_medica.ID_ATENCION_MEDICA = id_atencion_medica; atencion_medica.NOTA_MEDICA.ID_ATENCION_MEDICA = id_atencion_medica; atencion_medica.NOTA_MEDICA.CANALIZACION.ID_ATENCION_MEDICA = id_atencion_medica; if (atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_ESPECIALIDAD != null && atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_ESPECIALIDAD.Count() > 0) { foreach (var can_esp in atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_ESPECIALIDAD) { can_esp.ID_ATENCION_MEDICA = id_atencion_medica; } } if (atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_SERV_AUX != null && atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_SERV_AUX.Count() > 0) { foreach (var can_serv_aux in atencion_medica.NOTA_MEDICA.CANALIZACION.CANALIZACION_SERV_AUX) { can_serv_aux.ID_ATENCION_MEDICA = id_atencion_medica; } } if (atencion_medica.NOTA_MEDICA.CANALIZACION.INTERCONSULTA_SOLICITUD != null) { var _inter_sol = atencion_medica.NOTA_MEDICA.CANALIZACION.INTERCONSULTA_SOLICITUD.First(); var id_inter_sol = GetIDProceso <int>("INTERCONSULTA_SOLICITUD", "ID_INTERSOL", string.Format("ID_CENTRO_UBI={0}", id_centro)); _inter_sol.ID_INTERSOL = id_inter_sol; _inter_sol.ID_NOTA_MEDICA = id_atencion_medica; if (_inter_sol.SERVICIO_AUX_INTERCONSULTA != null && _inter_sol.SERVICIO_AUX_INTERCONSULTA.Count() > 0) { foreach (var item_serv_aux in _inter_sol.SERVICIO_AUX_INTERCONSULTA) { _inter_sol.ID_INTERSOL = id_inter_sol; } } if (_inter_sol.HOJA_REFERENCIA_MEDICA != null && _inter_sol.HOJA_REFERENCIA_MEDICA.Count() > 0) { var _hoja_ref = _inter_sol.HOJA_REFERENCIA_MEDICA.First(); var id_hoja = GetIDProceso <int>("HOJA_REFERENCIA_MEDICA", "ID_HOJA", string.Format("ID_CENTRO_UBI={0}", id_centro)); _hoja_ref.ID_HOJA = id_hoja; _hoja_ref.ID_INTERSOL = id_inter_sol; } if (_inter_sol.SOL_INTERCONSULTA_INTERNA != null && _inter_sol.SOL_INTERCONSULTA_INTERNA.Count() > 0) { var _sol_inter = _inter_sol.SOL_INTERCONSULTA_INTERNA.First(); var id_solicitud = GetIDProceso <int>("SOL_INTERCONSULTA_INTERNA", "ID_SOLICITUD", string.Format("ID_CENTRO_UBI={0}", id_centro)); _sol_inter.ID_SOLICITUD = id_solicitud; _sol_inter.ID_INTERSOL = id_inter_sol; } } Context.ATENCION_MEDICA.Add(atencion_medica); var _tv_interconsulta = Context.TV_INTERCONSULTA_SOLICITUD.Where(w => w.ID_TV_INTERSOL == id_tv_interconsulta && w.ID_CENTRO_UBI == id_centro).FirstOrDefault(); if (_tv_interconsulta == null) { throw new Exception("No se pudo encontrar el registro en la tabla TV_INTERCONSULTA"); } _tv_interconsulta.ID_TV_MEDICO_ESTATUS = "RP"; Context.SaveChanges(); transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
public void ReagendarTVCitaMedica(int id_tv_cita, ATENCION_CITA cita, short id_centro, ATENCION_MEDICA atencion_medica = null) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { var id_cita = GetIDProceso <int>("ATENCION_CITA", "ID_CITA", string.Format("ID_CENTRO_UBI={0}", id_centro)); cita.ID_CITA = id_cita; Context.ATENCION_CITA.Add(cita); Context.SaveChanges(); if (atencion_medica != null) { var id_atencion_medica = GetIDProceso <int>("ATENCION_MEDICA", "ID_ATENCION_MEDICA", string.Format("ID_CENTRO_UBI={0}", id_centro)); atencion_medica.ID_ATENCION_MEDICA = id_atencion_medica; foreach (var proc_at_med in atencion_medica.PROC_ATENCION_MEDICA) { var id_proc_prog = 1; proc_at_med.ID_ATENCION_MEDICA = id_atencion_medica; foreach (var proc_prog in proc_at_med.PROC_ATENCION_MEDICA_PROG) { proc_prog.ID_ATENCION_MEDICA = id_atencion_medica; proc_prog.ID_AM_PROG = id_proc_prog; proc_prog.ID_CITA = id_cita; foreach (var detalle in proc_prog.PROC_MEDICO_PROG_DET) { detalle.ID_AM_PROG = id_proc_prog; detalle.ID_ATENCION_MEDICA = id_atencion_medica; } id_proc_prog += 1; } } Context.ATENCION_MEDICA.Add(atencion_medica); } Context.SaveChanges(); var _tv_cita_medica = Context.TV_CITA_MEDICA.Where(w => w.ID_TV_CITA == id_tv_cita && w.ID_CENTRO_UBI == id_centro).FirstOrDefault(); if (_tv_cita_medica == null) { throw new Exception("No se pudo encontrar el registro en la tabla TV_CITA_MEDICA"); } _tv_cita_medica.ID_TV_MEDICO_ESTATUS = "RP"; Context.SaveChanges(); transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }