Files
rkm-conectasus-ci-sandbox/api/app/Enums/Ambulatorio/LocalAnatomico.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

71 lines
2.4 KiB
PHP

<?php
namespace App\Enums\Ambulatorio;
final class LocalAnatomico
{
public const CABECA = 1;
public const PESCOCO = 2;
public const TRONCO_FRENTE = 3;
public const TRONCO_COSTAS = 4;
public const BRACO = 5;
public const MAO_DETALHES = 6;
public const PERNA = 7;
public const PES_DEDOS = 8;
public const PES_REGIOES = 9;
public const PES_CALCANHARES = 10;
public const PES_VISTA_EXTERNA = 11;
public const PARTES_LATERAIS = 12;
public const LADO_DIREITO = 13;
public const LADO_ESQUERDO = 14;
public const PARTES_ESPECIFICAS = 15;
public const GLUTEOS_DETALHES = 16;
public const GENITALIA = 17;
public const NADEGAS = 18;
public const OUTROS = 19;
public static function fromDescricao(?string $descricao): ?int
{
if ($descricao === null) {
return null;
}
$norm = self::normalize($descricao);
$map = [
'cabeça' => self::CABECA,
'pescoço' => self::PESCOCO,
'tronco frente' => self::TRONCO_FRENTE,
'tronco costas' => self::TRONCO_COSTAS,
'braço' => self::BRACO,
'mão detalhes' => self::MAO_DETALHES,
'perna' => self::PERNA,
'pés dedos' => self::PES_DEDOS,
'pés regiões' => self::PES_REGIOES,
'pés calcanhares' => self::PES_CALCANHARES,
'pés vista externa' => self::PES_VISTA_EXTERNA,
'partes laterais' => self::PARTES_LATERAIS,
'lado direito' => self::LADO_DIREITO,
'lado esquerdo' => self::LADO_ESQUERDO,
'partes específicas' => self::PARTES_ESPECIFICAS,
'glúteos detalhes' => self::GLUTEOS_DETALHES,
'genitália' => self::GENITALIA,
'nádegas' => self::NADEGAS,
'outros' => self::OUTROS,
];
return $map[$norm] ?? null;
}
private static function normalize(string $text): string
{
$text = trim(mb_strtolower($text));
$text = str_replace(
['á','à','ã','â','ä','é','è','ê','ë','í','ì','î','ï','ó','ò','õ','ô','ö','ú','ù','û','ü','ç'],
['a','a','a','a','a','e','e','e','e','i','i','i','i','o','o','o','o','o','u','u','u','u','c'],
$text
);
return preg_replace('/\s+/', ' ', $text);
}
}