init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
<?php
namespace App\Services\Mobile\ConectaCidadao\PerfilCidadao;
use App\Services\Service;
use App\Models\Cadastro\SujeitoAtencao\Paciente;
class PerfilCidadaoService extends Service
{
public function getDadosCidadao(Paciente $paciente): array
{
$cidadao = $paciente->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,
];
}
}