'boolean' ]; protected $fillable = [ 'plantao_id', 'atendimento_id', 'atendido_em', 'urgente', 'urgente_motivo', 'origem_entrada_id', 'medico_samu', 'motivo_atendimento', 'acompanhante', 'unidade_encaminhamento_id', 'unidade_externa_encaminhamento_id', 'medico_solicitante_encaminhamento', 'servico_id', 'ocupacao_id', ]; 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 $appends = [ 'is_encaminhamento', 'origem_unidade_encaminhamento', ]; public function plantao() { return $this->belongsTo(Plantao::class); } public function atendimento() { return $this->belongsTo(Atendimento::class); } public function origemEntrada() { return $this->belongsTo(OrigemEntrada::class); } public function unidadeEncaminhamento() { return $this->belongsTo(Unidade::class); } public function servico() { return $this->belongsTo(Servico::class); } public function ocupacao() { return $this->belongsTo(Ocupacao::class); } public function observacao() { return $this->hasOne(Observacao::class, 'atendimento_recepcao_id'); } public function lotacao() { return $this->belongsTo(Lotacao::class); } public function getOrigemUnidadeEncaminhamentoAttribute() { if (!is_null($this->unidade_encaminhamento_id)) { return OrigemUnidadeEncaminhamento::INTERNA; } if (!is_null($this->unidade_externa_encaminhamento_id)) { return OrigemUnidadeEncaminhamento::EXTERNA; } return null; } public function declaracoesComparecimento() { return $this->hasMany(DeclaracaoComparecimento::class, 'atendimento_recepcao_id'); } public function getIsEncaminhamentoAttribute() { return !is_null($this->unidade_encaminhamento_id) || !is_null($this->unidade_externa_encaminhamento_id); } public function getIsAllowedToDeleteAttribute() { return true; } }