HL7

O conector HL7 oferece conectividade aos endpoints REST e TCP do HL7.

Antes de começar

Antes de usar o conector HL7, faça o seguinte:

  • No seu projeto do Google Cloud, faça o seguinte:
    • Verifique se a conectividade de rede está configurada. Para informações sobre padrões de rede, consulte Conectividade de rede.
    • Conceda a função IAM roles/connectors.admin ao usuário que está configurando o conector.
    • Conceda os seguintes papéis de IAM à conta de serviço que você quer usar para o conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
      • role Healthcare HL7v2 Message Ingest, obrigatório apenas se o protocolo de destino selecionado for REST (API Google Cloud Healthcare) para ingerir a mensagem HL7 na loja HL7v2.

      Uma conta de serviço é um tipo especial de Conta do Google destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados nas APIs do Google. Se você não tiver uma conta de serviço, será necessário criar uma. Para mais informações, consulte Como criar uma conta de serviço.

    • Ative os seguintes serviços:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para entender como ativar os serviços, consulte Como ativar serviços.

    Se esses serviços ou permissões não tiverem sido ativados no seu projeto, você precisará ativá-los ao configurar o conector.

  • Crie um armazenamento HL7.
  • Para usar o TCP(MLLP) como um protocolo de destino, verifique se há um servidor MLLP ativo para receber mensagens. Informe os detalhes do servidor ao adicionar o destino.

Configurar o conector

Para configurar o conector, crie uma conexão com o sistema de saúde ou a API Google Cloud Healthcare. Uma conexão é específica a uma fonte de dados. Isso significa que, se você tiver muitas fontes de dados, precisará criar uma conexão separada para cada uma. Para criar uma conexão, siga estas etapas:

  1. No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.

    Acessar a página "Conexões"

  2. Clique em + CRIAR NOVO para abrir a página Criar conexão.
  3. Na seção Local, escolha o local da conexão.
    1. Região: selecione um local na lista suspensa.

      Para conferir a lista de todas as regiões com suporte, consulte Locais.

    2. Clique em Próxima.
  4. Na seção Detalhes da conexão, faça o seguinte:
    1. Conector: selecione HL7 na lista suspensa de conectores disponíveis.
    2. Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
    3. No campo Nome da conexão, insira um nome para a instância de conexão

      Os nomes de conexão precisam atender aos seguintes critérios:

      • Os nomes de conexões podem usar letras, números ou hifens.
      • As letras precisam ser minúsculas.
      • Os nomes das conexões precisam começar com uma letra e terminar com uma letra ou um número.
      • Os nomes das conexões não podem ter mais de 49 caracteres.
    4. Como opção, insira uma Descrição para a instância de conexão.
    5. Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
    6. Para usar a conexão para assinaturas de eventos, selecione Ativar assinatura de eventos. Ao selecionar essa opção, a assinatura de eventos é ativada com ações.
    7. Tempo limite de recebimento:o valor SO_TIMEOUT (em milissegundos) é usado ao aguardar o início de um frame de MLLP. O valor padrão é 15.000 milissegundos.
    8. Protocolo de destino: selecione um protocolo de destino no menu suspenso.
      1. Se o TCP (MLLP) for selecionado como um protocolo de destino, insira o nome do host e a porta do servidor MLLP ao adicionar a Destino.
      2. Se a API REST (API Google Cloud HealthCare) for selecionada como um protocolo de destino, especifique os seguintes detalhes:
        1. ID do projeto: o ID do projeto do Google Cloud em que a loja HL7 está localizada.
        2. Local: é a localização do conjunto de dados e do armazenamento HL7v2.
        3. ID do conjunto de dados: o ID do conjunto de dados que contém o armazenamento HL7v2.
        4. ID do armazenamento HL7: é o ID do armazenamento HL7v2 em que você armazena a mensagem HL7v2.
    9. Opcionalmente, defina as Configurações do nó de conexão:

      • Número mínimo de nós: digite o número mínimo de nós de conexão.
      • Número máximo de nós: digite o número máximo de nós de conexão.

      Um nó é uma unidade (ou réplica) de uma conexão que processa transações. Mais nós são necessários para processar mais transações para uma conexão e, por outro lado, menos nós são necessários para processar menos transações. Para entender como os nós afetam os preços do conector, consulte Preços dos nós de conexão. Se você não inserir qualquer valor, por padrão, os nós mínimos serão definidos como 2 (para melhor disponibilidade) e os nós máximos serão definidos como 50.

    10. Outra opção é clicar em + Adicionar rótulo para adicionar um rótulo à conexão na forma de um par de chave-valor.
    11. Clique em Próxima.
  5. Se você selecionou TCP(MLLP) como o protocolo de destino, insira os detalhes do host remoto (servidor MLLP) que você quer conectar na seção Destinos.
    1. Tipo de destino: selecione um Tipo de destino.
      • Selecione Endereço do host na lista para especificar o nome do host ou o endereço IP do destino.
      • Para estabelecer uma conexão particular com seus sistemas de back-end, Selecione Anexo de endpoint na lista e depois selecione o anexo de endpoint necessário. na lista Endpoint Attachment.

      Para estabelecer uma conexão pública com os sistemas de back-end com mais segurança, considere configurar endereços IP de saída estáticos para suas conexões e configure as regras de firewall para autorizar apenas os endereços IP estáticos específicos.

    2. Clique em Próxima.
  6. A conexão HL7 não requer autenticação. Clique em Próxima.
  7. Se você tiver ativado a assinatura de eventos, a seção Detalhes da assinatura de eventos vai aparecer na página de criação de conexões. Para entender como configurar os detalhes da assinatura de eventos, consulte Configurar a assinatura de eventos.
  8. Revisão: revise os detalhes de conexão e autenticação.
  9. Clique em Criar.

Configurar assinatura de eventos

  • Na seção Detalhes da assinatura do evento, configure os detalhes relacionados ao evento.
    • Nome do projeto: o projeto do Google Cloud em que a instância do Pub/Sub reside.
    • Nome do tópico do Pub/Sub: o nome do tópico do Pub/Sub que será associado à loja HL7v2 para a qual as mensagens de notificação serão enviadas.
    • Insira a configuração de mensagens inativas. Se você configurar a letra inativa, a conexão vai gravar os eventos não processados no tópico do Pub/Sub especificado. Digite os seguintes detalhes:
      1. ID do projeto de caixa de destino : o ID do projeto do Google Cloud em que você configurou o tópico de caixa de destino do Pub/Sub.
      2. Tópico de mensagem morta : o tópico do Pub/Sub em que você quer gravar os detalhes do evento não processado.
  • Entidades, operações e ações

    Todos os Integration Connectors fornecem uma camada de abstração para os objetos do aplicativo conectado. Só é possível acessar os objetos de um aplicativo por esta abstração. A abstração é exposta a você como entidades, operações e ações.

    • Entidade: uma entidade pode ser considerada um objeto ou um conjunto de propriedades no aplicativo ou serviço conectado. A definição de uma entidade difere de um conector para outro. Por exemplo, em um conector de banco de dados, as tabelas são as entidades, em um conector de servidor de arquivos, as pastas são as entidades e, em um conector de sistema de mensagens, as filas são as entidades.

      No entanto, é possível que um conector não aceite ou não tenha entidades. Nesse caso, a lista Entities estará vazia.

    • Operação: uma operação é a atividade que pode ser realizada em uma entidade. É possível executar qualquer uma das seguintes operações em uma entidade:

      Selecionar uma entidade na lista disponível gera uma lista de operações disponíveis para ela. Para uma descrição detalhada das operações, consulte as operações de entidades da tarefa "Conectores". No entanto, se um conector não oferecer suporte a nenhuma das operações de entidade, essas operações sem suporte não serão listadas na lista Operations.

    • Ação: uma ação é uma função de primeira classe disponibilizada para a integração por meio da interface do conector. Uma ação permite fazer alterações em uma ou mais entidades e varia de um conector para outro. Normalmente, uma ação tem alguns parâmetros de entrada e um de saída. No entanto, é possível que o conector não ofereça suporte a nenhuma ação. Nesse caso, a lista Actions estará vazia.

    Limitações do sistema

    O conector HL7 pode processar o seguinte número de transações por segundo, por , e limita qualquer transação além desse limite:

    • Máximo de 39 transações se você usa principalmente a ação sendMessage com TCP(MLLP).
    • Máximo de 40 transações se você usar principalmente a ação sendMessage usando REST(API Google Cloud Healthcare).

    Por padrão, os Integration Connectors alocam dois nós (para melhor disponibilidade) para uma conexão.

    Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.

    Ações

    A conexão HL7 oferece suporte às seguintes ações:

    • sendMessage: envia uma mensagem para um TCP(MLLP) ou REST(API Cloud Healthcare do Google).
    • transformHl7ToJson envia uma mensagem HL7 válida para um TCP(MLLP) ou REST(API Google Cloud Healthcare) e recebe uma mensagem formatada em JSON em troca.
    • transformJsonToHl7 Envia uma mensagem JSON válida para um TCP(MLLP) ou REST(API Google Cloud Healthcare) e recebe uma mensagem formatada em HL7 em troca.
    • transformAndSendHl7BatchMessage Transforma mensagens em lote do HL7 em uma lista de mensagens HL7.

    Ação sendMessage

    As tabelas a seguir descrevem os parâmetros de entrada e saída da ação sendMessage.

    Parâmetros de entrada da ação sendMessage

    Nome do parâmetro Obrigatório Tipo de dados Descrição
    mensagem Sim String Mensagem a ser enviada para o servidor TCP(MLLP) ou REST(API Google Cloud Healthcare).
    messageContentType Sim String Tipo de conteúdo da mensagem, que você pode especificar como Text ou Bytes. Defina o tipo como Bytes se estiver enviando dados binários.

    Para enviar uma mensagem em um formato binário, faça o seguinte:

    • Codifique a mensagem binária como uma string Base64 e defina o parâmetro message como o valor codificado.
    • Defina o valor do parâmetro messageContentType como Bytes.
    validateMessage Não Booleano Sinaliza se a validação de mensagem foi realizada ou não.
    hl7Version Não String Versão da mensagem HL7 (por exemplo, 2.3, 2.4 etc.).
    hl7MessageType Não String Tipo de mensagem HL7 (por exemplo, ADT^A01, ADT^A02 etc.).

    Parâmetros de saída da ação sendMessage usando TCP(MLLP)

    Nome do parâmetro Tipo de dados Descrição
    messageId String ID da mensagem enviada.
    status String Status da mensagem enviada.

    Parâmetros de saída da ação sendMessage usando REST(API Google Cloud Healthcare)

    Nome do parâmetro Tipo de dados Descrição
    ack String Mensagem confirmada pela API Google Cloud Healthcare.
    status String Status da mensagem enviada.

    Ação transformhl7tojson

    As tabelas a seguir descrevem os parâmetros de entrada e saída da ação transformhl7tojson.

    Parâmetros de entrada da ação transformhl7tojson

    Nome do parâmetro Obrigatório Tipo de dados Descrição
    hl7Message Sim String Mensagem HL7 a ser transformada em JSON.

    Parâmetros de saída da ação transformhl7tojson

    Nome do parâmetro Tipo de dados Descrição
    hl7Json String JSON transformado da mensagem HL7.

    Ação transformJsonToHl7

    As tabelas a seguir descrevem os parâmetros de entrada e saída da ação transformJsonToHl7.

    Parâmetros de entrada da ação transformJsonToHl7

    Nome do parâmetro Obrigatório Tipo de dados Descrição
    hl7Json Sim String JSON a ser transformado em mensagem HL7.

    Parâmetros de saída da ação transformJsonToHl7

    Nome do parâmetro Tipo de dados Descrição
    hl7Message String Mensagem HL7 transformada de JSON.

    Ação transformAndSendHl7BatchMessage

    As tabelas a seguir descrevem os parâmetros de entrada e saída da ação transformAndSendHl7BatchMessage.

    Parâmetros de entrada da ação Transform and send HL7 Batch Message to Healthcare System

    Nome do parâmetro Obrigatório Tipo de dados Descrição
    hl7BatchMessage Sim String Mensagem em lote HL7 a ser transformada e enviada.
    hl7BatchMessageDelimiter Não String Delimitador de segmento de mensagem em lote do HL7. O valor padrão é \r.
    hl7BatchMessageContentType Sim String Tipo de conteúdo da mensagem em lote HL7(texto/bytes).

    Parâmetros de saída da ação Transform and send HL7 Batch Message to Healthcare System

    Nome do parâmetro Tipo de dados Descrição
    sendHl7BatchMessageResponse String Resposta do envio de uma mensagem em lote HL7 para o sistema de saúde.

    Usar o Terraform para criar conexões

    Use o recurso do Terraform para criar uma nova conexão.

    Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

    Para conferir um exemplo de modelo do Terraform para criação de conexão, consulte exemplo de modelo.

    Ao criar essa conexão usando o Terraform, defina as seguintes variáveis no arquivo de configuração do Terraform:

    Nome do parâmetro Tipo de dados Obrigatório Descrição
    ID do projeto STRING Verdadeiro O ID do projeto em que o repositório de dados HL7 é criado, obrigatório apenas quando a conexão é feita pelo REST(API Google Cloud Healthcare).
    Local STRING Verdadeiro O local do conjunto de dados e do armazenamento HL7v2, necessário apenas quando a conexão é feita pelo REST(API Cloud Healthcare do Google).
    ID do conjunto de dados STRING Verdadeiro O ID do conjunto de dados que contém a loja HL7v2, obrigatório apenas quando a conexão é feita pelo REST(API Google Cloud Healthcare).
    ID do repositório HL7 STRING Verdadeiro O ID da loja HL7v2 em que você está armazenando a mensagem HL7v2, obrigatório apenas quando a conexão é feita pelo REST(API Google Cloud Healthcare).

    Usar a conexão HL7 em uma integração

    Depois de criar a conexão, ela fica disponível na integração da Apigee e Application Integration. É possível usar a conexão em uma integração pela tarefa de conectores.

    • Para entender como criar e usar a tarefa "Connectors" na integração da Apigee, consulte Tarefa Connectors.
    • Para entender como criar e usar a tarefa "Conectores" na Application Integration, consulte Tarefa "Conectores".

    Receber ajuda da comunidade do Google Cloud

    Poste suas dúvidas e converse sobre esse conector na comunidade do Google Cloud em Fóruns do Cloud.

    A seguir