Пример #1
0
        public PesquisaPacienteViewModel PreencheTotalizadores(PesquisaPacienteViewModel pacientesTotalizados)
        {
            foreach (var item in pacientesTotalizados.Exames)
            {
                switch (item.UltimoResultado)
                {
                case ExameModel.RESULTADO_POSITIVO: pacientesTotalizados.Positivos++; break;

                case ExameModel.RESULTADO_INDETERMINADO: pacientesTotalizados.Indeterminados++; break;

                case ExameModel.RESULTADO_RECUPERADO: pacientesTotalizados.Recuperados++; break;

                case ExameModel.RESULTADO_AGUARDANDO: pacientesTotalizados.Aguardando++; break;

                case ExameModel.RESULTADO_IGMIGG: pacientesTotalizados.IgGIgM++; break;
                }
                switch (item.Paciente.SituacaoSaude)
                {
                case PessoaModel.SITUACAO_ISOLAMENTO: pacientesTotalizados.Isolamento++; break;

                case PessoaModel.SITUACAO_HOSPITALIZADO_INTERNAMENTO: pacientesTotalizados.Hospitalizado++; break;

                case PessoaModel.SITUACAO_UTI: pacientesTotalizados.UTI++; break;

                case PessoaModel.SITUACAO_SAUDAVEL: pacientesTotalizados.Saudavel++; break;

                case PessoaModel.SITUACAO_ESTABILIZACAO: pacientesTotalizados.Estabilizacao++; break;

                case PessoaModel.SITUACAO_OBITO: pacientesTotalizados.Obito++; break;
                }
            }
            return(pacientesTotalizados);
        }
Пример #2
0
        /* O formulário só enviava os campos vazios.
         * Essa solução com a lista de parâmetros extensa é provisória.*/
        public IActionResult Index(DateTime DataInicial, DateTime DataFinal, string Pesquisa,
                                   string Resultado, int VirusBacteria)
        {
            var virus = _virusBacteriaContext.GetAll();

            ViewBag.VirusBacteria = new SelectList(virus, "IdVirusBacteria", "Nome");
            ViewBag.AreaAtuacao   = new SelectList(_areaAtuacaoContext.GetAll(), "IdAreaAtuacao", "Descricao");
            if (VirusBacteria == 0)
            {
                VirusBacteria = virus.First().IdVirusBacteria;
            }
            int diasRecuperacao = virus.Where(v => v.IdVirusBacteria == VirusBacteria).First().DiasRecuperacao;

            var pesquisa = new PesquisaPacienteViewModel
            {
                Exames        = new List <MonitoraPacienteViewModel>(),
                Resultado     = Resultado,
                DataFinal     = DataFinal.Equals(DateTime.MinValue) ? DateTime.Now : DataFinal,
                DataInicial   = DataInicial.Equals(DateTime.MinValue) ? DateTime.Now.AddDays(-diasRecuperacao) : DataInicial,
                Pesquisa      = Pesquisa,
                VirusBacteria = VirusBacteria,
            };

            return(View(GetAllPacientesViewModel(pesquisa)));
        }
Пример #3
0
        public PesquisaPacienteViewModel GetAllPacientesViewModel(PesquisaPacienteViewModel pesquisa)
        {
            var usuario = _usuarioContext.RetornLoggedUser((ClaimsIdentity)User.Identity);
            var pessoaTrabalhaMunicipio = _pessoaTrabalhaMunicipioContext.GetByIdPessoa(usuario.UsuarioModel.IdPessoa);
            var pessoaTrabalhaEstado    = _pessoaTrabalhaEstadoContext.GetByIdPessoa(usuario.UsuarioModel.IdPessoa);

            if (usuario.RoleUsuario.Equals("GESTOR") || usuario.RoleUsuario.Equals("SECRETARIO"))
            {
                if (pessoaTrabalhaMunicipio != null)
                {
                    var municicpio = _municicpioContext.GetById(pessoaTrabalhaMunicipio.IdMunicipio);
                    var estado     = _estadoContext.GetByCodUf(Convert.ToInt32(municicpio.Uf));
                    pesquisa.Exames = _exameContext.GetByCidadeResidenciaPaciente(municicpio.Nome, estado.Uf.ToUpper(), pesquisa.VirusBacteria, pesquisa.DataInicial, pesquisa.DataFinal).ToList();
                }
                if (pessoaTrabalhaEstado != null)
                {
                    if (pessoaTrabalhaEstado.IdEmpresaExame != EmpresaExameModel.EMPRESA_ESTADO_MUNICIPIO)
                    {
                        var empresa = _empresaExameContext.GetById(pessoaTrabalhaEstado.IdEmpresaExame);
                        if (empresa.FazMonitoramento)
                        {
                            pesquisa.Exames = _exameContext.GetByHospital(pessoaTrabalhaEstado.IdEmpresaExame, pesquisa.VirusBacteria, pesquisa.DataInicial, pesquisa.DataFinal).ToList();
                        }
                        else
                        {
                            TempData["mensagemAviso"] = "Essa Funcionalidade Não está Disponível Para Organizações Privadas!";
                            return(new PesquisaPacienteViewModel());
                        }
                    }
                    else
                    {
                        var estado = _estadoContext.GetById(pessoaTrabalhaEstado.IdEstado);
                        pesquisa.Exames = _exameContext.GetByEstadoResidenciaPaciente(estado.Uf.ToUpper(), pesquisa.VirusBacteria, pesquisa.DataInicial, pesquisa.DataFinal).ToList();
                    }
                }
            }

            /*
             * 2º Filtro - filtrando ViewModel por nome/cpf, resultado e exame
             */
            pesquisa.Pesquisa  = pesquisa.Pesquisa ?? "";
            pesquisa.Resultado = pesquisa.Resultado ?? "";

            if (!pesquisa.Pesquisa.Equals(""))
            {
                if (Methods.SoContemLetras(pesquisa.Pesquisa))
                {
                    pesquisa.Exames = pesquisa.Exames.Where(paciente => paciente.Paciente.Nome.ToUpper().Contains(pesquisa.Pesquisa.ToUpper())).ToList();
                }
                else
                {
                    pesquisa.Exames = pesquisa.Exames.Where(paciente => paciente.Paciente.Cpf.ToUpper().Contains(pesquisa.Pesquisa.ToUpper())).ToList();
                }
            }

            if (!pesquisa.Resultado.Equals("") && !pesquisa.Resultado.Equals("Todas as Opçoes"))
            {
                pesquisa.Exames = pesquisa.Exames.Where(paciente => paciente.UltimoResultado.ToUpper().Equals(pesquisa.Resultado.ToUpper())).ToList();
            }

            pesquisa.Exames = pesquisa.Exames.OrderByDescending(ex => ex.DataExame).ToList();
            return(PreencheTotalizadores(pesquisa));
        }