La especificación FHIR v5.0.0 ofrece un amplio espectro de recursos FHIR (157 exactamente), APIs y marcos de trabajo, pero apenas impone requisitos obligatorios. Por ejemplo, todos los elementos del recurso Patient son opcionales. Esto significa, en la práctica, que se puede crear un recurso Patient sin ningún dato. Sin embargo, esto resulta completamente inviable en la realidad.
Por ello, la especificación necesita con frecuencia ser restringida y ampliada. Eso se logra con la ayuda de las Implementation Guides (IGs), que limitan y extienden las APIs, los recursos y las terminologías para adaptarse a casos de uso específicos.
Además de las IGs regionales o nacionales, como la US Core IG para Estados Unidos y la FHIR IG del NHS para el Reino Unido, también existen IGs específicas por dominio que orientan el uso de los recursos FHIR en ámbitos sanitarios concretos o para casos de uso determinados, como mCODE para oncología, las IGs del Proyecto Argonaut para el intercambio de datos entre proveedores y pagadores, la QI Core IG para representar medidas de calidad mediante FHIR, las IGs DAF para permitir a los pacientes acceder a sus datos de salud, la IHE Mobile Access to Health Documents (MHD) IG para compartir documentos entre organizaciones, y muchas más. Además, las organizaciones sanitarias pueden crear sus propias IGs para satisfacer requisitos o flujos de trabajo específicos.
Con más de 700 IGs disponibles, desempeñan un papel fundamental a la hora de definir cómo debe comportarse su servidor FHIR. Pero, ¿cómo se carga una IG en un servidor FHIR y se pone en funcionamiento? ¡Ahí es donde la cosa se complica!
En esta entrada del blog, exploraremos 4 formas posibles de configurar IGs en la plataforma FHIR Aidbox. Esto incluye cargar una IG:
- Desde el registro de paquetes de Aidbox (package registry)
- Como un paquete NPM de FHIR
- Usando la FHIR CRUD API
- Usando la utilidad UploadFIG
Exploremos qué es, cómo funciona y por qué cada método puede adaptarse a sus necesidades.
El reto
Cargar IGs en un servidor FHIR puede parecer complejo, ya que la especificación FHIR aún no proporciona instrucciones específicas al respecto. Los implementadores se enfrentan a varios desafíos, como:
- ¿Qué registro de paquetes debo usar?
- ¿Puedo confiar en la calidad del paquete npm de FHIR y su manifiesto?
- ¿Cómo resuelvo las dependencias entre paquetes?
- ¿Y qué hago con los conflictos de canonicales?
Desde el punto de vista del usuario, los métodos para cargar IGs varían según el servidor, con opciones como referenciar un paquete desde un registro o crear recursos manualmente. Normalmente, los servidores solo admiten un método, y estos métodos suelen ser mutuamente excluyentes.
Existen iniciativas dentro de la comunidad FHIR para estandarizar este proceso, como la utilidad UploadFIG de Brian Postlethwaite, ingeniero de software sénior en Microsoft. Sin embargo, estos esfuerzos están aún en sus primeras etapas y no todos los servidores FHIR los admiten.
En esta versión de Aidbox, presentamos todas las formas posibles de abordar estos desafíos. Revisemos cada una de ellas y exploremos sus ventajas y desventajas.
En primer lugar, activemos el nuevo aspecto de la interfaz de usuario, disponible también en esta versión. Para más información sobre la nueva UI, vea el vídeo en nuestro canal de YouTube.

1. Cargar una IG desde el registro de paquetes de Aidbox
Esta es la forma más sencilla de habilitar una IG específica en Aidbox. Simplemente busque la IG requerida en la interfaz de usuario y selecciónela. Aidbox descargará la IG y sus dependencias, y la habilitará. El contenido subyacente de la implementation guide proviene de nuestro registro de paquetes, que replica packages2.fhir.org con sincronización diaria para garantizar que los paquetes estén procesados, normalizados y optimizados para su uso por parte de Aidbox. Para obtener más información sobre los paquetes disponibles en el registro de Aidbox, consulte esta página.

Ventajas: Puede seleccionar la IG que necesita y esta cargará automáticamente todas las dependencias.
Desventajas: Si la IG que necesita no está disponible en packages2.fhir.org, tampoco estará en nuestro registro, lo que puede ser un problema.
👉 Haga clic aquí para leer más en la documentación de Aidbox.
¿Y si la IG que necesita no está en el registro de paquetes de Aidbox? No hay problema; a continuación se presentan métodos alternativos para cargar una IG en Aidbox.
Para explorar este método de primera mano, pruebe la versión gratuita de Aidbox. Proporciona un entorno completo para probar todas las funcionalidades sin limitaciones, lo que la hace ideal para el desarrollo y la experimentación.
2. Cargar una IG como paquete NPM de FHIR
Para este enfoque, primero necesita un paquete NPM de FHIR válido en formato tar.gz (tarball). Puede obtener este artefacto desde Simplifier.net, generarlo mediante una compilación con SUSHI o IG Publisher, o crearlo manualmente añadiendo un manifiesto de paquete a sus recursos de conformidad y colocándolos en un archivo tar.gz. Para más información sobre los paquetes NPM de FHIR y los manifiestos de paquete, consulte la especificación de paquetes NPM de FHIR.
Por ejemplo, para obtener el paquete NPM de FHIR correspondiente a la US Core Implementation Guide, ejecute el siguiente comando:
npm --registry https://packages.simplifier.net view
hl7.fhir.us.core@6.1.0
La salida contendrá un enlace a un archivo tarball. Puede proporcionar este enlace a Aidbox o cargar el archivo tarball descargado. Aidbox procesará el enlace o el archivo proporcionado, obtendrá del registro de paquetes de Aidbox los paquetes de los que depende el paquete cargado, y habilitará esta IG en Aidbox.
Puede que se pregunte: «¿Y si mi IG referencia otra IG como dependencia que tampoco está en el registro de paquetes de Aidbox?». No se preocupe, puede cargar varios paquetes NPM de FHIR a la vez proporcionando múltiples enlaces o archivos.

Ventajas: Si una IG (o varias) no está publicada en registros públicos, aún puede cargarla mediante un enfoque sencillo con cierta preparación previa.
Desventajas: Requiere cierta preparación, incluida la obtención del artefacto del paquete NPM de FHIR.
👉 Haga clic aquí para leer más en la documentación de Aidbox.
Otra opción es crear manualmente el contenido de la IG, como StructureDefinitions y SearchParameters.
Para explorar este método de primera mano, pruebe la versión gratuita de Aidbox. Proporciona un entorno completo para probar todas las funcionalidades sin limitaciones, lo que la hace ideal para el desarrollo y la experimentación.
3. Cargar una IG usando la FHIR CRUD API
Puede cargar fácilmente sus StructureDefinitions o SearchParameters utilizando la FHIR CRUD API de Aidbox. Este tutorial ofrece ejemplos claros de cómo utilizar este método. Cabe destacar que, si su perfil referencia perfiles externos, como us-core-patient como base, deberá precargar us-core en Aidbox. Del mismo modo, cuando trabaje con una cadena de recursos StructureDefinition interdependientes, asegúrese de publicarlos en el orden correcto.
Ventajas: Uso sencillo de la FHIR CRUD API para la carga.
Desventajas: Es necesario precargar las IGs externas si sus perfiles dependen de ellas.
👉 Haga clic aquí para leer más en la documentación de Aidbox.
Esto nos lleva a un efecto interesante: cuando un servidor FHIR admite la creación en tiempo real de recursos de conformidad, automáticamente admite también la utilidad UploadFIG. Este es el último método de carga de IGs que queremos tratar.
4. Cargar una IG usando la utilidad UploadFIG
UploadFIG, creada por Brian Postlethwaite, utiliza la FHIR CRUD API para los recursos de conformidad. Prepara los paquetes, obtiene las dependencias, prevalida los recursos de conformidad y realiza otras tareas antes de publicarlos en el servidor FHIR. Para obtener instrucciones sobre cómo usar esta utilidad, consulte este tutorial en nuestra documentación.
Ventajas: UploadFIG gestiona gran parte del trabajo en segundo plano, lo que le permite simplemente proporcionar el identificador del paquete para cargarlo en el servidor FHIR.
Desventajas: Se encuentra en una fase temprana de desarrollo, no está ampliamente adoptada y requiere que la plataforma .NET esté instalada.
Domine las mejores prácticas de configuración de IGs con Aidbox
En esta entrada del blog, exploramos 4 formas eficaces de configurar IGs en Aidbox. Estos métodos incluyen cargar una IG desde el registro de paquetes de Aidbox, como paquete NPM de FHIR, usando la FHIR CRUD API y utilizando la utilidad UploadFIG. Cada enfoque tiene sus propias ventajas y desventajas, lo que proporciona flexibilidad para adaptarse a diversas necesidades.
Consejos:
- Use el registro de paquetes de Aidbox para el método más sencillo y automatizado.
- Cargue paquetes NPM de FHIR para mayor control y flexibilidad.
- Aproveche la FHIR CRUD API para la creación manual de contenido de IGs.
- Pruebe la utilidad UploadFIG para una gestión integral de paquetes.
Bien, ya tiene un plan; el siguiente paso es llevarlo a la práctica. Pruebe estos métodos en la plataforma FHIR Aidbox y optimice su proceso de implementación de IGs.
¿Listo para dominar la configuración de IGs? Pruébelo hoy en Aidbox.
Autor: Evgeny Mukha, Ingeniero de software full-stack en Health Samurai





