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

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