Ejecuta las pruebas oficiales de conformidad de SQL on FHIR
(FHIR/sql-on-fhir.js, carpeta
tests/) con vista_ejecutar() e informa cuántas pasan.
Usage
vista_conformidad(
archivos = NULL,
descargar = FALSE,
ref = "main",
directorio = NULL,
informe = NULL,
motor = c("v8", "duckdb")
)Arguments
- archivos
Nombres de los archivos de pruebas que se ejecutan (por ejemplo
"basic.json"). Por defecto, todos.- descargar
Si es
TRUE, descarga el banco de GitHub en lugar de usar la copia incluida. Necesita conexión a internet.- ref
Rama, etiqueta o commit de
FHIR/sql-on-fhir.jsque se descarga cuandodescargar = TRUE.- directorio
Carpeta con los archivos JSON del banco, si se tiene una copia propia. Tiene prioridad sobre
descargar.- informe
Ruta opcional de un archivo JSON donde se guarda el resultado en el formato oficial de informes de SQL on FHIR (el que usa la página de implementaciones).
- motor
Motor con el que se ejecutan las vistas:
"v8"(por defecto,vista_ejecutar()) o"duckdb"(vista_ejecutar_duckdb(), que necesita los paquetes DBI y duckdb).
Value
Un data.frame de clase fhir_conformidad con una fila por
prueba: archivo, prueba, perfil, aprobada (lógico) y detalle
(motivo de la falla). Al imprimirlo muestra el resumen por perfil y las
pruebas que fallan.
Details
Cada prueba aplica un ViewDefinition a unos recursos y compara el
resultado con las filas esperadas (sin importar su orden, como el
ejecutor oficial), con los nombres de columnas esperados o con un error
esperado. Las pruebas tienen un perfil: shareable (las que debe cumplir
toda implementación) o experimental.
El paquete incluye una copia del banco (ver FUENTE en
system.file("sof-tests", package = "fhirviews")), de modo que no hace
falta internet. Con descargar = TRUE se usa la versión más reciente.
Examples
vista_conformidad("basic.json")
#> Banco de pruebas de SQL on FHIR (FHIR/sql-on-fhir.js@6677c20, 2026-07-09)
#> fhirviews 0.3.0 · fhirpath.js 5.2.1
#>
#> shareable 11 de 11 aprobadas
#> total 11 de 11 aprobadas
# \donttest{
res <- vista_conformidad()
table(res$perfil, res$aprobada)
#>
#> FALSE TRUE
#> experimental 4 7
#> shareable 0 133
# }
