Definir configurações de importação em massa

O serviço FHIR dá suporte a $import operação que permite importar dados para o serviço FHIR de uma conta de armazenamento. A importação divide os arquivos de entrada em vários fluxos de dados para obter o desempenho ideal e não garante a ordem na qual os recursos são processados. Há dois modos de $import com suporte hoje-

  • O modo inicial destina-se a carregar recursos FHIR em um servidor FHIR vazio. O modo inicial dá suporte apenas a operações CREATE e, quando habilitado, bloqueia gravações de API no servidor FHIR.

  • O modo incremental é otimizado para carregar dados no servidor FHIR periodicamente e não bloqueia gravações por meio da API. Ele também permite que você carregue lastUpdated e versionId do meta de recurso (se presente no JSON do recurso).

Neste documento, percorremos as três etapas usadas para definir as configurações de importação no serviço FHIR:

  1. Habilite a identidade gerenciada no serviço FHIR.
  2. Crie uma conta de armazenamento do Azure ou use uma conta de armazenamento existente e conceda permissões ao serviço FHIR para acessá-la.
  3. Defina a configuração de importação no serviço FHIR.

Etapa 1: Habilitar a identidade gerenciada no serviço FHIR

A primeira etapa é habilitar a identidade gerenciada em todo o sistema no serviço. Isso será usado para conceder acesso ao serviço FHIR à conta de armazenamento. Para obter mais informações sobre identidades gerenciadas no Azure, consulte Sobre identidades gerenciadas para recursos do Azure.

Siga as etapas para habilitar a identidade gerenciada no serviço FHIR

  1. Navegue até o serviço FHIR no portal do Azure.
  2. Selecione a folha Identidade .
  3. Selecione a opção Status como Ativado e, em seguida, selecione Salvar.
  4. Selecione Sim para habilitar a identidade gerenciada para o serviço FHIR.

Depois que a identidade do sistema tiver sido habilitada, você verá um valor guid atribuído pelo sistema.

Habilitar Identidade Gerenciada

Etapa 2: Atribuir permissões ao serviço FHIR para acessar a conta de armazenamento

Siga as etapas abaixo para atribuir permissões para acessar a conta de armazenamento

  1. Navegue até o Controle de Acesso (IAM) na conta de armazenamento.
  2. Selecione Adicionar atribuição de função. Durante essa etapa, se a opção adicionar atribuição de função estiver esmaeecido, você precisará pedir ao administrador do Azure para atribuir permissão para executar esta etapa. Para obter mais informações sobre como atribuir funções no portal do Azure, consulte Funções internas do Azure.
  3. Adicione a função Colaborador de Dados de Blob de Armazenamento ao serviço FHIR.
  4. Clique em Salvar.

Captura de tela da página Adicionar atribuição de função.

Agora você está pronto para selecionar a conta de armazenamento para importação.

Etapa 3: Definir a configuração de importação do serviço FHIR

Observação

Se você não atribuiu permissões de acesso de armazenamento ao serviço FHIR, as operações de importação ($import) falharão.

Para esta etapa, você precisa obter a URL da solicitação e o corpo JSON. Siga as instruções abaixo

  1. Navegue até o portal do Azure do serviço FHIR.
  2. Selecione Visão geral.
  3. Selecione Exibição JSON.
  4. Selecione a versão da API para 2022-06-01 ou versão posterior.

Para especificar a conta de Armazenamento do Azure na exibição JSON, você precisa usar a API REST para atualizar o serviço FHIR. Captura de tela da exibição Obter JSON

As etapas abaixo explicam como definir configurações para o modo de importação inicial e incremental. Escolha o modo de importação correto para seu caso de uso.

Etapa 3a: definir a configuração de importação para o modo de importação inicial.

Faça as seguintes alterações no JSON:

  1. Defina habilitado em importConfiguration como true.
  2. Atualize integrationDataStore com o nome da conta de armazenamento de destino.
  3. Defina initialImportMode em importConfiguration como true.
  4. Remova provisioningState.

Captura de tela do exemplo de código de configuração do importador

Depois de concluir esta etapa final, você estará pronto para executar a importação do modo inicial usando $import.

Etapa 3b: definir a configuração de importação para o modo de importação incremental.

Faça as seguintes alterações no JSON:

  1. Defina habilitado em importConfiguration como true.
  2. Atualize integrationDataStore com o nome da conta de armazenamento de destino.
  3. Defina initialImportMode em importConfiguration como false.
  4. Remova provisioningState.

Depois de concluir esta etapa final, você estará pronto para executar a importação de modo incremental usando $import.

Observe que você também pode usar o botão Implantar no Azure para abrir o modelo de Resource Manager personalizado que atualiza a configuração para $import.

Implantar no Botão do Azure.

Protegendo a operação de $import do serviço FHIR

Para importar dados FHIR com segurança para o serviço FHIR de uma conta do ADLS Gen2, há duas opções:

  • Opção 1: habilitar o serviço FHIR como um Serviço Confiável da Microsoft.

  • Opção 2: permitir que endereços IP específicos associados ao serviço FHIR acessem a conta de armazenamento. Essa opção permite duas configurações diferentes, dependendo se a conta de armazenamento está ou não na mesma região do Azure que o serviço FHIR.

Opção 1: habilitar o serviço FHIR como um Serviço Confiável da Microsoft.

Acesse sua conta do ADLS Gen2 no portal do Azure e selecione a folha Rede. Selecione Habilitado em redes virtuais e endereços IP selecionados na guia Firewalls e redes virtuais .

Captura de tela das Configurações de Rede do Armazenamento do Azure.

Selecione Microsoft.HealthcareApis/workspaces na lista suspensa Tipo de recurso e selecione seu workspace na lista suspensa Nome da instância.

Na seção Exceções , selecione a caixa Permitir que os serviços do Azure na lista de serviços confiáveis acessem essa conta de armazenamento. Clique em Salvar para manter as configurações.

Captura de tela mostrando Permitir que serviços confiáveis da Microsoft acessem essa conta de armazenamento.

Em seguida, execute o comando do PowerShell a seguir para instalar o módulo do Az.Storage PowerShell em seu ambiente local. Isso permitirá que você configure suas contas de armazenamento do Azure usando o PowerShell.

Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force 

Agora, use o comando do PowerShell abaixo para definir a instância de serviço FHIR selecionada como um recurso confiável para a conta de armazenamento. Verifique se todos os parâmetros listados estão definidos em seu ambiente do PowerShell.

Observe que você precisa executar o Add-AzStorageAccountNetworkRule comando como administrador em seu ambiente local. Para saber mais, consulte Configurar Redes Virtuais e Firewalls de Armazenamento do Azure.

$subscription="xxx"
$tenantId = "xxx"
$resourceGroupName = "xxx"
$storageaccountName = "xxx"
$workspacename="xxx"
$fhirname="xxx"
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourceGroupName/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"

Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $storageaccountName -TenantId $tenantId -ResourceId $resourceId

Depois de executar o comando acima, na seção Firewall em Instâncias de recurso, você verá 2 selecionado na lista suspensa Nome da instância . Esses são os nomes da instância do workspace e da instância de serviço FHIR que você registrou como Recursos Confiáveis da Microsoft.

Captura de tela das Configurações de Rede de Armazenamento do Azure com nomes de instância e tipo de recurso.

Agora você está pronto para importar dados FHIR com segurança da conta de armazenamento. A conta de armazenamento está em redes selecionadas e não está publicamente acessível. Para acessar os arquivos com segurança, você pode habilitar pontos de extremidade privados para a conta de armazenamento.

Opção 2:

Permitir que endereços IP específicos de outras regiões do Azure acessem a conta de armazenamento do Azure

Na portal do Azure, acesse a conta do ADLS Gen2 e selecione a folha Rede.

Selecione Habilitado nas redes virtuais e endereços IP selecionados. Na seção Firewall, especifique o endereço IP na caixa Intervalo de endereços . Adicione intervalos de IP para permitir o acesso da Internet ou de suas redes locais. Você pode encontrar o endereço IP na tabela abaixo para a região do Azure em que o serviço FHIR é provisionado.

Região do Azure Endereço IP público
Leste da Austrália 20.53.44.80
Canadá Central 20.48.192.84
Centro dos EUA 52.182.208.31
Leste dos EUA 20.62.128.148
Leste dos EUA 2 20.49.102.228
Leste dos EUA 2 EUAP 20.39.26.254
Norte da Alemanha 51.116.51.33
Centro-oeste da Alemanha 51.116.146.216
Leste do Japão 20.191.160.26
Coreia Central 20.41.69.51
Centro-Norte dos EUA 20.49.114.188
Norte da Europa 52.146.131.52
Norte da África do Sul 102.133.220.197
Centro-Sul dos Estados Unidos 13.73.254.220
Sudeste Asiático 23.98.108.42
Norte da Suíça 51.107.60.95
Sul do Reino Unido 51.104.30.170
Oeste do Reino Unido 51.137.164.94
Centro-Oeste dos EUA 52.150.156.44
Europa Ocidental 20.61.98.66
Oeste dos EUA 2 40.64.135.77

Permitir que endereços IP específicos acessem a conta de armazenamento do Azure na mesma região

O processo de configuração para endereços IP na mesma região é exatamente como acima, exceto que um intervalo de endereços IP específico no formato CIDR (roteamento de Inter-Domain sem classe) é usado em vez disso (ou seja, 100.64.0.0/10). O motivo pelo qual o intervalo de endereços IP (100.64.0.0 – 100.127.255.255) deve ser especificado é porque um endereço IP para o serviço FHIR será alocado sempre que uma solicitação de operação for feita.

Observação

É possível que um endereço IP privado dentro do intervalo de 10.0.2.0/24 possa ser usado, mas não há nenhuma garantia de que a operação terá êxito nesse caso. Você poderá tentar novamente se a solicitação de operação falhar, mas até que um endereço IP dentro do intervalo de 100.64.0.0/10 seja usado, a solicitação não terá êxito. Esse comportamento de rede para intervalos de endereços IP é por design. A alternativa é configurar a conta de armazenamento em uma região diferente.

Próximas etapas

Neste artigo, você aprendeu como o serviço FHIR dá suporte à operação $import e permite importar dados para o serviço FHIR de uma conta de armazenamento. Você também aprendeu sobre as três etapas usadas na definição das configurações de importação no serviço FHIR. Para obter mais informações sobre como converter dados em FHIR, exportar configurações para configurar uma conta de armazenamento e mover dados para Azure Synapse, consulte

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.