216 lines
6.6 KiB
PHP
216 lines
6.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Integracao\Esus;
|
|
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliar;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarAtendimento;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividual;
|
|
use App\Models\AtencaoBasica\AtendimentoOdontologico\AtendimentoOdontologico;
|
|
use App\Models\AtencaoBasica\AtividadeColetiva\AtividadeColetiva;
|
|
use App\Models\AtencaoBasica\AtividadeColetiva\Participante;
|
|
use App\Models\AtencaoBasica\Avaliacao\Avaliacao;
|
|
use App\Models\AtencaoBasica\CadastroDomiciliar\CadastroDomiciliar;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\CadastroIndividual;
|
|
use App\Models\AtencaoBasica\FichaComplementar\FichaComplementar;
|
|
use App\Models\AtencaoBasica\FichaVacinacao\FichaVacinacao;
|
|
use App\Models\AtencaoBasica\FichaVacinacao\VacinacaoPaciente;
|
|
use App\Models\AtencaoBasica\MarcadorConsumoAlimentar\MarcadorConsumoAlimentar;
|
|
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
|
|
use App\Models\AtencaoBasica\Procedimento\Procedimento;
|
|
use App\Models\AtencaoBasica\Procedimento\ProcedimentoAtendimento;
|
|
use App\Models\AtencaoBasica\VisitaDomiciliar\VisitaDomiciliar;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Models\Model;
|
|
use App\Models\Sigtap\Ocupacao;
|
|
|
|
class Inconsistencia extends Model
|
|
{
|
|
protected $table = 'integracao_esus_inconsistencia';
|
|
|
|
protected $casts = [
|
|
'data_atendimento' => 'datetime:d/m/Y'
|
|
];
|
|
|
|
protected $fillable = [
|
|
'origem_id',
|
|
'data_atendimento',
|
|
'usuario_id',
|
|
'ocupacao_id',
|
|
'equipe_id',
|
|
'atendimento_domiciliar_id',
|
|
'atividade_coletiva_id',
|
|
'avaliacao_id',
|
|
'procedimento_id',
|
|
'ficha_vacinacao_id',
|
|
'ficha_complementar_id',
|
|
'cadastro_domiciliar_id',
|
|
'cadastro_individual_id',
|
|
'consumo_alimentar_id',
|
|
'inconsistencia',
|
|
];
|
|
|
|
protected $hidden = [
|
|
'created_at',
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'updated_at',
|
|
'updated_lotacao_id',
|
|
'updated_centro_custo_id',
|
|
];
|
|
|
|
public function origem()
|
|
{
|
|
return $this->belongsTo(Origem::class);
|
|
}
|
|
|
|
public function usuario()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function ocupacao()
|
|
{
|
|
return $this->belongsTo(Ocupacao::class);
|
|
}
|
|
|
|
public function equipe()
|
|
{
|
|
return $this->belongsTo(Equipe::class);
|
|
}
|
|
|
|
public function atendimentoDomiciliar()
|
|
{
|
|
return $this->belongsTo(AtendimentoDomiciliar::class);
|
|
}
|
|
|
|
public function atividadeColetiva()
|
|
{
|
|
return $this->belongsTo(AtividadeColetiva::class);
|
|
}
|
|
|
|
public function avaliacao()
|
|
{
|
|
return $this->belongsTo(Avaliacao::class);
|
|
}
|
|
|
|
public function procedimento()
|
|
{
|
|
return $this->belongsTo(Procedimento::class);
|
|
}
|
|
|
|
public function fichaVacinacao()
|
|
{
|
|
return $this->belongsTo(FichaVacinacao::class);
|
|
}
|
|
|
|
public function fichaComplementar()
|
|
{
|
|
return $this->belongsTo(FichaComplementar::class);
|
|
}
|
|
|
|
public function cadastroDomiciliar()
|
|
{
|
|
return $this->belongsTo(CadastroDomiciliar::class);
|
|
}
|
|
|
|
public function cadastroIndividual()
|
|
{
|
|
return $this->belongsTo(CadastroIndividual::class);
|
|
}
|
|
|
|
public function consumoAlimentar()
|
|
{
|
|
return $this->belongsTo(MarcadorConsumoAlimentar::class);
|
|
}
|
|
|
|
public function atendimentosIndividuais()
|
|
{
|
|
return $this->belongsToMany(AtendimentoIndividual::class, 'integracao_esus_inconsistencia_atendimento_individual')
|
|
->using(InconsistenciaAtendimentoIndividual::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function atendimentosOdontologicos()
|
|
{
|
|
return $this->belongsToMany(AtendimentoOdontologico::class, 'integracao_esus_inconsistencia_atendimento_odontologico')
|
|
->using(InconsistenciaAtendimentoOdontologico::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function visitasDomiciliares()
|
|
{
|
|
return $this->belongsToMany(VisitaDomiciliar::class, 'integracao_esus_inconsistencia_visita_domiciliar')
|
|
->using(InconsistenciaVisitaDomiciliar::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function atendimentoDomiciliarAtendimentos()
|
|
{
|
|
return $this->belongsToMany(
|
|
AtendimentoDomiciliarAtendimento::class,
|
|
'integracao_esus_inconsistencia_atendimento_domiciliar_atend',
|
|
'inconsistencia_id',
|
|
'atendimento_domiciliar_atendimento_id'
|
|
)
|
|
->using(InconsistenciaAtendimentoDomiciliarAtendimento::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function procedimentoAtendimentos()
|
|
{
|
|
return $this->belongsToMany(
|
|
ProcedimentoAtendimento::class,
|
|
'integracao_esus_inconsistencia_procedimento_atendimento',
|
|
'inconsistencia_id',
|
|
'procedimento_atendimento_id'
|
|
)
|
|
->using(InconsistenciaProcedimentoAtendimento::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function atividadeColetivaParticipantes()
|
|
{
|
|
return $this->belongsToMany(
|
|
Participante::class,
|
|
'integracao_esus_inconsistencia_atividade_coletiva_participante',
|
|
'inconsistencia_id',
|
|
'atividade_coletiva_participante_id'
|
|
)
|
|
->using(InconsistenciaAtividadeColetivaParticipante::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function fichaVacinacaoPacientes()
|
|
{
|
|
return $this->belongsToMany(
|
|
VacinacaoPaciente::class,
|
|
'integracao_esus_inconsistencia_ficha_vacinacao_paciente',
|
|
'inconsistencia_id',
|
|
'ficha_vacinacao_paciente_id'
|
|
)
|
|
->using(InconsistenciaFichaVacinacaoPaciente::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function cadastroDomiciliarPacientes()
|
|
{
|
|
return $this->belongsToMany(
|
|
Paciente::class,
|
|
'integracao_esus_inconsistencia_cadastro_domiciliar_paciente',
|
|
'inconsistencia_id',
|
|
'paciente_id'
|
|
)
|
|
->using(InconsistenciaCadastroDomiciliarPaciente::class)
|
|
->withPivot(['posicao'])
|
|
->withTimestamps();
|
|
}
|
|
}
|