Files
rkm-conectasus-ci-sandbox/api/app/Models/Ambulatorio/AtendimentoPosConsulta.php
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

132 lines
3.6 KiB
PHP

<?php
namespace App\Models\Ambulatorio;
use App\Models\AtencaoBasica\MarcadorConsumoAlimentar\LocalAtendimento;
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
use App\Models\AtencaoBasica\Procedimento\ViaAdministracao;
use App\Models\Geral\Turno;
use App\Models\Model;
class AtendimentoPosConsulta extends Model
{
protected $table = 'ambulatorio_atendimento_pos_consulta';
protected $casts = [
'orientacao_individual_em_saude' => 'boolean',
'paciente_liberado' => 'boolean',
];
protected $fillable = [
'atendimento_id',
'observacoes',
'equipe_id',
'atencao_basica_local_atendimento_id',
'turno_id',
'orientacao_individual_em_saude',
'paciente_liberado',
];
protected $hidden = [
'created_at',
'created_lotacao_id',
'created_centro_custo_id',
'updated_at',
'updated_lotacao_id',
'updated_centro_custo_id',
];
public function atendimento()
{
return $this->belongsTo(Atendimento::class);
}
public function equipe()
{
return $this->belongsTo(Equipe::class);
}
public function atencaoBasicaLocalAtendimento()
{
return $this->belongsTo(LocalAtendimento::class);
}
public function turno()
{
return $this->belongsTo(Turno::class);
}
public function testesRapidos()
{
return $this->belongsToMany(
TesteRapido::class,
'ambulatorio_atendimento_pos_consulta_teste_rapido',
'pos_consulta_id',
'teste_rapido_id'
)
->using(AtendimentoPosConsultaTesteRapido::class)
->as('posConsultaTesteRapido')
->withPivot(['resultado'])
->withTimestamps();
}
public function administracoesMedicamentos()
{
return $this->belongsToMany(
ViaAdministracao::class,
'ambulatorio_atendimento_pos_consulta_admin_medicamento',
'pos_consulta_id',
'via_administracao_id'
)
->using(AtendimentoPosConsultaAdministracaoMedicamento::class)
->as('posConsultaAdministracaoMedicamento')
->withTimestamps();
}
public function outrosProcedimentos()
{
return $this->belongsToMany(
OutroProcedimento::class,
'ambulatorio_atendimento_pos_consulta_outro_procedimento',
'pos_consulta_id',
'outro_procedimento_id'
)
->using(AtendimentoPosConsultaOutroProcedimento::class)
->as('posConsultaOutroProcedimento')
->withTimestamps();
}
public function coletasMateriais()
{
return $this->belongsToMany(
ColetaMaterial::class,
'ambulatorio_atendimento_pos_consulta_coleta_material',
'pos_consulta_id',
'coleta_material_id'
)
->using(AtendimentoPosConsultaColetaMaterial::class)
->as('posConsultaColetaMaterial')
->withTimestamps();
}
public function procedimentos()
{
return $this->hasMany(AtendimentoProcedimento::class, 'pos_consulta_id');
}
public function antropometria()
{
return $this->hasOne(AtendimentoAntropometria::class, 'pos_consulta_id');
}
public function sinalVital()
{
return $this->hasOne(AtendimentoSinalVital::class, 'pos_consulta_id');
}
public function glicemiaCapilar()
{
return $this->hasOne(AtendimentoGlicemiaCapilar::class, 'pos_consulta_id');
}
}