2012-10-11 5 views
0

Nous créons une structure XML HL7 et utilisons la bibliothèque HAPI pour la sortie sous la forme d'un fichier HL7 V2. Mais malheureusement, HAPI réorganise (trie) les segments.HAPI trie les segments

Parce que j'ai MFE et ZBP toujours répéter:

MSH|... 
MFI|... 
MFE|... 
ZBP|... 
MFE|... 
ZBP|... 
MFE|... 
ZBP|... 

Mais Hapi re-leur ordonne

MSH|... 
MFI|... 
MFE|... 
MFE|... 
MFE|... 
ZBP|... 
ZBP|... 
ZBP|... 

Il hapens aussi avec le HAPI TestPanel. Exemple:

MSH|^~\&|||||20121011140541.133+0200||MFN^M01|1|T|2.6 
MFI|Partners|^Sap|UIZ|||NE 
MFE|MUP|||0000040001 
ZBP|0000040001|100|Something||||3000|Bern|||| 
MFE|MUP|||0000040002 
ZBP|0000040002|100|Otherthing||||8000|Zurich|||| 

Comment puis-je désactiver le réordonnancement avec HAPI?

Répondre

0

Changé ADT^01 au NPF correcte^M01 et en utilisant la version 2.3 cela fonctionne (dans le testeur aussi):

MSH|^~\&|||||20121011140541.133+0200||MFN^M01|1|T|2.3 
MFI|Partners|^Sap|UIZ|||NE 
MFE|MUP|||0000040001 
ZBP|0000040001|100|Something||||3000|Bern|||| 
MFE|MUP|||0000040002 
ZBP|0000040002|100|Otherthing||||8000|Zurich|||| 

étrange, mais toute autre version ne fonctionne pas .

+0

Soyez prudent avec la version de HAPI, une version semble pas avoir cette fonctionnalité comme dans la dernière version ... – FiveO

0

Eh bien, vous avez quelques choses qui se passent ici ...

D'abord, la façon dont vous avez structuré vos segments est non conforme à la norme HL7. Une fois que les segments Z sont introduits dans un message, tous les segments suivants doivent être des segments Z. Donc, le fait que vous ayez alternativement des segments MFE et ZBP n'est pas une structure valide. Au minimum, je suggérerais de remplacer le segment MFE par un segment personnalisé, tel que ZMF ou similaire. Deuxièmement, la structure de message que vous avez n'est pas celle d'un message ADT^A01. Il vous manque quelques segments requis, tels que PID, qui doivent figurer dans le message. Ne pas suivre la structure du message va causer des maux de tête pour vos partenaires commerciaux et, éventuellement, pour vous. Si vous n'êtes pas sûr de la structure du message, vous devrez vous rendre au HL7 site et acheter un guide d'implémentation. Donc, si vous avez décidé que vous ne vous souciez pas des standards ou que votre partenaire commercial s'en fout, vous pouvez désactiver la validation dans l'outil hapi. Bien qu'il soit à peu près commun de modifier la norme de message HL7, veuillez ne pas l'ignorer . Faire des messages personnalisés et ignorer hardiment les normes crée une telle douleur pour les intégrateurs sur le terrain et conduit souvent à une intégration fragile. Rappelez-vous que ce sont des messages sur les soins de santé qui sont utilisés par les fournisseurs de soins de santé, et non des appels API sur Twitter Ce que nous faisons ici peut avoir un impact sur les résultats d'un patient. Il existe un message validation page sur le site HAPI.

Voici essentiellement le code que vous recherchez:

NoValidation noValidation = new NoValidation(); 
parser.setValidationContext(noValidation); 

Dans le HAPI testpanel, vous pouvez voir la même fonctionnalité en désactivant la validation dans le menu déroulant. enter image description here

+0

ok - J'ai modifié ADT^01 pour le message MFN^M01 correct. Et il y a un groupe Segmernt nommé "MF" qui contient le segment MFE un segment "générique" supplémentaire. Alors ça marche. Donc vous répondez n'est pas vraiment correct.Mais merci pour les bons commentaires – FiveO

+0

je pense que ma réponse est toujours correcte, en particulier dans le contexte de votre message d'origine qui a été affiché comme ADT. MFN^M01 est un message spécial qui est l'un des seuls messages pouvant contenir des segments Z dans le message. Je suis content que vous ayez réussi à le faire fonctionner. Bonne intégration. –