Package 'ciecl'

Title: International Classification of Diseases 'ICD-10'/'ICD-11' for Chile
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/>.
Authors: Rodolfo Tasso Suazo [aut, cre] (ORCID: <https://orcid.org/0000-0002-1264-4933>, Grupo de Ciencia de Datos para Salud Pública, Escuela de Salud Pública, U. de Chile), Francisca Jofre [ctb] (Package logo design)
Maintainer: Rodolfo Tasso Suazo <[email protected]>
License: MIT + file LICENSE
Version: 0.9.8
Built: 2026-05-26 05:46:27 UTC
Source: https://github.com/rodotasso/ciecl

Help Index


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

See Also

cie_map_comorbid(), cie_norm()

Other comorbilidades: cie_map_comorbid()

Examples

# Ver documentacion de parametros
args(cie_comorbid)


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")

Obtener descripcion de codigos CIE-10 (vector)

Description

Devuelve un vector character con la descripcion de cada codigo, pensado para usar dentro de dplyr::mutate() sin necesidad de un left_join contra cie10_cl.

Usage

cie_describe(
  codes,
  normalize = FALSE,
  default = NA_character_,
  codigos = lifecycle::deprecated()
)

Arguments

codes

Character vector de codigos CIE-10 (ej. "E11.0", c("E11.0", "I10")).

normalize

Logical, ¿intentar normalizar los codigos antes de buscar la descripcion? (default FALSE). Usar TRUE para limpiar formatos (ej. "E110" -> "E11.0"); usar FALSE para auditar la calidad original del registro.

default

Valor devuelto cuando un codigo no se encuentra en el catalogo. Default NA_character_.

codigos

[Deprecated] Use codes.

Value

Character vector del mismo largo que codes con la descripcion oficial MINSAL/DEIS. NA_character_ (o default) para codigos sin match.

See Also

cie_lookup() para resultado como tibble con todas las columnas; cie_norm() para normalizacion.

Other busqueda: cie_guia_busqueda(), cie_guide(), cie_lookup(), cie_search(), cie_short(), cie_siglas()

Examples

# Auditoria: buscar tal cual (E110 no existe sin punto)
cie_describe("E110", normalize = FALSE)

# Rescate: normalizar antes de buscar
cie_describe("E110", normalize = TRUE)


# Uso tipico en auditoria VIU (contar fallos de origen)
diags <- c("E11.0", "E110", "I10X", "INVALIDO")
descripciones <- cie_describe(diags, normalize = FALSE)
sum(is.na(descripciones)) # Detecta 3 errores de registro

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

Description

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

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

Usage

cie_expand(code, codigo = lifecycle::deprecated())

cie_expand(code, codigo = lifecycle::deprecated())

Arguments

code

String codigo padre (ej. "E11")

codigo

[Deprecated] Use code.

Value

Character vector con todos los codigos hijos del codigo padre. Vector vacio si el codigo no existe en la base de datos.

Character vector con todos los codigos hijos del codigo padre. Vector vacio si el codigo no existe en la base de datos.

See Also

cie_norm(), cie_lookup()

cie_norm(), cie_lookup()

Other validacion: cie_norm(), cie_normalizar(), cie_validate_vector()

Other validacion: cie_norm(), cie_normalizar(), cie_validate_vector()

Examples

cie_expand("E11")
cie_expand("E11")

Guia de funciones de busqueda CIE-10

Description

Muestra tabla comparativa de cuando usar cada funcion de busqueda.

Usage

cie_guide()

Value

tibble con guia comparativa de funciones de busqueda

See Also

cie_search(), cie_lookup(), cie_short()

Other busqueda: cie_describe(), cie_guia_busqueda(), cie_lookup(), cie_search(), cie_short(), cie_siglas()

Examples

cie_guide()

Busqueda exacta por codigo CIE-10

Description

Busqueda exacta por codigo CIE-10

Usage

cie_lookup(
  code,
  expand = FALSE,
  normalize = TRUE,
  full_description = FALSE,
  extract = FALSE,
  check_siglas = FALSE,
  codigo = lifecycle::deprecated(),
  expandir = lifecycle::deprecated(),
  normalizar = lifecycle::deprecated(),
  descripcion_completa = lifecycle::deprecated()
)

Arguments

code

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

expand

Logical, expandir jerarquia completa (default FALSE)

normalize

Logical, normalizar formato de codigos automaticamente (default TRUE)

full_description

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)

codigo

[Deprecated] Use code.

expandir

[Deprecated] Use expand.

normalizar

[Deprecated] Use normalize.

descripcion_completa

[Deprecated] Use full_description.

Value

tibble con codigo(s) matcheado(s)

See Also

cie_search(), cie_norm(), cie_expand()

Other busqueda: cie_describe(), cie_guia_busqueda(), cie_guide(), cie_search(), cie_short(), cie_siglas()

Examples

# Busqueda directa por codigo
cie_lookup("E11.0")


cie_lookup("E110")        # Sin punto
cie_lookup("E11")         # Solo categoria
cie_lookup("E11", expand = TRUE)  # Todos E11.x
# Vectorizado - multiples codigos y formatos
cie_lookup(c("E11.0", "Z00", "I10"))
# Con descripcion completa
cie_lookup("E110", full_description = TRUE)
# Extraer codigo de texto con ruido (solo codigo escalar)
cie_lookup("CIE:E11.0", extract = TRUE)
cie_lookup("E11.0-confirmado", extract = TRUE)
# Buscar por siglas medicas
cie_lookup("IAM", check_siglas = TRUE)
cie_lookup("DM2", 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(codes, codigos = lifecycle::deprecated())

Arguments

codes

Character vector de codigos

codigos

[Deprecated] Use codes.

Value

tibble con columnas: codigo, categoria

See Also

cie_comorbid(), cie_norm()

Other comorbilidades: cie_comorbid()

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_norm(
  codes,
  search_db = TRUE,
  codigos = lifecycle::deprecated(),
  buscar_db = lifecycle::deprecated()
)

cie_normalize(
  codes,
  search_db = TRUE,
  codigos = lifecycle::deprecated(),
  buscar_db = lifecycle::deprecated()
)

Arguments

codes

Character vector de codigos en cualquier formato

search_db

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

codigos

[Deprecated] Use codes.

buscar_db

[Deprecated] Use search_db.

Details

La normalizacion incluye:

  • Conversion a mayusculas

  • Eliminacion de espacios (inicio, fin e internos)

  • Eliminacion de simbolos daga y asterisco (codificacion dual)

  • Conversion de guiones a puntos (I10-0 -> I10.0)

  • Eliminacion de puntos iniciales (.I10 -> I10)

  • Correccion de puntos multiples (E..11 -> E.11)

  • Eliminacion de sufijo X en codigos cortos (I10X -> I10)

  • Preservacion de X en codigos largos (placeholder 7o caracter)

  • Agregado de punto en posicion correcta (E110 -> E11.0)

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

See Also

cie_validate_vector(), cie_expand(), cie_lookup()

Other validacion: cie_expand(), cie_normalizar(), cie_validate_vector()

Examples

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

Listar siglas medicas soportadas

Description

Muestra todas las siglas medicas que pueden usarse en cie_search(). "Sigla" se conserva como termino local (concepto medico chileno) en la columna de salida; el nombre de la funcion usa cie_short por consistencia con el ecosistema R (verbos cortos en ingles).

Usage

cie_short(category = NULL, categoria = lifecycle::deprecated())

Arguments

category

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.

categoria

[Deprecated] Use category.

Value

tibble con columnas: sigla, termino_busqueda, categoria

See Also

cie_search(), cie_lookup()

Other busqueda: cie_describe(), cie_guia_busqueda(), cie_guide(), cie_lookup(), cie_search(), cie_siglas()

Examples

# Ver todas las siglas
cie_short()

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

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

Generar tabla HTML interactiva GT de codigo CIE-10

Description

Muestra la jerarquia de un codigo CIE-10 (categoria + subcategorias) como una tabla gt. Las columnas "Incluye" y "Excluye" pueden aparecer vacias en subcategorias: el catalogo MINSAL/DEIS no puebla esos campos en todos los niveles (suelen estar solo en la categoria de 3 digitos). Para evitar confusion visual, los NA se reemplazan por un guion largo (em dash).

Usage

cie_table(code, codigo = lifecycle::deprecated())

Arguments

code

String codigo (ej. "E11" muestra la jerarquia).

codigo

[Deprecated] Use code.

Value

Objeto de clase gt_tbl (tabla HTML interactiva).

See Also

cie_search(), cie_lookup()

Examples

cie_table("E11")  # Diabetes mellitus tipo 2 completo

Validar vector de codigos CIE-10 formato

Description

Validar vector de codigos CIE-10 formato

Usage

cie_validate_vector(codes, strict = FALSE, codigos = lifecycle::deprecated())

Arguments

codes

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

strict

Logical, validar existencia en DB (default FALSE)

codigos

[Deprecated] Use codes.

Value

Logical vector de la misma longitud que codes. TRUE si el codigo tiene formato CIE-10 valido (y existe en DB si strict = TRUE).

See Also

cie_norm(), cie_expand()

Other validacion: cie_expand(), cie_norm(), cie_normalizar()

Examples

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

Dataset CIE-10 Chile oficial MINSAL/DEIS v2018

Description

Dataset CIE-10 Chile oficial MINSAL/DEIS v2018

Usage

cie10_cl

Format

tibble con 39,877 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).

See Also

cie10_sql(), cie10_disconnect()

Other sql: cie10_disconnect(), cie10_sql()

Examples

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


cie10_clear_cache()  # Elimina cie10.db local

Cerrar conexion pooled SQLite

Description

Cierra la conexion reutilizable al archivo SQLite. Util para liberar el lock del archivo .db.

Usage

cie10_disconnect()

Value

No return value, called for side effects.

See Also

cie10_sql(), cie10_clear_cache()

Other sql: cie10_clear_cache(), cie10_sql()

Examples

# Verificar si hay conexion activa
is.null(ciecl:::.ciecl_env$con)


cie10_disconnect()

Ejecutar consultas SQL sobre CIE-10 Chile

Description

Ejecutar consultas SQL sobre CIE-10 Chile

Usage

cie10_sql(query, close = lifecycle::deprecated())

Arguments

query

String SQL valido SQLite (SELECT/WHERE/JOIN)

close

[Deprecated] Ignorado — la conexion es pooled y se gestiona automaticamente. Sera eliminado en una version futura.

Value

tibble resultado query

See Also

cie10_clear_cache(), cie10_disconnect(), cie_search()

Other sql: cie10_clear_cache(), cie10_disconnect()

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")