Une équipe de développeurs a mis au point une nouvelle méthode pour simplifier et améliorer la lisibilité des fichiers de test utilisés dans la conversion de données, notamment dans le cadre de projets liés aux normes de santé. Cette approche innovante permet une meilleure organisation des données et des affirmations, facilitant ainsi le processus de validation.
La principale difficulté résidait dans la gestion de la complexité des fichiers de test, souvent volumineux et difficiles à décrypter. Pour y remédier, les développeurs ont introduit une technique de substitution de chaînes permettant de réduire la quantité de texte répétitif, notamment en remplaçant l’expression « MessageHeader » par une référence contextuelle plus concise : « % context.entry.resource.oftype (messageheader) ». Cette simplification permet de gagner de l’espace et de rendre les fichiers plus clairs.
Par ailleurs, l’équipe a optimisé la disposition des affirmations (assertions) par rapport aux données du message. Plutôt que de les présenter séparément, les affirmations sont désormais intégrées directement après les segments de données correspondants, ce qui facilite leur suivi et leur compréhension. Pour gérer les segments particulièrement longs, une fonctionnalité d’interruption de ligne a été ajoutée, inspirée des langages de script comme Bash. Cette fonctionnalité permet de poursuivre les lignes de code sur plusieurs lignes, tout en conservant une indication visuelle claire du début et de la fin de chaque segment.
Un exemple concret de cette nouvelle approche est la possibilité d’écrire des tests de la manière suivante :
# ACK sortant: Msh | ^ ~ & | Pat_identity_x_ref_mgr_misys_tls | Allscripts | @ Messageheader.source.name = "pat_identify_x_ref_mgr_misys_tls" Autres_ibm_bridge_tls | @ Messageheader.source.endpoint = "allscripts" IBM | 20090224114149-0500 | @ MessageHeader.Destination.endpoint = "IBM" | Ack ^ a04 | openpixpdq10.243.0.65.19767899354465 | P | 2.3.1MSA | AA | 0851077658473390286
Cette méthode permet de combiner le message et les affirmations dans un seul fichier, ce qui simplifie le processus de test et de validation. De plus, les affirmations elles-mêmes peuvent être divisées en plusieurs lignes pour une meilleure lisibilité, et les commentaires présents dans les expressions d’affirmation (une fonctionnalité de Fhirpath) sont réutilisés pour fournir des messages d’affirmation clairs et concis.
Le code source de ces améliorations est disponible dans le convertisseur open source V2tofhir, développé par l’équipe. Les fichiers clés à consulter sont « MessageParsserS.Java » et « Testdata.java », et la méthode « TestData.Load() » est le cœur du processus d’analyse des données de test.