HL7

O conetor HL7 oferece conetividade a pontos finais HL7 TCP e REST.

Antes de começar

Antes de usar o conector HL7, conclua as seguintes tarefas:

  • No seu projeto do Google Cloud:
    • Certifique-se de que a conetividade de rede está configurada. Para obter informações sobre padrões de rede, consulte o artigo Conetividade de rede.
    • Conceda a função IAM roles/connectors.admin ao utilizador que está a configurar o conetor.
    • Conceda as seguintes funções de IAM à conta de serviço que 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 (Google Cloud Healthcare API) para carregar mensagens HL7 para o arquivo HL7v2.

      Uma conta de serviço é um tipo especial de Conta Google destinada a representar um utilizador não humano que precisa de autenticação e autorização para aceder a dados nas APIs Google. Se não tiver uma conta de serviço, tem de criar uma. O conector e a conta de serviço têm de pertencer ao mesmo projeto. Para mais informações, consulte Criar uma conta de serviço.

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

      Para saber como ativar serviços, consulte o artigo Ativar serviços.

    Se estes serviços ou autorizações não tiverem sido ativados anteriormente para o seu projeto, é-lhe pedido que os ative quando configurar o conector.

  • Crie um armazenamento de HL7.
  • Para usar o TCP(MLLP) como um protocolo de destino, certifique-se de que existe um servidor MLLP em funcionamento para receber mensagens. Forneça os detalhes do servidor ao adicionar o destino.

Configure o conetor

A configuração do conetor requer que crie uma ligação ao seu sistema de cuidados de saúde ou à Google Cloud Healthcare API. Uma associação é específica de uma origem de dados. Isto significa que, se tiver muitas origens de dados, tem de criar uma associação separada para cada origem de dados. Para criar uma associação, siga estes passos:

  1. Na Cloud Console, aceda à página Integration Connectors > Ligações e, de seguida, selecione ou crie um projeto do Google Cloud.

    Aceda à página Ligações

  2. Clique em + CRIAR NOVO para abrir a página Criar associação.
  3. Na secção Localização, escolha a localização para a ligação.
    1. Região: selecione uma localização na lista pendente.

      Para ver a lista de todas as regiões suportadas, consulte o artigo Localizações.

    2. Clicar em Seguinte.
  4. Na secção Detalhes da associação, conclua o seguinte:
    1. Conector: selecione HL7 na lista pendente de conectores disponíveis.
    2. Versão do conector: selecione a versão do conector na lista pendente de versões disponíveis.
    3. No campo Nome da ligação, introduza um nome para a instância de ligação.

      Os nomes das associações têm de cumprir os seguintes critérios:

      • Os nomes das associações podem usar letras, números ou hífenes.
      • As letras têm de ser minúsculas.
      • Os nomes das associações têm de começar com uma letra e terminar com uma letra ou um número.
      • Os nomes das associações não podem exceder 49 carateres.
    4. Opcionalmente, introduza uma Descrição para a instância de associação.
    5. Conta de serviço: selecione uma conta de serviço que tenha as funções necessárias.
    6. Para usar a associação para subscrições de eventos, selecione Ativar subscrição de eventos. Se selecionar esta opção, ativa a subscrição de eventos com ações.
    7. Tempo limite de receção:o valor SO_TIMEOUT (em milissegundos) é usado quando se aguarda o início de um frame MLLP. O valor predefinido é de 15 000 milissegundos.
    8. Protocolo de destino: selecione um protocolo de destino no menu pendente.
      1. Se o TCP (MLLP) estiver selecionado como um Protocolo de destino, introduza o nome do anfitrião e a porta do servidor MLLP ao adicionar o Destino.
      2. Se REST (Google Cloud HealthCare API) estiver selecionado como Protocolo de destino, especifique os seguintes detalhes:
        1. ID do projeto: o ID do projeto do Google Cloud onde se encontra o arquivo HL7.
        2. Localização: a localização do seu conjunto de dados e armazenamento de HL7v2.
        3. ID do conjunto de dados: o ID do conjunto de dados que contém o armazenamento de HL7v2.
        4. ID do armazenamento de HL7: o ID do armazenamento de HL7v2 onde armazena a mensagem de HL7v2.
    9. Opcionalmente, configure as definições do nó de associação:

      • Número mínimo de nós: introduza o número mínimo de nós de ligação.
      • Número máximo de nós: introduza o número máximo de nós de ligação.

      Um nó é uma unidade (ou uma réplica) de uma ligação que processa transações. São necessários mais nós para processar mais transações para uma ligação e, inversamente, são necessários menos nós para processar menos transações. Para compreender como os nós afetam os preços dos conectores, consulte o artigo Preços dos nós de ligação. Se não introduzir valores, por predefinição, os nós mínimos são definidos como 2 (para uma melhor disponibilidade) e os nós máximos são definidos como 50.

    10. Opcionalmente, clique em + Adicionar etiqueta para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
    11. Clicar em Seguinte.
  5. Se selecionou TCP(MLLP) como protocolo de destino, na secção Destinos, introduza os detalhes do anfitrião remoto (servidor MLLP) ao qual quer estabelecer ligação.
    1. Tipo de destino: selecione um Tipo de destino.
      • Para especificar o nome de anfitrião ou o endereço IP de destino, selecione Endereço do anfitrião e introduza o endereço no campo Anfitrião 1.
      • Para estabelecer uma ligação privada, selecione Anexo do ponto final e escolha o anexo necessário na lista Anexo do ponto final.

      Se quiser estabelecer uma ligação pública aos seus sistemas de back-end com segurança adicional, pode considerar configurar endereços IP estáticos de saída para as suas ligações e, em seguida, configurar as regras da firewall para permitir apenas os endereços IP estáticos específicos.

    2. Clicar em Seguinte.
  6. A ligação HL7 não requer autenticação. Clicar em Seguinte.
  7. Se tiver ativado a subscrição de eventos, a secção Detalhes da subscrição de eventos é apresentada na página de criação da associação. Para saber como configurar os detalhes da subscrição de eventos, consulte o artigo Configure a subscrição de eventos.
  8. Rever: reveja os detalhes da ligação e da autenticação.
  9. Clique em Criar.

Configure a subscrição de eventos

  • Na secção Detalhes da subscrição de eventos, configure os detalhes relacionados com o evento.
    • Nome do projeto: o projeto do Google Cloud onde reside a instância do Pub/Sub.
    • Nome do tópico do Pub/Sub: o nome do tópico do Pub/Sub a associar ao arquivo HL7v2 para o qual as mensagens de notificação vão ser enviadas.
    • Introduza a configuração de mensagens não entregues. Se configurar a fila de mensagens rejeitadas, a ligação escreve os eventos não processados no tópico Pub/Sub especificado. Introduza os seguintes detalhes:
      1. ID do projeto de mensagens não entregues: o ID do projeto do Google Cloud onde configurou o tópico Pub/Sub de mensagens não entregues.
      2. Tópico de mensagens não entregues: o tópico do Pub/Sub onde quer escrever os detalhes do evento não processado.
  • Entidades, operações e ações

    Todos os conetores de integração oferecem uma camada de abstração para os objetos da aplicação ligada. Só pode aceder aos objetos de uma aplicação através desta abstração. A abstração é exposta como entidades, operações e ações.

    • Entidade: pode considerar uma entidade como um objeto ou uma coleção de propriedades na aplicação ou no serviço associado. A definição de uma entidade difere de um conetor para um conetor. Por exemplo, num conetor de base de dados, as tabelas são as entidades. Num conetor de servidor de ficheiros, as pastas são as entidades. Num conetor de sistema de mensagens, as filas são as entidades.

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

    • Operação: uma operação é a atividade que pode realizar numa entidade. Pode realizar qualquer uma das seguintes operações numa entidade:

      Selecionar uma entidade na lista disponível gera uma lista de operações disponíveis para a entidade. Para uma descrição detalhada das operações, consulte as operações de entidades da tarefa de conectores. No entanto, se um conector não suportar nenhuma das operações de entidades, essas operações não suportadas não são apresentadas na lista Operations.

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

    Limitações do sistema

    O conector HL7 pode processar o seguinte número de transações por segundo, por , e limita as transações que excedam este limite:

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

    Por predefinição, os Integration Connectors atribuem 2 nós (para uma melhor disponibilidade) a uma ligação.

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

    Ações

    A ligação HL7 suporta as seguintes ações:

    Ação sendMessage

    As tabelas seguintes 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ória Tipo de dados Descrição
    mensagem Sim String Mensagem a enviar para o servidor TCP(MLLP) ou REST(Google Cloud Healthcare API).
    messageContentType Sim String Tipo de conteúdo da mensagem que pode especificar como Text ou Bytes. Tem de definir o tipo como Bytes se estiver a enviar dados binários.

    Para enviar uma mensagem num formato binário, tem de realizar as seguintes tarefas:

    • Codifique a mensagem binária como uma string Base64 e, de seguida, defina o parâmetro message com o valor codificado.
    • Defina o valor do parâmetro messageContentType como Bytes.
    validateMessage Não Booleano Indicador que indica 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 (ou seja, ADT^A01, ADT^A02, etc.).

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

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

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

    Nome do parâmetro Tipo de dados Descrição
    ack String Mensagem de confirmação da API Google Cloud Healthcare.
    estado String Estado da mensagem enviada.

    transformhl7tojson action

    As tabelas seguintes 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ória 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 a partir de uma mensagem HL7.

    transformJsonToHl7 action

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

    Introduza os parâmetros da ação transformJsonToHl7

    Nome do parâmetro Obrigatória 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 a partir de JSON.

    transformAndSendHl7BatchMessage action

    As tabelas seguintes 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ória Tipo de dados Descrição
    hl7BatchMessage Sim String Mensagem de lote HL7 a ser transformada e enviada.
    hl7BatchMessageDelimiter Não String Delimitador de segmento de mensagens em lote de HL7. O valor predefinido é \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 cuidados de saúde

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

    Ação de transformação de HL7 em XML

    As tabelas seguintes descrevem os parâmetros de entrada e saída da ação Transformar HL7 em XML.

    Introduza os parâmetros da ação Transformar HL7 em XML

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

    Parâmetros de saída da ação Transformar HL7 em XML

    Nome do parâmetro Tipo de dados Descrição
    hl7Xml String XML transformado a partir de uma mensagem HL7.

    Transformação de XML em ação HL7

    As tabelas seguintes descrevem os parâmetros de entrada e saída da ação Transformar XML em HL7.

    Parâmetros de entrada da ação Transformar XML em HL7

    Nome do parâmetro Obrigatória Tipo de dados Descrição
    hl7Xml Sim String Mensagem XML a ser transformada em HL7.

    Parâmetros de saída da ação Transformar XML em HL7

    Nome do parâmetro Tipo de dados Descrição
    hl7Message String XML transformado a partir de uma mensagem HL7.

    Crie ligações com o Terraform

    Pode usar o recurso do Terraform para criar uma nova associação.

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

    Para ver um modelo do Terraform de exemplo para a criação de ligações, consulte o modelo de exemplo.

    Quando criar esta associação através do Terraform, tem de definir as seguintes variáveis no ficheiro de configuração do Terraform:

    Nome do parâmetro Tipo de dados Obrigatória Descrição
    ID do projeto STRING True O ID do projeto onde o HL7 Data Store é criado, necessário apenas quando a ligação é feita através da API REST(Google Cloud Healthcare API).
    Localização STRING True A localização do seu conjunto de dados e arquivo HL7v2, necessária apenas quando a ligação é feita através de REST(Google Cloud Healthcare API).
    ID do conjunto de dados STRING True O ID do conjunto de dados que contém o arquivo HL7v2, necessário apenas quando a ligação é feita através de REST(Google Cloud Healthcare API).
    ID do armazenamento de HL7 STRING True O ID da loja HL7v2 onde está a armazenar a mensagem HL7v2, obrigatório apenas quando a ligação é feita através de REST(Google Cloud Healthcare API).

    Use a ligação HL7 numa integração

    Depois de criar a ligação, esta fica disponível no Apigee Integration e no Application Integration. Pode usar a ligação numa integração através da tarefa Conectores.

    • Para compreender como criar e usar a tarefa Connectors no Apigee Integration, consulte o artigo Tarefa Connectors.
    • Para compreender como criar e usar a tarefa Connectors na integração de aplicações, consulte o artigo Tarefa Connectors.

    Obtenha ajuda da comunidade do Google Cloud

    Pode publicar as suas perguntas e discutir este conector na comunidade do Google Cloud nos Fóruns do Cloud.

    O que se segue?