private void CargaFicha(int Id)
        {
            try
            {
                TrxCARGA_PRESTACIONES_HUMANAS_DETALLE PrestacionesHumanas = new TrxCARGA_PRESTACIONES_HUMANAS_DETALLE();
                var prestaciones = PrestacionesHumanas.GetByIdWithReferencesFull(Id);
                if (prestaciones == null)
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "js_carga_prestaciones", "javascript:alert('No existe información asociada.');", true);

                //cargar ficha
                txtNombre.Text = prestaciones.NOMBRE;
                txtNumeroFicha.Text = prestaciones.FICHA;
                txtFechaRecepcion.Text = prestaciones.FECHA_RECEPCION;
                txtTelefono.Text = prestaciones.TELEFONO;
                txtMedico.Text = prestaciones.MEDICO;
                txtProcedencia.Text = prestaciones.PROCEDENCIA;
                txtPrevision.Text = prestaciones.PREVISION;
                txtGarantia.Text = prestaciones.GARANTIA;
                txtPendiente.Text = prestaciones.PENDIENTE;
                txtPagado.Text = prestaciones.PAGADO;
                txtMontoTotal.Text = prestaciones.TOTAL;
                txtRecepcion.Text = prestaciones.RECEPCION;
                txtEdad.Text = prestaciones.EDAD;
                txtRut.Text = prestaciones.RUT;

                var lista = prestaciones.CARGA_PRESTACIONES_HUMANAS_EXAMEN.Where(e => e.ACTIVO);
                List<DTOExamen> listaDTO = new List<DTOExamen>();
                foreach (var item in lista)
                {
                    listaDTO.Add(new DTOExamen(item));
                }
                this.ListaExamen = listaDTO;

                //se carga grilla
                grdExamen.DataSource = listaDTO;
                grdExamen.DataBind();

                // validar
                TrxCARGA_PRESTACIONES_ENCABEZADO PrestacionesEncabezado = new TrxCARGA_PRESTACIONES_ENCABEZADO();
                var listaErrores = PrestacionesEncabezado.ValidarPrestacionHumana(Id);
                grdErroresHumanos.DataSource = listaErrores;
                grdErroresHumanos.DataBind();
                panelErrores.Visible = listaErrores.Any();

                //Habilitar Edicion de Ficha
                if (prestaciones.CARGA_PRESTACIONES_ENCABEZADO.CARGA_PRESTACIONES_ESTADO.ID == (int)ENUM_CARGA_PRESTACIONES_ESTADO.Pendiente) //o con errores
                    EditarFicha();

                CalculoMontoPrestaciones();
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                panelMensaje.CssClass = "MostrarMensaje";
                lblMensaje.Text = ex.Message;
                return;
            }
        }
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            try
            {
                if (Request.QueryString["Id"] == null)
                    throw new Exception("No se ha indicado identificador de la cuenta registrada");

                int Id = int.Parse(Request.QueryString["Id"].ToString());

                TrxCARGA_PRESTACIONES_HUMANAS_DETALLE _TrxCARGA_PRESTACIONES_HUMANAS_DETALLE = new TrxCARGA_PRESTACIONES_HUMANAS_DETALLE();
                CARGA_PRESTACIONES_HUMANAS_DETALLE _CARGA_PRESTACIONES_HUMANAS_DETALLE = _TrxCARGA_PRESTACIONES_HUMANAS_DETALLE.GetByIdWithReferences(Id);
                int IdEncabezado = _CARGA_PRESTACIONES_HUMANAS_DETALLE.CARGA_PRESTACIONES_ENCABEZADO.ID;
                Response.Redirect("EditarRegistros.aspx?Id=" + IdEncabezado, false);
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                panelMensaje.CssClass = "MostrarMensaje";
                lblMensaje.Text = ex.Message;
                return;
            }
        }