164 lines
5.7 KiB
PHP
164 lines
5.7 KiB
PHP
<?php
|
|
|
|
namespace App\Models\AtencaoBasica\AtendimentoDomiciliar;
|
|
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliar;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarAtenCondicaoAvaliada;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarAtendCondicaoAvaliada;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarAtendDoencaTransmissivel;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarAtendProblemaCondicao;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarAtendRastreamento;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarCondicao;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\AtendimentoDomiciliarProcedimento;
|
|
use App\Models\AtencaoBasica\AtendimentoDomiciliar\CondutaDesfecho;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\CondicaoAvaliada;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\DoencaTransmissivel;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\ModalidadeAtencaoDomiciliar;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\Rastreamento;
|
|
use App\Models\AtencaoBasica\AtendimentoIndividual\TipoAtendimento;
|
|
use App\Models\AtencaoBasica\CadastroPerfilEpidemiologico;
|
|
use App\Models\AtencaoBasica\MarcadorConsumoAlimentar\LocalAtendimento;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Geral\Turno;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class AtendimentoDomiciliarAtendimento extends Model
|
|
{
|
|
protected $table = 'atencao_basica_atendimento_domiciliar_atendimento';
|
|
|
|
protected $fillable = [
|
|
'atendimento_domiciliar_id',
|
|
'turno_id',
|
|
'paciente_id',
|
|
'local_atendimento_id',
|
|
'modalidade_id',
|
|
'tipo_atendimento_id',
|
|
'codigo_cid',
|
|
'codigo_ciap',
|
|
'conduta_desfecho_id',
|
|
'latitude',
|
|
'longitude',
|
|
'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 atendimentoDomiciliar()
|
|
{
|
|
return $this->belongsTo(AtendimentoDomiciliar::class);
|
|
}
|
|
|
|
public function turno()
|
|
{
|
|
return $this->belongsTo(Turno::class);
|
|
}
|
|
|
|
public function paciente()
|
|
{
|
|
return $this->belongsTo(Paciente::class);
|
|
}
|
|
|
|
public function localAtendimento()
|
|
{
|
|
return $this->belongsTo(LocalAtendimento::class);
|
|
}
|
|
|
|
public function modalidade()
|
|
{
|
|
return $this->belongsTo(ModalidadeAtencaoDomiciliar::class);
|
|
}
|
|
|
|
public function tipoAtendimento()
|
|
{
|
|
return $this->belongsTo(TipoAtendimento::class);
|
|
}
|
|
|
|
public function condutaDesfecho()
|
|
{
|
|
return $this->belongsTo(CondutaDesfecho::class);
|
|
}
|
|
|
|
public function condicoes()
|
|
{
|
|
return $this->hasMany(AtendimentoDomiciliarCondicao::class, 'atendimento_id');
|
|
}
|
|
|
|
public function procedimentos()
|
|
{
|
|
return $this->hasMany(AtendimentoDomiciliarProcedimento::class, 'atendimento_id');
|
|
}
|
|
|
|
public function problemasCondicoes()
|
|
{
|
|
return $this->hasMany(AtendimentoDomiciliarAtendProblemaCondicao::class);
|
|
}
|
|
|
|
public function condicaoAvaliada()
|
|
{
|
|
return $this->belongsToMany(CondicaoAvaliada::class, 'atencao_basica_atendimento_domiciliar_atend_condicao_avaliada')
|
|
->using(AtendimentoDomiciliarAtendCondicaoAvaliada::class)
|
|
->as('AtendimentoDomiciliarAtendCondicaoAvaliada')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'atendimento_domiciliar_atendimento_id',
|
|
'condicao_avaliada_id',
|
|
)
|
|
->select('atencao_basica_cadastro_condicao_avaliada.id')
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function doencaTransmissivel()
|
|
{
|
|
return $this->belongsToMany(DoencaTransmissivel::class, 'atencao_basica_atendimento_domiciliar_atend_doenca_transmissivel')
|
|
->using(AtendimentoDomiciliarAtendDoencaTransmissivel::class)
|
|
->as('AtendimentoDomiciliarAtendDoencaTransmissivel')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'atendimento_domiciliar_atendimento_id',
|
|
'doenca_transmissivel_id',
|
|
)
|
|
->select('atencao_basica_cadastro_doenca_transmissivel.id')
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function rastreamento()
|
|
{
|
|
return $this->belongsToMany(Rastreamento::class, 'atencao_basica_atendimento_domiciliar_atend_rastreamento')
|
|
->using(AtendimentoDomiciliarAtendRastreamento::class)
|
|
->as('AtendimentoDomiciliarAtendRastreamento')
|
|
->withPivot(
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'atendimento_domiciliar_atendimento_id',
|
|
'rastreamento_id',
|
|
)
|
|
->select('atencao_basica_cadastro_rastreamento.id')
|
|
->withTimestamps();
|
|
}
|
|
|
|
public function perfisEpidemiologicos()
|
|
{
|
|
return $this->belongsToMany(
|
|
CadastroPerfilEpidemiologico::class,
|
|
'atencao_basica_atendimento_domiciliar_aten_perfil_epidemiologico',
|
|
'atendimento_domiciliar_atendimento_id',
|
|
'perfil_epidemiologico_id'
|
|
)
|
|
->using(AtendimentoDomiciliarAtenPerfilEpidemiologico::class)
|
|
->as('atendimentoDomiciliarAtenPerfilEpidemiologico')
|
|
->withTimestamps();
|
|
}
|
|
}
|