135 lines
4.2 KiB
PHP
135 lines
4.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Cadastro\SujeitoAtencao;
|
|
|
|
use App\Models\AtencaoBasica\CadastroIndividual\AcompanhamentoInfantil;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\ComunidadeTradicional;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\Curso;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\SaidaCidadao;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\SituacaoMercadoTrabalho;
|
|
use App\Models\Cadastro\SujeitoAtencao\DeficienciaBase;
|
|
use App\Models\Cadastro\SujeitoAtencao\PacienteInformacaoSocialAcompanhamentoInfantil;
|
|
use App\Models\Cadastro\SujeitoAtencao\PacienteInformacaoSocialDeficiencia;
|
|
use App\Models\Model;
|
|
|
|
class PacienteInformacaoSocial extends Model
|
|
{
|
|
|
|
protected $table = 'cadastro_paciente_informacao_social';
|
|
|
|
protected $casts = [
|
|
'responsavel' => 'boolean',
|
|
'frequenta_escola_creche' => 'boolean',
|
|
'frequenta_cuidador_tradicional' => 'boolean',
|
|
'participa_grupo_comunitario' => 'boolean',
|
|
'plano_saude' => 'boolean',
|
|
'comunidade_tradicional' => 'boolean',
|
|
'recusa_cadastro' => 'boolean',
|
|
'deficiente' => 'boolean',
|
|
'orientacao_sexual' => 'boolean',
|
|
'alimentos_acabaram' => 'boolean',
|
|
'comeu_alguns_alimentos' => 'boolean',
|
|
'data_atualizacao_tria' => 'date',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'id',
|
|
'paciente_id',
|
|
'responsavel',
|
|
'responsavel_cidadao_id',
|
|
'parentesco_responsavel_id',
|
|
'curso_id',
|
|
'orientacao_sexual',
|
|
'orientacao_sexual_id',
|
|
'deficiente',
|
|
'frequenta_escola_creche',
|
|
'situacao_mercado_trabalho_id',
|
|
'frequenta_cuidador_tradicional',
|
|
'participa_grupo_comunitario',
|
|
'plano_saude',
|
|
'comunidade_tradicional',
|
|
'comunidade_tradicional_id',
|
|
'saida_cidadao_id',
|
|
'motivo_saida_data',
|
|
'recusa_cadastro',
|
|
'alimentos_acabaram',
|
|
'comeu_alguns_alimentos',
|
|
'data_atualizacao_tria',
|
|
];
|
|
|
|
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',
|
|
];
|
|
|
|
public function paciente()
|
|
{
|
|
return $this->belongsTo(Paciente::class);
|
|
}
|
|
|
|
public function curso()
|
|
{
|
|
return $this->belongsTo(Curso::class);
|
|
}
|
|
|
|
public function saidaCidadao()
|
|
{
|
|
return $this->belongsTo(SaidaCidadao::class);
|
|
}
|
|
|
|
public function responsavelCidadao()
|
|
{
|
|
return $this->belongsTo(Cidadao::class);
|
|
}
|
|
|
|
public function situacaoMercadoTrabalho()
|
|
{
|
|
return $this->belongsTo(SituacaoMercadoTrabalho::class);
|
|
}
|
|
|
|
public function comunidadeTradicionalQual()
|
|
{
|
|
return $this->belongsTo(ComunidadeTradicional::class, 'comunidade_tradicional_id');
|
|
}
|
|
|
|
public function acompanhamentoInfantil()
|
|
{
|
|
return $this->belongsToMany(AcompanhamentoInfantil::class, 'cadastro_paciente_informacao_social_acompanhamento_infantil')
|
|
->using(PacienteInformacaoSocialAcompanhamentoInfantil::class)
|
|
->as('PacienteInformacaoSocialAcompanhamentoInfantil')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'paciente_informacao_social_id',
|
|
'acompanhamento_infantil_id',
|
|
)
|
|
->select(
|
|
'atencao_basica_cadastro_acompanhamento_infantil.id',
|
|
'atencao_basica_cadastro_acompanhamento_infantil.descricao'
|
|
)
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function deficiencia()
|
|
{
|
|
return $this->belongsToMany(DeficienciaBase::class, 'cadastro_paciente_informacao_social_deficiencia_base')
|
|
->using(PacienteInformacaoSocialDeficiencia::class)
|
|
->as('PacienteInformacaoSocialDeficiencia')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'paciente_informacao_social_id',
|
|
'deficiencia_base_id',
|
|
)
|
|
->select('cadastro_deficiencia_base.id')
|
|
->withTimestamps();
|
|
}
|
|
}
|