cidadao; $telefones = $cidadao->telefones->map(function ($telefone) { return [ 'numero' => $telefone->numero, 'principal' => (bool) $telefone->principal, 'autoriza_sms' => (bool) $telefone->autoriza_sms, ]; })->values(); $endereco = null; $domicilio = $cidadao->domicilio; if ($domicilio && $domicilio->endereco) { $end = $domicilio->endereco; $logradouro = $end->logradouro; $endereco = [ 'logradouro' => $logradouro ? $logradouro->nome : null, 'tipo_logradouro' => ($logradouro && $logradouro->tipo) ? $logradouro->tipo->descricao : null, 'cep' => $logradouro ? $logradouro->cep : null, 'numero' => $end->numero ?? null, 'complemento' => $end->complemento ?? null, 'referencia' => $end->referencia ?? null, 'bairro' => ($logradouro && $logradouro->bairro) ? $logradouro->bairro->nome : null, 'municipio' => ($logradouro && $logradouro->municipio) ? $logradouro->municipio->nome : null, 'uf' => ($logradouro && $logradouro->municipio && $logradouro->municipio->estado) ? $logradouro->municipio->estado->uf : null, ]; } $cns = $cidadao->cns; $nome = $cidadao->nome_social ? $cidadao->nome_social : $cidadao->nome; $unidade = $paciente->unidade; return [ 'paciente_id' => $paciente->id, 'prontuario' => $paciente->prontuario, 'nome' => $nome, 'nome_completo' => $cidadao->nome, 'nome_social' => $cidadao->nome_social ?? null, 'cpf' => $cidadao->cpf, 'cns' => $cns, 'data_nascimento' => $cidadao->data_nascimento, 'idade' => $cidadao->idade_formatada, 'sexo' => ($cidadao->sexo) ? $cidadao->sexo->descricao : null, 'email' => $paciente->email ?? null, 'telefones' => $telefones, 'endereco' => $endereco, 'unidade_referencia' => $unidade ? [ 'id' => $unidade->id, 'nome' => $unidade->nome_fantasia, 'cnes' => $unidade->cnes, ] : null, ]; } }