Mapper un message HL7 ou PN13
Ajoutez Mapper HL7 v2 ou Mapper PN13 au workflow. Reliez la sortie content du déclencheur, du parseur ou d’un autre nœud texte à son entrée content.
Sélectionnez le nœud puis ouvrez Configurer. L’atelier affiche l’exemple, le contrat de sortie avec ses erreurs éventuelles, et le résultat.
Définir les champs
Chargez l’exemple (Charger l’exemple) ou importez un fichier UTF-8, limité à 1 Mio dans l’éditeur. Vous pouvez aussi coller le texte. L’exemple est envoyé à l’API du proxy pour l’aperçu, traité en mémoire, et n’est pas enregistré avec le workflow. Les exemples illustrent le mapping et ne constituent pas des messages cliniques conformes à un profil complet.
Nommez le type de sortie, puis définissez chaque champ : nom, chemin source, type et présence requise. Les noms utilisent des lettres ASCII, chiffres et underscores, avec une lettre initiale. Quand un champ Chemin a le focus, l’atelier propose les chemins du message d’exemple ; cliquer sur l’un d’eux le reporte dans ce champ.
| Type | Conversion |
|---|---|
| String | Conserve le texte, notamment les zéros initiaux des identifiants. |
| Integer | Exige un entier représentable sans perte de précision. |
| Number | Exige un nombre décimal fini, avec un point comme séparateur. |
| Boolean | Accepte uniquement true ou false. |
Aucune conversion de date, unité, code médicament ou identité patient n’est inférée. Un champ requis absent ou vide échoue. Un champ facultatif absent est omis. Plusieurs valeurs pour un même champ scalaire échouent : le mapping ne choisit pas silencieusement la première.
Préserver les répétitions
Sans groupe, le mapping produit une ligne pour le message entier. Avec un groupe, il produit une ligne par occurrence et résout tous les champs dans cette occurrence.
- HL7 : un groupe est un nom de segment, par exemple
OBX. Les chemins de champs doivent appartenir à ce segment, par exempleOBX-3.1etOBX-5. - PN13 : un groupe est un chemin d’éléments relatif à
Messages, par exempleM_Prescription_médicaments/Prescription/Elément_prescr_médic. Les champs sont relatifs à cet élément.
Un groupe absent produit une liste vide. Cette version gère un niveau de groupe ; les groupes HL7 composés de plusieurs segments, les listes imbriquées et les jointures entre groupes ne sont pas pris en charge. Les champs d’une prescription ne sont donc pas associés à une autre par leur position dans des listes séparées.
Valider et appliquer
Cliquez Tester l’exemple. L’application exige un aperçu réussi, avec au moins une ligne, afin de vérifier les champs. Vérifiez les lignes produites et les éventuelles erreurs, qui indiquent la ligne et le champ concernés. Les chemins sont aussi vérifiés à la publication du workflow. Appliquer reporte le contrat dans le nœud ; enregistrez ensuite le brouillon et publiez le workflow pour le mettre en service.
La sortie rows est une liste d’objets structurels typés. Chaque objet porte les champs déclarés et leurs contraintes de présence. Un nœud Map (for-each) peut parcourir les lignes et exposer leurs champs par les ports composites. Le nom du contrat l’identifie dans le graphe ; il ne crée pas un type global de plugin.
À l’exécution, les mêmes règles d’extraction et de conversion s’appliquent. Une erreur arrête le nœud avant qu’il n’émette ses lignes. Le contrat fait partie de la version du workflow. La sortie provenance, au format JSON texte, contient les chemins sources, le format du message, l’empreinte SHA-256 du texte source et celle du mapping. mappingVersion: 1 désigne le format de configuration ; l’empreinte distingue les révisions de son contenu. Le journal d’exécution conserve les entrées et la configuration du nœud selon les règles de stockage du déploiement.
Ces contrôles portent sur les données choisies par le workflow. Ils ne remplacent pas une validation XSD PN13, un profil HL7, un contrôle de terminologie ou une validation clinique.
Voir aussi Connecter un EAI et Traiter un document CDA R2.