public bool RegistrarAutorizacion(Paciente objPaciente, Autorizacion objAutorizacion, vw2_SolicitudAutorizacion objSolicitudAutorizacion, vw2_SolicitudAutorizacionDetalle objSolicitudAutorizacionDetalle) { bool seProcesaronTodos; using (TransactionScope transactionScope = new TransactionScope()) { #region 'Guardar Paciente' PacienteBL objPacienteBL = new PacienteBL(); objPaciente = objPacienteBL.Guardar(objPaciente); #endregion #region 'Registrar Autorizacion' objAutorizacion.PacienteId = objPaciente.PacienteId; objAutorizacion.FechaInicio = objAutorizacion.Fecha; TratamientoBL objTratamientoBL = new TratamientoBL(); Tratamiento objTratamiento2 = objTratamientoBL.GetTratamientoPorIdVersion(objAutorizacion.TratamiendoId, objSolicitudAutorizacion.Fecha_Solicitud); if (objAutorizacionDA.ExisteAutorizacion(objTratamiento2.CadenaId, objSolicitudAutorizacionDetalle.FaseId, objAutorizacion.EstablecimientoId, objAutorizacion.PacienteId)) { throw new Exception("No se registro la autorizacion, paciente ya tiene el tratamiento autorizado"); } else { objAutorizacion = objAutorizacionDA.RegistrarAutorizacion(objAutorizacion); } #endregion #region 'Aprobar Detalle Solicitud' SolicitudAutorizacionDetalleDA objSolicitudAutorizacionDetalleDA = new SolicitudAutorizacionDetalleDA(); objSolicitudAutorizacionDetalle.AutorizacionId = objAutorizacion.AutorizacionId; objSolicitudAutorizacionDetalleDA.AprobarDetalleSolicitudAutorizacion(objSolicitudAutorizacionDetalle); #endregion #region 'Actualizar Solicitud' SolicitudAutorizacionCabeceraDA objSolicitudAutorizacionCabeceraDA = new SolicitudAutorizacionCabeceraDA(); seProcesaronTodos = objSolicitudAutorizacionDetalleDA.SeProcesaronTodos(objSolicitudAutorizacion.Nro_Solicitud); if (seProcesaronTodos) { objSolicitudAutorizacion.Fecha_Procesado = DatosBL.GetDate(); objSolicitudAutorizacion.Procesado = true; } objSolicitudAutorizacionCabeceraDA.Actualizar(objSolicitudAutorizacion); #endregion #region 'Registrar DX Asociado' PaqueteBL objPaqueteBL = new PaqueteBL(); if (objPaqueteBL.ExisteIdDiagnosticoAsociado(objSolicitudAutorizacion.EstablecimientoId)) { int tratamientoId = objPaqueteBL.GetIdDiagnosticoAsociado(objSolicitudAutorizacion.EstablecimientoId); if (!objAutorizacionDA.ExisteDiagnosticoAsociado(tratamientoId, objSolicitudAutorizacion.EstablecimientoId, objPaciente.PacienteId)) { Tratamiento objTratamiento = objTratamientoBL.GetTratamientoPorIdVersion(tratamientoId, objSolicitudAutorizacion.Fecha_Solicitud); Autorizacion objAutorizacionDxAsociado = new Autorizacion(); objAutorizacionDxAsociado.Adicional = false; objAutorizacionDxAsociado.Anulado = false; objAutorizacionDxAsociado.ControlaCantidad = false; objAutorizacionDxAsociado.DiagnosticoAsociado = true; objAutorizacionDxAsociado.EstablecimientoId = objSolicitudAutorizacion.EstablecimientoId; objAutorizacionDxAsociado.Estado = "A"; objAutorizacionDxAsociado.Fecha = objAutorizacion.Fecha; objAutorizacionDxAsociado.FechaInicio = objAutorizacionDxAsociado.Fecha; objAutorizacionDxAsociado.Modalidad = "R"; objAutorizacionDxAsociado.Monto = objTratamiento.Monto; objAutorizacionDxAsociado.PacienteId = objPaciente.PacienteId; objAutorizacionDxAsociado.Tipo = "P"; objAutorizacionDxAsociado.TipoAutorizacionId = Convert.ToByte(objTratamiento.TipoAutorizacionId); objAutorizacionDxAsociado.TratamiendoId = objTratamiento.TratamientoId; objAutorizacionDxAsociado.UsuarioCreacion = objAutorizacion.UsuarioCreacion; objAutorizacionDxAsociado.Version = objTratamiento.Version; objAutorizacionDxAsociado.Nro_Solicitud = objSolicitudAutorizacion.Nro_Solicitud; objAutorizacionDxAsociado.FechaSolicitud = objSolicitudAutorizacion.Fecha_Solicitud; objAutorizacionDxAsociado.Vigencia = Convert.ToDateTime(objAutorizacionDxAsociado.FechaInicio).AddMonths(Convert.ToInt32(objTratamiento.Vigencia)); objAutorizacionDA.RegistrarAutorizacion(objAutorizacionDxAsociado); } } else { throw new Exception("No se registro la autorizacion, no existe diagnostico asociado para el establecimiento"); } #endregion transactionScope.Complete(); } return(seProcesaronTodos); }
public bool RegistrarAutorizaciones(Paciente objPaciente, List <Autorizacion> objAutorizaciones, vw2_SolicitudAutorizacion objSolicitudAutorizacion, List <vw2_SolicitudAutorizacionDetalle> objSolicitudAutorizacionDetalle) { bool seProcesaronTodos; using (TransactionScope transactionScope = new TransactionScope()) { #region 'Guardar Paciente' PacienteBL objPacienteBL = new PacienteBL(); objPaciente.UsuarioCreacion = objSolicitudAutorizacion.Usuario_Solicitante; objPaciente = objPacienteBL.Guardar(objPaciente); #endregion #region 'Registrar Autorizacion' List <vw2_SolicitudAutorizacionDetalle> List = new List <vw2_SolicitudAutorizacionDetalle>(); Autorizacion ObjAutorizacion2 = null; foreach (Autorizacion ListaAutorz in objAutorizaciones) { ListaAutorz.PacienteId = objPaciente.PacienteId; ListaAutorz.FechaInicio = objSolicitudAutorizacion.Fecha_Solicitud; ObjAutorizacion2 = objAutorizacionDA.RegistrarAutorizacion(ListaAutorz); } #endregion #region 'Aprobar Detalle Solicitud' foreach (vw2_SolicitudAutorizacionDetalle ListaDetalles in objSolicitudAutorizacionDetalle) { SolicitudAutorizacionDetalleDA objSolicitudAutorizacionDetalleDA = new SolicitudAutorizacionDetalleDA(); objSolicitudAutorizacionDetalleDA.AprobarDetalleSolicitudAutorizacion(ListaDetalles); } #endregion #region 'Actualizar Solicitud' SolicitudAutorizacionCabeceraDA objSolicitudAutorizacionCabeceraDA = new SolicitudAutorizacionCabeceraDA(); objSolicitudAutorizacion.Fecha_Procesado = DatosBL.GetDate(); objSolicitudAutorizacion.Procesado = true; objSolicitudAutorizacion.Usuario_Procesa = objSolicitudAutorizacion.Usuario_Solicitante; objSolicitudAutorizacionCabeceraDA.Actualizar(objSolicitudAutorizacion); #endregion seProcesaronTodos = true; transactionScope.Complete(); } #region 'Registrar DX Asociado' PaqueteBL objPaqueteBL = new PaqueteBL(); if (objPaqueteBL.ExisteIdDiagnosticoAsociado(objSolicitudAutorizacion.EstablecimientoId)) { int tratamientoId = objPaqueteBL.GetIdDiagnosticoAsociado(objSolicitudAutorizacion.EstablecimientoId); if (!objAutorizacionDA.ExisteDiagnosticoAsociado(tratamientoId, objSolicitudAutorizacion.EstablecimientoId, objPaciente.PacienteId)) { TratamientoBL objTratamientoBL = new TratamientoBL(); Tratamiento objTratamiento = objTratamientoBL.GetTratamientoPorIdVersion(tratamientoId, objSolicitudAutorizacion.Fecha_Solicitud); Autorizacion objAutorizacionDxAsociado = new Autorizacion(); objAutorizacionDxAsociado.Adicional = false; objAutorizacionDxAsociado.Anulado = false; objAutorizacionDxAsociado.ControlaCantidad = false; objAutorizacionDxAsociado.DiagnosticoAsociado = true; objAutorizacionDxAsociado.EstablecimientoId = objSolicitudAutorizacion.EstablecimientoId;//consultar objAutorizacionDxAsociado.Estado = "A"; objAutorizacionDxAsociado.Fecha = objSolicitudAutorizacion.Fecha_Solicitud; objAutorizacionDxAsociado.FechaInicio = objAutorizacionDxAsociado.Fecha; objAutorizacionDxAsociado.Modalidad = "R"; objAutorizacionDxAsociado.Monto = objTratamiento.Monto; objAutorizacionDxAsociado.PacienteId = objPaciente.PacienteId; objAutorizacionDxAsociado.Tipo = "P"; objAutorizacionDxAsociado.TipoAutorizacionId = Convert.ToByte(objTratamiento.TipoAutorizacionId); objAutorizacionDxAsociado.TratamiendoId = objTratamiento.TratamientoId; objAutorizacionDxAsociado.UsuarioCreacion = objSolicitudAutorizacion.Usuario_Solicitante; objAutorizacionDxAsociado.Version = objTratamiento.Version; objAutorizacionDxAsociado.Vigencia = Convert.ToDateTime(objAutorizacionDxAsociado.FechaInicio).AddMonths(Convert.ToInt32(objTratamiento.Vigencia)); objAutorizacionDA.RegistrarAutorizacion(objAutorizacionDxAsociado); } } #endregion return(seProcesaronTodos); }
public bool RegistraSolicitudes(SolicitudAutorizacion objSolicitudBE, List <SolicitudAutorizacion> objSolicitudDetBE) { bool seGrabaronSolicitudes; SolicitudAutorizacionDA objAutorizacionDA = new SolicitudAutorizacionDA(); using (TransactionScope transactionScope = new TransactionScope()) { #region 'Graba Cabecera' int valida; valida = objAutorizacionDA.SolicitudAutorizacion_Grabar(objSolicitudBE); #endregion #region 'Graba Detalles' if (valida == 1) { foreach (SolicitudAutorizacion ListadoDetalles in objSolicitudDetBE) { objAutorizacionDA.SolicitudAutorizacionDet_Grabar(ListadoDetalles); //if (objSolicitudBE.Enviado == 1) //{ // if (objSolicitudBE.ValidadoSIS == true) // Si esta asegurado // { Paciente ListPacientes = new Paciente(); #region 'Cargamos Datos Paciente' PacienteBL objPacienteBL = new PacienteBL(); Paciente objPaciente = objPacienteBL.GetPacientePorNumeroDocumento(objSolicitudBE.NumeroDocumento); if (objPaciente == null) { ListPacientes = new Paciente(); ListPacientes.EstablecimientoIdOrigen = objSolicitudBE.EstablecimientoId; ListPacientes.Estado = true; ListPacientes.UsuarioCreacion = VariablesGlobales.Login; ListPacientes.NumeroDocumento = objSolicitudBE.NumeroDocumento; } ListPacientes.ApellidoMaterno = objSolicitudBE.ApellidoMaterno; ListPacientes.ApellidoPaterno = objSolicitudBE.ApellidoPaterno; ListPacientes.fecha_defuncion = objSolicitudBE.fecha_defuncion; ListPacientes.Historia = objSolicitudBE.Historia; ListPacientes.Nacimiento = objSolicitudBE.Nacimiento; ListPacientes.Nombres = objSolicitudBE.Nombres; ListPacientes.OtrosNombres = objSolicitudBE.OtrosNombres; ListPacientes.SexoId = Convert.ToByte(objSolicitudBE.SexoId); ListPacientes.TipoRegimenId = Convert.ToByte(objSolicitudBE.TipoRegimenId); ListPacientes.Validado = true; ListPacientes.TipoDocumentoId = Convert.ToByte(objSolicitudBE.TipoDocumentoId); ListPacientes.NumeroDocumento = objSolicitudBE.NumeroDocumento; ListPacientes.PacienteId = objSolicitudBE.PacienteId; #endregion #region 'Cargamos Datos Autorizacion' Autorizacion objListAutorizacion = new Autorizacion(); objListAutorizacion.Adicional = false; objListAutorizacion.Anulado = false; objListAutorizacion.Descripcion = String.Empty; if (ListadoDetalles.CategoriaId == "ZZZ") { objListAutorizacion.DiagnosticoAsociado = true; // Si Categoria = 'ZZZ' true | false } else { objListAutorizacion.DiagnosticoAsociado = false; } objListAutorizacion.EstablecimientoId = objSolicitudBE.EstablecimientoId; objListAutorizacion.Estado = "A"; objListAutorizacion.Fecha = objSolicitudBE.fechaSolicitud;// //objListAutorizacion.FechaInicio = objListAutorizacion.Fecha; objListAutorizacion.FechaSolicitud = objSolicitudBE.fechaSolicitud; objListAutorizacion.TipoAutorizacionId = Convert.ToByte(ListadoDetalles.TipoAutorizacionId); if (objListAutorizacion.TipoAutorizacionId == 1) { objListAutorizacion.ControlaCantidad = true; } else { objListAutorizacion.ControlaCantidad = false; } objListAutorizacion.TratamiendoId = ListadoDetalles.TratamientoId; /******/ //Tratamiento ObjListTratamiento = ObtenerDetalleTratamiento(ListadoDetalles.TratamientoId); if (ListadoDetalles.SoloRetrospectivo == true) { objListAutorizacion.Modalidad = "R"; objListAutorizacion.Monto = ListadoDetalles.Monto; } else { objListAutorizacion.Modalidad = "S"; objListAutorizacion.Monto = 0; } objListAutorizacion.Version = ListadoDetalles.Version; objListAutorizacion.Vigencia = objListAutorizacion.Fecha.AddMonths(Convert.ToInt32(ListadoDetalles.Vigencia)); /******/ objListAutorizacion.PacienteId = objSolicitudBE.PacienteId; objListAutorizacion.Nro_Solicitud = objSolicitudBE.Nro_Solicitud; objListAutorizacion.observacion = String.Empty; objListAutorizacion.Tipo = "P"; objListAutorizacion.UsuarioCreacion = objSolicitudBE.UsuarioSolicita; //objListAutorizaciones.Add(objListAutorizacion); #endregion RegistrarAutorizacionSolicitud(ListPacientes, objListAutorizacion, objSolicitudBE, ListadoDetalles); // } //} } } #endregion transactionScope.Complete(); seGrabaronSolicitudes = true; } return(seGrabaronSolicitudes); }
/************************************************************************************************************** Mod: FJVV ***/ public bool RegistrarAutorizacionSolicitud(Paciente objPaciente, Autorizacion objAutorizacion, SolicitudAutorizacion objSolicitudAutorizacion, SolicitudAutorizacion objSolicitudAutorizacionDetalle) { bool seProcesaronTodos; #region 'Guardar Paciente' PacienteBL objPacienteBL = new PacienteBL(); objPaciente.UsuarioCreacion = objAutorizacion.UsuarioCreacion; objPaciente.FechaCreacion = objAutorizacion.Fecha; objPaciente = objPacienteBL.GuardarPaciente(objPaciente); #endregion #region 'Registrar Autorizacion' //objAutorizacion.PacienteId = objPaciente.PacienteId; objAutorizacion.FechaInicio = objAutorizacion.Fecha; objAutorizacion = objAutorizacionDA.RegistrarAutorizacion(objAutorizacion); #endregion #region 'Aprobar Detalle Solicitud' SolicitudAutorizacionDetalleDA objSolicitudAutorizacionDetalleDA = new SolicitudAutorizacionDetalleDA(); objSolicitudAutorizacionDetalle.AutorizacionId = objAutorizacion.AutorizacionId; objSolicitudAutorizacionDetalleDA.AprobarDetalleSolicitudAutorizacionWeb(objSolicitudAutorizacionDetalle); #endregion #region 'Actualizar Solicitud' SolicitudAutorizacionCabeceraDA objSolicitudAutorizacionCabeceraDA = new SolicitudAutorizacionCabeceraDA(); seProcesaronTodos = objSolicitudAutorizacionDetalleDA.SeProcesaronTodos(objSolicitudAutorizacion.Nro_Solicitud); if (seProcesaronTodos) { objSolicitudAutorizacion.Fecha_Procesado = DatosBL.GetDate(); objSolicitudAutorizacion.Procesado = true; } objSolicitudAutorizacionCabeceraDA.ActualizarCabeceraWeb(objSolicitudAutorizacion); #endregion #region 'Registrar DX Asociado' PaqueteBL objPaqueteBL = new PaqueteBL(); if (objPaqueteBL.ExisteIdDiagnosticoAsociado(objSolicitudAutorizacion.EstablecimientoId)) { int tratamientoId = objPaqueteBL.GetIdDiagnosticoAsociado(objSolicitudAutorizacion.EstablecimientoId); if (!objAutorizacionDA.ExisteDiagnosticoAsociado(tratamientoId, objSolicitudAutorizacion.EstablecimientoId, objSolicitudAutorizacion.PacienteId)) { TratamientoBL objTratamientoBL = new TratamientoBL(); if (objSolicitudAutorizacion.Fecha_Solicitud == Convert.ToDateTime("01/01/0001")) { objSolicitudAutorizacion.fechaSolicitud = DatosBL.GetDate(); } else { objSolicitudAutorizacion.fechaSolicitud = objSolicitudAutorizacion.Fecha_Solicitud; } Tratamiento objTratamiento = objTratamientoBL.GetTratamientoPorIdVersion(tratamientoId, objSolicitudAutorizacion.fechaSolicitud); Autorizacion objAutorizacionDxAsociado = new Autorizacion(); objAutorizacionDxAsociado.Adicional = false; objAutorizacionDxAsociado.Anulado = false; objAutorizacionDxAsociado.ControlaCantidad = false; objAutorizacionDxAsociado.DiagnosticoAsociado = true; objAutorizacionDxAsociado.EstablecimientoId = objSolicitudAutorizacion.EstablecimientoId;//consultar objAutorizacionDxAsociado.Estado = "A"; objAutorizacionDxAsociado.Fecha = objAutorizacion.Fecha; objAutorizacionDxAsociado.FechaSolicitud = objSolicitudAutorizacion.fechaSolicitud;// objAutorizacionDxAsociado.Nro_Solicitud = objSolicitudAutorizacion.Nro_Solicitud; objAutorizacionDxAsociado.FechaInicio = objAutorizacionDxAsociado.Fecha; objAutorizacionDxAsociado.Modalidad = "R"; objAutorizacionDxAsociado.Monto = objTratamiento.Monto; objAutorizacionDxAsociado.PacienteId = objSolicitudAutorizacion.PacienteId; objAutorizacionDxAsociado.Tipo = "P"; objAutorizacionDxAsociado.TipoAutorizacionId = Convert.ToByte(objTratamiento.TipoAutorizacionId); objAutorizacionDxAsociado.TratamiendoId = objTratamiento.TratamientoId; objAutorizacionDxAsociado.UsuarioCreacion = objAutorizacion.UsuarioCreacion; objAutorizacionDxAsociado.Version = objTratamiento.Version; objAutorizacionDxAsociado.Vigencia = Convert.ToDateTime(objAutorizacionDxAsociado.FechaInicio).AddMonths(Convert.ToInt32(objTratamiento.Vigencia)); objAutorizacionDA.RegistrarAutorizacion(objAutorizacionDxAsociado); } } #endregion return(seProcesaronTodos); }