HL7

Le connecteur HL7 fournit une connectivité aux points de terminaison HL7 TCP et REST.

Avant de commencer

Avant d'utiliser le connecteur HL7, effectuez les tâches suivantes:

  • Dans votre projet Google Cloud :
    • Vérifiez que la connectivité réseau est configurée. Pour en savoir plus sur les modèles de réseau, consultez la section Connectivité réseau.
    • Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
    • Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
      • role Healthcare HL7v2 Message Ingest, obligatoire uniquement si le protocole de destination sélectionné est REST (API Google Cloud HealthCare) pour insérer le message HL7 dans le datastore HL7v2.

      Un compte de service est un compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez la section Créer un compte de service.

    • Activez les services suivants :
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Pour savoir comment activer des services, consultez la page Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.

  • Créez un magasin HL7.
  • Pour utiliser TCP(MLLP) comme protocole de destination, assurez-vous qu'un serveur MLLP est opérationnel pour recevoir les messages. Fournissez les informations sur le serveur lorsque vous ajoutez la destination.

Configurer le connecteur

Pour configurer le connecteur, vous devez créer une connexion à votre système de santé ou à l'API Google Cloud Healthcare. Une connexion est spécifique à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :

  1. Dans la console Cloud, accédez à la page Integration Connectors > Connections (Connecteurs d'intégration > Connexions), puis sélectionnez ou créez un projet Google Cloud.

    Accéder à la page "Connexions"

  2. Cliquez sur + CRÉER pour ouvrir la page Créer une connexion.
  3. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. Région : sélectionnez un emplacement dans la liste déroulante.

      Pour obtenir la liste de toutes les régions disponibles, consultez la page Emplacements.

    2. Cliquez sur Suivant.
  4. Dans la section Détails de la connexion, procédez comme suit :
    1. Connecteur: sélectionnez HL7 dans la liste déroulante des connecteurs disponibles.
    2. Version du connecteur: sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
    3. Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion.

      Les noms de connexion doivent répondre aux critères suivants :

      • Les noms de connexion peuvent contenir des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Les noms de connexion doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Les noms de connexion ne peuvent pas dépasser 49 caractères.
    4. Saisissez éventuellement une Description pour l'instance de connexion.
    5. Compte de service: sélectionnez un compte de service disposant des rôles requis.
    6. Pour utiliser la connexion pour les abonnements aux événements, sélectionnez Activer l'abonnement aux événements. Si vous sélectionnez cette option, l'abonnement aux événements est activé avec des actions.
    7. Expiration de la réception:la valeur SO_TIMEOUT (en millisecondes) est utilisée lorsque vous attendez le début d'une trame MLLP. La valeur par défaut est de 15 000 millisecondes.
    8. Protocole de destination: sélectionnez un protocole de destination dans la liste déroulante.
      1. Si TCP (MLLP) est sélectionné comme protocole de destination, saisissez le nom d'hôte et le port du serveur MLLP lorsque vous ajoutez la destination.
      2. Si REST (API Google Cloud Healthcare) est sélectionné comme protocole de destination, spécifiez les informations suivantes :
        1. ID du projet: ID du projet Google Cloud dans lequel se trouve le datastore HL7.
        2. Emplacement: emplacement de votre ensemble de données et de votre datastore HL7v2.
        3. ID de l'ensemble de données: ID de l'ensemble de données contenant le datastore HL7v2.
        4. ID du store HL7: ID du store HL7v2 dans lequel vous stockez le message HL7v2.
    9. Vous pouvez également configurer les paramètres du nœud de connexion :

      • Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
      • Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.

      Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter plus de transactions pour une connexion, plus de nœuds sont nécessaires. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez la section Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.

    10. Vous pouvez également cliquer sur + Ajouter un libellé pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
    11. Cliquez sur Suivant.
  5. Si vous avez sélectionné TCP(MLLP) comme protocole de destination, saisissez les informations sur l'hôte distant (MLLP Server) auquel vous souhaitez vous connecter dans la section Destinations.
    1. Type de destination : sélectionnez un type de destination.
      • Sélectionnez Adresse hôte dans la liste pour spécifier le nom d'hôte ou l'adresse IP de la destination.
      • Si vous souhaitez établir une connexion privée à vos systèmes backend, sélectionnez Rattachement du point de terminaison dans la liste, puis sélectionnez le rattachement du point de terminaison requis dans la liste Rattachement du point de terminaison.

      Si vous souhaitez établir une connexion publique à vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis de configurer vos règles de pare-feu pour ajouter à la liste d'autorisation uniquement les adresses IP statiques spécifiques.

    2. Cliquez sur Suivant.
  6. La connexion HL7 ne nécessite aucune authentification. Cliquez sur Suivant.
  7. Si vous avez activé l'abonnement aux événements, la section Détails de l'abonnement aux événements s'affiche sur la page de création de la connexion. Pour savoir comment configurer les détails de l'abonnement aux événements, consultez Configurer l'abonnement aux événements.
  8. Vérifiez vos informations de connexion et d'authentification.
  9. Cliquez sur Créer.

Configurer l'abonnement aux événements

  • Dans la section Détails de l'abonnement à l'événement, configurez les informations associées à l'événement.
    • Nom du projet: projet Google Cloud dans lequel réside l'instance Pub/Sub.
    • Nom du sujet Pub/Sub: nom du sujet Pub/Sub à associer au datastore HL7v2 auquel les messages de notification seront envoyés.
    • Saisissez la configuration de la file d'attente de lettres mortes. Si vous configurez une lettre morte, la connexion écrit les événements non traités dans le sujet Pub/Sub spécifié. Saisissez les informations suivantes :
      1. ID de projet de boîte à lettres morte : ID du projet Google Cloud dans lequel vous avez configuré le sujet Pub/Sub de boîte à lettres morte.
      2. Sujet de lettre morte : sujet Pub/Sub dans lequel vous souhaitez écrire les détails de l'événement non traité.
  • Entités, opérations et actions

    Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que via cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.

    • Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connecté. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, dans un connecteur de serveur de fichiers, les dossiers sont les entités et, dans un connecteur de système de messagerie, les files d'attente sont les entités.

      Toutefois, il est possible qu'un connecteur ne soit pas compatible ou ne possède aucune entité. Dans ce cas, la liste Entities est vide.

    • Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Vous pouvez effectuer l'une des opérations suivantes sur une entité :

      La sélection d'une entité dans la liste disponible génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche de connecteur. Toutefois, si un connecteur n'est pas compatible avec l'une des opérations d'entité, ces opérations non compatibles ne sont pas listées dans la liste Operations.

    • Action : une action est une fonction de première classe mise à la disposition de l'intégration via l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. Toutefois, il est possible qu'un connecteur ne prenne en charge aucune action, auquel cas la liste Actions est vide.

    Limites du système

    Le connecteur HL7 peut traiter le nombre de transactions par seconde, par nœud, et limite les transactions au-delà de cette limite:

    • 39 transactions maximum si vous utilisez principalement l'action sendMessage avec TCP(MLLP).
    • 40 transactions maximum si vous utilisez principalement l'action sendMessage avec REST(API Google Cloud Healthcare).

    Par défaut, les Integration Connectors allouent deux nœuds (pour une meilleure disponibilité) à une connexion.

    Pour en savoir plus sur les limites applicables à Integration Connectors, consultez la section Limites.

    Actions

    La connexion HL7 permet les actions suivantes:

    • sendMessage Envoie un message à un protocole TCP(MLLP) ou REST(API Google Cloud Healthcare).
    • transformHl7ToJson Envoie un message HL7 valide à un protocole TCP(MLLP) ou REST(API Google Cloud Healthcare), et reçoit en retour un message au format JSON.
    • transformJsonToHl7 Envoie un message JSON valide à un protocole TCP(MLLP) ou REST(API Google Cloud Healthcare), et reçoit en retour un message au format HL7.
    • transformAndSendHl7BatchMessage Convertit les messages HL7 par lot en liste de messages HL7.

    Action sendMessage

    Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action sendMessage.

    Paramètres d'entrée de l'action sendMessage

    Nom du paramètre Requis Type de données Description
    Message Oui Chaîne Message à envoyer au serveur TCP(MLLP) ou REST(API Google Cloud Healthcare).
    messageContentType Oui String Type de contenu du message, que vous pouvez spécifier comme étant Text ou Bytes. Vous devez définir le type sur Bytes si vous envoyez des données binaires.

    Pour envoyer un message au format binaire, vous devez effectuer les tâches suivantes :

    • Encodez le message binaire en tant que chaîne en Base64, puis définissez le paramètre message sur la valeur encodée.
    • Définissez la valeur du paramètre messageContentType sur Bytes.
    validateMessage Non Booléen Indique si la validation des messages est effectuée ou non.
    hl7Version Non Chaîne Version du message HL7 (par exemple, 2.3, 2.4, etc.).
    hl7MessageType Non Chaîne Type de message HL7 (par exemple, ADT^A01, ADT^A02, etc.).

    Paramètres de sortie de l'action sendMessage à l'aide de TCP(MLLP)

    Nom du paramètre Type de données Description
    messageId String ID du message envoyé.
    état Chaîne État du message envoyé.

    Paramètres de sortie de l'action sendMessage à l'aide de REST(API Google Cloud Healthcare)

    Nom du paramètre Type de données Description
    ack Chaîne Message d'acquittement de l'API Google Cloud Healthcare.
    état Chaîne État du message envoyé.

    Action transformhl7tojson

    Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action transformhl7tojson.

    Paramètres d'entrée de l'action transformhl7tojson

    Nom du paramètre Requis Type de données Description
    hl7Message Oui Chaîne Message HL7 à convertir au format JSON.

    Paramètres de sortie de l'action transformhl7tojson

    Nom du paramètre Type de données Description
    hl7Json Chaîne JSON transformé à partir d'un message HL7.

    Action transformJsonToHl7

    Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action transformJsonToHl7.

    Paramètres d'entrée de l'action transformJsonToHl7

    Nom du paramètre Requis Type de données Description
    hl7Json Oui Chaîne JSON à transformer en message HL7.

    Paramètres de sortie de l'action transformJsonToHl7

    Nom du paramètre Type de données Description
    hl7Message Chaîne Message HL7 transformé à partir de JSON.

    Action transformAndSendHl7BatchMessage

    Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action transformAndSendHl7BatchMessage.

    Paramètres d'entrée de l'action "Transformer et envoyer un message HL7 par lot au système de santé"

    Nom du paramètre Requis Type de données Description
    hl7BatchMessage Oui Chaîne Message HL7 par lot à transformer et à envoyer.
    hl7BatchMessageDelimiter Non Chaîne Délimiteur de segment de message de lot HL7. La valeur par défaut est \r.
    hl7BatchMessageContentType Oui Chaîne Type de contenu du message de lot HL7(texte/octets).

    Paramètres de sortie de l'action "Transformer et envoyer un message HL7 par lot au système de santé"

    Nom du paramètre Type de données Description
    sendHl7BatchMessageResponse Chaîne Réponse de l'envoi d'un message HL7 groupé au système de santé.

    Utiliser Terraform pour créer des connexions

    Vous pouvez utiliser la ressource Terraform pour créer une connexion.

    Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

    Pour consulter un exemple de modèle Terraform permettant de créer une connexion, consultez l'exemple de modèle.

    Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform:

    Nom du paramètre Type de données Requis Description
    ID du projet STRING Vrai ID du projet dans lequel le magasin de données HL7 est créé. N'est requis que lorsque la connexion est établie via REST(API Google Cloud Healthcare).
    Emplacement STRING Vrai Emplacement de votre ensemble de données et de votre magasin HL7v2, requis uniquement lorsque la connexion est établie via REST(API Google Cloud Healthcare).
    ID de l'ensemble de données STRING Vrai ID de l'ensemble de données contenant le magasin HL7v2, requis uniquement lorsque la connexion est établie via REST(API Google Cloud Healthcare).
    ID du magasin HL7 STRING Vrai ID du datastore HL7v2 dans lequel vous stockez le message HL7v2. N'est requis que lorsque la connexion est établie via REST(API Google Cloud Healthcare).

    Utiliser la connexion HL7 dans une intégration

    Une fois la connexion créée, elle devient disponible à la fois dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration via la tâche Connecteurs.

    • Pour découvrir comment créer et utiliser la tâche Connecteurs dans Apigee Integration, consultez la section Tâche Connecteurs.
    • Pour savoir comment créer et utiliser la tâche Connecteurs dans Application Integration, consultez la section Tâche Connecteurs.

    Obtenir de l'aide auprès de la communauté Google Cloud

    Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.

    Étape suivante