Esta guía está pensada para
personas que trabajan con bases de datos de salud y que quizás están
recién aprendiendo R: para ellas, instalar un paquete desde GitHub con
pak y configurar la API key de la OMS no son pasos obvios,
así que aquí se explican con detalle. Si ya tienes experiencia con R,
puedes saltarte esta viñeta: basta con
pak::pak("ropensci/ciecl") para empezar.
La forma más simple de instalar ciecl es con el paquete
pak, que resuelve
automáticamente las dependencias de R y del sistema operativo.
Para instalar además todas las dependencias opcionales (comorbilidades, tablas GT, API CIE-11):
El núcleo del paquete (búsqueda y consulta de códigos CIE-10) no requiere paquetes opcionales. Estas son las dependencias sugeridas según la tarea:
| Funcionalidad | Paquete | Instalación |
|---|---|---|
Índices de comorbilidad Charlson/Elixhauser con
cie_comorbid() |
comorbidity |
install.packages("comorbidity") |
Tablas HTML formateadas con cie_table() |
gt |
install.packages("gt") |
| Leer archivos Excel del MINSAL | readxl |
install.packages("readxl") |
No requiere dependencias adicionales: la instalación funciona directamente.
Las funciones de CIE-10 (núcleo del paquete) funcionan sin
credenciales. Solo para usar cie11_search(), que consulta
la clasificación CIE-11 de la OMS, necesitas credenciales gratuitas.
Seguridad: nunca escribas la llave literal en tus scripts (ni con
api_key = "..."): al compartir el código expondrías tus credenciales. La vía recomendada es la variable de entornoICD_API_KEY, configurada conusethis::edit_r_environ()(Opción B) o víakeyring(Opción A). El argumentoapi_keydecie11_search()existe solo para casos excepcionales (p. ej. múltiples llaves o entornos sin variables de entorno).
Client ID y un
Client SecretOpción A: keyring (recomendado)
El paquete keyring guarda
secretos en el keychain nativo del sistema operativo (macOS Keychain,
Windows Credential Store, Linux Secret Service), evitando que el
Client ID y el Client Secret queden en texto
plano en .Renviron.
# Una sola vez: guarda "client_id:client_secret" en el keychain
keyring::key_set("ciecl_icd11")
# En cada sesión en la que uses la API
Sys.setenv(ICD_API_KEY = keyring::key_get("ciecl_icd11"))Opción B: Archivo .Renviron
Crea o edita ~/.Renviron (por ejemplo con
usethis::edit_r_environ() si tienes usethis
instalado) y agrega:
ICD_API_KEY=tu_client_id:tu_client_secret
Reinicia R para que tome efecto. No subas .Renviron a
Git.
Opción C: Solo en la sesión actual (temporal)
El paquete usa una base SQLite local para búsquedas eficientes. Se crea automáticamente en la primera consulta, en el directorio de datos del usuario:
Puedes cambiar esa ubicación definiendo la variable de entorno
CIECL_CACHE_DIR antes de cargar el paquete. Si necesitas
forzar la reconstrucción de la base (por ejemplo, tras actualizar el
paquete):
Verifica que el repositorio de CRAN esté configurado en tu sesión de R y luego instala normalmente:
Instala las dependencias del sistema indicadas en la sección “Requisitos del sistema” y vuelve a intentar la instalación.
Sys.getenv("ICD_API_KEY") no debe retornar una cadena
vacía.