142 lines
3.3 KiB
PHP
142 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Raas;
|
|
|
|
use App\Models\Cadastro\Estabelecimento\Unidade;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Model;
|
|
use App\Models\Sigtap\Cid;
|
|
use App\Models\Sigtap\Competencia;
|
|
|
|
class Atendimento extends Model
|
|
{
|
|
protected $table = 'raas_atendimento';
|
|
|
|
protected $casts = [
|
|
'cobertura_estrategia_saude_familia' => 'boolean',
|
|
'is_automatico' => 'boolean',
|
|
'data_admissao' => 'datetime:d/m/Y',
|
|
'data_conclusao' => 'datetime:d/m/Y',
|
|
'data_ocorrencia' => 'datetime:d/m/Y',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'exportacao_id',
|
|
'unidade_id',
|
|
'competencia_id',
|
|
'data_admissao',
|
|
'data_conclusao',
|
|
'origem_paciente_id',
|
|
'paciente_id',
|
|
'cobertura_estrategia_saude_familia',
|
|
'unidade_cobertura_estrategia_familia_id',
|
|
'cid_principal_id',
|
|
'cid_secundario_1_id',
|
|
'cid_secundario_2_id',
|
|
'cid_secundario_3_id',
|
|
'cid_causa_associada_id',
|
|
'destino_paciente_id',
|
|
'motivo_saida_permanencia_id',
|
|
'data_ocorrencia',
|
|
'carater_atendimento_id',
|
|
'numero_autorizacao',
|
|
'is_automatico',
|
|
];
|
|
|
|
protected $hidden = [
|
|
'created_at',
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'updated_at',
|
|
'updated_lotacao_id',
|
|
'updated_centro_custo_id',
|
|
];
|
|
|
|
public function exportacao()
|
|
{
|
|
return $this->belongsTo(Exportacao::class);
|
|
}
|
|
|
|
public function unidade()
|
|
{
|
|
return $this->belongsTo(Unidade::class);
|
|
}
|
|
|
|
public function competencia()
|
|
{
|
|
return $this->belongsTo(Competencia::class);
|
|
}
|
|
|
|
public function paciente()
|
|
{
|
|
return $this->belongsTo(Paciente::class);
|
|
}
|
|
|
|
public function motivoSaidaPermanencia()
|
|
{
|
|
return $this->belongsTo(MotivoSaidaPermanencia::class);
|
|
}
|
|
|
|
public function cidPrincipal()
|
|
{
|
|
return $this->belongsTo(Cid::class);
|
|
}
|
|
|
|
public function cidSecundario1()
|
|
{
|
|
return $this->belongsTo(Cid::class, 'cid_secundario_1_id');
|
|
}
|
|
|
|
public function cidSecundario2()
|
|
{
|
|
return $this->belongsTo(Cid::class, 'cid_secundario_2_id');
|
|
}
|
|
|
|
public function cidSecundario3()
|
|
{
|
|
return $this->belongsTo(Cid::class, 'cid_secundario_3_id');
|
|
}
|
|
|
|
public function cidCausaAssociada()
|
|
{
|
|
return $this->belongsTo(Cid::class);
|
|
}
|
|
|
|
public function caraterAtendimento()
|
|
{
|
|
return $this->belongsTo(CaraterAtendimento::class);
|
|
}
|
|
|
|
public function origemPaciente()
|
|
{
|
|
return $this->belongsTo(OrigemPaciente::class);
|
|
}
|
|
|
|
public function unidadeCoberturaEstrategiaFamilia()
|
|
{
|
|
return $this->belongsTo(Unidade::class);
|
|
}
|
|
|
|
public function destinoPaciente()
|
|
{
|
|
return $this->belongsTo(DestinoPaciente::class);
|
|
}
|
|
|
|
public function inconsistencias()
|
|
{
|
|
return $this->belongsToMany(Inconsistencia::class, 'raas_atendimento_inconsistencia')
|
|
->using(AtendimentoInconsistencia::class)
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function procedimentos()
|
|
{
|
|
return $this->hasMany(AtendimentoProcedimento::class);
|
|
}
|
|
|
|
public function getExportadoAttribute()
|
|
{
|
|
return !is_null($this->exportacao_id);
|
|
}
|
|
}
|