
Expandir un ValueSet en un servidor de terminología ($expand)
Source:R/terminologia.R
tx_expandir.RdPide a un servidor de terminología FHIR (por ejemplo
https://tx.fhir.org/r4, un Snowstorm o un HAPI con terminologías
cargadas) la lista de códigos de un ValueSet con la operación
ValueSet/$expand. Las expansiones grandes se descargan por páginas
(parámetros offset y count), así que sirve para conjuntos de miles de
códigos, como todos los diagnósticos de diabetes de la CIE-10 o de
SNOMED CT.
Usage
tx_expandir(
con,
valueset,
filtro = NULL,
max = Inf,
tamano_pagina = 1000L,
parametros = list()
)Arguments
- con
Conexión al servidor de terminología creada con
fhir_conectar().- valueset
El
ValueSet: su URL canónica (con versión opcional,"http://.../ValueSet/x|2.0"), o el recurso completo como lista de R, texto JSON o ruta a un archivo JSON (útil para unValueSetpropio que no está publicado en el servidor; por ejemplo, uno concompose.includey un filtrois-ade SNOMED CT).- filtro
Texto opcional para filtrar los códigos por su nombre (parámetro
filter; cada servidor decide cómo lo aplica).- max
Número máximo de códigos que se descargan.
- tamano_pagina
Códigos que se piden en cada petición.
- parametros
Lista con nombre de otros parámetros de
$expand, por ejemplolist(displayLanguage = "es", activeOnly = TRUE).
Value
Un data.frame con una fila por código y las columnas system,
code, display y, si el servidor la informa, version. Las
jerarquías (contains anidados) se aplanan y se omiten los códigos
abstractos (abstract = true), que no se usan para codificar. Los
atributos valueset (URL), total (total que informa el servidor) y
expansion (datos de la expansión sin los códigos) documentan de dónde
salió la lista. Se puede pasar a vista_con_valueset().
Details
Las funciones de terminología llevan el prefijo tx_ (abreviatura de
terminology que usa la comunidad FHIR, como en tx.fhir.org) para
distinguirlas de las que trabajan con recursos clínicos (fhir_*) y con
vistas (vista_*). Usan la misma conexión de fhir_conectar(), con su
token o su autenticación SMART on FHIR, y los mismos errores con el
OperationOutcome del servidor.
Examples
tx <- fhir_conectar("https://tx.fhir.org/r4", panel = FALSE)
# Un ValueSet publicado, por su URL canónica
sexo <- tx_expandir(tx, "http://hl7.org/fhir/ValueSet/administrative-gender")
sexo
#> system code display
#> 1 http://hl7.org/fhir/administrative-gender male Male
#> 2 http://hl7.org/fhir/administrative-gender female Female
#> 3 http://hl7.org/fhir/administrative-gender other Other
#> 4 http://hl7.org/fhir/administrative-gender unknown Unknown
# Un ValueSet propio: los descendientes de "diabetes mellitus" en SNOMED CT
diabetes <- tx_expandir(tx, list(
resourceType = "ValueSet",
compose = list(include = list(list(
system = "http://snomed.info/sct",
filter = list(list(property = "concept", op = "is-a",
value = "73211009"))
)))
), max = 200)
head(diabetes)
#> system code
#> 1 http://snomed.info/sct 73211009
#> 2 http://snomed.info/sct 2751001
#> 3 http://snomed.info/sct 4783006
#> 4 http://snomed.info/sct 5368009
#> 5 http://snomed.info/sct 5969009
#> 6 http://snomed.info/sct 8801005
#> display
#> 1 Diabetes mellitus
#> 2 Fibrocalculous pancreatic diabetes
#> 3 Maternal diabetes mellitus with hypoglycemia affecting fetus OR newborn
#> 4 Drug-induced diabetes mellitus
#> 5 Diabetes mellitus associated with genetic syndrome
#> 6 Secondary diabetes mellitus