Пример #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);
        }
Пример #2
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);
        }
Пример #3
0
        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);
        }
Пример #4
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);
        }