Saltar al contenido
Referencia CLI

Referencia CLI

La herramienta CLI gofhir-validator valida recursos FHIR contra StructureDefinitions, perfiles y guias de implementacion. Fue disenada para ser compatible con el HL7 FHIR Validator, ofreciendo flags familiares y salida de validacion equivalente.

Sinopsis

gofhir-validator [options] <file>...

Leer desde la entrada estandar:

cat resource.json | gofhir-validator -

Opciones

OpcionDescripcionDefault
-versionVersion de FHIR (4.0.1, 4.3.0, 5.0.0)4.0.1
-igURL(s) de perfil contra los cuales validar (separados por coma)
-packagePaquete(s) FHIR adicional(es) a cargar desde el cache (name#version)
-package-fileArchivo(s) de paquete .tgz local(es) (separados por coma)
-package-urlURL(s) remota(s) de paquete .tgz (separadas por coma)
-outputFormato de salida: text o jsontext
-strictTratar warnings como erroresfalse
-tx n/aDeshabilitar validacion de terminologiafalse
-quietMostrar solo errores y warningsfalse
-verboseMostrar salida detalladafalse
-vMostrar version
-helpMostrar ayuda

Codigos de Salida

CodigoSignificado
0Valido – no se encontraron errores
1Invalido – se encontraron uno o mas errores
2Error del sistema (archivos faltantes, opciones incorrectas, paquete no encontrado)

Variables de Entorno

VariableDescripcion
FHIR_PACKAGE_PATHRuta personalizada al cache de paquetes FHIR (default: ~/.fhir/packages/)

Ejemplos

Validacion Basica

Validar un solo archivo:

gofhir-validator patient.json

Validar multiples archivos:

gofhir-validator patient.json observation.json condition.json

Validar con patrones glob:

gofhir-validator resources/*.json

Leer desde stdin:

cat patient.json | gofhir-validator -

Pipe desde otro comando:

curl -s https://example.com/fhir/Patient/123 | gofhir-validator -

Especificacion de Version

Validar contra FHIR R5:

gofhir-validator -version 5.0.0 patient.json

Validar contra FHIR R4B:

gofhir-validator -version 4.3.0 patient.json

Validacion con Perfiles

Validar contra un solo perfil:

gofhir-validator -ig http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient patient.json

Validar contra multiples perfiles:

gofhir-validator -ig "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient,http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips" patient.json

Carga de Paquetes

Cargar un paquete desde el cache NPM:

gofhir-validator -package hl7.fhir.us.core#6.1.0 \
    -ig http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient \
    patient.json

Cargar un paquete desde un archivo .tgz local:

gofhir-validator -package-file ./my-custom-ig.tgz patient.json

Cargar un paquete desde una URL remota:

gofhir-validator -package-url https://packages.simplifier.net/hl7.fhir.us.core/6.1.0 patient.json

Combinar multiples fuentes de paquetes:

gofhir-validator \
    -package hl7.fhir.us.core#6.1.0 \
    -package-file ./custom-ig.tgz \
    -package-url https://example.com/another-ig.tgz \
    -ig http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient \
    patient.json

Salida JSON

Producir salida en formato JSON (util para pipelines CI/CD):

gofhir-validator -output json patient.json

Modo Estricto

Tratar todos los warnings como errores:

gofhir-validator -strict patient.json

Deshabilitar Validacion de Terminologia

Omitir verificaciones de terminologia cuando no hay un servidor de terminologia disponible:

gofhir-validator -tx n/a patient.json

Integracion CI/CD – Usa -output json combinado con jq para analizar los resultados de validacion programaticamente. Configura -tx n/a si tu entorno CI no tiene acceso a un servidor de terminologia. El codigo de salida (0 para valido, 1 para invalido) se integra directamente con las condiciones de fallo de los pipelines CI.

gofhir-validator -output json -tx n/a patient.json | jq '.[0].valid'

Explorar

Última actualización