This commit is contained in:
71
api/app/Enums/Ambulatorio/LocalAnatomico.php
Normal file
71
api/app/Enums/Ambulatorio/LocalAnatomico.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user