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,12 @@
<?php
namespace App\Enums\Ambulatorio;
class AcompanhamentoOciMotivoEncerramento
{
const ABANDONO = 1;
const OBITO = 2;
const CANCELAMENTO_PELO_AUDITOR = 3;
const VENCIDO = 4;
const CONCLUIDO = 5;
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Enums\Ambulatorio;
class AcompanhamentoOciStatus
{
const EM_ANDAMENTO = 1;
const ENCERRADO_MANUALMENTE = 2;
const ENCERRADO_AUTOMATICAMENTE = 3;
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Enums\Ambulatorio;
class AgendamentoStatus
{
const AGENDADO = 1;
const REAGENDADO_PELO_PACIENTE = 2;
const REAGENDADO_PELO_MEDICO = 3;
const CANCELADO_PELO_PACIENTE = 4;
const CANCELADO_PELO_MEDICO = 5;
const FALTA_DO_PACIENTE = 6;
const FALTA_DO_MEDICO = 7;
const REALIZADO = 8;
const EVADIDO = 9;
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class AgendamentoTipo
{
const CONSULTA = 1;
const RETORNO = 2;
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class ArcadaDentaria
{
const SUPERIOR = 1;
const INFERIOR = 2;
}

View File

@@ -0,0 +1,11 @@
<?php
namespace App\Enums\Ambulatorio;
class AtendimentoEspecificoTipo
{
const SAUDE_BUCAL = 1;
const PRE_NATAL = 2;
const PUERICULTURA = 3;
const IDOSO = 4;
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Ambulatorio;
class AtendimentoImpressaoTipo
{
const RECEITA_COMUM = 1;
const RECEITA_ESPECIAL = 2;
const RECEITA_ESPECIAL_AZUL = 3;
const RECEITA_ESPECIAL_AMARELA = 4;
const RECEITA_NAO_PADRONIZADA_COMUM = 5;
const RECEITA_NAO_PADRONIZADA_ESPECIAL = 6;
const SERVICO_DE_ANALISES_DIAGNOSTICOS_E_TERAPIA_SOLICITACAO_DE_EXAMES_SADAT = 7;
const FICHA_DE_REQUISICAO_DE_SERVICOS_AUXILIARES_DE_DIAGOSE_E_TERAPIA_SADT = 8;
const LAUDO_PARA_SOLICITACAO_AUTORIZACAO_DE_PROCEDIMENTO_AMBULATORIAL = 9;
const ENCAMINHAMENTO = 10;
const ATESTADO_MEDICO = 11;
const DECLARACAO_COMPARECIMENTO = 12;
const CARTA_MEDICA = 13;
const ORIENTACAO = 14;
}

View File

@@ -0,0 +1,13 @@
<?php
namespace App\Enums\Ambulatorio;
class AtendimentoSoapSolicitacaoExameItemStatus
{
const SOLICITADO = 1;
const AGENDADO = 2;
const REALIZADO = 3;
const FALTA = 4;
const CANCELADO = 5;
const REAGENDADO = 6;
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class AtendimentoTipo
{
const DEMANDA_ESPONTANEA = 1;
const PROGRAMADA = 2;
}

View File

@@ -0,0 +1,13 @@
<?php
namespace App\Enums\Ambulatorio;
class AtestadoModelo
{
const PADRAO = 1;
const EM_BRANCO = 2;
const PERIODO_MANHA = 3;
const PERIODO_TARDE = 4;
const PERIODO_NOITE = 5;
const QUANTIDADE_HORAS = 6;
}

View File

@@ -0,0 +1,63 @@
<?php
namespace App\Enums\Ambulatorio;
class CasoSuspeito
{
const ACIDENTE_DE_TRABALHO_COM_EXPOSICAO_A_MATERIAL_BIOLOGICO = 1;
const ACIDENTE_DE_TRABALHO_GRAVE = 2;
const ACIDENTES_POR_ANIMAIS_PECONHENTOS = 3;
const AIDS_PACIENTES_MAIORES_DE_13_ANOS = 4;
const ATENDIMENTO_ANTI_RABICO_HUMANO = 5;
const BOTULISMO = 6;
const CHIKUNGUNYA = 7;
const COQUELUCHE = 8;
const COLERA = 9;
const DENGUE = 10;
const DIFTERIA = 11;
const DOENCA_MENINGOCOCICA = 12;
const DOENCAS_DE_CHAGAS_AGUDA = 13;
const DRT_CANCER_RELACIONADO_AO_TRABALHO = 14;
const DRT_DERMATOSES_OCUPACIONAIS = 15;
const DRT_LER_DORT = 16;
const DRT_PAIR = 17;
const DRT_PNEUMOCONIOSES = 18;
const DRT_TRANSTORNOS_MENTAIS_RELACIONADOS_AO_TRABALHO = 19;
const ESQUISTOSSOMOSE = 20;
const FEBRE_AMARELA = 21;
const FEBRE_MACULOSA_RICKETTSIOSES = 22;
const FEBRE_POR_VIRUS_DO_NILO_OCIDENTAL = 23;
const FEBRE_TIFOIDE = 24;
const GESTANTE_HIV = 25;
const HANSENIASE = 26;
const HANTAVIROSE = 27;
const HEPATITES_VIRAIS = 28;
const INTOXICACAO_EXOGENA = 29;
const LEISHMANIOSE_TEGUMENTAR_AMERICANA = 30;
const LEISHMANIOSE_VISCERAL = 31;
const LEPTOSPIROSE = 32;
const MALARIA = 33;
const OUTRAS_MENINGITES = 34;
const PARALISIA_FLACIDA_AGUDA_POLIOMELITE = 35;
const PESTE = 36;
const RAIVA_HUMANA = 37;
const ROTAVIRUS = 38;
const RUBEOLA = 39;
const SARAMPO = 40;
const SIFILIS_CONGENITA = 41;
const SIFILIS_EM_GESTANTE = 42;
const SINDROME_DA_RUBEOLA_CONGENITA = 43;
const TUBERCULOSE = 44;
const TETANO_ACIDENTAL = 45;
const TETANO_NEONATAL = 46;
const AIDS_PACIENTES_MENORES_QUE_13_ANOS = 47;
const BOLETIM_DE_INQUERITO_DE_TRACOMA = 48;
const DOENCA_DE_CHAGAS_ADULTA = 49;
const ENCEFALITE = 50;
const INFLUENZA_HUMANA_POR_NOVO_SUBTIPO_PANDEMICO = 51;
const MENINGITE = 52;
const SINDROME_HEMOLITICO_UREMICA = 53;
const SINDROME_RESPIRATORIA_AGUDA_GRAVE_SRAG_INTERNADA_OU_OBITO_POR_SRAG = 54;
const SINDROME_DE_GUILLAIN_BARRE_E_OU_OUTRA_MANIFESTACAO_NEUROLOGICA_ASSOCIADA_COM_ARBOVIRUS = 55;
const VIOLENCIA_INTERPESSOAL_AUTOPROVOCADA = 56;
}

View File

@@ -0,0 +1,11 @@
<?php
namespace App\Enums\Ambulatorio;
class ClassificacaoRisco
{
const NAO_AGUDA = 1;
const BAIXA = 2;
const INTERMEDIARIA = 3;
const ALTA = 4;
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Enums\Ambulatorio;
class ColetaMaterial
{
const COLETA_DE_PAPANICOLAU = 1;
const COLETA_DE_EXAME_LABORATORIAL = 2;
const COLETA_DE_TRIAGEM_NEONATAL = 3;
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class DemandaTipo
{
const AGENDADA = 'agendada';
const ESPONTANEA = 'espontanea';
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Enums\Ambulatorio;
class Desfecho
{
const PACIENTE_LIBERADO = 'Paciente liberado';
const PACIENTE_ENCAMINHADO = 'Paciente encaminhado';
const MANTER_NA_FILA = 'Paciente mantido na fila';
}

View File

@@ -0,0 +1,14 @@
<?php
namespace App\Enums\Ambulatorio;
class ExameResultadoTipo
{
const NORMAL = 1;
const ALTERADO = 2;
const SUGESTIVO_DE_INFECCAO_CONGENITA = 3;
const OUTRAS_ALTERACOES = 4;
const INDETERMINADO = 5;
const FALHOU = 6;
const PASSOU = 7;
}

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Enums\Ambulatorio;
final class FeridaExsudato
{
public const ESCASSO = 1;
public const BAIXO = 2;
public const MEDIO = 3;
public const ALTO = 4;
public static function fromDescricao(?string $descricao): ?int
{
if ($descricao === null) {
return null;
}
$norm = self::normalize($descricao);
$map = [
'escasso' => self::ESCASSO,
'baixo' => self::BAIXO,
'medio' => self::MEDIO,
'médio' => self::MEDIO,
'alto' => self::ALTO,
];
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);
}
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class FeridaStatus
{
const ATIVO = 0;
const CICATRIZADA = 1;
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Enums\Ambulatorio;
class ImpressaoAssinaturaEletronica
{
const REGISTRO_DO_ATENDIMENTO_MEDICO = 1;
const REGISTRO_DO_ATENDIMENTO_DE_ENFERMAGEM = 2;
const RECEITUARIO_MEDICO = 3;
const ENCAMINHAMENTOS = 4;
const ORIENTACAO = 5;
const SOLICITACAO_DE_EXAMES_SADAT = 6;
const SOLICITACAO_DE_EXAMES_SADT = 7;
const SOLICITACAO_DE_EXAMES_APAC = 8;
const SOLICITACAO_DE_EXAMES_CITOPATOLOGICO_DE_COLO_DE_UTERO = 9;
const SOLICITACAO_DE_EXAMES_HISTOPATOLOGICO_DE_MAMA = 10;
const SOLICITACAO_DE_EXAMES_CITOPATOLOGICO_DE_MAMA = 11;
const ATESTADOS_MEDICOS = 12;
const DECLARACOES_DE_COMPARECIMENTO = 13;
const CARTAS_MEDICAS = 14;
const NOTIFICACAO_COMPULSORIA = 15;
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class JornadaTipo
{
const DINAMICA = 1;
const FIXA = 2;
}

View 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);
}
}

View File

@@ -0,0 +1,410 @@
<?php
namespace App\Enums\Ambulatorio;
use Illuminate\Support\Facades\DB;
final class LocalAnatomicoRegiao
{
private const chaveLocalSafecare = [
'head' => 1,
'forehead' => 1,
'nose' => 1,
'chin' => 1,
'right_cheek' => 1,
'left_cheek' => 1,
'neck' => 2,
'right_deltoid' => 3,
'left_deltoid' => 3,
'right_chest' => 3,
'left_chest' => 3,
'abdomen' => 3,
'right_abdomen' => 3,
'left_abdomen' => 3,
'sacral' => 3,
'back_body_right' => 4,
'back_body_left' => 4,
'trapezius_right' => 4,
'trapezius_left' => 4,
'glute_right' => 4,
'glute_left' => 4,
'popliteal_right' => 4,
'popliteal_left' => 4,
'calf_right' => 4,
'calf_left' => 4,
'right_arm' => 5,
'left_arm' => 5,
'right_forearm' => 5,
'left_forearm' => 5,
'right_hand' => 5,
'left_hand' => 5,
'pinky' => 6,
'ring' => 6,
'middle' => 6,
'index' => 6,
'thumb' => 6,
'palm' => 6,
'right_pinky' => 6,
'right_ring' => 6,
'right_middle' => 6,
'right_index' => 6,
'right_thumb' => 6,
'right_palm' => 6,
'right_thigh' => 7,
'left_thigh' => 7,
'right_knee' => 7,
'left_knee' => 7,
'right_tibial' => 7,
'left_tibial' => 7,
'right_shin' => 7,
'left_shin' => 7,
'right_foot' => 7,
'left_foot' => 7,
'big_toe' => 8,
'second_toe' => 8,
'middle_toe' => 8,
'fourth_toe' => 8,
'little_toe' => 8,
'sole' => 8,
'right_big_toe' => 8,
'right_second_toe' => 8,
'right_middle_toe' => 8,
'right_fourth_toe' => 8,
'right_little_toe' => 8,
'right_sole' => 8,
'medial_forefoot' => 9,
'central_forefoot' => 9,
'distal_forefoot' => 9,
'plantar_arch' => 9,
'central_midfoot' => 9,
'distal_midfoot' => 9,
'medial_hindfoot' => 9,
'central_hindfoot' => 9,
'distal_hindfoot' => 9,
'right_heel' => 10,
'left_heel' => 10,
'right_achilles_tendon' => 10,
'left_achilles_tendon' => 10,
'right_external_malleolus' => 11,
'left_external_malleolus' => 11,
'right_external_arch' => 11,
'left_external_arch' => 11,
'right_external_metatarsal' => 11,
'left_external_metatarsal' => 11,
'side_head' => 12,
'side_neck' => 12,
'side_abdomen' => 12,
'side_sacral' => 12,
'side_trochanter1' => 12,
'side_trochanter2' => 12,
'side_malleolus' => 12,
'side_right_deltoid' => 13,
'side_right_arm' => 13,
'side_right_forearm' => 13,
'side_right_hand' => 13,
'side_right_chest' => 13,
'side_right_thigh' => 13,
'side_right_shin' => 13,
'side_right_foot' => 13,
'side_left_deltoid' => 14,
'side_left_arm' => 14,
'side_left_forearm' => 14,
'side_left_hand' => 14,
'side_left_chest' => 14,
'side_left_thigh' => 14,
'side_left_shin' => 14,
'side_left_foot' => 14,
'trochanter1' => 15,
'trochanter2' => 15,
'malleolus' => 15,
'upper_left' => 16,
'upper_right' => 16,
'lower_left' => 16,
'lower_right' => 16,
'left_foot_subarea_1' => 17,
'left_foot_subarea_2' => 17,
'left_foot_subarea_3' => 17,
'left_foot_subarea_4' => 17,
'left_foot_subarea_5' => 17,
'left_foot_subarea_6' => 17,
'left_foot_subarea_7' => 17,
'left_foot_subarea_8' => 17,
'left_foot_subarea_9' => 17,
'left_foot_subarea_10' => 17,
'left_foot_subarea_11' => 17,
'left_foot_subarea_12' => 17,
'left_foot_subarea_13' => 17,
'left_foot_subarea_14' => 17,
'left_foot_subarea_15' => 17,
'right_foot_subarea_1' => 18,
'right_foot_subarea_2' => 18,
'right_foot_subarea_3' => 18,
'right_foot_subarea_4' => 18,
'right_foot_subarea_5' => 18,
'right_foot_subarea_6' => 18,
'right_foot_subarea_7' => 18,
'right_foot_subarea_8' => 18,
'right_foot_subarea_9' => 18,
'right_foot_subarea_10' => 18,
'right_foot_subarea_11' => 18,
'right_foot_subarea_12' => 18,
'right_foot_subarea_13' => 18,
'right_foot_subarea_14' => 18,
'right_foot_subarea_15' => 18,
];
private const chaveTraduzida = [
'cabeca' => 'head',
'testa' => 'forehead',
'nariz' => 'nose',
'queixo' => 'chin',
'bochecha direita' => 'right_cheek',
'bochecha esquerda' => 'left_cheek',
'pescoco' => 'neck',
'deltoide direito' => 'right_deltoid',
'deltoide esquerdo' => 'left_deltoid',
'peito direito' => 'right_chest',
'peito esquerdo' => 'left_chest',
'abdomen' => 'abdomen',
'abdomen direito' => 'right_abdomen',
'abdomen esquerdo' => 'left_abdomen',
'sacral' => 'sacral',
'dorso direito' => 'back_body_right',
'dorso esquerdo' => 'back_body_left',
'trapezio direito' => 'trapezius_right',
'trapezio esquerdo' => 'trapezius_left',
'gluteo direito' => 'glute_right',
'gluteo esquerdo' => 'glute_left',
'poplitea direita' => 'popliteal_right',
'poplitea esquerda' => 'popliteal_left',
'panturrilha direita' => 'calf_right',
'panturrilha esquerda' => 'calf_left',
'braco direito' => 'right_arm',
'braco esquerdo' => 'left_arm',
'antebraco direito' => 'right_forearm',
'antebraco esquerdo' => 'left_forearm',
'mao direita' => 'right_hand',
'mao esquerda' => 'left_hand',
'minimo esquerdo' => 'pinky',
'anelar esquerdo' => 'ring',
'medio esquerdo' => 'middle',
'indicador esquerdo' => 'index',
'polegar esquerdo' => 'thumb',
'palma esquerda' => 'palm',
'minimo direito' => 'right_pinky',
'anelar direito' => 'right_ring',
'medio direito' => 'right_middle',
'indicador direito' => 'right_index',
'polegar direito' => 'right_thumb',
'palma direita' => 'right_palm',
'coxa direita' => 'right_thigh',
'coxa esquerda' => 'left_thigh',
'joelho direito' => 'right_knee',
'joelho esquerdo' => 'left_knee',
'tibial direita' => 'right_tibial',
'tibial esquerda' => 'left_tibial',
'canela direita' => 'right_shin',
'canela esquerda' => 'left_shin',
'pe direito' => 'right_foot',
'pe esquerdo' => 'left_foot',
'dedo 1 esquerdo' => 'big_toe',
'dedo 2 esquerdo' => 'second_toe',
'terceiro dedo esquerdo' => 'middle_toe',
'dedo 4 esquerdo' => 'fourth_toe',
'dedo 5 esquerdo' => 'little_toe',
'planta do pe esquerda' => 'sole',
'dedo 1 direito' => 'right_big_toe',
'dedo 2 direito' => 'right_second_toe',
'dedo 3 direito' => 'right_middle_toe',
'dedo 4 direito' => 'right_fourth_toe',
'dedo 5 direito' => 'right_little_toe',
'planta do pe direita' => 'right_sole',
'antepe medial' => 'medial_forefoot',
'antepe central' => 'central_forefoot',
'antepe distal' => 'distal_forefoot',
'arco plantar' => 'plantar_arch',
'mediope central' => 'central_midfoot',
'mediope distal' => 'distal_midfoot',
'retrope medial' => 'medial_hindfoot',
'retrope central' => 'central_hindfoot',
'retrope distal' => 'distal_hindfoot',
'calcanhar direito' => 'right_heel',
'calcanhar esquerdo' => 'left_heel',
'tendao de aquiles direito' => 'right_achilles_tendon',
'tendao de aquiles esquerdo' => 'left_achilles_tendon',
'maleolo externo direito' => 'right_external_malleolus',
'maleolo externo esquerdo' => 'left_external_malleolus',
'arco externo direito' => 'right_external_arch',
'arco externo esquerdo' => 'left_external_arch',
'metatarso externo direito' => 'right_external_metatarsal',
'metatarso externo esquerdo' => 'left_external_metatarsal',
'cabeca lateral' => 'side_head',
'pescoco lateral' => 'side_neck',
'abdomen lateral' => 'side_abdomen',
'sacral lateral' => 'side_sacral',
'trocanter 1 lateral' => 'side_trochanter1',
'trocanter 2 lateral' => 'side_trochanter2',
'maleolo lateral' => 'side_malleolus',
'deltoide direito lateral' => 'side_right_deltoid',
'braco direito lateral' => 'side_right_arm',
'antebraco direito lateral' => 'side_right_forearm',
'mao direita lateral' => 'side_right_hand',
'peito direito lateral' => 'side_right_chest',
'coxa direita lateral' => 'side_right_thigh',
'canela direita lateral' => 'side_right_shin',
'pe direito lateral' => 'side_right_foot',
'deltoide esquerdo lateral' => 'side_left_deltoid',
'braco esquerdo lateral' => 'side_left_arm',
'antebraco esquerdo lateral' => 'side_left_forearm',
'mao esquerda lateral' => 'side_left_hand',
'peito esquerdo lateral' => 'side_left_chest',
'coxa esquerda lateral' => 'side_left_thigh',
'canela esquerda lateral' => 'side_left_shin',
'pe esquerdo lateral' => 'side_left_foot',
'trocanter 1' => 'trochanter1',
'trocanter 2' => 'trochanter2',
'maleolo' => 'malleolus',
'superior esquerdo' => 'upper_left',
'superior direito' => 'upper_right',
'inferior esquerdo' => 'lower_left',
'inferior direito' => 'lower_right',
'subarea 1 do pe esquerdo' => 'left_foot_subarea_1',
'subarea 2 do pe esquerdo' => 'left_foot_subarea_2',
'subarea 3 do pe esquerdo' => 'left_foot_subarea_3',
'subarea 4 do pe esquerdo' => 'left_foot_subarea_4',
'subarea 5 do pe esquerdo' => 'left_foot_subarea_5',
'subarea 6 do pe esquerdo' => 'left_foot_subarea_6',
'subarea 7 do pe esquerdo' => 'left_foot_subarea_7',
'subarea 8 do pe esquerdo' => 'left_foot_subarea_8',
'subarea 9 do pe esquerdo' => 'left_foot_subarea_9',
'subarea 10 do pe esquerdo' => 'left_foot_subarea_10',
'subarea 11 do pe esquerdo' => 'left_foot_subarea_11',
'subarea 12 do pe esquerdo' => 'left_foot_subarea_12',
'subarea 13 do pe esquerdo' => 'left_foot_subarea_13',
'subarea 14 do pe esquerdo' => 'left_foot_subarea_14',
'subarea 15 do pe esquerdo' => 'left_foot_subarea_15',
'subarea 1 do pe direito' => 'right_foot_subarea_1',
'subarea 2 do pe direito' => 'right_foot_subarea_2',
'subarea 3 do pe direito' => 'right_foot_subarea_3',
'subarea 4 do pe direito' => 'right_foot_subarea_4',
'subarea 5 do pe direito' => 'right_foot_subarea_5',
'subarea 6 do pe direito' => 'right_foot_subarea_6',
'subarea 7 do pe direito' => 'right_foot_subarea_7',
'subarea 8 do pe direito' => 'right_foot_subarea_8',
'subarea 9 do pe direito' => 'right_foot_subarea_9',
'subarea 10 do pe direito' => 'right_foot_subarea_10',
'subarea 11 do pe direito' => 'right_foot_subarea_11',
'subarea 12 do pe direito' => 'right_foot_subarea_12',
'subarea 13 do pe direito' => 'right_foot_subarea_13',
'subarea 14 do pe direito' => 'right_foot_subarea_14',
'subarea 15 do pe direito' => 'right_foot_subarea_15',
];
public static function fromKey(?string $key, ?int $localAnatomicoId = null): ?int
{
if ($key === null) {
return null;
}
$key = self::normalizeKey($key);
$query = DB::table('cadastro_local_anatomico_regiao')
->where('key', $key);
if ($localAnatomicoId !== null) {
$query->where('local_anatomico_id', $localAnatomicoId);
} else {
$hint = self::chaveLocalSafecare[$key] ?? null;
if ($hint !== null) {
$query->where('local_anatomico_id', $hint);
}
}
$row = $query->first(['id']);
return $row ? (int) $row->id : null;
}
public static function fromDescricao(?string $descricao, ?int $localAnatomicoId = null): ?int
{
if ($descricao === null) {
return null;
}
$norm = self::normalize($descricao);
$key = self::chaveTraduzida[$norm] ?? null;
if ($key === null) {
return null;
}
return self::fromKey($key, $localAnatomicoId);
}
public static function localAnatomicoIdForKey(string $key): ?int
{
$key = self::normalizeKey($key);
return self::chaveLocalSafecare[$key] ?? null;
}
public 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);
}
public static function normalizeKey(string $key): string
{
$key = trim(mb_strtolower($key));
$key = preg_replace('/\s+/', '_', $key);
return $key;
}
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class Origem
{
const AGENDADA = 1;
const ESPONTANEA = 2;
}

View File

@@ -0,0 +1,14 @@
<?php
namespace App\Enums\Ambulatorio;
class OutroProcedimento
{
const INALACAO = 1;
const RETIRADA_DE_PONTOS = 2;
const CURATIVO_SIMPLES = 3;
const CURATIVO_GRAU_II_COM_OU_SEM_DEBRIDAMENTO = 4;
const PROVA_DO_LACO = 5;
const CURATIVO_ESPECIAL = 6;
const PREPARACAO_PARA_ECG = 7;
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Enums\Ambulatorio;
class PrescricaoFrequenciaDose
{
const INTERVALO = 'intervalo';
const FREQUENCIA = 'frequencia';
const TURNO = 'turno';
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Enums\Ambulatorio;
class ProblemaCondicaoSituacao
{
const ATIVO = 1;
const LATENTE = 2;
const RESOLVIDO = 3;
}

View File

@@ -0,0 +1,36 @@
<?php
namespace App\Enums\Ambulatorio;
class SaudeBucalDenteProblemaCondicao
{
const AUSENTE_A = 1;
const EXTRAIDO_E = 2;
const HIGIDO_H = 3;
const HIGIDO_SELADO_HS = 4;
const PROTESE_PARCIAL_REMOVIVEL = 5;
const PROTESE_TEMPORARIA = 6;
const INCLUSO_I = 7;
const PROTESE_CORONARIA_UNITARIA = 8;
const COROA_CO = 9;
const IMPLANTE = 10;
const PILAR_P = 11;
const NUCLEO_PINO = 12;
const RESTO_RADICULAR_RR = 13;
const RETRACAO_GENGIVAL_RG = 14;
const CALCULO_DENTAL_CD = 15;
const EXTRACAO_INDICADA_EI = 16;
const SELANTE_INDICADO_SI = 17;
const FRATURA_FR = 18;
const MANCHA_BRANCA_ATIVA_M = 19;
const CARIADO_C = 20;
const RESTAURADO_R = 21;
const CARIE_DA_RAIZ = 22;
const RESTAURADO_COM_CARIE_RC = 23;
const RAIZ_RESTAURADA = 24;
const NECESSITA_DE_TRATAMENTO_ENDODONTICO = 25;
const POSSUI_LESAO_DE_FURCA = 26;
const TRATAMENTO_ENDODONTICO_REALIZADO = 27;
const LESAO_DE_FURCA_TRATADA = 28;
const MANTENEDOR_DE_ESPACO_ME = 29;
}

View File

@@ -0,0 +1,11 @@
<?php
namespace App\Enums\Ambulatorio;
class ServicoTipo
{
const VACINACAO = 1;
const DEMANDA_ESPONTANEA = 2;
const DEMANDA_AGENDADA = 3;
const POS_CONSULTA = 4;
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Ambulatorio;
class SigiloTipo
{
const SIGILO_ATENDIMENTO = 1;
const SIGILO_COMPLETO = 2;
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Enums\Ambulatorio;
class SituacaoCodigoEsus
{
const ATIVO = 0;
const LATENTE = 1;
const RESOLVIDO = 2;
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Enums\Ambulatorio;
class TesteRapido
{
const GRAVIDEZ = 1;
const SIFILIS = 2;
const DETECCAO_DE_INFECCAO_PELO_HIV = 3;
const DETECCAO_DE_INFECCAO_PELO_HBV = 4;
const DETECCAO_DE_HEPATITE_C = 5;
const DENGUE_IGG_IGM = 6;
const PSA = 7;
const DETECCAO_DE_SARS_COVID_2 = 8;
const FEBRE_CHIKUNGUNYA_IGM = 9;
const VIRUS_ZIKA_IGG_IGM = 10;
const SIFILIS_NA_GESTANTE_OU_PAI_PARCEIRO = 11;
const DETECCAO_DE_HIV_NA_GESTANTE_OU_PAI_PARCEIRO = 12;
const DENGUE_NS1 = 13;
const PROTEINURIA = 14;
const TESTE_DO_OLHINHO_TRV = 15;
const TESTE_RAPIDO_SIFILIS_EM_GESTANTE = 16;
const TESTE_RAPIDO_SIFILIS_EM_PARCEIRO_OU_PARCERIA_DE_GESTANTE = 17;
const TESTE_RAPIDO_DETECCAO_DE_ANTICORPOS_ANTI_HIV_EM_GESTANTE = 18;
const TESTE_RAPIDO_DETECCAO_DE_ANTICORPOS_ANTI_HIV_EM_PARCEIRO_OU_PARCERIA_DE_GESTANTE = 19;
const TESTE_RAPIDO_PARA_DETECCAO_DE_HEPATITE_C_POPULACAO_GERAL_EXCETO_GESTANTE_PARCEIRO_OU_PARCERIA = 20;
const DETECCAO_DE_INFECCAO_PELO_HBV_POPULACAO_GERAL_EXCETO_GESTANTE_PARCEIRO_OU_PARCERIA = 21;
}