71 lines
2.4 KiB
PHP
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);
|
|
}
|
|
} |