191 lines
4.9 KiB
PHP
191 lines
4.9 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Apac;
|
|
|
|
use App\Models\Cadastro\Estabelecimento\Unidade;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Models\Model;
|
|
use App\Models\Sigtap\Cid;
|
|
use App\Models\Sigtap\Classificacao;
|
|
use App\Models\Sigtap\Competencia;
|
|
use App\Models\Sigtap\Ocupacao;
|
|
use App\Models\Sigtap\Procedimento;
|
|
use App\Models\Sigtap\Servico;
|
|
|
|
class SolicitacaoAutorizacao extends Model
|
|
{
|
|
protected $table = 'apac_solicitacao_autorizacao';
|
|
|
|
protected $casts = [
|
|
'data_processamento' => 'datetime:d/m/Y',
|
|
'data_inicial_validade' => 'datetime:d/m/Y',
|
|
'data_final_validade' => 'datetime:d/m/Y',
|
|
'data_ocorrencia' => 'datetime:d/m/Y',
|
|
'data_solicitacao' => 'datetime:d/m/Y',
|
|
'data_autorizacao' => 'datetime:d/m/Y',
|
|
'emenda_parlamentar' => 'boolean',
|
|
'is_automatico' => 'boolean',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'exportacao_id',
|
|
'competencia_id',
|
|
'data_processamento',
|
|
'numero_apac',
|
|
'numero_apac_anterior',
|
|
'unidade_solicitante_id',
|
|
'unidade_executante_id',
|
|
'usuario_executante_id',
|
|
'data_inicial_validade',
|
|
'data_final_validade',
|
|
'paciente_id',
|
|
'procedimento_principal_id',
|
|
'procedimento_principal_ocupacao_id',
|
|
'procedimento_principal_quantidade',
|
|
'procedimento_principal_cnpj_cessao_credito',
|
|
'procedimento_principal_numero_nota_fiscal_cessao',
|
|
'procedimento_principal_cid_principal_id',
|
|
'procedimento_principal_cid_secundario_id',
|
|
'procedimento_principal_servico_id',
|
|
'procedimento_principal_classificacao_id',
|
|
'procedimento_principal_unidade_prestadora_terceiro_cnes',
|
|
'cid_causa_associada_id',
|
|
'motivo_saida_permanencia_id',
|
|
'data_ocorrencia',
|
|
'tipo_atendimento_id',
|
|
'carater_atendimento_id',
|
|
'tipo_apac_id',
|
|
'usuario_responsavel_id',
|
|
'data_solicitacao',
|
|
'usuario_autorizador_nome',
|
|
'usuario_autorizador_cns',
|
|
'data_autorizacao',
|
|
'codigo_emissor',
|
|
'fonte_orcamentaria_id',
|
|
'emenda_parlamentar',
|
|
'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 competencia()
|
|
{
|
|
return $this->belongsTo(Competencia::class);
|
|
}
|
|
|
|
public function unidadeSolicitante()
|
|
{
|
|
return $this->belongsTo(Unidade::class);
|
|
}
|
|
|
|
public function unidadeExecutante()
|
|
{
|
|
return $this->belongsTo(Unidade::class);
|
|
}
|
|
|
|
public function usuarioExecutante()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function paciente()
|
|
{
|
|
return $this->belongsTo(Paciente::class);
|
|
}
|
|
|
|
public function procedimentoPrincipal()
|
|
{
|
|
return $this->belongsTo(Procedimento::class);
|
|
}
|
|
|
|
public function procedimentoPrincipalOcupacao()
|
|
{
|
|
return $this->belongsTo(Ocupacao::class);
|
|
}
|
|
|
|
public function procedimentoPrincipalCidPrincipal()
|
|
{
|
|
return $this->belongsTo(Cid::class);
|
|
}
|
|
|
|
public function procedimentoPrincipalCidSecundario()
|
|
{
|
|
return $this->belongsTo(Cid::class);
|
|
}
|
|
|
|
public function procedimentoPrincipalServico()
|
|
{
|
|
return $this->belongsTo(Servico::class);
|
|
}
|
|
|
|
public function procedimentoPrincipalClassificacao()
|
|
{
|
|
return $this->belongsTo(Classificacao::class);
|
|
}
|
|
|
|
public function cidCausaAssociada()
|
|
{
|
|
return $this->belongsTo(Cid::class);
|
|
}
|
|
|
|
public function motivoSaidaPermanencia()
|
|
{
|
|
return $this->belongsTo(MotivoSaidaPermanencia::class);
|
|
}
|
|
|
|
public function tipoAtendimento()
|
|
{
|
|
return $this->belongsTo(TipoAtendimento::class);
|
|
}
|
|
|
|
public function caraterAtendimento()
|
|
{
|
|
return $this->belongsTo(CaraterAtendimento::class);
|
|
}
|
|
|
|
public function tipoApac()
|
|
{
|
|
return $this->belongsTo(Tipo::class);
|
|
}
|
|
|
|
public function usuarioResponsavel()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function fonteOrcamentaria()
|
|
{
|
|
return $this->belongsTo(FonteOrcamentaria::class);
|
|
}
|
|
|
|
public function inconsistencias()
|
|
{
|
|
return $this->belongsToMany(Inconsistencia::class, 'apac_solicitacao_autorizacao_inconsistencia')
|
|
->using(SolicitacaoAutorizacaoInconsistencia::class)
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function laudoGeral()
|
|
{
|
|
return $this->hasOne(SolicitacaoAutorizacaoLaudoGeral::class);
|
|
}
|
|
|
|
public function procedimentosSecundarios()
|
|
{
|
|
return $this->hasMany(SolicitacaoAutorizacaoProcedimentoSecundario::class);
|
|
}
|
|
}
|