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,327 @@
<?php
namespace App\Models\AtencaoBasica\AtendimentoIndividual;
use App\Models\Ambulatorio\GlicemiaCapilarMomentoColeta;
use App\Models\AtencaoBasica\AtendimentoIndividual\AleitamentoMaterno;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualCondicaoAvaliada;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualConduta;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualDoencaTransmissivel;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualEncaminhamento;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualExameSolicitadoAvaliado;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualNasf;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualOutroExame;
use App\Models\AtencaoBasica\AtendimentoIndividual\AtendimentoIndividualRastreamento;
use App\Models\AtencaoBasica\AtendimentoIndividual\CondicaoAvaliada;
use App\Models\AtencaoBasica\AtendimentoIndividual\Conduta;
use App\Models\AtencaoBasica\AtendimentoIndividual\DoencaTransmissivel;
use App\Models\AtencaoBasica\AtendimentoIndividual\Encaminhamento;
use App\Models\AtencaoBasica\AtendimentoIndividual\ModalidadeAtencaoDomiciliar;
use App\Models\AtencaoBasica\AtendimentoIndividual\Nasf;
use App\Models\AtencaoBasica\AtendimentoIndividual\RacionalidadeSaude;
use App\Models\AtencaoBasica\AtendimentoIndividual\Rastreamento;
use App\Models\AtencaoBasica\AtendimentoIndividual\TipoAtendimento;
use App\Models\AtencaoBasica\MarcadorConsumoAlimentar\LocalAtendimento;
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
use App\Models\AtencaoBasica\Procedimento\Procedimento as ProcedimentoProcedimento;
use App\Models\AtencaoBasica\Procedimento\ProcedimentoAtendimento;
use App\Models\Cadastro\SujeitoAtencao\Paciente;
use App\Models\Cadastro\SujeitoAtencao\Usuario;
use App\Models\Geral\Ciap;
use App\Models\Geral\Turno;
use App\Models\Model;
use App\Models\Sigtap\Cid;
use App\Models\Sigtap\Ocupacao;
use App\Models\Sigtap\Procedimento;
class AtendimentoIndividual extends Model
{
protected $table = 'atencao_basica_atendimento_individual';
protected $casts = [
'vacinacao' => 'boolean',
'observacao' => 'boolean',
'gravidez_planejada' => 'boolean',
];
protected $fillable = [
'id',
'soap_id',
'uuid_ficha',
'usuario_exportacao_id',
'data_hora_exportacao',
'paciente_id',
'usuario_id',
'equipe_id',
'usuario_ocupacao_id',
'data_usuario_responsavel',
'usuario_auxiliar_id',
'usuario_auxiliar_equipe_id',
'usuario_auxiliar_ocupacao_id',
'turno_id',
'local_atendimento_id',
'tipo_atendimento_id',
'perimetro_cefalico',
'peso',
'altura',
'temperatura',
'pressao_arterial',
'frequencia_respiratoria',
'frequencia_cardiaca',
'saturacao_o2',
'circunferencia_abdominal',
'perimetro_panturrilha',
'glicemia',
'momento_coleta_id',
'vacinacao',
'modalidade_atencao_domiciliar_id',
'aleitamento_materno_id',
'racionalidade_saude_id',
'data_ultima_menstruacao',
'idade_gestacional_semanas',
'idade_gestacional_dias',
'gravidez_planejada',
'gestacao_previa',
'parto',
'ciap_primario_id',
'ciap_secundario_id',
'cid_primario_id',
'cid_secundario_id',
'observacao',
'complemento',
'latitude',
'longitude',
];
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 paciente()
{
return $this->belongsTo(Paciente::class);
}
public function usuario()
{
return $this->belongsTo(Usuario::class);
}
public function equipe()
{
return $this->belongsTo(Equipe::class);
}
public function ocupacao()
{
return $this->belongsTo(Ocupacao::class, 'usuario_ocupacao_id');
}
public function usuarioOcupacao()
{
return $this->belongsTo(Ocupacao::class);
}
public function usuarioAuxiliar()
{
return $this->belongsTo(Usuario::class);
}
public function usuarioExportacao()
{
return $this->belongsTo(Usuario::class);
}
public function usuarioAuxiliarEquipe()
{
return $this->belongsTo(Equipe::class);
}
public function usuarioAuxiliarOcupacao()
{
return $this->belongsTo(Ocupacao::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 modalidadeAtencaoDomiciliar()
{
return $this->belongsTo(ModalidadeAtencaoDomiciliar::class);
}
public function aleitamentoMaterno()
{
return $this->belongsTo(AleitamentoMaterno::class);
}
public function racionalidadeSaude()
{
return $this->belongsTo(RacionalidadeSaude::class);
}
public function cidPrimario()
{
return $this->belongsTo(Cid::class);
}
public function cidSecundario()
{
return $this->belongsTo(Cid::class);
}
public function ciapPrimario()
{
return $this->belongsTo(Ciap::class);
}
public function ciapSecundario()
{
return $this->belongsTo(Ciap::class);
}
public function AtendimentoIndividualExameSolicitadoAvaliado()
{
return $this->belongsTo(AtendimentoIndividualExameSolicitadoAvaliado::class);
}
public function AtendimentoIndividualTriagemNeoNatal()
{
return $this->belongsTo(AtendimentoIndividualTriagemNeoNatal::class);
}
public function outrosExames()
{
return $this->belongsTo(AtendimentoIndividualOutroExame::class);
}
public function procedimento()
{
return $this->belongsTo(AtendimentoIndividualProcedimento::class);
}
public function momentoColeta()
{
return $this->belongsTo(GlicemiaCapilarMomentoColeta::class);
}
public function condicaoAvaliada()
{
return $this->belongsToMany(CondicaoAvaliada::class, 'atencao_basica_atendimento_individual_condicao_avaliada')
->using(AtendimentoIndividualCondicaoAvaliada::class)
->as('AtendimentoIndividualCondicaoAvaliada')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'atendimento_individual_id',
'condicao_avaliada_id',
)
->select('atencao_basica_cadastro_condicao_avaliada.id')
->withTimestamps();
}
public function doencaTransmissivel()
{
return $this->belongsToMany(DoencaTransmissivel::class, 'atencao_basica_atendimento_individual_doenca_transmissivel')
->using(AtendimentoIndividualDoencaTransmissivel::class)
->as('AtendimentoIndividualDoencaTransmissivel')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'atendimento_individual_id',
'doenca_transmissivel_id',
)
->select('atencao_basica_cadastro_doenca_transmissivel.id')
->withTimestamps();
}
public function rastreamento()
{
return $this->belongsToMany(Rastreamento::class, 'atencao_basica_atendimento_individual_rastreamento')
->using(AtendimentoIndividualRastreamento::class)
->as('AtendimentoIndividualRastreamento')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'atendimento_individual_id',
'rastreamento_id',
)
->select('atencao_basica_cadastro_rastreamento.id')
->withTimestamps();
}
public function nasf()
{
return $this->belongsToMany(Nasf::class, 'atencao_basica_atendimento_individual_nasf')
->using(AtendimentoIndividualNasf::class)
->as('AtendimentoIndividualNasf')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'atendimento_individual_id',
'nasf_id',
)
->select('atencao_basica_cadastro_nasf.id')
->withTimestamps();
}
public function conduta()
{
return $this->belongsToMany(Conduta::class, 'atencao_basica_atendimento_individual_conduta')
->using(AtendimentoIndividualConduta::class)
->as('AtendimentoIndividualConduta')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'atendimento_individual_id',
'conduta_id',
)
->select('atencao_basica_cadastro_conduta.id')
->withTimestamps();
}
public function encaminhamento()
{
return $this->belongsToMany(Encaminhamento::class, 'atencao_basica_atendimento_individual_encaminhamento')
->using(AtendimentoIndividualEncaminhamento::class)
->as('AtendimentoIndividualEncaminhamento')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'atendimento_individual_id',
'encaminhamento_id',
)
->select('atencao_basica_cadastro_encaminhamento.id')
->withTimestamps();
}
public function ivcf()
{
return $this->hasOne(AtendimentoIndividualIvcf::class);
}
public function problemasCondicoes()
{
return $this->hasMany(AtendimentoIndividualProblemaCondicao::class);
}
}