/// <summary> /// Descripción: Obtiene informacion de los datos clinicos por categoria /// Author: Terceros. /// Fecha Creacion: 01/01/2017 /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios. /// </summary> /// <param name="subCategorias"></param> /// <param name="idCategoria"></param> /// <param name="idEnfermedad"></param> /// <returns></returns> private static List <OrdenDatoClinico> GetDatos(IEnumerable <CategoriaDato> subCategorias, int idCategoria, int idEnfermedad, string idExamen) { if (subCategorias.Any()) { return(null); } using (var datoClinicoDal = new DatoClinicoDal()) { var datos = datoClinicoDal.GetDatoByCategoria(idCategoria, idExamen); datos.ForEach(d => d.ListaDato = GetLista(d.IdListaDato)); List <OrdenDatoClinico> ordenDatoClinicoList = new List <OrdenDatoClinico>(); foreach (Dato dato in datos) { var noPrceisa = (dato.Prefijo.Contains("Escala de Glasgow")); OrdenDatoClinico ordenDatoClinico = new OrdenDatoClinico(); ordenDatoClinico.idCategoriaDato = idCategoria; ordenDatoClinico.Dato = dato; ordenDatoClinico.noPrecisa = noPrceisa; ordenDatoClinico.Enfermedad = new Enfermedad(); ordenDatoClinico.Enfermedad.idEnfermedad = idEnfermedad; ordenDatoClinicoList.Add(ordenDatoClinico); } return(ordenDatoClinicoList); } }
/// <summary> /// Descripción: Metodo para devolver el tipo de dato y el id del mismo. /// en este caso es un COMOBO BOX, utilizado para los datos clinicos. /// Author: Terceros. /// Fecha Creacion: 01/01/2017. /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios. /// </summary> /// <param name="helper"></param> /// <param name="ordenDato"></param> /// <returns></returns> public static MvcHtmlString DatoCombo(this HtmlHelper helper, OrdenDatoClinico ordenDato) { ordenDato.ValorString = ordenDato.noPrecisa ? "-1" : ordenDato.ValorString; ordenDato.ValorString = ordenDato.ValorString == "" ? null : ordenDato.ValorString; var idControl = "valueDato" + ordenDato.Enfermedad.idEnfermedad + ordenDato.Dato.IdDato; var selectListItem = new List <SelectListItem>(); if (ordenDato.Dato != null && ordenDato.Dato.ListaDato != null && ordenDato.Dato.ListaDato.Opciones != null) { selectListItem = ordenDato.Dato.ListaDato.Opciones.Select( opcionDato => new SelectListItem { Value = opcionDato.IdOpcionDato.ToString(), Text = opcionDato.Valor, Selected = opcionDato.IdOpcionDato == Convert.ToInt32(ordenDato.ValorString) }).ToList(); } var html = ordenDato.Estado == 0 ? helper.DropDownList(idControl, selectListItem, new { id = idControl, @class = "form-control" }) : helper.DropDownList(idControl, selectListItem, new { id = idControl, @class = "form-control", disabled = "disabled" }); return(html); }
/// <summary> /// Descripción: Metodo para devolver el tipo de dato y el id del mismo. /// en este caso es un TEXTAREA, utilizado para los datos clinicos. /// Author: Terceros. /// Fecha Creacion: 01/01/2017. /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios. /// </summary> /// <param name="helper"></param> /// <param name="ordenDato"></param> /// <returns></returns> public static MvcHtmlString DatoTextArea(this HtmlHelper helper, OrdenDatoClinico ordenDato) { var idControl = "valueDato" + ordenDato.Enfermedad.idEnfermedad + ordenDato.Dato.IdDato; var html = !ordenDato.noPrecisa ? $"<textarea id = \"{idControl}\" name = \"{idControl}\" placeholder = \"Ingrese Dato\" class=\"form-control\"/ >{ordenDato.ValorString}</textarea>" : $"<textarea disabled=\"disabled\" id = \"{idControl}\" name = \"{idControl}\" placeholder = \"Ingrese Dato\" class=\"form-control\"/ >{ordenDato.ValorString}</textarea>"; return(new MvcHtmlString(html)); }
/// <summary> /// Descripción: Metodo para devolver el tipo de dato y el id del mismo. /// en este caso es un DATETIME, utilizado para los datos clinicos. /// Author: Terceros. /// Fecha Creacion: 01/01/2017. /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios. /// </summary> /// <param name="helper"></param> /// <param name="ordenDato"></param> /// <returns></returns> public static MvcHtmlString DatoDate(this HtmlHelper helper, OrdenDatoClinico ordenDato) { var idControl = "valueDato" + ordenDato.Enfermedad.idEnfermedad + ordenDato.Dato.IdDato; //Juan Muga habilitar ingreso de fecha manualmente - agregar clase dateOnly var html = !ordenDato.noPrecisa ? $"<input type = \"text\" id = \"{idControl}\" name = \"{idControl}\" value = \"{ordenDato.ValorString}\" placeholder = \"dd/mm/aaaa\" class=\"datepickerExtension dateOnly form-control\" onchange=\"return OnFechaInicioSintomasChange({idControl});\" autocomplete=\"off\" / >" : $"<input type = \"text\" disabled=\"disabled\" id = {idControl} name = \"{idControl}\" value = \"{ordenDato.ValorString}\" placeholder = \"dd/mm/aaaa\" class=\"datepickerExtension dateOnly form-control\" autocomplete=\"off\" />"; return(new MvcHtmlString(html)); }
public void InsertTempOrdenDatoClinico(OrdenDatoClinico ordenDatoClinico, Guid idPaciente) { var objCommand = GetSqlCommand("pNLI_TempOrdenDatoClinico"); InputParameterAdd.Guid(objCommand, "idPaciente", idPaciente); InputParameterAdd.Int(objCommand, "idDato", ordenDatoClinico.Dato.IdDato); InputParameterAdd.Int(objCommand, "idCategoriaDato", ordenDatoClinico.idCategoriaDato); InputParameterAdd.Varchar(objCommand, "valor", ordenDatoClinico.ValorString); InputParameterAdd.Int(objCommand, "estado", 0); InputParameterAdd.Int(objCommand, "idUsuarioRegistro", ordenDatoClinico.IdUsuarioRegistro); InputParameterAdd.Int(objCommand, "idEnfermedad", ordenDatoClinico.Enfermedad.idEnfermedad); InputParameterAdd.Int(objCommand, "noPrecisa", ordenDatoClinico.noPrecisa ? 1 : 0); InputParameterAdd.Int(objCommand, "estatus", ordenDatoClinico.estatus); ExecuteNonQuery(objCommand); }
/// <summary> /// Descripción: Metodo para devolver el tipo de dato y el id del mismo. /// en este caso es un CHECKBOX, utilizado para los datos clinicos. /// Author: Terceros. /// Fecha Creacion: 01/01/2017. /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios. /// </summary> /// <param name="helper"></param> /// <param name="ordenDato"></param> /// <returns></returns> public static MvcHtmlString DatoCheckBox(this HtmlHelper helper, OrdenDatoClinico ordenDato) { var idControl = "valueDato" + ordenDato.Enfermedad.idEnfermedad + ordenDato.Dato.IdDato; var html = ""; if (ordenDato.noPrecisa || ordenDato.ValorString == null) { html = $"<select name = \"{idControl}\" id = \"{idControl}\"><option value='0'>No Precisa</option><option value='1'>Si</option><option value='2'>No</option></select>"; } else { if (ordenDato.ValorString.Equals("1")) { html = $"<select name = \"{idControl}\" id = \"{idControl}\" ><option value='0'>No Precisa</option><option value='1' selected='selected'>Si</option><option value='2'>No</option></select>"; } else { html = $"<select name = \"{idControl}\" id = \"{idControl}\"><option value='0'>No Precisa</option><option value='1' >Si</option><option value='2' selected='selected'>No</option></select>"; } } return(new MvcHtmlString(html)); }
/// <summary> /// Descripción: Metodo para devolver el tipo de dato y el id del mismo. /// en este caso es un NUMERICO, utilizado para los datos clinicos. /// Author: Terceros. /// Fecha Creacion: 01/01/2017. /// Fecha Modificación: 02/02/2017. /// Modificación: Se agregaron comentarios. /// </summary> /// <param name="helper"></param> /// <param name="ordenDato"></param> /// <returns></returns> public static MvcHtmlString DatoNumeric(this HtmlHelper helper, OrdenDatoClinico ordenDato) { var idControl = "valueDato" + ordenDato.Enfermedad.idEnfermedad + ordenDato.Dato.IdDato; var keyPressEventAno = string.Empty; if (ordenDato.Dato != null && !string.IsNullOrEmpty(ordenDato.Dato.Prefijo)) { if (ordenDato.Dato.Prefijo.Contains("(aaaa)")) { keyPressEventAno = "onkeydown=\"return DatoClinicoAno(event);\""; } else if (ordenDato.Dato.Prefijo.Contains("Glasgow")) { keyPressEventAno = "onkeydown=\"return DatoClinicoGlasgow(event);\""; } } var html = !ordenDato.noPrecisa ? $"<input type = \"number\" id = \"{idControl}\" name = \"{idControl}\" value = \"{ordenDato.ValorString}\" placeholder = \"Ingrese Cantidad\" class=\"form-control\" " + keyPressEventAno + " >" : $"<input type = \"number\" disabled=\"disabled\" id = \"{idControl}\" name = \"{idControl}\" value = \"{ordenDato.ValorString}\" placeholder = \"Ingrese Cantidad\" class=\"form-control\"/ " + keyPressEventAno + ">"; return(new MvcHtmlString(html)); }
public Orden GenerarOrden(string TipoDocumento, string nroDocumento, string EstablecimientoOrigen, string EstablecimientoEnvio, string FechaObtencion, string solicitante, string fechaIngresoINS, string nroOficio, string idOrdenPadreExportado) { var codigoOrdenGenerado = string.Empty; using (var ordenBl = new OrdenBl()) { //Generar Codigo de Orden codigoOrdenGenerado = ordenBl.GenerarCodigoOrden(int.Parse(EstablecimientoOrigen)); } var datoPaciente = ""; var idEstablecimientoDestino = EstablecimientoEnvio; var idEstablecimientoOrigen = EstablecimientoOrigen; var fechaIngresoRom = fechaIngresoINS; var oOrden = new OrdenBl(); var oTempOrden = new TempOrdenBl(); var orden = new Orden(); var pacienteBl = new PacienteBl(); var examenBl = new ExamenBl(); var establecimientoBl = new EstablecimientoBl(); // Variables produccion int idEnfermedad = int.Parse(GetSetting <string>("EnfVirusRespiratorio")); //1005680; Guid idExamen = Guid.Parse(GetSetting <string>("Covid19")); var idTipoMuestra = int.Parse(GetSetting <string>("idTipoMuestra")); orden.nroOficio = nroOficio; orden.codigoOrden = codigoOrdenGenerado; { datoPaciente = nroDocumento; List <Paciente> pacienteList = pacienteBl.getPacientes2(1, 10, int.Parse(TipoDocumento), datoPaciente); if (pacienteList.Any()) { bool continuar = true; var paciente = pacienteList.First(); var enfermedadListAgregados = new List <Enfermedad>(); var ordenExamenListAgregados = new List <OrdenExamen>(); var ordenMaterialListAgregados = new List <OrdenMaterial>(); var ordenMuestraListAgregados = new List <OrdenMuestra>(); var Establecimientobl = new EstablecimientoBl(); var oEstablecimiento = new Establecimiento(); if (string.IsNullOrEmpty(idEstablecimientoOrigen)) { idEstablecimientoOrigen = "991"; } oEstablecimiento = Establecimientobl.GetEstablecimientosById(int.Parse(idEstablecimientoOrigen)); orden.idEstablecimiento = oEstablecimiento.IdEstablecimiento; orden.EstablecimientoCodigoUnico = oEstablecimiento.CodigoUnico; orden.idEstablecimientoEnvio = int.Parse(EstablecimientoEnvio); orden.IdUsuarioRegistro = Logueado.idUsuario; orden.IdLaboratorioDestino = 995; orden.Paciente = new PacienteBl().getPacienteById(paciente.IdPaciente); orden.solicitante = solicitante; orden.fechaIngresoINS = DateTime.Parse(fechaIngresoRom); var laboratorio = new Laboratorio() { IdLaboratorio = 991, CodigoUnico = "10000R16" }; orden.estatus = 1; orden.IdUsuarioRegistro = Logueado.idUsuario; orden.fechaSolicitud = DateTime.Parse(DateTime.Now.ToShortDateString()); var idOrdenPadreExportado2 = Guid.NewGuid(); string nuevoCodigoVerificador = string.Empty; if (string.IsNullOrWhiteSpace(idOrdenPadreExportado) || idOrdenPadreExportado == Guid.Empty.ToString()) { nuevoCodigoVerificador = string.Format("{0}---{1}", Logueado.idUsuario, idOrdenPadreExportado2.ToString()); ViewBag.idOrdenPadreExportado = nuevoCodigoVerificador; orden.observacion = nuevoCodigoVerificador; } else { var arr = idOrdenPadreExportado.Split(new string[] { "---" }, StringSplitOptions.RemoveEmptyEntries); if (arr[0] == Logueado.idUsuario.ToString()) { ViewBag.idOrdenPadreExportado = idOrdenPadreExportado; orden.observacion = idOrdenPadreExportado; } else { nuevoCodigoVerificador = string.Format("{0}---{1}", Logueado.idUsuario, Guid.NewGuid().ToString()); ViewBag.idOrdenPadreExportado = nuevoCodigoVerificador; orden.observacion = nuevoCodigoVerificador; } } orden.Proyecto = new Proyecto { IdProyecto = 1 }; if (continuar) { var examenList = new Examen(); //var tipoMuestraList = new List<TipoMuestra>(); var materialList = new List <Material>(); // materialList = new MaterialBl().GetMaterialesByIdTipoMuestra(idTipoMuestra).ToList(); var LstoExamen = new List <OrdenExamen>(); orden.ordenMuestraList = new List <OrdenMuestra>(); orden.ordenMuestraList.Add(new OrdenMuestra { idTipoMuestra = idTipoMuestra, TipoMuestra = new TipoMuestra { idTipoMuestra = idTipoMuestra }, fechaColeccion = DateTime.Parse(FechaObtencion),// horaColeccion = DateTime.Now, idProyecto = 1, MuestraCodificacion = new MuestraCodificacion() }); var ordexmen = new OrdenExamen { idEnfermedad = idEnfermedad, Enfermedad = new Enfermedad { idEnfermedad = idEnfermedad }, idExamen = idExamen, Examen = new Examen { idExamen = idExamen }, IdTipoMuestra = idTipoMuestra, ordenMuestraList = orden.ordenMuestraList }; LstoExamen.Add(ordexmen); orden.ordenExamenList = LstoExamen; orden.ordenMaterialList = new List <OrdenMaterial>(); //ORDENMATERIAL var materiales = new MaterialBl().GetMaterialesByIdTipoMuestra(idTipoMuestra); var material = materiales.FirstOrDefault(); if (material != null) { orden.ordenMaterialList.Add(new OrdenMaterial { cantidad = 1, idMaterial = material.idMaterial, Material = new Material { idMaterial = material.idMaterial, TipoMuestra = new TipoMuestra { idTipoMuestra = idTipoMuestra } }, fechaEnvio = DateTime.Today, horaEnvio = DateTime.Now, volumenMuestraColectada = material != null ? material.volumen : 1, OrdenExamen = ordexmen, Laboratorio = laboratorio }); } List <OrdenDatoClinico> ordenDatoClinicoList = new List <OrdenDatoClinico>(); var datoClinicoBl = new DatoClinicoBl(); var categoriaDatoList = datoClinicoBl.GetCategoriaByEnfermedad(idEnfermedad, 1, idExamen.ToString()); var oEnfermedad = new Enfermedad(); oEnfermedad.idEnfermedad = idEnfermedad; oEnfermedad.categoriaDatoList = categoriaDatoList; 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; oOrden.InsertOrdenCovid(orden, Enums.TipoRegistroOrden.ORDEN_RECEPCION); } } } return(orden); }
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); }
public string PreRegistroAntiguo(string TipoDocumento, string nroDocumento, string EstablecimientoOrigen, string EstablecimientoEnvio, string FechaObtencion, string solicitante, string fechaIngresoINS) { //Cargar objetos int idEnfermedad = int.Parse(GetSetting <string>("EnfVirusRespiratorio")); //1005680; string idExamen = GetSetting <string>("Covid19"); //Guid.Parse("1B2BEC28-772C-49DF-BCC2-85E0C5CCA667"); string idExamenAgrupado = GetSetting <string>("idExamenAgrupado"); TempModel.TempOrden tempOrden = null; var pacienteBl = new PacienteBl(); var paciente = new Paciente(); var res = Guid.Empty; paciente.TipoDocumento = int.Parse(TipoDocumento); paciente.NroDocumento = nroDocumento; List <Paciente> pacienteList = pacienteBl.getPacientes2(1, 10, paciente.TipoDocumento.Value, paciente.NroDocumento); if (pacienteList.Any()) { paciente = pacienteList.FirstOrDefault(); tempOrden = new TempModel.TempOrden { IdProyecto = 1, IdPaciente = paciente.IdPaciente, estatus = 0, estado = 1, observacion = "REGISTRO RAPIDO COVID19", idUsuario = Logueado.idUsuario//cambioj }; //Datos Clinicos 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; } } } tempOrden.enfermedadList = enfermedadListAgregados; //Insert orden var tempOrdenBl = new TempOrdenBl(); res = tempOrdenBl.InsertTempOrden(tempOrden); //Insert TempDatoClinico tempOrdenBl.InsertTempOrdenDatoClinico(tempOrden); } return(res.ToString()); }