HL7

O conector HL7 oferece conectividade com endpoints TCP e REST 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 o papel do 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 Cloud Healthcare) para ingerir mensagens HL7 no armazenamento 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 repositório HL7.
  • Para usar TCP(MLLP) como um Protocolo de destino, verifique se há um servidor MLLP em execução para receber mensagens. Forneça os detalhes do servidor ao adicionar o destino.

Configurar o conector

Para configurar o conector, crie uma conexão com seu sistema de saúde ou a API Cloud Healthcare do Google Cloud. 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 exceder 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 em assinaturas de eventos, selecione Ativar assinatura de eventos. Ao selecionar essa opção, você ativa a assinatura de eventos com ações.
    7. Tempo limite de recebimento:o valor SO_TIMEOUT (em milissegundos) é usado ao aguardar o início de um frame MLLP. O valor padrão é 15.000 milissegundos.
    8. Protocolo de destino: selecione um protocolo de destino no menu suspenso.
      1. Se TCP (MLLP) for selecionado como um Protocolo de destino, insira o nome do host e a porta do servidor MLLP ao adicionar o Destino.
      2. Se REST (API Google Cloud HealthCare) for selecionado como um protocolo de destino, especifique os seguintes detalhes:
        1. ID do projeto: o ID do projeto do Google Cloud em que o repositório HL7 está localizado.
        2. Localização: 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, na seção Destinos, insira os detalhes do host remoto (servidor MLLP) que você quer conectar.
    1. Tipo de destino: selecione um Tipo de destino.
      • Para especificar o nome do host ou o endereço IP de destino, selecione Endereço do host e insira o endereço no campo Host 1.
      • Para estabelecer uma conexão particular, selecione Anexo de endpoint e escolha o anexo necessário na lista Anexo de endpoint.

      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 da conexão. Para entender como configurar os detalhes da assinatura de eventos, consulte Configurar assinatura de eventos.
  8. Revisão: revise os detalhes de conexão e autenticação.
  9. Clique em Criar.

Configurar assinatura de evento

  • Na seção Detalhes da inscrição no 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 a ser associado ao armazenamento HL7v2 para onde as mensagens de notificação serão enviadas.
    • Insira a configuração de mensagens inativas. Se você configurar a carta morta, a conexão gravará os eventos não processados no tópico do Pub/Sub especificado. Digite os seguintes detalhes:
      1. ID do projeto de dead-letter : o ID do projeto do Google Cloud em que você configurou o tópico de dead-letter do Pub/Sub.
      2. Tópico de mensagens mortas : 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 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 parâmetro 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ê usar principalmente a ação sendMessage com TCP(MLLP).
    • Máximo de 40 transações se você usar predominantemente a ação sendMessage com REST(API Google Cloud Healthcare).

    Por padrão, o Integration Connectors aloca 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 Google Cloud HealthCare).
    • 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 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 ao 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 Flag se a validação de mensagens é realizada ou não.
    hl7Version Não String Versão da mensagem HL7 (ou seja, 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 Cloud Healthcare do Google Cloud)

    Nome do parâmetro Tipo de dados Descrição
    ack String Mensagem confirmada da 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 de uma mensagem HL7.

    transformJsonToHl7 action

    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 "Transformar e enviar mensagem em lote HL7 para o sistema de saúde"

    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 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 "Transformar e enviar mensagem em lote HL7 para o sistema de saúde"

    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.

    Criar conexões usando o Terraform

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

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

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

    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, necessário apenas quando a conexão é feita por REST(API Cloud Healthcare).
    Local STRING Verdadeiro O local do conjunto de dados e do armazenamento HL7v2, necessário apenas quando a conexão é feita por REST(API Cloud Healthcare).
    ID do conjunto de dados STRING Verdadeiro O ID do conjunto de dados que contém o armazenamento HL7v2, necessário apenas quando a conexão é feita por REST(API Cloud Healthcare).
    ID do repositório HL7 STRING Verdadeiro O ID do armazenamento HL7v2 em que você está armazenando a mensagem HL7v2, necessário apenas quando a conexão é feita por REST(API 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 "Conectores" na integração da Apigee, consulte Tarefa "Conectores".
    • 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