The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Title: International Classification of Diseases 'ICD-10'/'ICD-11' for Chile
Version: 0.9.2
Description: Tools for working with the International Classification of Diseases ('ICD-10' Chile official 'MINSAL'/'DEIS' v2018). Includes optimized 'SQL' search with 'SQLite', fuzzy matching of medical terms (Jaro-Winkler), Charlson and Elixhauser comorbidity calculation, 'WHO' 'ICD-11' 'API' integration, and hierarchical code validation. Data from Centro FIC Chile 'DEIS' https://deis.minsal.cl/centrofic/.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.3.2
Depends: R (≥ 4.1.0)
Imports: DBI, RSQLite, stringdist, stringr, dplyr, tibble, tools, utils, comorbidity, gt
Suggests: httr2, readxl, usethis, withr, writexl, testthat (≥ 3.0.0), knitr, litedown (≥ 0.9), rmarkdown
VignetteBuilder: knitr
URL: https://github.com/Rodotasso/ciecl
BugReports: https://github.com/Rodotasso/ciecl/issues
Config/testthat/edition: 3
Language: es
NeedsCompilation: no
Packaged: 2026-01-23 16:21:32 UTC; tassu
Author: Rodolfo Tasso Suazo ORCID iD [aut, cre, cph]
Maintainer: Rodolfo Tasso Suazo <rtasso@uchile.cl>
Repository: CRAN
Date/Publication: 2026-01-27 21:20:08 UTC

Dataset CIE-10 Chile oficial MINSAL/DEIS v2018

Description

Dataset CIE-10 Chile oficial MINSAL/DEIS v2018

Usage

cie10_cl

Format

tibble con 39,873 filas (categorias y subcategorias):

codigo

Codigo CIE-10 (ej. "E11.0")

descripcion

Diagnostico en espanol chileno

categoria

Categoria jerarquica

seccion

Seccion dentro del capitulo

capitulo_nombre

Nombre descriptivo del capitulo

inclusion

Terminos incluidos

exclusion

Terminos excluidos

capitulo

Capitulo CIE-10 (A-Z)

es_daga

Logical, codigo daga (+)

es_cruz

Logical, codigo asterisco (*)

Source

https://deis.minsal.cl/centrofic/

Examples

data(cie10_cl)
head(cie10_cl)

Limpiar cache SQLite (forzar rebuild)

Description

Limpiar cache SQLite (forzar rebuild)

Usage

cie10_clear_cache()

Value

No return value, called for side effects (deletes SQLite cache).

Examples

## Not run: 
cie10_clear_cache()  # Elimina cie10.db local

## End(Not run)

Ejecutar consultas SQL sobre CIE-10 Chile

Description

Ejecutar consultas SQL sobre CIE-10 Chile

Usage

cie10_sql(query, close = TRUE)

Arguments

query

String SQL valido SQLite (SELECT/WHERE/JOIN)

close

Logical, cerrar conexion post-query (default TRUE)

Value

tibble resultado query

Examples


# Buscar diabetes
cie10_sql("SELECT codigo, descripcion FROM cie10 WHERE codigo LIKE 'E11%'")

# Contar por capitulo
cie10_sql("SELECT capitulo, COUNT(*) n FROM cie10 GROUP BY capitulo")


# Join con datos pacientes (externo)
## Not run: 
cie10_sql("SELECT p.id, c.descripcion
           FROM pacientes p JOIN cie10 c ON p.codigo = c.codigo")

## End(Not run)

Description

Buscar codigos CIE-11 via API OMS

Usage

cie11_search(texto, api_key = NULL, lang = "es", max_results = 10)

Arguments

texto

String termino busqueda espanol/ingles

api_key

String opcional, Client ID + Secret OMS separados ":" Obtener en: https://icd.who.int/icdapi

lang

Character, idioma respuesta ("es" o "en")

max_results

Integer, maximo resultados (default 10)

Value

tibble con codigos CIE-11 + titulos o vacio si error

Examples

## Not run: 
# Requiere credenciales OMS gratuitas
Sys.setenv(ICD_API_KEY = "client_id:client_secret")
cie11_search("depresion mayor")

## End(Not run)

Calcular comorbilidades Charlson/Elixhauser para Chile

Description

Calcular comorbilidades Charlson/Elixhauser para Chile

Usage

cie_comorbid(data, id, code, map = c("charlson", "elixhauser"), assign0 = TRUE)

Arguments

data

data.frame con columnas id paciente + codigos CIE-10

id

String nombre columna identificador paciente

code

String nombre columna con codigos CIE-10 (uno por fila)

map

Character, esquema comorbilidad ("charlson" o "elixhauser")

assign0

Logical, asignar 0 si sin comorbilidad (default TRUE)

Value

data.frame ancho con scores comorbilidad por paciente

Examples

## Not run: 
df <- data.frame(
  id_pac = c(1, 1, 2, 2),
  diag = c("E11.0", "I21.0", "C50.9", "E10.9")
)
cie_comorbid(df, id = "id_pac", code = "diag", map = "charlson")

## End(Not run)

Expandir codigo jerarquico (ej. E11 -> E11.0-E11.9)

Description

Expandir codigo jerarquico (ej. E11 -> E11.0-E11.9)

Usage

cie_expand(codigo)

Arguments

codigo

String codigo padre (ej. "E11")

Value

Character vector codigos hijos

Examples

cie_expand("E11")

Guia de funciones de busqueda CIE-10

Description

Muestra tabla comparativa de cuando usar cada funcion de busqueda.

Usage

cie_guia_busqueda()

Value

data.frame con guia de uso

Examples

cie_guia_busqueda()

Busqueda exacta por codigo CIE-10

Description

Busqueda exacta por codigo CIE-10

Usage

cie_lookup(
  codigo,
  expandir = FALSE,
  normalizar = TRUE,
  descripcion_completa = FALSE,
  extract = FALSE,
  check_siglas = FALSE
)

Arguments

codigo

Character vector de codigos (ej. "E11", "E11.0", c("E11.0", "Z00")) o rango (ej. "E10-E14"). Acepta vectores de multiples codigos. Soporta formatos: con punto (E11.0), sin punto (E110), o solo categoria (E11).

expandir

Logical, expandir jerarquia completa (default FALSE)

normalizar

Logical, normalizar formato de codigos automaticamente (default TRUE)

descripcion_completa

Logical, agregar columna descripcion_completa con formato "CODIGO - DESCRIPCION" (default FALSE)

extract

Logical, extraer codigo CIE-10 de texto con prefijos/sufijos (default FALSE). IMPORTANTE: Solo usar con codigo ESCALAR (longitud 1). Ejemplo: "CIE:E11.0" -> "E11.0", "E11.0-confirmado" -> "E11.0". Para vectores multiples usar extract=FALSE (default).

check_siglas

Logical, buscar siglas medicas comunes (default FALSE). Ejemplo: "IAM" -> I21.0 (Infarto agudo miocardio)

Value

tibble con codigo(s) matcheado(s)

Examples

cie_lookup("E11.0")       # Con punto
cie_lookup("E110")        # Sin punto
cie_lookup("E11")         # Solo categoria
cie_lookup("E11", expandir = TRUE)  # Todos E11.x
# Vectorizado - multiples codigos y formatos
cie_lookup(c("E11.0", "Z00", "I10"))
# Con descripcion completa
cie_lookup("E110", descripcion_completa = TRUE)
# Extraer codigo de texto con ruido (solo codigo escalar)
cie_lookup("CIE:E11.0", extract = TRUE)
cie_lookup("E11.0-confirmado", extract = TRUE)
# Nota: Para vectores multiples usar extract=FALSE (default)
# Buscar por siglas medicas
cie_lookup("IAM", check_siglas = TRUE)
cie_lookup("DM2", check_siglas = TRUE)
cie_lookup("EPOC", check_siglas = TRUE)

Mapeo manual grupos comorbilidad Chile-especifico

Description

Agrupa codigos CIE-10 chilenos en categorias comorbilidad MINSAL. Basado en Decreto 1301/2016 MINSAL + icd::icd10_map_charlson.

Usage

cie_map_comorbid(codigos)

Arguments

codigos

Character vector codigos CIE-10

Value

tibble con codigo + categoria_comorbilidad

Examples

cie_map_comorbid(c("E11.0", "I50.9", "C50.9"))

Normalizar codigos CIE-10 a formato con punto

Description

Convierte codigos CIE-10 de diferentes formatos al formato estandar (con punto). Maneja multiples variaciones de entrada comunes en datos clinicos.

Usage

cie_normalizar(codigos, buscar_db = TRUE)

Arguments

codigos

Character vector de codigos en cualquier formato

buscar_db

Logical, buscar codigo en base de datos si no se encuentra exacto (default TRUE)

Details

La normalizacion incluye:

El sistema de daga/asterisco indica codificacion dual donde la daga marca la enfermedad subyacente y el asterisco la manifestacion. Ambos simbolos se eliminan para normalizacion.

Value

Character vector con codigos normalizados al formato con punto

Examples

cie_normalizar("E110")     # Retorna "E11.0"
cie_normalizar("E11")      # Retorna "E11" (categoria)
cie_normalizar("I10X")     # Retorna "I10" (elimina X)
cie_normalizar("E 11 0")   # Retorna "E11.0" (espacios internos)
cie_normalizar("I10-0")    # Retorna "I10.0" (guion a punto)
cie_normalizar("A17.0\u2020") # Retorna "A17.0" (elimina daga)
cie_normalizar("G01*")     # Retorna "G01" (elimina asterisco)
cie_normalizar(c("E110", "I10X", "Z00"))  # Vectorizado

Description

Busca en descripciones CIE-10 usando multiples estrategias:

  1. Expansion de siglas medicas (IAM, TBC, DM, etc.)

  2. Busqueda exacta por subcadena (mas rapida)

  3. Busqueda fuzzy con Jaro-Winkler (tolera typos)

Usage

cie_search(
  texto,
  threshold = 0.7,
  max_results = 50,
  campo = c("descripcion", "inclusion"),
  solo_fuzzy = FALSE,
  verbose = TRUE
)

Arguments

texto

String termino medico en espanol o sigla (ej. "diabetes", "IAM", "TBC")

threshold

Numeric entre 0 y 1, umbral similitud Jaro-Winkler (default 0.70)

max_results

Integer, maximo resultados a retornar (default 50)

campo

Character, campo busqueda ("descripcion" o "inclusion")

solo_fuzzy

Logical, usar solo busqueda fuzzy sin busqueda exacta (default FALSE)

verbose

Logical, mostrar mensajes informativos (default TRUE). Usar FALSE en scripts.

Details

La busqueda es tolerante a tildes: "neumonia" encuentra "neumonia". Soporta siglas medicas comunes: "IAM" busca "infarto agudo miocardio".

Value

tibble ordenado por score descendente (1.0 = coincidencia exacta). Incluye atributo "sigla_expandida" si se uso una sigla.

Examples

# Busqueda basica
cie_search("diabetes")


cie_search("neumonia")

# Busqueda por siglas medicas
cie_search("IAM")
cie_search("DM2")

# Tolerante a tildes y typos
cie_search("diabetis")

# Buscar en inclusiones
cie_search("bacteriana", campo = "inclusion")


Listar siglas medicas soportadas

Description

Muestra todas las siglas medicas que pueden usarse en cie_search().

Usage

cie_siglas(categoria = NULL)

Arguments

categoria

Character opcional, filtrar por categoria. Valores validos: "cardiovascular", "respiratoria", "metabolica", "gastrointestinal", "infecciosa", "oncologica", "reumatologica", "neurologica", "psiquiatrica", "traumatologica", "pediatrica", "gineco_obstetrica". Si es NULL (default), retorna todas las siglas.

Value

tibble con columnas: sigla, termino_busqueda, categoria

Examples

# Ver todas las siglas
cie_siglas()

# Filtrar por categoria
cie_siglas("cardiovascular")
cie_siglas("oncologica")

# Buscar una sigla especifica
cie_siglas() |> dplyr::filter(sigla == "iam")

Generar tabla HTML interactiva GT de codigo CIE-10

Description

Generar tabla HTML interactiva GT de codigo CIE-10

Usage

cie_table(codigo, interactive = TRUE)

Arguments

codigo

String codigo (ej. "E11" muestra jerarquia)

interactive

Logical, tabla gt reactable (default TRUE)

Value

Objeto gt table HTML

Examples

## Not run: 
cie_table("E11")  # Diabetes tipo 2 completo

## End(Not run)

Validar vector de codigos CIE-10 formato

Description

Validar vector de codigos CIE-10 formato

Usage

cie_validate_vector(codigos, strict = FALSE)

Arguments

codigos

Character vector codigos (ej. c("E11.0", "Z00.0"))

strict

Logical, validar existencia en DB (default FALSE)

Value

Logical vector misma longitud input

Examples

cie_validate_vector(c("E11.0", "INVALIDO", "Z00"))

Generar dataset cie10_cl.rda

Description

EJECUTAR UNA VEZ para crear data/cie10_cl.rda desde XLS padre. Ruta automatica: busca en ../ o directorio actual

Usage

generar_cie10_cl(xls_path = NULL)

Arguments

xls_path

Ruta al archivo XLS (opcional, deteccion automatica)

Value

Invisible tibble with generated 'ICD-10' data.

Examples

## Not run: 
# Desde ciecl/ ejecutar:
generar_cie10_cl()

## End(Not run)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.