108 lines
2.8 KiB
PHP
108 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Models\ProntoAtendimento\Atendimento;
|
|
|
|
use App\Models\Model;
|
|
use App\Models\Sigtap\Cid;
|
|
use App\Models\ProntoAtendimento\Raat\Agente;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use App\Models\ProntoAtendimento\Raat\Diagnostico;
|
|
use App\Models\ProntoAtendimento\Raat\CausaAcidente;
|
|
use App\Models\ProntoAtendimento\Raat\ParteCorpoAtingida;
|
|
use App\Models\ProntoAtendimento\Atendimento\Medico\AtendimentoMedico;
|
|
use App\Models\ProntoAtendimento\Raat\ClassificacaoInicial;
|
|
|
|
class RaatParecerMedico extends Model
|
|
{
|
|
use SoftDeletes;
|
|
|
|
protected $table = 'pronto_atendimento_raat_parecer_medico';
|
|
|
|
protected $casts = [
|
|
'afastado' => 'boolean',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'atendimento_medico_id',
|
|
'agente_id',
|
|
'parte_corpo_atingida_outras',
|
|
'causa_acidente_outras',
|
|
'diagnostico_outros',
|
|
'observacao',
|
|
'classificacao_inicial_id',
|
|
'afastado',
|
|
];
|
|
|
|
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',
|
|
'pivot'
|
|
];
|
|
|
|
public function raat()
|
|
{
|
|
return $this->belongsTo(Raat::class);
|
|
}
|
|
|
|
public function atendimentoMedico()
|
|
{
|
|
return $this->belongsTo(AtendimentoMedico::class);
|
|
}
|
|
|
|
public function agente()
|
|
{
|
|
return $this->belongsTo(Agente::class);
|
|
}
|
|
|
|
public function partesCorpoAtingidas()
|
|
{
|
|
return $this->belongsToMany(
|
|
ParteCorpoAtingida::class,
|
|
'pronto_atendimento_raat_parecer_medico_parte_corpo_atingida',
|
|
'parecer_medico_id',
|
|
'parte_corpo_atingida_id'
|
|
)->using(RaatParecerMedicoParteCorpoAtingida::class)->withTimestamps();
|
|
}
|
|
|
|
public function causasAcidente()
|
|
{
|
|
return $this->belongsToMany(
|
|
CausaAcidente::class,
|
|
'pronto_atendimento_raat_parecer_medico_causa_acidente',
|
|
'parecer_medico_id',
|
|
'causa_acidente_id'
|
|
)->using(RaatParecerMedicoParteCorpoAtingida::class)->withTimestamps();
|
|
}
|
|
|
|
public function diagnosticos()
|
|
{
|
|
return $this->belongsToMany(
|
|
Diagnostico::class,
|
|
'pronto_atendimento_raat_parecer_medico_diagnostico',
|
|
'parecer_medico_id',
|
|
'diagnostico_id'
|
|
)->using(RaatParecerMedicoParteCorpoAtingida::class)->withTimestamps();
|
|
}
|
|
|
|
public function classificacaoInicial()
|
|
{
|
|
return $this->belongsTo(ClassificacaoInicial::class);
|
|
}
|
|
|
|
public function getIsAllowedToDeleteAttribute()
|
|
{
|
|
return $this->hasNoOne([
|
|
'partesCorpoAtingidas',
|
|
'causasAcidente',
|
|
'diagnosticos',
|
|
]);
|
|
}
|
|
}
|