Author: Rodolfo Tasso Suazo
Date: 2026-04-18

# Guia de Instalacion y Configuracion

#### Rodolfo Tasso Suazo

#### 2026-04-18

## Instalacion Basica

### Desde CRAN (cuando este disponible)

    install.packages("ciecl")

### Desde GitHub (version desarrollo)

    # Opcion 1: pak (recomendado)
    install.packages("pak")
    pak::pak("RodoTasso/ciecl")

    # Opcion 2: devtools
    install.packages("devtools")
    devtools::install_github("RodoTasso/ciecl")

    # Opcion 3: remotes
    install.packages("remotes")
    remotes::install_github("RodoTasso/ciecl")

## Instalacion con Dependencias Opcionales

El paquete tiene dependencias minimas para funcionalidad core. Para habilitar todas las funcionalidades:

    # Instalacion completa con todos los paquetes opcionales
    pak::pak("RodoTasso/ciecl", dependencies = TRUE)

### Dependencias por Funcionalidad

Funcionalidad | Paquete Requerido | Instalacion
--- | --- | ---
Comorbilidades Charlson/Elixhauser | `comorbidity` | `install.packages("comorbidity")`
Tablas interactivas GT | `gt` | `install.packages("gt")`
API CIE-11 OMS | `httr2` | `install.packages("httr2")`
Leer archivos Excel MINSAL | `readxl` | `install.packages("readxl")`

## Requisitos del Sistema

### Windows

No requiere dependencias adicionales. La instalacion funciona directamente.

### macOS

Instalar Xcode Command Line Tools:

    xcode-select --install

### Linux (Ubuntu/Debian)

    sudo apt-get update
    sudo apt-get install -y \
      r-base-dev \
      libcurl4-openssl-dev \
      libssl-dev \
      libxml2-dev

### Linux (Fedora/RHEL/CentOS)

    sudo dnf install -y \
      R-devel \
      libcurl-devel \
      openssl-devel \
      libxml2-devel

## Configuracion de API CIE-11 (Opcional)

Para usar `cie11_search()` y acceder a la clasificacion internacional CIE-11 de la OMS, necesitas credenciales gratuitas.

### Paso 1: Obtener Credenciales

1. Visita https://icd.who.int/icdapi
2. Registrate con tu email (proceso gratuito)
3. Obtendras un `Client ID` y `Client Secret`

### Paso 2: Configurar Variables de Entorno

Opcion A: Archivo .Renviron (recomendado para uso permanente)

Crea o edita el archivo `~/.Renviron`:

    # Abrir archivo .Renviron para editar
    usethis::edit_r_environ()

Agrega la linea:

    ICD_API_KEY=tu_client_id:tu_client_secret

Reinicia R para que tome efecto.

Opcion B: En cada sesion (temporal)

    Sys.setenv(ICD_API_KEY = "tu_client_id:tu_client_secret")

### Paso 3: Verificar Configuracion

    # Verificar que la API key esta configurada
    Sys.getenv("ICD_API_KEY")

    # Probar busqueda CIE-11
    library(ciecl)
    cie11_search("diabetes")

## Cache SQLite

El paquete usa SQLite para almacenar y buscar codigos CIE-10 de forma eficiente. La base de datos se crea automaticamente en:

    # Ver ubicacion del cache
    tools::R_user_dir("ciecl", "data")

### Limpiar Cache

Si necesitas forzar una reconstruccion de la base de datos:

    library(ciecl)
    cie10_clear_cache()

## Verificar Instalacion

    library(ciecl)

    # Verificar que el paquete carga correctamente
    packageVersion("ciecl")

    # Verificar acceso al dataset
    nrow(cie10_cl)  # Debe retornar 39873

    # Probar busqueda basica
    cie_lookup("E11.0")

    # Probar busqueda fuzzy
    cie_search("diabetes")

## Problemas Comunes

### Error: “package ‘ciecl’ is not available”

Asegurate de instalar desde GitHub, no desde CRAN (aun no esta disponible):

    pak::pak("RodoTasso/ciecl")

### Error de compilacion en Linux

Instala las dependencias del sistema mencionadas arriba.

### API CIE-11 no funciona

1. Verifica que `httr2` esta instalado: `install.packages("httr2")`
2. Verifica que la API key esta configurada: `Sys.getenv("ICD_API_KEY")`
3. Verifica conexion a internet

### Cache corrupto

Limpia el cache y reinicia R:

    ciecl::cie10_clear_cache()

## Soporte

- Reportar problemas: https://github.com/RodoTasso/ciecl/issues
- Documentacion: https://github.com/RodoTasso/ciecl