Files
rkm-conectasus-ci-sandbox/api/app/Models/ProntoAtendimento/Atendimento/Atendimento.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

188 lines
4.5 KiB
PHP

<?php
namespace App\Models\ProntoAtendimento\Atendimento;
use App\Models\Cadastro\SujeitoAtencao\Lotacao;
use App\Models\Model;
use App\Models\PainelSenha\Fila;
use App\Models\ProntoAtendimento\AssistenciaSocial\AssistenciaSocial;
use App\Models\ProntoAtendimento\AssistenciaSocial\AssistenciaSocialHistorico;
use App\Models\ProntoAtendimento\Atendimento\Enfermagem\AtendimentoEnfermagem;
use App\Models\ProntoAtendimento\Atendimento\Enfermagem\Historico;
use App\Models\ProntoAtendimento\Atendimento\ExameImagem\AtendimentoExameImagem;
use App\Models\ProntoAtendimento\Atendimento\FaaReabertura;
use App\Models\ProntoAtendimento\Atendimento\Medico\AtendimentoMedico;
use App\Models\ProntoAtendimento\Atendimento\Observacao\PacienteObservacao;
use App\Models\ProntoAtendimento\Atendimento\Triagem\AtendimentoTriagem;
use App\Models\ProntoAtendimento\Atendimento\Triagem\FormularioDorToracica;
use App\Models\ProntoAtendimento\PedidoExame\PedidoExame;
use Illuminate\Database\Eloquent\SoftDeletes;
class Atendimento extends Model
{
use SoftDeletes;
protected $table = 'pronto_atendimento_atendimento';
protected $fillable = [
'faa_id',
'fila_id',
'dor_toracica',
];
protected $casts = [
'dor_toracica' => 'boolean',
];
protected $hidden = [
'created_at',
'created_lotacao_id',
'created_centro_custo_id',
'updated_at',
'updated_lotacao_id',
'updated_centro_custo_id',
'deleted_at',
'deleted_lotacao_id',
'deleted_centro_custo_id',
];
public function pedidosExames()
{
return $this->hasMany(PedidoExame::class);
}
public function faa()
{
return $this->belongsTo(Faa::class)->withTrashed();
}
public function fila()
{
return $this->belongsTo(Fila::class);
}
public function encaminhamentosHospitalar()
{
return $this->hasMany(EncaminhamentoHospitalar::class);
}
public function recepcao()
{
return $this->hasOne(Recepcao::class);
}
public function atendimentosTriagem()
{
return $this->hasMany(AtendimentoTriagem::class);
}
public function atendimentosMedico()
{
return $this->hasMany(AtendimentoMedico::class);
}
public function atendimentosEnfermagem()
{
return $this->hasMany(AtendimentoEnfermagem::class);
}
public function atendimentosExameImagem()
{
return $this->hasMany(AtendimentoExameImagem::class);
}
public function pacienteObservacoes()
{
return $this->hasMany(PacienteObservacao::class);
}
public function avaliacoesAntropometricas()
{
return $this->hasMany(AvaliacaoAntropometrica::class);
}
public function cids()
{
return $this->hasMany(Cid::class);
}
public function classificacoesRisco()
{
return $this->hasMany(ClassificacaoRisco::class);
}
public function gestacoes()
{
return $this->hasMany(Gestacao::class);
}
public function historicosEnfermagem()
{
return $this->hasMany(Historico::class);
}
public function medicamentosUso()
{
return $this->hasMany(MedicamentoUso::class);
}
public function observacoes()
{
return $this->hasMany(Observacao::class);
}
public function procedimentos()
{
return $this->hasMany(Procedimento::class);
}
public function updatedLotacao()
{
return $this->belongsTo(Lotacao::class, 'updated_lotacao_id');
}
public function assistenciaSocial()
{
return $this->hasMany(AssistenciaSocial::class);
}
public function assistenciaSocialHistorico()
{
return $this->hasMany(AssistenciaSocialHistorico::class);
}
public function formularioDorToracica()
{
return $this->belongsTo(FormularioDorToracica::class);
}
public function faaReabertura()
{
return $this->belongsTo(FaaReabertura::class, 'faa_id');
}
public function sinaisVitais()
{
return $this->hasMany(SinalVital::class);
}
public function getIsAllowedToDeleteAttribute()
{
return $this->hasNoOne([
'atendimentosMedico',
'avaliacoesAntropometricas',
'cids',
'classificacoesRisco',
'pedidosExames',
'gestacoes',
'historicosEnfermagem',
'medicamentosUso',
'observacoes',
'procedimentos',
'recepcao',
'sinaisVitais',
]);
}
}