Configuración de los valores de $convert-data mediante el Azure Portal

Nota:

Fast Healthcare Interoperability Resources (FHIR®) es una especificación de asistencia sanitaria abierta.

En este artículo, aprenderá a configurar las opciones para $convert-data usar el Azure Portal para convertir los datos de mantenimiento existentes en FHIR R4.

Plantillas predeterminadas

Microsoft publica un conjunto de plantillas liquid de ejemplo predefinidas del proyecto de convertidor de FHIR para admitir la conversión de datos de FHIR. Estas plantillas solo se proporcionan para ayudarle a empezar a trabajar con el flujo de trabajo de conversión de datos. Se recomienda personalizar y hospedar sus propias plantillas que admitan sus propios requisitos de conversión de datos. Para obtener información sobre las plantillas personalizadas, consulte Personalización de plantillas.

Las plantillas predeterminadas se hospedan en un registro de contenedor público y no requieren más configuraciones ni opciones para el servicio FHIR. Para acceder y usar las plantillas predeterminadas para las solicitudes de conversión, asegúrese de que, al invocar la $convert-data operación, el templateCollectionReference parámetro de solicitud tiene el valor adecuado en función del tipo de entrada de datos.

Advertencia

Las plantillas predeterminadas se publican en la licencia MIT y no son compatibles con Soporte técnico de Microsoft.

Las plantillas predeterminadas solo se proporcionan para ayudarle a empezar a trabajar con el flujo de trabajo de conversión de datos. Estas plantillas predeterminadas no están pensadas para producción y pueden cambiar cuando Microsoft publica actualizaciones para el servicio FHIR. Para tener un comportamiento coherente de conversión de datos en diferentes versiones del servicio FHIR, debe hacer lo siguiente:

  1. Hospede su propia copia de las plantillas en una instancia de Azure Container Registry (ACR).
  2. Registre las plantillas en el servicio FHIR.
  3. Use las plantillas registradas en las llamadas API.
  4. Compruebe que el comportamiento de conversión cumple sus requisitos.

Para obtener más información sobre cómo hospedar sus propias plantillas, consulte Hospedaje de plantillas propias.

Personalización de plantillas

Puede usar la extensión FHIR Converter Visual Studio Code para personalizar plantillas según sus requisitos específicos. La extensión proporciona una experiencia de edición interactiva y facilita la descarga de plantillas publicadas por Microsoft y datos de ejemplo.

Nota:

La extensión FHIR Converter para Visual Studio Code está disponible para las plantillas HL7v2, C-CDA y JSON Liquid. Actualmente no se admiten plantillas de FHIR STU3 a FHIR R4 Liquid.

Las plantillas predeterminadas proporcionadas se pueden usar como punto de partida base si es necesario, además de las que se pueden agregar las personalizaciones. Al realizar actualizaciones en las plantillas, considere la posibilidad de seguir estas directrices para evitar resultados de conversión no deseados. La plantilla debe crearse de forma que genere una estructura válida para un recurso de agrupación de FHIR.

Por ejemplo, las plantillas liquid deben tener un formato como el código siguiente:

<liquid assignment line 1 >
<liquid assignment line 2 >
.
.
<liquid assignment line n >	          
{
    "resourceType": "Bundle",
    "type": "xxx",
    <...liquid code...>
    "identifier":
    {
        "value":"xxxxx",
    },
    "id":"xxxx",
    "entry": [
	<...liquid code...>
   ]
}

La plantilla general sigue la estructura y las expectativas de un recurso de agrupación de FHIR, con el JSON del lote de FHIR que se encuentra en la raíz del archivo. Si decide agregar campos personalizados a la plantilla que no forma parte de la especificación de FHIR para un recurso de agrupación, la solicitud de conversión podría seguir siendo correcta. Sin embargo, el resultado convertido podría tener una salida inesperada y no produciría un recurso de agrupación de FHIR válido que se pueda conservar en el servicio FHIR tal como está.

Por ejemplo, considere el siguiente código:

<liquid assignment line 1 >
<liquid assignment line 2 >
.
.
<liquid assignment line n >	          
{
   “customfield_message”: “I will have a message here”,
    “customfield_data”: {
      "resourceType": "Bundle",
      "type": "xxx",
      <...liquid code...>
      "identifier":
      {
        "value":"xxxxx",
      },
       "id":"xxxx",
       "entry": [
	  <...liquid code...>
    ]
  }
}

En el código de ejemplo, dos campos customfield_message personalizados de ejemplo y customfield_data que no son propiedades FHIR según la especificación y el recurso de agrupación de FHIR parecen estar anidados en customfield_data (es decir, el JSON del lote de FHIR no está en la raíz del archivo). Esta plantilla no se alinea con la estructura esperada en torno a un recurso de agrupación de FHIR. Como resultado, la solicitud de conversión podría realizarse correctamente con la plantilla proporcionada. Sin embargo, el resultado convertido devuelto podría tener una salida inesperada (debido a que se omiten determinados pasos posteriores al procesamiento de la conversión). No se consideraría un paquete de FHIR válido (ya que está anidado y tiene propiedades de especificación que no son FHIR) e intenta conservar el resultado en el servicio FHIR produce un error.

Hospedar sus propias plantillas

Se recomienda hospedar su propia copia de plantillas en una instancia de Azure Container Registry (ACR). ACR se puede usar para hospedar las plantillas personalizadas y admitir el control de versiones.

Hospedar sus propias plantillas y usarlas para $convert-data las operaciones implica los siete pasos siguientes:

  1. Crear una instancia de Azure Container Registry
  2. Inserción de las plantillas en la instancia de Azure Container Registry
  3. Habilitación de la identidad administrada de Azure en la instancia del servicio FHIR
  4. Proporcionar acceso Azure Container Registry a la identidad administrada del servicio FHIR
  5. Registro del servidor Azure Container Registry en el servicio FHIR
  6. Configuración del firewall de Azure Container Registry para el acceso seguro
  7. Comprobación de la operación $convert-data

Paso 1: Crear una instancia de Azure Container Registry

Lea introducción a los registros de contenedor en Azure y siga las instrucciones para crear su propia instancia de ACR. Se recomienda colocar la instancia de ACR en el mismo grupo de recursos que el servicio FHIR.

Paso 2: Inserción de las plantillas en la instancia de Azure Container Registry

Después de crear una instancia de ACR, puede usar el comando FHIR Converter: Push Templates en la extensión FHIR Converter para insertar las plantillas personalizadas en la instancia de ACR. Como alternativa, puede usar la herramienta CLI de administración de plantillas para tal fin.

Para mantener diferentes versiones de plantillas personalizadas en la Azure Container Registry, puede insertar la imagen que contiene las plantillas personalizadas en la instancia de ACR con diferentes etiquetas de imagen.

Para hacer referencia a versiones de plantilla específicas en la API, asegúrese de usar el nombre exacto de la imagen y la etiqueta que contiene la plantilla con versiones que se va a usar. Para el parámetro templateCollectionReferencede API , use el nombre de imagen y la etiqueta adecuados (por ejemplo: <RegistryServer>/<imageName>:<imageTag>).

Paso 3: Habilitación de la identidad administrada de Azure en la instancia del servicio FHIR

  1. Vaya a la instancia del servicio FHIR en el Azure Portal y, a continuación, seleccione la opción Identidad.

  2. Cambie el estado a Activado y seleccione Guardar para habilitar la identidad administrada por el sistema en el servicio FHIR.

Captura de pantalla del panel FHIR para habilitar la característica de identidad administrada.

Paso 4: Proporcionar Azure Container Registry acceso a la identidad administrada del servicio FHIR

  1. En el grupo de recursos, vaya a la instancia de Container Registry y seleccione la pestaña Control de acceso (IAM).

  2. Seleccione Agregar>Agregar asignación de roles. Si la opción Agregar asignación de roles no está disponible, pida al administrador de Azure que le conceda los permisos para realizar esta tarea.

    Captura de pantalla del panel Control de acceso y el menú

  3. En el panel Rol , seleccione el rol AcrPull .

    Captura de pantalla que muestra el panel Agregar asignación de roles.

  4. En la pestaña Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.

  5. Seleccione su suscripción a Azure.

  6. Seleccione Identidad administrada asignada por el sistema y, a continuación, seleccione el servicio FHIR con el que está trabajando.

  7. En la pestaña Revisión y asignación, seleccione Revisión y asignación para asignar el rol.

Para más información sobre la asignación de roles en Azure Portal, consulte Roles integrados de Azure.

Paso 5: Registrar el servidor Azure Container Registry en el servicio FHIR

Puede registrar el servidor de ACR mediante el Azure Portal.

Para utilizar el Portal de Azure:

  1. En la instancia del servicio FHIR, en Transferir y transformar datos, seleccione Artefactos. Se muestra una lista de servidores de Azure Container Registry registrados actualmente.

  2. Seleccione Agregar y, después, en la lista desplegable, seleccione el servidor del Registro.

  3. Seleccione Guardar.

    Captura de pantalla de la pantalla Artefactos para registrar un Azure Container Registry con un servicio FHIR.

Puede registrar hasta 20 servidores ACR en el servicio FHIR.

Nota:

El registro puede tardar unos minutos en surtir efecto.

Paso 6: Configuración del firewall de Azure Container Registry para el acceso seguro

Hay muchos métodos para proteger ACR mediante el firewall integrado en función de su caso de uso concreto.

Nota:

El servicio FHIR se ha registrado como un servicio de Microsoft de confianza con Azure Container Registry.

Paso 7: Comprobar la operación $convert-data

Realice una llamada a la $convert-data operación especificando la referencia de plantilla en el templateCollectionReference parámetro :

<RegistryServer>/<imageName>@<imageDigest>

Debe recibir una bundle respuesta que contenga los datos de mantenimiento convertidos en el formato FHIR.

Pasos siguientes

En este artículo, ha aprendido a configurar las opciones para $convert-data que empiecen a convertir varios formatos de datos de mantenimiento en el formato FHIR.

Para obtener información general sobre $convert-data, consulte

Para obtener información sobre cómo solucionar problemas $convert-data, consulte

Para obtener información sobre las preguntas más frecuentes (P+F) para $convert-data, consulte

FHIR® es una marca registrada de Health Level Seven International, registrada en la Oficina de Patentes y Marcas Registradas de Estados Unidos, y se usa con su permiso.