Arma un ViewDefinition con una columna por expresión FHIRPath, sin
escribir JSON. Para vistas con varios niveles (select anidados,
unionAll, repeat) escribe el JSON o la lista completa y léela con
vista_leer().
Usage
vista_crear(
recurso,
columnas,
por_cada = NULL,
incluir_vacios = FALSE,
columnas_recurso = c(id = "getResourceKey()"),
where = NULL,
constantes = NULL,
nombre = NULL
)Arguments
- recurso
Tipo de recurso FHIR, por ejemplo
"Patient".- columnas
Vector de caracteres con nombre: el nombre es el de la columna y el valor, la expresión FHIRPath.
- por_cada
Expresión FHIRPath opcional (
forEach): se genera una fila por cada elemento que devuelve, y las columnas se evalúan sobre él.- incluir_vacios
Con
por_cada, si esTRUEusaforEachOrNull: los recursos sin elementos dan una fila conNAen vez de no aparecer.- columnas_recurso
Vector de caracteres con nombre, como
columnas, con columnas que se evalúan sobre el recurso (no sobre cada elemento depor_cada). Por defecto, la clave del recurso en la columnaid.- where
Vector de caracteres con condiciones FHIRPath; solo se incluyen los recursos que las cumplen todas.
- constantes
Lista con nombre de constantes, que las expresiones usan como
%nombre.- nombre
Nombre de la vista (opcional).
Examples
vista_crear("Patient", c(sexo = "gender", nacimiento = "birthDate"))
#> <ViewDefinition>
#> Recurso: Patient
#> Columnas (3): id, sexo, nacimiento
# Una fila por cada nombre del paciente
vista_crear("Patient", c(apellido = "family", nombres = "given.join(' ')"),
por_cada = "name")
#> <ViewDefinition>
#> Recurso: Patient
#> Columnas (3): id, apellido, nombres
# Observaciones de presión arterial de un paciente
vista_crear(
"Observation",
c(paciente = "subject.getReferenceKey(Patient)",
valor = "value.ofType(Quantity).value"),
where = "code.coding.where(code = %codigo_pa).exists()",
constantes = list(codigo_pa = "85354-9")
)
#> <ViewDefinition>
#> Recurso: Observation
#> Columnas (3): id, paciente, valor
#> Condiciones: code.coding.where(code = %codigo_pa).exists()
