125 lines
4.0 KiB
PHP
125 lines
4.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Cadastro\SujeitoAtencao;
|
|
|
|
use App\Models\AtencaoBasica\CadastroIndividual\DoencaCardiaca;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\DoencaRespiratoria;
|
|
use App\Models\AtencaoBasica\CadastroIndividual\ProblemasRins;
|
|
use App\Models\Cadastro\SujeitoAtencao\PacienteCondicaoSaudeDoencaRespiratoria;
|
|
use App\Models\Cadastro\SujeitoAtencao\PacienteCondicaoSaudeProblemasRins;
|
|
use App\Models\Model;
|
|
|
|
class PacienteCondicaoSaude extends Model
|
|
{
|
|
|
|
protected $table = 'cadastro_paciente_condicao_saude';
|
|
|
|
protected $casts = [
|
|
'internacao' => 'boolean',
|
|
'doenca_cardiaca' => 'boolean',
|
|
'problemas_rins' => 'boolean',
|
|
'doenca_respiratoria' => 'boolean',
|
|
'tratamento_psiquiatrico' => 'boolean',
|
|
'acamado' => 'boolean',
|
|
'domiciliado' => 'boolean',
|
|
'plantas_medicinais' => 'boolean',
|
|
'praticas_integrativas' => 'boolean',
|
|
'tratamento_saude_mental' => 'boolean',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'paciente_id',
|
|
'peso_id',
|
|
'internacao',
|
|
'internacao_motivo',
|
|
'internacao_data',
|
|
'doenca_cardiaca',
|
|
'problemas_rins',
|
|
'doenca_respiratoria',
|
|
'tratamento_saude_mental',
|
|
'tratamento_saude_mental_internacao_data',
|
|
'tratamento_saude_mental_alta_data',
|
|
'acamado',
|
|
'orientacao_sexual',
|
|
'orientacao_sexual_id',
|
|
'domiciliado',
|
|
'plantas_medicinais',
|
|
'plantas_medicinais_quais',
|
|
'praticas_integrativas',
|
|
'outras_condicoes_primaria',
|
|
'outras_condicoes_secundaria',
|
|
'outras_condicoes_terciaria',
|
|
];
|
|
|
|
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 doencaCardiaca()
|
|
{
|
|
return $this->belongsToMany(DoencaCardiaca::class, 'cadastro_paciente_condicao_saude_doenca_cardiaca')
|
|
->using(PacienteCondicaoSaudeDoencaCardiaca::class)
|
|
->as('PacienteCondicaoSaudeDoencaCardiaca')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'paciente_condicao_saude_id',
|
|
'doenca_cardiaca_id',
|
|
)
|
|
->select(
|
|
'atencao_basica_cadastro_doenca_cardiaca.id',
|
|
'atencao_basica_cadastro_doenca_cardiaca.descricao'
|
|
)
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function doencaRespiratoria()
|
|
{
|
|
return $this->belongsToMany(DoencaRespiratoria::class, 'cadastro_paciente_condicao_saude_doenca_respiratoria')
|
|
->using(PacienteCondicaoSaudeDoencaRespiratoria::class)
|
|
->as('PacienteCondicaoSaudeDoencaRespiratoria')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'paciente_condicao_saude_id',
|
|
'doenca_respiratoria_id',
|
|
)
|
|
->select(
|
|
'atencao_basica_cadastro_doenca_respiratoria.id',
|
|
'atencao_basica_cadastro_doenca_respiratoria.descricao'
|
|
)
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function problemasRins()
|
|
{
|
|
return $this->belongsToMany(ProblemasRins::class, 'cadastro_paciente_condicao_saude_problemas_rins')
|
|
->using(PacienteCondicaoSaudeProblemasRins::class)
|
|
->as('PacienteCondicaoSaudeProblemasRins')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'paciente_condicao_saude_id',
|
|
'problemas_rins_id',
|
|
)
|
|
->select(
|
|
'atencao_basica_cadastro_problemas_rins.id',
|
|
'atencao_basica_cadastro_problemas_rins.descricao'
|
|
)
|
|
->withTimestamps();
|
|
}
|
|
}
|