113 lines
2.4 KiB
PHP
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'
|
|
]);
|
|
}
|
|
}
|