Partager via


Détermination du schéma dans le désassembleur HL7 2.X

Les messages HL7 2.X contiennent un segment d’en-tête (MSH), suivi d’un certain nombre de segments de corps et d’un nombre facultatif de segments Z. MSH contient 21 champs.

Lorsqu’un message arrive, le moteur 2.X lit l’en-tête pour déterminer le schéma à utiliser pour analyser le corps du message. La séquence d’événements suivante se produit :

  1. Le désassembleur lit la valeur de MSH3 (partie source) pour déterminer les options de validation suivantes :

    1. S’il faut effectuer la validation XML pour le corps

    2. Indique s’il faut valider les champs de type de données personnalisés dans les données du corps

    3. Indique s’il faut autoriser les délimiteurs de fin dans le corps

    4. Quel est l’espace de noms cible du schéma de corps (TargetNS)

  2. Le désassembleur lit ensuite MSH9 et MSH12 pour déterminer le nom de nœud racine du corps. L’algorithme est le suivant :

    Body schema type = TargetNS + "#" + MSH9.1 + MSH9.2 + MSH12.1 (with dots removed) + MSH12.2 (or GLO if the value is blank) + MSH12.3 (or DEF if the value is blank)  
    

    Microsoft BizTalk Accelerator pour HL7 (BTAHL7) autorise toujours les délimiteurs de fin dans un en-tête de message. Le moteur examine l’identificateur de segment qui correspond aux trois premiers caractères de chaque ligne. Il continue à générer du code XML pour tous les segments définis par le schéma de corps. Lorsqu’il rencontre un segment non défini, il traite ce segment comme un segment Z. À partir de là, tous les segments non définis constituent la partie Z du message. Le MSH suivant marque la fin de ce message. Pour les messages par lots, la prochaine balise MSH ou BTS (balise de segment de bande-annonce de lot) marque la fin d’un message. Un segment Z ne peut contenir que des segments qui ne sont pas déclarés dans un schéma. Il s’agit d’une erreur de rencontrer un segment déclaré.

Voir aussi

Traitement des messages
Traitement des fichiers plats BTAHL72X