init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,163 @@
<?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();
}
}