Files
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

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