The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.

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.
Health stats visible at Monitor.