Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /************************************************************************************************************** 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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public void RegistrarAutorizacion(Autorizacion objAutorizacion, Tratamiento t, vw_paquete p)
        {
            using (TransactionScope transactionScope = new TransactionScope())
            {
                #region 'Registrar Autorizacion'

                objAutorizacion.FechaInicio = objAutorizacion.Fecha;
                if (objAutorizacionDA.ExisteAutorizacion(t.CadenaId, p.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 'Registrar DX Asociado'

                PaqueteBL objPaqueteBL = new PaqueteBL();
                if (objPaqueteBL.ExisteIdDiagnosticoAsociado(objAutorizacion.EstablecimientoId))
                {
                    int tratamientoId = objPaqueteBL.GetIdDiagnosticoAsociado(objAutorizacion.EstablecimientoId);
                    if (!objAutorizacionDA.ExisteDiagnosticoAsociado(tratamientoId, objAutorizacion.EstablecimientoId, objAutorizacion.PacienteId))
                    {
                        TratamientoBL objTratamientoBL          = new TratamientoBL();
                        Tratamiento   objTratamiento            = objTratamientoBL.GetTratamientoPorIdVersion(tratamientoId, DatosBL.GetDate());
                        Autorizacion  objAutorizacionDxAsociado = new Autorizacion();
                        objAutorizacionDxAsociado.Adicional           = false;
                        objAutorizacionDxAsociado.Anulado             = false;
                        objAutorizacionDxAsociado.ControlaCantidad    = false;
                        objAutorizacionDxAsociado.DiagnosticoAsociado = true;
                        objAutorizacionDxAsociado.EstablecimientoId   = objAutorizacion.EstablecimientoId;
                        objAutorizacionDxAsociado.Estado             = "A";
                        objAutorizacionDxAsociado.Fecha              = objAutorizacion.Fecha;
                        objAutorizacionDxAsociado.FechaInicio        = objAutorizacionDxAsociado.Fecha;
                        objAutorizacionDxAsociado.FechaSolicitud     = objAutorizacion.FechaSolicitud;
                        objAutorizacionDxAsociado.Modalidad          = "R";
                        objAutorizacionDxAsociado.Monto              = objTratamiento.Monto;
                        objAutorizacionDxAsociado.Nro_Solicitud      = objAutorizacion.Nro_Solicitud;
                        objAutorizacionDxAsociado.PacienteId         = objAutorizacion.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);
                    }
                }
                else
                {
                    throw new Exception("No se registro la autorizacion, no existe diagnostico asociado para el establecimiento");
                }

                #endregion

                transactionScope.Complete();
            }
        }