--- title: "Soporte de idiomas e internacionalización" author: "Rodolfo Tasso Suazo" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Soporte de idiomas e internacionalización} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ## Idiomas soportados El paquete `ciecl` trabaja principalmente en español de Chile, pero ofrece búsqueda multilingüe cuando la fuente de datos lo permite. La tabla resume el comportamiento por función. | Función | Idioma dataset | Idioma búsqueda | Notas | |-----------------|----------------------|------------------|-----------------------------------------| | `cie_lookup()` | Español (Chile) | — | Búsqueda por código; idioma no aplica | | `cie_search()` | Español (Chile) | Español | Descripciones en español chileno | | `cie11_search()`| Español / Inglés | Español / Inglés | Configurable vía parámetro `lang` | | `cie10_sql()` | Español (Chile) | SQL | Columna `descripcion` en español | ## Dataset CIE-10 Chile El dataset `cie10_cl` contiene los códigos vigentes con descripciones en español chileno según el catálogo oficial MINSAL/DEIS v2018. Ver `?cie10_cl` para el detalle de columnas. ```{r} library(ciecl) head(cie10_cl[, c("codigo", "descripcion", "capitulo")]) ``` La columna `descripcion` conserva tildes y eñes del catálogo original. Esto es importante porque muchas rutinas de limpieza despojan los acentos; en `ciecl` la normalización ocurre solo en la etapa de *búsqueda*, no en el dato almacenado. ### Características del español chileno - **Tildes preservadas en el dataset**: "Neumonía", "Riñón", "Corazón". - **Terminología local**: Usa términos médicos comunes en Chile. - **Sin anglicismos**: Traducciones oficiales del MINSAL. ## Búsqueda tolerante a tildes y eñes `cie_search()` normaliza internamente la consulta para que el usuario pueda escribir con o sin tildes. Esto es especialmente útil en datos clínicos mezclados, donde el mismo término aparece con y sin acento. ```{r} # Con o sin tilde: mismo resultado cie_search("neumonia") cie_search("neumonía") cie_search("NEUMONIA") ``` La misma lógica aplica a la eñe: buscar `"rinon"` encuentra "Riñón" en el catálogo. ```{r} cie_search("rinon") ``` ## Siglas médicas chilenas El paquete incluye un diccionario de **siglas médicas** de uso clínico en Chile. Esto permite que un analista escriba `IAM` en vez del código completo y `ciecl` resuelva la sigla al término oficial del catálogo. ```{r} # Listar todas las siglas disponibles head(cie_short()) # Filtrar por categoría cie_short(category = "cardiovascular") # Usar la sigla directamente en búsqueda cie_search("IAM") # Infarto Agudo del Miocardio cie_search("EPOC") # Enfermedad Pulmonar Obstructiva Crónica cie_search("DM2") # Diabetes Mellitus tipo 2 ``` La tabla siguiente resume las categorías disponibles y su tamaño aproximado. Los números pueden variar entre versiones del paquete. | Categoría | Ejemplos | |------------------|-------------------------------| | Cardiovascular | IAM, HTA, ACV, FA, ICC | | Respiratoria | TBC, EPOC, NAC, SDRA | | Metabólica | DM, DM1, DM2, ERC, IRC | | Gastrointestinal | HDA, HDB, RGE, DHC | | Infecciosa | VIH, ITU, ITS, sepsis | | Oncológica | CA, LMA, LMC, LLA, LLC | | Neurológica | TEC, EPI, EM, ELA | | Psiquiátrica | TDAH, TOC, TAG, TEPT | ## API CIE-11 multilingüe `cie11_search()` consulta la API oficial de la OMS y sí acepta idioma, porque el endpoint de la OMS está traducido a varios. En `ciecl` se expone el parámetro `lang = "es"` (por defecto) o `lang = "en"`. ```{r eval=FALSE} # Búsqueda en español (por defecto) cie11_search("diabetes mellitus", lang = "es") # Búsqueda en inglés cie11_search("diabetes mellitus", lang = "en") ``` > Nota: esta sección requiere credenciales de la API OMS. Ver la vignette > "Configuración de la API CIE-11" para cómo guardarlas con `keyring`. ## Encoding y caracteres especiales El paquete está codificado en **UTF-8** y el dataset preserva todos los caracteres del español (tildes, eñe, diéresis) y los símbolos de codificación dual (daga †, asterisco \*) que aparecen en el catálogo MINSAL. Al buscar, `cie_search()` y `cie_norm()` saben limpiarlos. ```{r} Encoding(cie10_cl$descripcion[1]) ``` ## Referencias - **CIE-10 Chile**: - **CIE-11 OMS**: - **API CIE-11**: