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,86 @@
<?php
namespace App\Models\Cadastro;
use App\Models\Cadastro\SujeitoAtencao\Lotacao;
use App\Models\Model;
use App\Models\Sigtap\Procedimento;
class Oci extends Model
{
protected $table = 'cadastro_oci';
protected $casts = [
'ativo' => 'boolean',
'inativado_em' => 'datetime:d/m/Y H:i:s'
];
protected $fillable = [
'codigo',
'nome',
'procedimento_codigo',
'linha_cuidado',
'descricao_geral',
'objetivo_assistencial',
'ativo',
'motivo_inativacao',
'inativado_em',
'inativacao_lotacao_id',
];
protected $hidden = [
'created_at',
'created_lotacao_id',
'created_centro_custo_id',
'updated_at',
'updated_lotacao_id',
'updated_centro_custo_id',
];
public function etapasClinicas()
{
return $this->belongsToMany(
EtapaClinica::class,
'cadastro_oci_etapa_clinica',
'oci_id',
'etapa_clinica_id'
)
->using(OciEtapaClinica::class)
->as('ociEtapaClinica')
->withTimestamps();
}
public function inativacaoLotacao()
{
return $this->belongsTo(Lotacao::class);
}
public function portarias()
{
return $this->hasMany(OciPortaria::class);
}
public function procedimentosPrimarios()
{
return $this->hasMany(OciProcedimentoPrimario::class);
}
public function procedimentosSecundarios()
{
return $this->hasMany(OciProcedimentoSecundario::class);
}
public function unidadesExecutoras()
{
return $this->hasMany(OciUnidadeExecutora::class);
}
public function getProcedimentoAttribute()
{
return is_null($this->procedimento_codigo)
? null
: Procedimento::where('codigo', $this->procedimento_codigo)
->orderByDesc('competencia_id')
->first();
}
}