Files
rkm-conectasus-ci-sandbox/api/app/Models/ProntoAtendimento/Aih/Internacao.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

113 lines
2.4 KiB
PHP

<?php
namespace App\Models\ProntoAtendimento\Aih;
use App\Models\Cadastro\Estabelecimento\Unidade;
use App\Models\Cadastro\SujeitoAtencao\Paciente;
use App\Models\Model;
use App\Models\ProntoAtendimento\Atendimento\Faa;
use App\Models\Sigtap\Cid;
use Illuminate\Database\Eloquent\SoftDeletes;
class Internacao extends Model
{
use SoftDeletes;
protected $table = 'pronto_atendimento_aih_internacao';
protected $casts = [
'finalizada' => 'boolean'
];
protected $fillable = [
'paciente_id',
'unidade_solicitante_id',
'unidade_internacao_id',
'cid_principal_id',
'cid_secundario_id',
'cid_causas_associadas_id',
'faa_id',
'principais_sinais_sintomas_clinicos',
'condicoes_que_justificam_internacao',
'principais_resultados_de_provas_diagnosticas',
'finalizada',
];
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',
];
protected $with = [
'procedimento',
'causaExterna',
'autorizacao',
];
public function paciente()
{
return $this->belongsTo(Paciente::class);
}
public function unidadeSolicitante()
{
return $this->belongsTo(Unidade::class);
}
public function unidadeInternacao()
{
return $this->belongsTo(Unidade::class);
}
public function cidPrincipal()
{
return $this->belongsTo(Cid::class);
}
public function cidSecundario()
{
return $this->belongsTo(Cid::class);
}
public function cidCausasAssociadas()
{
return $this->belongsTo(Cid::class);
}
public function faa()
{
return $this->belongsTo(Faa::class);
}
public function procedimento()
{
return $this->hasOne(InternacaoProcedimento::class);
}
public function causaExterna()
{
return $this->hasOne(InternacaoCausaExterna::class);
}
public function autorizacao()
{
return $this->hasOne(InternacaoAutorizacao::class);
}
public function getIsAllowedToDeleteAttribute()
{
return $this->hasNoOne([
'procedimento',
'causaExterna',
'autorizacao'
]);
}
}