'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' ]); } }