222 lines
6.3 KiB
PHP
222 lines
6.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models\AtencaoBasica\AtendimentoOdontologico;
|
|
|
|
use App\Models\Ambulatorio\GlicemiaCapilarMomentoColeta;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\CondicaoAvaliada;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\DoencaTransmissivel;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\Rastreamento;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\TipoAtendimento;
|
|
use App\Models\AtencaoBasica\AtendimentoOdontologico\AtendimentoOdontologicoDoencaTransmissivel;
|
|
use App\Models\AtencaoBasica\AtendimentoOdontologico\AtendimentoOdontologicoProblemaCondicao;
|
|
use App\Models\AtencaoBasica\AtendimentoOdontologico\AtendimentoOdontologicoRastreamento;
|
|
use App\Models\AtencaoBasica\AtendimentoOdontologico\Procedimento;
|
|
use App\Models\AtencaoBasica\Exportacao\Exportacao;
|
|
use App\Models\AtencaoBasica\MarcadorConsumoAlimentar\LocalAtendimento;
|
|
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Models\Geral\Turno;
|
|
use App\Models\Sigtap\Ocupacao;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class AtendimentoOdontologico extends Model
|
|
{
|
|
protected $table = 'atencao_basica_atendimento_odontologico';
|
|
|
|
protected $casts = [
|
|
'necessidades_especiais' => 'boolean',
|
|
'gestante' => 'boolean',
|
|
'exportacao' => 'boolean',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'soap_id',
|
|
'exportacao_id',
|
|
'paciente_id',
|
|
'usuario_id',
|
|
'ocupacao_id',
|
|
'usuario_auxiliar_id',
|
|
'ocupacao_auxiliar_id',
|
|
'data_atendimento',
|
|
'turno_id',
|
|
'local_atendimento_id',
|
|
'tipo_atendimento_id',
|
|
'tipo_consulta_id',
|
|
'necessidades_especiais',
|
|
'gestante',
|
|
'perimetro_cefalico',
|
|
'peso',
|
|
'altura',
|
|
'temperatura',
|
|
'pressao_arterial',
|
|
'frequencia_respiratoria',
|
|
'frequencia_cardiaca',
|
|
'saturacao_o2',
|
|
'circunferencia_abdominal',
|
|
'perimetro_panturrilha',
|
|
'glicemia',
|
|
'momento_coleta_id',
|
|
'exportacao',
|
|
'data_exportacao',
|
|
'usuario_exportacao_id',
|
|
'uuid_ficha',
|
|
'equipe_id',
|
|
'equipe_auxiliar_id',
|
|
'observacao_perfil_epidemiologico',
|
|
];
|
|
|
|
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 usuario()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function usuarioAuxiliar()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function usuarioAuxiliarOcupacao()
|
|
{
|
|
return $this->belongsTo(Ocupacao::class, 'ocupacao_auxiliar_id');
|
|
}
|
|
|
|
public function usuarioAuxiliarEquipe()
|
|
{
|
|
return $this->belongsTo(Equipe::class, 'equipe_auxiliar_id');
|
|
}
|
|
|
|
public function usuarioExportacao()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function exportado()
|
|
{
|
|
return $this->belongsTo(Exportacao::class, 'exportacao_id');
|
|
}
|
|
|
|
public function paciente()
|
|
{
|
|
return $this->belongsTo(Paciente::class);
|
|
}
|
|
|
|
public function ocupacao()
|
|
{
|
|
return $this->belongsTo(Ocupacao::class);
|
|
}
|
|
|
|
public function equipe()
|
|
{
|
|
return $this->belongsTo(Equipe::class);
|
|
}
|
|
|
|
public function turno()
|
|
{
|
|
return $this->belongsTo(Turno::class);
|
|
}
|
|
|
|
public function localAtendimento()
|
|
{
|
|
return $this->belongsTo(LocalAtendimento::class);
|
|
}
|
|
|
|
public function tipoAtendimento()
|
|
{
|
|
return $this->belongsTo(TipoAtendimento::class);
|
|
}
|
|
|
|
public function tipoConsulta()
|
|
{
|
|
return $this->belongsTo(TipoConsulta::class);
|
|
}
|
|
|
|
public function vigilancia()
|
|
{
|
|
return $this->hasMany(VigilanciaBucal::class);
|
|
}
|
|
|
|
public function procedimento()
|
|
{
|
|
return $this->hasMany(Procedimento::class);
|
|
}
|
|
|
|
public function fornecimento()
|
|
{
|
|
return $this->hasMany(Fornecimento::class);
|
|
}
|
|
|
|
public function condutaEncaminhamento()
|
|
{
|
|
return $this->hasMany(CondutaEncaminhamento::class);
|
|
}
|
|
|
|
public function momentoColeta()
|
|
{
|
|
return $this->belongsTo(GlicemiaCapilarMomentoColeta::class);
|
|
}
|
|
|
|
public function problemasCondicoes()
|
|
{
|
|
return $this->hasMany(AtendimentoOdontologicoProblemaCondicao::class);
|
|
}
|
|
|
|
public function condicaoAvaliada()
|
|
{
|
|
return $this->belongsToMany(CondicaoAvaliada::class, 'atencao_basica_atendimento_odontologico_condicao_avaliada')
|
|
->using(AtendimentoOdontologicoCondicaoAvaliada::class)
|
|
->as('AtendimentoOdontologicoCondicaoAvaliada')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'atendimento_odontologico_id',
|
|
'condicao_avaliada_id',
|
|
)
|
|
->select('atencao_basica_cadastro_condicao_avaliada.id')
|
|
->withTimestamps();
|
|
}
|
|
|
|
|
|
public function doencaTransmissivel()
|
|
{
|
|
return $this->belongsToMany(DoencaTransmissivel::class, 'atencao_basica_atendimento_odontologico_doenca_transmissivel')
|
|
->using(AtendimentoOdontologicoDoencaTransmissivel::class)
|
|
->as('AtendimentoOdontologicoDoencaTransmissivel')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'atendimento_odontologico_id',
|
|
'doenca_transmissivel_id',
|
|
)
|
|
->select('atencao_basica_cadastro_doenca_transmissivel.id')
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function rastreamento()
|
|
{
|
|
return $this->belongsToMany(Rastreamento::class, 'atencao_basica_atendimento_odontologico_rastreamento')
|
|
->using(AtendimentoOdontologicoRastreamento::class)
|
|
->as('AtendimentoOdontologicoRastreamento')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'atendimento_odontologico_id',
|
|
'rastreamento_id',
|
|
)
|
|
->select('atencao_basica_cadastro_rastreamento.id')
|
|
->withTimestamps();
|
|
}
|
|
}
|