Files
rkm-conectasus-ci-sandbox/api/app/Rules/AtencaoBasica/Exportacao/CondicaoAvaliacaoIsValidForFicha.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

33 lines
998 B
PHP

<?php
namespace App\Rules\AtencaoBasica\Exportacao;
use App\Enums\AtencaoBasica\AtendimentoIndividual\CondicaoAvaliada as EnumsCondicaoAvaliada;
use App\Enums\Cadastro\SujeitoAtencao\Sexo;
use App\Enums\Sigtap\Procedimento;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\DB;
class CondicaoAvaliacaoIsValidForFicha implements Rule
{
public function passes($attribute, $value)
{
return self::isValid($value);
}
public static function isValid($value)
{
$result = DB::table('atencao_basica_atendimento_individual_condicao_avaliada')
->where('atendimento_individual_id', $value->id)
->whereIn('condicao_avaliada_id', [EnumsCondicaoAvaliada::PRE_NATAL, EnumsCondicaoAvaliada::PUERPERIO_ATE_42_DIAS])
->count();
return $result == 0 || $result > 0 && $value->paciente_sexo_id === Sexo::FEMININO;
}
public function message()
{
return 'Condição avaliada inválida';
}
}