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,107 @@
<?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',
]);
}
}