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:
- No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.
- Clique em + CRIAR NOVO para abrir a página Criar conexão.
-
Na seção Local, escolha o local da conexão.
- Região: selecione um local na lista suspensa.
Para conferir a lista de todas as regiões com suporte, consulte Locais.
- Clique em Próxima.
- Região: selecione um local na lista suspensa.
-
Na seção Detalhes da conexão, faça o seguinte:
- Conector: selecione HL7 na lista suspensa de conectores disponíveis.
- Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
-
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.
- Como opção, insira uma Descrição para a instância de conexão.
- Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- 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.
- 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.
- Protocolo de destino: selecione um protocolo de destino no menu suspenso.
- 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.
-
Se a API REST (API Google Cloud HealthCare) for selecionada como um protocolo de destino, especifique os seguintes detalhes:
- ID do projeto: o ID do projeto do Google Cloud em que a loja HL7 está localizada.
- Local: é a localização do conjunto de dados e do armazenamento HL7v2.
- ID do conjunto de dados: o ID do conjunto de dados que contém o armazenamento HL7v2.
- ID do armazenamento HL7: é o ID do armazenamento HL7v2 em que você armazena a mensagem HL7v2.
- 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.
- Outra opção é clicar em + Adicionar rótulo para adicionar um rótulo à conexão na forma de um par de chave-valor.
- Clique em Próxima.
- 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.
-
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.
- Clique em Próxima.
-
Tipo de destino: selecione um Tipo de destino.
- A conexão HL7 não requer autenticação. Clique em Próxima.
- 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.
- Revisão: revise os detalhes de conexão e autenticação.
- Clique em Criar.
Configurar assinatura de eventos
- 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:
- 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.
- 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 nó, 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:
|
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
- Entenda como suspender e retomar uma conexão.
- Entenda como monitorar o uso do conector.
- Saiba como acessar os registros do conector.