get('database.default'))->firstOrFail(); $cadastro = CadastroIndividual::where('paciente_id', $id)-> first(); $paciente = Paciente::findOrFail($id); $telefoneCelular = $paciente->cidadao->telefones ->filter(fn ($t) => Str::length($t->numero) === 11)->first()->numero ?? null; $ocupacao = null; if ( isset($cadastro) && isset($cadastro->responsavelCidadao) && isset($cadastro->responsavelCidadao->paciente) && isset($cadastro->responsavelCidadao->paciente->cadastroIndividual) && isset($cadastro->responsavelCidadao->paciente->cadastroIndividual->ocupacao) ) { $ocupacao = [ 'id' => $cadastro->responsavelCidadao->paciente->cadastroIndividual->ocupacao->id, 'codigo' => $cadastro->responsavelCidadao->paciente->cadastroIndividual->ocupacao->codigo, 'nome' => $cadastro->responsavelCidadao->paciente->cadastroIndividual->ocupacao->nome, ]; } return [ 'form' => [ 'data_atual' => Carbon::now()->format('d/m/Y'), 'unidade' => $currentLotacao->infraestrutura->unidade->nome_fantasia, 'unidade_id' => $currentLotacao->infraestrutura->unidade->id, 'infraestrutura_id' => $currentLotacao->infraestrutura->id, 'infraestrutura' => $currentLotacao->infraestrutura->nome, 'sistema' => [ 'ramo_atividade' => [ 'nome' => $cliente->sistema->ramoAtividade->nome ?? null, ], 'nome' => $cliente->sistema->nome ?? null, 'versao' => $cliente->sistema->versao ?? null, ], 'acompanhamento_infantil' => AcompanhamentoInfantil::orderBy('descricao')->get(), 'parentesco' => Parentesco::orderBy('descricao')->get(), 'curso' => Curso::orderBy('descricao')->get(), 'mercado_trabalho' => SituacaoMercadoTrabalho::orderBy('descricao')->get(), 'orientacao_sexual' => OrientacaoSexual::whereNotIn('id', [CadastroIndividualOrientacaoSexual::HOMOSSEXUAL])->orderBy('descricao')->get(), 'identidade_genero' => IdentidadeGenero::orderBy('descricao')->get(), 'deficiencia' => DeficienciaBase::orderBy('descricao')->get()->each(function ($item) { $item->descricao = ucfirst(strtolower($item->descricao)); }), 'saida_cidadao' => SaidaCidadao::orderBy('descricao')->get(), 'peso' => Peso::orderBy('descricao')->get(), 'doencas_cardiacas' => DoencaCardiaca::orderBy('descricao')->get(), 'problemas_rins' => ProblemasRins::orderBy('descricao')->get(), 'doencas_respiratorias' => DoencaRespiratoria::orderBy('descricao')->get(), 'situacao_rua' => SituacaoRua::orderBy('descricao')->get(), 'alimentacao_diaria' => AlimentacaoDiaria::orderBy('descricao')->get(), 'origem_alimentacao' => OrigemAlimentacao::orderBy('descricao')->get(), 'higiene_pessoal' => HigienePessoal::orderBy('descricao')->get(), 'nacionalidades' => Nacionalidade::orderBy('descricao')->get(), 'raca_cor' => RacaCor::whereNotIn('id', [SujeitoAtencaoRacaCor::SEM_INFORMACAO])->orderBy('descricao')->get(), ], 'cadastro' => [ 'usuario' => [ 'id' => $cadastro->usuario->id ?? null, 'cidadao_nome' => $cadastro->usuario->cidadao->nome ?? null, 'cns' => optional(optional($cadastro->usuario)->cidadao)->cns ? MaskUtil::getCnsMasked($cadastro->usuario->cidadao->cns) : 'NÃO INFORMADO', 'cbo' => $cadastro->usuario ? Ocupacao::findOrFail($cadastro->usuario_ocupacao_id)->codigo : null, ], 'cnes' => $cadastro->equipe->unidade->cnes ?? null, 'numero_ine' => $cadastro->equipe->area->numero_ine ?? null, 'equipe_id' => $cadastro->equipe_id ?? null, 'ocupacao_id' => $cadastro->usuario_ocupacao_id ?? null, 'data_usuario_responsavel' => Carbon::parse($cadastro->data_usuario_responsavel)->format('d/m/Y'), ], 'alteracao' => [ 'data_cadastro' => $cadastro ? $cadastro->created_at->format('d/m/Y') : null, 'data_alteracao' => $cadastro ? $cadastro->updated_at->format('d/m/Y') : null, 'usuario_alteracao' => $cadastro ? $cadastro->updatedLotacao()->withTrashed()->first()->usuario->cidadao->nome : null, ], 'cidadao' => [ 'nome' => $paciente->cidadao->nome ?? null, 'nome_social' => $paciente->cidadao->nome_social ?? null, 'status_id' => $cadastro ? $cadastro->status_id : null, 'sexo_id' => $paciente->cidadao->sexo_id ?? null, 'cns' => $paciente ? MaskUtil::getCnsMasked($paciente->cidadao->cns) : null, 'cns_responsavel' => $cadastro->responsavelCidadao ? MaskUtil::getCnsMasked($cadastro->responsavelCidadao->cns) : null, 'data_nascimento' => $paciente->cidadao->data_nascimento->format('d/m/Y') ?? null, 'nacionalidade_id' => $paciente->cidadao->nacionalidade_id ?? null, 'responsavel_cidadao_id' => $cadastro ? $cadastro->responsavel_cidadao_id : null, 'ocupacao' => $ocupacao, 'renda_mensal' => $cadastro ? $cadastro->renda_mensal : null, 'unidade_area_sus' => $cadastro ? $cadastro->unidade_area_sus : null, 'ativo' => $cadastro ? $cadastro->ativo : null, 'nis_pis_pasep' => $paciente->cidadao->carteiraTrabalho->nis_pis_pasep ?? '', 'etnia_indigena' => $paciente->cidadao->etniaIndigena->descricao ?? '', 'nome_mae' => $paciente->cidadao->nome_mae ?? 'NÃO INFORMADO', 'nome_pai' => $paciente->cidadao->nome_pai ?? 'NÃO INFORMADO', 'pais_nascimento_nome' => $paciente->cidadao->paisNascimento->nome ?? null, 'portaria_naturalizacao' => $paciente->cidadao->portaria_naturalizacao ?? '', 'data_naturalizacao' => $paciente->cidadao->data_naturalizacao ? $paciente->cidadao->data_naturalizacao->format('d/m/Y') : null, 'data_entrada_brasil' => ($paciente->cidadao->estrangeiroEntradaBrasil->data_entrada ?? null) ? $paciente->cidadao->estrangeiroEntradaBrasil->data_entrada->format('d/m/Y') : null, 'municipio_nascimento' => $paciente->cidadao->municipioNascimento ? "{$paciente->cidadao->municipioNascimento->nome} / " . $paciente->cidadao->municipioNascimento->estado->uf : '', 'email' => $paciente->email ?? null, 'telefone_celular' => MaskUtil::getPhoneMasked($telefoneCelular), 'raca_cor_id' => $paciente->cidadao->raca_cor_id, ], 'informacao' => [ 'parentesco_responsavel_id' => $cadastro ? $cadastro->parentesco_responsavel_id : null, 'ocupacao' => $cadastro && $cadastro->ocupacao ? $cadastro->ocupacao->codigo . ' - ' .$cadastro->ocupacao->nome : null, 'curso_id' => $cadastro ? $cadastro->curso_id : null, 'frequenta_escola_creche' => $cadastro ? $cadastro->frequenta_escola_creche : null, 'situacao_mercado_trabalho_id' => $cadastro ? $cadastro->situacao_mercado_trabalho_id : null, 'frequenta_cuidador_tradicional' => $cadastro ? $cadastro->frequenta_cuidador_tradicional : null, 'participa_grupo_comunitario' => $cadastro ? $cadastro->participa_grupo_comunitario : null, 'acompanhamento_infantil' => $cadastro ? $cadastro->acompanhamentoInfantil->pluck('id') : [], 'plano_saude' => $cadastro ? $cadastro->plano_saude : null, 'comunidade_tradicional' => $cadastro ? $cadastro->comunidade_tradicional : null, 'comunidade_tradicional_qual' => $cadastro && $cadastro->comunidade_tradicional ? $cadastro->comunidadeTradicionalQual->codigo_esus . ' - ' . $cadastro->comunidadeTradicionalQual->descricao : null, 'orientacao_sexual' => $cadastro ? $cadastro->orientacao_sexual : null, 'orientacao_sexual_id' => $cadastro ? $cadastro->orientacao_sexual_id : null, 'identidade_genero' => $cadastro ? $cadastro->identidade_genero : null, 'identidade_genero_id' => $cadastro ? $cadastro->paciente->cidadao->identidade_genero_id : null, 'deficiente' => $cadastro ? $cadastro->deficiente : null, 'deficiencias' => $cadastro ? $cadastro->deficiencia->pluck('id') : [], 'saida_cidadao_id' => $cadastro ? $cadastro->saida_cidadao_id : null, 'motivo_saida_data' => $cadastro ? $cadastro->motivo_saida_data : null, 'obito' => $paciente->cidadao->obito ? true : false, 'obito_em' => $paciente->cidadao->obito ? (new Carbon($paciente->cidadao->obito->obito_em))->format('d/m/Y') : null, 'hora_obito' => $paciente->cidadao->obito ? (new Carbon($paciente->cidadao->obito->obito_em))->format('H:i:s') : null, 'obito_declaracao' => $paciente->cidadao->obito->declaracao ?? null, 'obito_causa' => $paciente->cidadao->obito->causa ?? null, 'obito_cid' => [ 'id' => $paciente->cidadao->obito->cid->id ?? null, 'nome' => $paciente->cidadao->obito->cid->nome ?? null, ], 'data_entrada' => $paciente->cidadao->estrangeiroEntradaBrasil->data_entrada ?? null, 'data_naturalizacao' => $paciente->cidadao->data_naturalizacao ?? null, ], 'recusa_cadastro' => $cadastro ? $cadastro->recusa_cadastro : false, 'condicao' => [ 'gestante' => $cadastro ? $cadastro->gestante : false, 'maternidade_referencia' => $cadastro ? $cadastro->maternidade_referencia : null, 'peso_id' => $cadastro ? $cadastro->peso_id : null, 'fumante' => $cadastro ? $cadastro->fumante : false, 'usa_alcool' => $cadastro ? $cadastro->usa_alcool : false, 'outras_drogas' => $cadastro ? $cadastro->outras_drogas : false, 'hipertensao' => $cadastro ? $cadastro->hipertensao : false, 'diabetes' => $cadastro ? $cadastro->diabetes : false, 'avc_derrame' => $cadastro ? $cadastro->avc_derrame : false, 'infarto' => $cadastro ? $cadastro->infarto : false, 'hanseniase' => $cadastro ? $cadastro->hanseniase : false, 'tuberculose' => $cadastro ? $cadastro->tuberculose : false, 'cancer' => $cadastro ? $cadastro->cancer : false, 'fibromialgia' => $cadastro ? $cadastro->fibromialgia : false, 'transtorno_espectro_autista' => $cadastro ? $cadastro->transtorno_espectro_autista : false, 'internacao' => $cadastro ? $cadastro->internacao : false, 'internacao_motivo' => $cadastro ? $cadastro->internacao_motivo : null, 'doenca_cardiaca' => $cadastro ? $cadastro->doenca_cardiaca : false, 'doenca_cardiaca_quais' => $cadastro ? $cadastro->doencaCardiaca->pluck('id') : [], 'problemas_rins' => $cadastro ? $cadastro->problemas_rins : false, 'problemas_rins_quais' => $cadastro ? $cadastro->problemasRins->pluck('id') : [], 'doenca_respiratoria' => $cadastro ? $cadastro->doenca_respiratoria : false, 'doenca_respiratoria_quais' => $cadastro ? $cadastro->doencaRespiratoria->pluck('id') : [], 'tratamento_saude_mental' => $cadastro ? $cadastro->tratamento_saude_mental : false, 'acamado' => $cadastro ? $cadastro->acamado : false, 'domiciliado' => $cadastro ? $cadastro->domiciliado : false, 'plantas_medicinais' => $cadastro ? $cadastro->plantas_medicinais : false, 'plantas_medicinais_quais' => $cadastro ? $cadastro->plantas_medicinais_quais : null, 'praticas_integrativas' => $cadastro ? $cadastro->praticas_integrativas : false, 'outras_condicoes_primaria' => $cadastro ? $cadastro->outras_condicoes_primaria : null, 'outras_condicoes_secundaria' => $cadastro ? $cadastro->outras_condicoes_secundaria : null, 'outras_condicoes_terciaria' => $cadastro ? $cadastro->outras_condicoes_terciaria : null, ], 'situacao_rua' => [ 'situacao_rua_id' => $cadastro ? $cadastro->situacao_rua_id : null, 'outra_instituicao' => $cadastro ? $cadastro->outra_instituicao : false, 'outra_instituicao_quais' => $cadastro ? $cadastro->outra_instituicao_quais : null, 'recebe_beneficio' => $cadastro ? $cadastro->recebe_beneficio : false, 'referencia_familiar' => $cadastro ? $cadastro->referencia_familiar : false, 'visita_familiar' => $cadastro ? $cadastro->visita_familiar : false, 'parentesco' => $cadastro ? $cadastro->parentesco : null, 'alimentacao_diaria_id' => $cadastro ? $cadastro->alimentacao_diaria_id : null, 'origem_alimentacao' => $cadastro ? $cadastro->origemAlimentacao->pluck('id') : [], 'higiene_pessoal' => $cadastro ? $cadastro->higiene_pessoal : false, 'higiene_pessoal_quais' => $cadastro ? $cadastro->higienePessoal->pluck('id') : [], ], ]; } }