Saltar al contenido

Comparacion con HL7 Validator

El GoFHIR Validator busca producir resultados de validacion equivalentes al HL7 FHIR Validator aprovechando las caracteristicas de rendimiento de Go. Esta pagina compara ambas herramientas en caracteristicas, rendimiento y uso del CLI.

Comparacion de Caracteristicas

CaracteristicaGoFHIR ValidatorHL7 Validator
LenguajeGoJava
Tiempo de Inicio~2-3s~10-15s
Uso de Memoria~200 MB~600 MB+
FHIR R4SiSi
FHIR R4BSiSi
FHIR R5SiSi
PerfilesSiSi
TerminologiaSi (local)Si (+ tx server)
FHIRPathSiSi
ExtensionesSiSi
SlicingSiSi
Validacion por LotesSi (concurrente)Si

Equivalencia de Flags CLI

Ambas herramientas siguen convenciones de linea de comandos similares. La tabla a continuacion mapea los flags mas comunes:

gofhir-validatorHL7 validatorDescripcion
-version r4-version 4.0.1Version FHIR
-ig <url>-ig <url>Perfil / Guia de Implementacion
-output json-outputFormato de salida
-tx n/a-tx n/aDeshabilitar validacion de terminologia
-strictTratar warnings como errores

Ejemplos Lado a Lado

# Validacion basica
gofhir-validator patient.json

# Validar contra US Core
gofhir-validator -ig http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient patient.json

# Deshabilitar chequeos de terminologia
gofhir-validator -tx n/a patient.json

# Salida JSON
gofhir-validator -output json patient.json

Cuando Elegir GoFHIR Validator

El GoFHIR Validator es una opcion solida cuando:

  • El tiempo de inicio importa – En pipelines CI/CD, funciones serverless o flujos de trabajo CLI donde el inicio de 10-15 segundos del validador Java es un cuello de botella.
  • La memoria es limitada – En entornos containerizados o despliegues edge donde ~200 MB es preferible a ~600 MB+.
  • Integracion con el ecosistema Go – Cuando tu aplicacion esta escrita en Go y quieres incorporar la validacion como libreria sin dependencias de JVM.
  • Validacion concurrente por lotes – GoFHIR aprovecha el modelo de concurrencia de Go para validacion paralela eficiente de grandes conjuntos de recursos.
  • Despliegue simple – Un unico binario estatico sin dependencias de runtime, comparado con requerir una instalacion de JVM.

El HL7 Validator sigue siendo la mejor opcion cuando:

  • Se necesita cobertura completa de versiones FHIR (R2, R3, R4, R4B, R5).
  • Se requiere integracion con servidor de terminologia remoto (-tx) para validacion de sistemas de codigos externos.
  • La conformidad de referencia es critica – el HL7 Validator es la implementacion de referencia oficial.
Objetivo de conformidad. El GoFHIR Validator busca igualar la salida del HL7 Validator para todos los escenarios de validacion FHIR R4, R4B y R5. Si encuentras un caso donde los dos validadores difieren, por favor abre un issue para que podamos investigar y alinear el comportamiento.

Benchmarks de Rendimiento

Rendimiento tipico en una maquina moderna (Apple M-series o x86-64 equivalente):

EscenarioGoFHIRHL7 Validator
Inicio frio + un recurso~2-3s~10-15s
Validacion en caliente (un recurso)<50ms<100ms
Lote de 1,000 recursos~8-12s~25-40s
Memoria (idle despues de carga)~200 MB~600 MB+

Estos numeros son aproximados y varian segun la maquina, la complejidad del recurso y la profundidad del perfil. Ejecuta tus propios benchmarks con datos representativos para comparaciones precisas.

Última actualización