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
| Caracteristica | GoFHIR Validator | HL7 Validator |
|---|---|---|
| Lenguaje | Go | Java |
| Tiempo de Inicio | ~2-3s | ~10-15s |
| Uso de Memoria | ~200 MB | ~600 MB+ |
| FHIR R4 | Si | Si |
| FHIR R4B | Si | Si |
| FHIR R5 | Si | Si |
| Perfiles | Si | Si |
| Terminologia | Si (local) | Si (+ tx server) |
| FHIRPath | Si | Si |
| Extensiones | Si | Si |
| Slicing | Si | Si |
| Validacion por Lotes | Si (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-validator | HL7 validator | Descripcion |
|---|---|---|
-version r4 | -version 4.0.1 | Version FHIR |
-ig <url> | -ig <url> | Perfil / Guia de Implementacion |
-output json | -output | Formato de salida |
-tx n/a | -tx n/a | Deshabilitar validacion de terminologia |
-strict | – | Tratar 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.jsonCuando 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):
| Escenario | GoFHIR | HL7 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