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,26 @@
<?php
namespace App\Http\Controllers\ProntoAtendimento\Atendimento\Evasao;
use App\Http\Controllers\Controller;
use App\Services\ProntoAtendimento\Evasao\CancelamentoEvasaoService;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CancelamentoEvasaoController extends Controller
{
protected $modulo = 'pronto-atendimento';
protected $funcionalidade = 'cancelamento-evasao';
public function datatable(Request $request)
{
return response()->json(CancelamentoEvasaoService::datatable($request), Response::HTTP_OK);
}
public function cancel(Request $request, $faaId)
{
$this->auth(__FUNCTION__);
return response()->json(CancelamentoEvasaoService::cancel($request, $faaId), Response::HTTP_NO_CONTENT);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Http\Controllers\ProntoAtendimento\Atendimento\Medico;
use App\Http\Controllers\Controller;
use App\Models\ProntoAtendimento\Atendimento\Medico\DeclaracaoComparecimentoTipo;
use Illuminate\Http\Response;
class DeclaracaoComparecimentoTipoController extends Controller
{
public function index()
{
return response()->json($this->get(DeclaracaoComparecimentoTipo::class)->get(), Response::HTTP_OK);
}
public function show($id)
{
return response()->json($this->get(DeclaracaoComparecimentoTipo::class, $id), Response::HTTP_OK);
}
}

View File

@@ -0,0 +1,632 @@
<?php
namespace App\Http\Controllers\ProntoAtendimento\Atendimento;
use App\Enums\Administracao\Modulo;
use App\Enums\Cadastro\Estabelecimento\Servico as EstabelecimentoServico;
use App\Enums\Cadastro\SujeitoAtencao\Classificacao;
use App\Enums\PainelSenha\PrioridadeTipo as PainelSenhaPrioridade;
use App\Enums\ProntoAtendimento\Atendimento\Desfecho;
use App\Enums\ProntoAtendimento\Atendimento\OrigemEntrada as AtendimentoOrigemEntrada;
use App\Enums\ProntoAtendimento\OrigemUnidadeEncaminhamento;
use App\Enums\ProntoAtendimento\Plantao\Status as PlantaoStatus;
use App\Http\Controllers\Controller;
use App\Http\Requests\ProntoAtendimento\Atendimento\RecepcaoRequest;
use App\Models\Cadastro\Estabelecimento\CentroCusto;
use App\Models\Cadastro\Estabelecimento\Servico;
use App\Models\Cadastro\Parametrizacao\ParametrizacaoPermissaoUsuario;
use App\Models\Cadastro\SujeitoAtencao\Lotacao;
use App\Models\Cadastro\SujeitoAtencao\Paciente;
use App\Models\Cadastro\SujeitoAtencao\PacienteClassificacao;
use App\Models\Cadastro\SujeitoAtencao\Sexo;
use App\Models\Cns\TermoInvalido;
use App\Models\PainelSenha\Encaminhamento;
use App\Models\PainelSenha\Fila;
use App\Models\PainelSenha\OpcaoEntrada;
use App\Models\PainelSenha\Prioridade;
use App\Models\ProntoAtendimento\Atendimento\Faa;
use App\Models\ProntoAtendimento\Atendimento\OrigemEntrada;
use App\Models\ProntoAtendimento\Plantao\Plantao;
use App\Models\ProntoAtendimento\Raat\RegimeTrabalho;
use App\Models\ProntoAtendimento\Raat\TipoAcidente;
use App\Services\Administracao\ModuloService;
use App\Services\Cadastro\SujeitoAtencao\PacienteDesconhecidoSaveService;
use App\Services\Integracao\CnsService;
use App\Services\ProntoAtendimento\Fila\FilaService;
use App\Services\ProntoAtendimento\Impressao\ImpressaoService;
use App\Services\ProntoAtendimento\PlantaoService;
use App\Utils\MaskUtil;
use Carbon\Carbon;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
class RecepcaoController extends Controller
{
protected $modulo = 'pronto-atendimento';
protected $funcionalidade = 'atendimento-recepcao';
public function index()
{
$plantao = PlantaoService::getCurrentPlantao();
$lotacao = $this->getCurrentLotacao();
$permissaoUsuario = ParametrizacaoPermissaoUsuario::where('usuario_id', $lotacao->usuario_id)
->where('infraestrutura_id', $lotacao->infraestrutura_id)
->first();
$countUsuario = ParametrizacaoPermissaoUsuario::count();
$classificacoes = $permissaoUsuario
? PacienteClassificacao::orderBy('descricao')
->get()
->filter(function ($classificacao) use ($permissaoUsuario) {
$exibe = false;
switch ($classificacao->id) {
case Classificacao::MUNICIPE:
$exibe = $permissaoUsuario->municipe;
break;
case Classificacao::PROVISORIO:
$exibe = $permissaoUsuario->provisorio;
break;
case Classificacao::OUTRO_MUNICIPIO:
$exibe = $permissaoUsuario->outro_municipio;
break;
}
return $exibe ? [
'id' => $classificacao->id,
'descricao' => $classificacao->descricao
] : null;
})
->values()
: [];
return response()->json(
[
'additionals' => [
'plantao_id' => $plantao->id ?? null,
'plantao_faixa_etaria_id' => $plantao->faixa_etaria_id ?? null,
'classificacoes' => $classificacoes,
'is_permissao_cadastro' => $countUsuario === 0 ? true : false,
],
],
Response::HTTP_OK
);
}
public function create()
{
$this->auth(__FUNCTION__);
$now = Carbon::now();
$senha = '';
$opcaoEntradaId = null;
$pacienteIdentificado = null;
$isAtendimentoPreferencial = false;
$prioridadeId = null;
$alertFaaAberta = false;
$alertFaaEvadida = false;
$dataHoraDesfecho = null;
if (is_numeric(request()->fila_id)) {
$fila = Fila::findOrFail(request()->fila_id);
$senha = $fila->senha;
$opcaoEntradaId = $fila->opcao_entrada_id;
if ($fila->prioridade_id) {
$isAtendimentoPreferencial = true;
$prioridadeId = $fila->prioridade_id;
}
}
if (is_numeric(request()->paciente_id)) {
$faa = Faa::with('atendimentos.fila')
->where('paciente_id', request()->paciente_id)
->whereHas('atendimentos.fila', function($query) {
$query
->whereHas('centroCusto', function($query) {
$query->where(
'infraestrutura_id',
Lotacao::findOrFail(auth()->payload()->get('lotacao_id'))->infraestrutura_id
);
});
})
->where(function($query) {
$query->whereNull('desfecho_id')
->orWhere('desfecho_id', Desfecho::EVASAO);
})
->orderByDesc('id')
->first();
if ($faa) {
$setor = null;
$createdAt = null;
$procedimentos = 0;
$finalizado = false;
$faa->atendimentos->map(function($atendimento) use (&$setor, &$procedimentos, &$createdAt, &$finalizado) {
$createdAt = $atendimento->fila->created_at;
$setor = $atendimento->fila->centroCusto->setor;
$procedimentos = $atendimento->procedimentos->count();
$finalizado = $atendimento->fila->finalizado;
});
$createdAt = Carbon::parse($createdAt)->addDay()->format('Y-m-d h:i');
if ($createdAt >= Carbon::now()->format('Y-m-d h:i')) {
if($faa->desfecho_id == Desfecho::EVASAO) {
$alertFaaEvadida = true;
$dataHoraDesfecho = Carbon::parse($faa->data_hora_desfecho)->format('d/m/Y H:i');
}
elseif ($faa->desfecho_id == null || ($procedimentos > 0 && $finalizado)) {
$alertFaaAberta = true;
}
} else {
if ($faa->desfecho_id == null) {
$alertFaaAberta = true;
}
}
}
$paciente = Paciente::findOrFail(request()->paciente_id);
$endereco = '';
if ($paciente->cidadao->domicilio_id) {
$endereco = $paciente->cidadao->domicilio->endereco;
$endereco = $endereco->completo . ' - ' . MaskUtil::getCepMasked($endereco->logradouro->cep);
}
$pacienteIdentificado = [
'prontuario' => $paciente->prontuario,
'classificacao_id' => $paciente->classificacao_id,
'cns' => $paciente->cidadao->cns,
'nome' => $paciente->cidadao->nome,
'nome_social' => $paciente->cidadao->nome_social,
'preferencia_nome_id' => $paciente->cidadao->preferencia_nome_id ?? null,
'nome_mae' => $paciente->cidadao->nome_mae ?? '',
'sexo' => [
'id' => $paciente->cidadao->sexo->id,
'descricao' => $paciente->cidadao->sexo->descricao,
],
'data_nascimento' => $paciente->cidadao->data_nascimento->format('d/m/Y'),
'idade' => $paciente->cidadao->idade,
'endereco' => $endereco,
'telefones' => $paciente->cidadao->telefones->map(fn ($telefone) => [
'id' => $telefone->id,
'numero' => MaskUtil::getPhoneMasked($telefone->numero),
'observacao' => $telefone->observacao ?? '',
'autoriza_sms' => $telefone->autoriza_sms,
'principal' => $telefone->principal,
]),
'cidadao_id' => $paciente->cidadao_id,
];
if ($paciente->cidadao->idade['anos'] >= 60) {
$isAtendimentoPreferencial = true;
$prioridadeId = PainelSenhaPrioridade::IDOSO;
}
}
$ocupacoes = collect();
Plantao::whereIn('status_id', [
PlantaoStatus::CADASTRADO,
PlantaoStatus::CONFIRMADO,
PlantaoStatus::COM_ATENDIMENTO_AGENDADO
])
->whereRaw("DATE_SUB(pronto_atendimento_plantao.inicio, INTERVAL 60 MINUTE) <= '{$now->format('Y-m-d H:i:s')}'")
->where('pronto_atendimento_plantao.fim', '>=', $now->format('Y-m-d H:i:s'))
->get()
->map(function ($plantao) use ($ocupacoes) {
if ($plantao->servico_id === EstabelecimentoServico::CONSULTA_MEDICA) {
$ocupacao = $plantao->lotacao->ocupacao;
if (!$ocupacoes->contains('id', $ocupacao->id)) {
$ocupacoes->push([
'id' => $ocupacao->id,
'codigoNome' => $ocupacao->codigo_nome,
]);
}
}
});
$lotacao = $this->getCurrentLotacao();
$permissaoUsuario = ParametrizacaoPermissaoUsuario::where('usuario_id', $lotacao->usuario_id)
->where('infraestrutura_id', $lotacao->infraestrutura_id)
->first();
$countUsuario = ParametrizacaoPermissaoUsuario::count();
$classificacoes = $permissaoUsuario
? PacienteClassificacao::orderBy('descricao')
->get()
->filter(function ($classificacao) use ($permissaoUsuario) {
$exibe = false;
switch ($classificacao->id) {
case Classificacao::MUNICIPE:
$exibe = $permissaoUsuario->municipe;
break;
case Classificacao::PROVISORIO:
$exibe = $permissaoUsuario->provisorio;
break;
case Classificacao::OUTRO_MUNICIPIO:
$exibe = $permissaoUsuario->outro_municipio;
break;
}
return $exibe ? [
'id' => $classificacao->id,
'descricao' => $classificacao->descricao
] : null;
})
->values()
: [];
return response()->json(
[
'additionals' => [
'permissoes_atualizacao_cadastro_paciente' => self::getPermissoesAtualizacaoCadastroPaciente(),
],
'data_atual' => $now->format('d/m/Y'),
'termos_invalidos' => TermoInvalido::all()->map(fn ($termo) => $termo->descricao),
'form' => [
'senha' => $senha,
'alert_faa_aberta' => $alertFaaAberta,
'setor' => $setor['nome'] ?? null,
'alert_faa_evadida' => $alertFaaEvadida,
'data_hora_desfecho' => $dataHoraDesfecho,
'is_atendimento_preferencial' => $isAtendimentoPreferencial,
'prioridades' => Prioridade::orderBy('nome')
->get()
->map(fn ($prioridade) => [
'id' => $prioridade->id,
'nome' => $prioridade->nome,
]),
'prioridade_id' => $prioridadeId,
'paciente_identificado' => $pacienteIdentificado,
'paciente_desconhecido' => [
'sexos' => Sexo::orderBy('descricao')
->get()
->map(fn ($sexo) => [
'id' => $sexo->id,
'descricao' => $sexo->descricao
]),
],
'opcoes_entrada' => OpcaoEntrada::where('modulo_id', ModuloService::getId(Modulo::PRONTO_ATENDIMENTO))
->orderBy('nome')
->where('centro_custo_id', auth()->payload()->get('centro_custo_id'))
->get()
->map(fn($opcao) => [
'id' => $opcao->id,
'nome' => $opcao->nome,
'prioridade_obrigatoria' => $opcao->prioridade_obrigatoria
]),
'opcao_entrada_id' => $opcaoEntradaId,
'origens_entrada' => OrigemEntrada::orderBy('nome')
->get()
->map(fn ($origem) => [
'id' => $origem->id,
'nome' => $origem->nome,
]),
'origem_entrada_id' => AtendimentoOrigemEntrada::ESPONTANEA,
'origens_unidade' => [
[ 'id' => OrigemUnidadeEncaminhamento::INTERNA, 'nome' => 'INTERNA' ],
[ 'id' => OrigemUnidadeEncaminhamento::EXTERNA, 'nome' => 'EXTERNA' ],
],
'origem_unidade_value' => OrigemUnidadeEncaminhamento::INTERNA,
'servicos' => Servico::orderBy('nome')
->get()
->map(fn ($servico) => [
'id' => $servico->id,
'nome' => $servico->nome,
]),
'ocupacoes' => $ocupacoes,
'centros_custo_para' => Encaminhamento::where('centro_custo_id_de', auth()->payload()->get('centro_custo_id'))
->get()
->map(fn ($encaminhamento) => [
'id' => $encaminhamento->centroCustoPara->id,
'nome' => $encaminhamento->centroCustoPara->setor->nome,
'setor_tipo_id' => $encaminhamento->centroCustoPara->setor->tipo_id
]),
'raat_data' => [
'form' => [
'raat' => [
'tipo_acidente' => TipoAcidente::orderBy('nome')
->get()
->map(fn ($tipo) => [
'id' => $tipo->id,
'nome' => $tipo->nome,
]),
'regime_trabalho' => RegimeTrabalho::orderBy('nome')
->get()
->map(fn ($tipo) => [
'id' => $tipo->id,
'nome' => $tipo->nome,
]),
]
]
],
'classificacoes' => $classificacoes,
'is_permissao_cadastro' => $countUsuario === 0 ? true : false,
],
],
Response::HTTP_OK
);
}
public function store(RecepcaoRequest $request)
{
$this->auth(__FUNCTION__);
$recepcao = null;
DB::beginTransaction();
try {
$params = $this->getParams($request);
sleep(rand(1, 3));
$faaRecente = Faa::where('paciente_id', $params['paciente'])->where('created_at', '>=', now()->subMinutes(5))->first();
if ($faaRecente) {
throw new \Exception('O paciente teve uma FAA criada a menos de 5 minutos, caso deseje criar outra tente novamente após esse tempo.');
}
$pacienteId = $this->savePaciente($params['paciente'], $params['atendido_em']);
$faa = Faa::create(['paciente_id' => $pacienteId]);
if (isset($params['raat'])) {
$this->saveRaat($faa, $params['raat']);
}
$filaId = $this->saveFila($params['fila']);
$atendimento = $faa->atendimentos()->create(['fila_id' => $filaId]);
$recepcao = $this->saveAtendimentoRecepcao($atendimento, $params);
if (isset($params['observacao'])) {
$atendimento->observacoes()->create([
'atendimento_recepcao_id' => $recepcao->id,
'descricao' => $params['observacao'],
]);
}
$this->encaminharFila($pacienteId, $filaId, $params['fila']);
DB::commit();
$recepcao->refresh();
$recepcao->impressoes = $this->getImpressoes($recepcao);
} catch (\Exception $e) {
DB::rollBack();
return response()->json(['message' => $e->getMessage()], Response::HTTP_BAD_REQUEST);
}
return response()->json($recepcao, Response::HTTP_CREATED);
}
private function getParams($request)
{
$params = $request->all();
if (isset($params['paciente']['nome'])) {
$params['paciente']['nome'] = mb_strtoupper($params['paciente']['nome']);
}
if (isset($params['urgente_motivo'])) {
$params['urgente_motivo'] = mb_strtoupper($params['urgente_motivo']);
}
if (isset($params['medico_samu'])) {
$params['medico_samu'] = mb_strtoupper($params['medico_samu']);
}
if (isset($params['acompanhante'])) {
$params['acompanhante'] = mb_strtoupper($params['acompanhante']);
}
if (isset($params['medico_solicitante_encaminhamento'])) {
$params['medico_solicitante_encaminhamento'] = mb_strtoupper($params['medico_solicitante_encaminhamento']);
}
if (isset($params['raat']['empresa']['nome'])) {
$params['raat']['empresa']['nome'] = mb_strtoupper($params['raat']['empresa']['nome']);
}
if (isset($params['raat']['empresa']['ramo_atividade'])) {
$params['raat']['empresa']['ramo_atividade'] = mb_strtoupper($params['raat']['empresa']['ramo_atividade']);
}
if (isset($params['raat']['empresa']['endereco'])) {
$params['raat']['empresa']['endereco'] = mb_strtoupper($params['raat']['empresa']['endereco']);
}
if (isset($params['raat']['acidente']['local'])) {
$params['raat']['acidente']['local'] = mb_strtoupper($params['raat']['acidente']['local']);
}
if (isset($params['raat']['acidente']['regime_trabalho_outro'])) {
$params['raat']['acidente']['regime_trabalho_outro'] = mb_strtoupper(
$params['raat']['acidente']['regime_trabalho_outro']
);
}
return $params;
}
private function savePaciente($params, $atendidoEm)
{
if (isset($params['id'])) {
return $params['id'];
}
return (new PacienteDesconhecidoSaveService(
$atendidoEm,
$params['sexo_id'],
$params['caracteristicas_fisicas'] ?? null
))->save()->id;
}
private function saveRaat($faa, $params)
{
return $faa->raat()->create([
'empresa_nome' => $params['empresa']['nome'],
'empresa_ramo_atividade' => $params['empresa']['ramo_atividade'] ?? null,
'empresa_endereco' => $params['empresa']['endereco'] ?? null,
'empresa_telefone' => $params['empresa']['telefone'] ?? null,
'acidente_data' => $params['acidente']['data'],
'acidente_hora' => $params['acidente']['hora'] ?? null,
'acidente_tipo_id' => $params['acidente']['tipo_id'] ?? null,
'acidente_local' => $params['acidente']['local'] ?? null,
'acidente_descricao' => $params['acidente']['descricao'],
'regime_trabalho_id' => $params['regime_trabalho_id'] ?? null,
'regime_trabalho_outro' => $params['regime_trabalho_outro'] ?? null
]);
}
private function saveFila($params)
{
if (isset($params['id'])) {
return $params['id'];
}
$centroCusto = CentroCusto::findOrFail(auth()->payload()->get('centro_custo_id'));
$fila = FilaService::store([
'centro_custo_id' => $centroCusto->id,
'opcao_entrada_id' => $params['opcao_entrada_id'],
'prioridade_id' => $params['prioridade_id']
]);
return $fila->id;
}
private function saveAtendimentoRecepcao($atendimento, $params)
{
$plantaoId = $params['plantao_id'] ?? PlantaoService::getCurrentPlantao()->id ?? null;
if (isset($plantaoId)) {
PlantaoService::setStatusComAtendimento($plantaoId);
}
return $atendimento->recepcao()->create([
'plantao_id' => $plantaoId,
'atendido_em' => $params['atendido_em'],
'urgente' => $params['urgente'] ?? null,
'urgente_motivo' => $params['urgente_motivo'] ?? null,
'origem_entrada_id' => $params['origem_entrada_id'] ?? null,
'medico_samu' => $params['medico_samu'] ?? null,
'motivo_atendimento' => $params['motivo_atendimento'] ?? null,
'acompanhante' => $params['acompanhante'] ?? null,
'unidade_encaminhamento_id' => $params['unidade_encaminhamento_id'] ?? null,
'unidade_externa_encaminhamento_id' => $params['unidade_externa_encaminhamento_id'] ?? null,
'medico_solicitante_encaminhamento' => $params['medico_solicitante_encaminhamento'] ?? null,
'servico_id' => $params['servico_id'],
'ocupacao_id' => $params['ocupacao_id'] ?? null,
'observacao' => $params['observacao'] ?? null,
]);
}
private function encaminharFila($pacienteId, $filaId, $params)
{
FilaService::forward([
'centro_custo_id_para' => $params['centro_custo_id_para'],
'prioridade_id' => $params['prioridade_id'] ?? null,
'paciente_id' => $pacienteId,
], $filaId);
}
private function getImpressoes($recepcao)
{
$cidadao = $recepcao->atendimento->faa->paciente->cidadao;
$fila = $recepcao->atendimento->fila;
$impressoesFAA = ImpressaoService::getImpressoesFaa($recepcao->atendimento_id);
$indiceFaaEletronica = array_search('eletronica', array_column($impressoesFAA, 'value'));
unset($impressoesFAA[$indiceFaaEletronica]);
return [
'recepcao' => ImpressaoService::getImpressoesRecepcao(
$recepcao->atendimento_id,
[
'etiqueta' => [
'atendido_em' => (new Carbon($recepcao->atendido_em))->format('d/m/Y H:i'),
'infraestrutura' => $recepcao->createdLotacao->infraestrutura->nome,
'acompanhante' => $recepcao->acompanhante ?? '',
'paciente' => $cidadao->nome,
'data_nascimento' => $cidadao->data_nascimento
? $cidadao->data_nascimento->format('d/m/Y') : '',
'senha' => $recepcao->atendimento->fila->senha
],
'senha' => [
'data' => $fila->data_emissao,
'hora' => $fila->hora_emissao,
'senha' => $fila->senha,
]
]
),
'faa' => array_values($impressoesFAA)
];
}
private static function getPermissoesAtualizacaoCadastroPaciente()
{
$parametrizacao = CnsService::getParametrizacao();
if (!is_null($parametrizacao)) {
$lotacao = self::getCurrentLotacao();
return DB::table('cadastro_parametrizacao_permissao_usuario')
->select([
'municipe',
'provisorio',
'outro_municipio',
])
->where('infraestrutura_id', $lotacao->infraestrutura_id)
->where('usuario_id', $lotacao->usuario_id)
->get()
->first();
}
return null;
}
}

View File

@@ -0,0 +1,92 @@
<?php
namespace App\Http\Controllers\ProntoAtendimento\Atendimento;
use App\Enums\Cadastro\SujeitoAtencao\Classificacao;
use App\Http\Controllers\Controller;
use App\Models\Cadastro\Parametrizacao\ParametrizacaoPermissaoUsuario;
use App\Models\Cadastro\SujeitoAtencao\PacienteClassificacao;
use App\Services\ProntoAtendimento\Atendimento\RetroativoService;
use Illuminate\Http\Response;
class RetroativoController extends Controller
{
protected $modulo = 'pronto-atendimento';
protected $funcionalidade = 'atendimento-retroativo';
public function create()
{
$this->auth(__FUNCTION__);
$pacienteHasAtendimento = RetroativoService::pacienteHasAtendimento(request()->paciente_id ?? null);
if($pacienteHasAtendimento != false) {
return response()->json($pacienteHasAtendimento, $pacienteHasAtendimento['response']);
}
return response()->json(RetroativoService::create(), Response::HTTP_OK);
}
public function index()
{
$lotacao = $this->getCurrentLotacao();
$permissaoUsuario = ParametrizacaoPermissaoUsuario::where('usuario_id', $lotacao->usuario_id)
->where('infraestrutura_id', $lotacao->infraestrutura_id)
->first();
$countUsuario = ParametrizacaoPermissaoUsuario::count();
$classificacoes = $permissaoUsuario
? PacienteClassificacao::orderBy('descricao')
->get()
->filter(function ($classificacao) use ($permissaoUsuario) {
$exibe = false;
switch ($classificacao->id) {
case Classificacao::MUNICIPE:
$exibe = $permissaoUsuario->municipe;
break;
case Classificacao::PROVISORIO:
$exibe = $permissaoUsuario->provisorio;
break;
case Classificacao::OUTRO_MUNICIPIO:
$exibe = $permissaoUsuario->outro_municipio;
break;
}
return $exibe ? [
'id' => $classificacao->id,
'descricao' => $classificacao->descricao
] : null;
})
->values()
: [];
return response()->json(
[
'classificacoes' => $classificacoes,
'is_permissao_cadastro' => $countUsuario === 0 ? true : false,
],
Response::HTTP_OK
);
}
public function store()
{
$this->auth(__FUNCTION__);
$pacienteHasAtendimento = RetroativoService::pacienteHasAtendimento(request()->get('paciente')['id'] ?? null);
if($pacienteHasAtendimento != false) {
return response()->json($pacienteHasAtendimento, $pacienteHasAtendimento['response']);
}
return response()->json(RetroativoService::store(), Response::HTTP_CREATED);
}
}