132 lines
3.6 KiB
PHP
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');
|
|
}
|
|
}
|