202 lines
5.0 KiB
PHP
202 lines
5.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models\ProntoAtendimento\Atendimento\Medico;
|
|
|
|
use App\Models\Model;
|
|
use App\Models\ProntoAtendimento\Atendimento\Atendimento;
|
|
use App\Models\ProntoAtendimento\Atendimento\AvaliacaoAntropometrica;
|
|
use App\Models\ProntoAtendimento\Atendimento\Cid;
|
|
use App\Models\ProntoAtendimento\Atendimento\ClassificacaoRisco;
|
|
use App\Models\ProntoAtendimento\Atendimento\Desfecho;
|
|
use App\Models\ProntoAtendimento\Atendimento\EncaminhamentoHospitalar;
|
|
use App\Models\ProntoAtendimento\Atendimento\EscalaComaGlasgow;
|
|
use App\Models\ProntoAtendimento\Atendimento\Gestacao;
|
|
use App\Models\ProntoAtendimento\Atendimento\MedicamentoUso;
|
|
use App\Models\ProntoAtendimento\Atendimento\Observacao;
|
|
use App\Models\ProntoAtendimento\Atendimento\PrescricaoInterna;
|
|
use App\Models\ProntoAtendimento\Atendimento\Procedimento;
|
|
use App\Models\ProntoAtendimento\Atendimento\RaatParecerMedico;
|
|
use App\Models\ProntoAtendimento\Atendimento\ServicoEnfermagem;
|
|
use App\Models\ProntoAtendimento\Atendimento\SinalVital;
|
|
use App\Models\ProntoAtendimento\PedidoExame\PedidoExame;
|
|
use App\Models\ProntoAtendimento\Plantao\Plantao;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
|
|
class AtendimentoMedico extends Model
|
|
{
|
|
use SoftDeletes;
|
|
|
|
protected $table = 'pronto_atendimento_atendimento_medico';
|
|
|
|
protected $casts = [
|
|
'simples' => 'boolean',
|
|
'is_observacao' => 'boolean',
|
|
'data_hora_proxima_reavaliacao' => 'datetime:d/m/Y H:i',
|
|
'is_faa_assinada' => 'boolean',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'plantao_id',
|
|
'simples',
|
|
'evolucao',
|
|
'queixa_principal_duracao',
|
|
'historia',
|
|
'exame_fisico',
|
|
'diagnostico',
|
|
'conduta',
|
|
'observacoes_enfermagem',
|
|
'data_hora_proxima_reavaliacao',
|
|
'atendimento_geral',
|
|
'orientacoes',
|
|
'desfecho_id',
|
|
'is_observacao',
|
|
'is_faa_assinada',
|
|
];
|
|
|
|
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 $append = [
|
|
'solicitou_reavaliacao',
|
|
];
|
|
|
|
public function plantao()
|
|
{
|
|
return $this->belongsTo(Plantao::class);
|
|
}
|
|
|
|
public function desfecho()
|
|
{
|
|
return $this->belongsTo(Desfecho::class);
|
|
}
|
|
|
|
public function pedidosExames()
|
|
{
|
|
return $this->hasMany(PedidoExame::class);
|
|
}
|
|
|
|
public function servicosEnfermagem()
|
|
{
|
|
return $this->hasMany(ServicoEnfermagem::class);
|
|
}
|
|
|
|
public function atendimento()
|
|
{
|
|
return $this->belongsTo(Atendimento::class);
|
|
}
|
|
|
|
public function raatParecerMedico()
|
|
{
|
|
return $this->hasOne(RaatParecerMedico::class);
|
|
}
|
|
|
|
public function atestado()
|
|
{
|
|
return $this->hasOne(Atestado::class);
|
|
}
|
|
|
|
public function declaracoesComparecimento()
|
|
{
|
|
return $this->hasMany(DeclaracaoComparecimento::class);
|
|
}
|
|
|
|
public function encaminhamentos()
|
|
{
|
|
return $this->hasMany(Encaminhamento::class);
|
|
}
|
|
|
|
public function receita()
|
|
{
|
|
return $this->hasOne(Receita::class);
|
|
}
|
|
|
|
public function prescricoesInternas()
|
|
{
|
|
return $this->hasMany(PrescricaoInterna::class);
|
|
}
|
|
|
|
public function avaliacaoAntropometrica()
|
|
{
|
|
return $this->hasOne(AvaliacaoAntropometrica::class);
|
|
}
|
|
|
|
public function cid()
|
|
{
|
|
return $this->hasOne(Cid::class);
|
|
}
|
|
|
|
public function classificacaoRisco()
|
|
{
|
|
return $this->hasOne(ClassificacaoRisco::class);
|
|
}
|
|
|
|
public function gestacao()
|
|
{
|
|
return $this->hasOne(Gestacao::class);
|
|
}
|
|
|
|
public function encaminhamentoHospitalar()
|
|
{
|
|
return $this->hasOne(EncaminhamentoHospitalar::class);
|
|
}
|
|
|
|
public function medicamentosUso()
|
|
{
|
|
return $this->hasMany(MedicamentoUso::class);
|
|
}
|
|
|
|
public function observacao()
|
|
{
|
|
return $this->hasOne(Observacao::class);
|
|
}
|
|
|
|
public function procedimentos()
|
|
{
|
|
return $this->hasMany(Procedimento::class);
|
|
}
|
|
|
|
public function sinaisVitais()
|
|
{
|
|
return $this->hasMany(SinalVital::class);
|
|
}
|
|
|
|
public function getSolicitouReavaliacaoAttribute()
|
|
{
|
|
return $this->desfecho_id === null;
|
|
}
|
|
|
|
public function escalasComaGlasgow()
|
|
{
|
|
return $this->hasMany(EscalaComaGlasgow::class);
|
|
}
|
|
|
|
public function getIsAllowedToDeleteAttribute()
|
|
{
|
|
return $this->hasNoOne([
|
|
'pedidosExames',
|
|
'atestado',
|
|
'avaliacaoAntropometrica',
|
|
'cid',
|
|
'classificacaoRisco',
|
|
'declaracoesComparecimento',
|
|
'encaminhamentos',
|
|
'gestacao',
|
|
'medicamentosUso',
|
|
'observacao',
|
|
'procedimentos',
|
|
'raatParecerMedico',
|
|
'receitas',
|
|
'sinaisVitais',
|
|
]);
|
|
}
|
|
}
|