Exemple #1
0
        public PedidoInternacao GravarPedidoInternacao(PedidoInternacaoDTO objPedidoInternacao)
        {
            var pacienteCollection         = GetCollection <Paciente>();
            var pedidoInternacaoCollection = GetCollection <PedidoInternacao>();

            var paciente = new Paciente
            {
                Codigo         = pacienteCollection.EstimatedDocumentCount() + 1,
                DataNascimento = DateTime.Parse(objPedidoInternacao.Paciente.DataNascimento),
                Endereco       = objPedidoInternacao.Paciente.Endereco,
                EstadoCivil    = objPedidoInternacao.Paciente.EstadoCivil.ToString(),
                Nome           = objPedidoInternacao.Paciente.Nome,
                NomeMae        = objPedidoInternacao.Paciente.NomeMae,
                NumeroCpf      = objPedidoInternacao.Paciente.Cpf,
                NumeroRg       = objPedidoInternacao.Paciente.Rg,
                NumeroSus      = objPedidoInternacao.Paciente.NumeroSus,
                Sexo           = objPedidoInternacao.Paciente.Sexo
            };

            var pedidoInternacao = new PedidoInternacao
            {
                Codigo              = pedidoInternacaoCollection.EstimatedDocumentCount() + 1,
                Classificacao       = objPedidoInternacao.CodigoClassificacao,
                CodigoUsuario       = objPedidoInternacao.CodigoUsuario,
                DataHoraSolicitacao = DateTime.Now,
                MedicoSolicitante   = objPedidoInternacao.NomeMedico,
                Motivo              = objPedidoInternacao.Motivo,
                CodigoPaciente      = paciente.Codigo,
                CodigoTipoLeito     = objPedidoInternacao.CodigoTipoLeito
            };

            var leitoDisponivel = VerificarLeitoDisponivel(pedidoInternacao.CodigoTipoLeito,
                                                           pedidoInternacao.Classificacao,
                                                           pedidoInternacao.DataHoraSolicitacao);

            if (leitoDisponivel != null)
            {
                pedidoInternacao.CodigoLeito = leitoDisponivel.Codigo;
                pedidoInternacao.CodigoStatusPedidoInternacao = (int)EnStatusPedidoInternacao.Atendimento;
                pedidoInternacao.DataInternacao = DateTime.Now;
            }
            else
            {
                pedidoInternacao.CodigoStatusPedidoInternacao = (int)EnStatusPedidoInternacao.Aberto;
            }

            pacienteCollection.InsertOne(paciente);

            pedidoInternacaoCollection.InsertOne(pedidoInternacao);

            return(pedidoInternacao);
        }
Exemple #2
0
        public List <PedidoInternacao> Pesquisar(PedidoInternacao objPedido, string nomePaciente)
        {
            {
                var collection = db.GetCollection <PedidoInternacao>(typeof(PedidoInternacao).Name);

                var filterBuilder = Builders <PedidoInternacao> .Filter;

                var filters = new List <FilterDefinition <PedidoInternacao> >();

                if (objPedido.Codigo != 0)
                {
                    filters.Add(filterBuilder.Eq("Codigo", objPedido.Codigo));
                }

                if (objPedido.Classificacao != 0)
                {
                    filters.Add(filterBuilder.Where(x => x.Classificacao == objPedido.Classificacao));
                }

                if (objPedido.CodigoStatusPedidoInternacao != 0 && objPedido.CodigoStatusPedidoInternacao != null)
                {
                    filters.Add(filterBuilder.Where(x => x.CodigoStatusPedidoInternacao == objPedido.CodigoStatusPedidoInternacao));
                }

                if (!string.IsNullOrEmpty(nomePaciente))
                {
                    var codigos = PesquisarPacientePorNome(nomePaciente);

                    filters.Add(filterBuilder.In("Codigo", codigos));
                }

                var filter = filterBuilder.And(filters);

                return(filters.Count > 0 ? collection.Find(filter).ToList() :
                       collection.Find(_ => true).ToList());
            }
        }