Production de documents XML CDA-R2

Fonctionnalités en développement ! Les spécifications développées dans cet article concernent la version 5 de MedShakeEHR.

Principe général

Sur le même principe que la génération d’un document au format PDF, chaque questionnaire et chaque action dans MedShakeEHR permet la génération d’un fichier XML au format CDA-R2 suivant les recommandations officielles françaises.

Ce processus est destiné à permettre une interopérabilité, et donc ici, un export des données générées en interne.

Prérequis

Jeux de valeurs normées

La production de XML CDA-R2 nécessite l’emploi de codes normés en particulier pour définir le praticien et son lieu d’exercice.
Les fichiers de jeux de valeurs sont distribués par l’ASIP sur son site web via les pages documentant le sujet ou son repository ansforge/TestContenuCDA.

Les fichiers suivants sont indispensables à la production des documents et doivent être installés dans le dossier ressources/JDV/ :
 JDV_J01-XdsAuthorSpecialty-CI-SIS.xml
 JDV_J02-HealthcareFacilityTypeCode_CI-SIS.xml
 JDV_J07-XdsTypeCode_CI-SIS.xml

Une page récapitulative des jeux de valeurs présents et de leur contenu est disponible dans la configuration de MedShakeEHR (Journaux et informations techniques > Ressources externes > Jeux de valeurs normées).

Profils utilisateurs

Les profils des utilisateurs susceptibles de produire des contenus secondairement exportés au format XML CDA-R2 doivent être complétés au mieux, en particulier pour ce qui concerne les champs :
 Identifiant national praticien santé
 Code normé de la profession/spécialité du praticien
 Code normé de la structure d’exercice du praticien

Pour ces 2 derniers champs, même si l’édition du profil permet d’entrer une valeur non présente dans le menu déroulant, cela ne permet pas d’aboutir pour le moment à un document XML CDA-R2 conforme.

D’autre part, il convient également de s’assurer qu’adresse et moyen de communication comme numéro de téléphone ou email sont présents.

Paramétrage des formulaires

Chaque formulaire susceptible de produire une pièce au format XML CDA-R2 doit présenter un paramétrage spécifique.
Ce paramétrage est livré par défaut avec les différentes mises à jour successives des modules. Il peut être modifié ou complété en fonction des besoins dans la zone d’édition du formulaire, à l’onglet CDA.

Le paramétrage pour la production de document au format XML CDA à partir d’un formulaire repose sur une description YAML.

Buts

Ce paramétrage a plusieurs buts :
 définir le template CDA qui doit être utilisé
 définir les paramètres à appliquer au template
 faire en sorte que l’acte CCAM (ou LOINC ou autre) qui va définir le contenu du document final soit autodéterminé le plus précisément possible en fonction des choix faits dans le formulaire.

Sur ce dernier point, un formulaire comportant un paramétrage CDA correct et qui est exploité par l’utilisateur du logiciel présente un champ final de sélection de l’acte à attacher à l’examen. La valeur de ce champ s’ajuste dynamiquement en fonction du remplissage du formulaire suivant des mécanismes expliqués plus bas.

Exemple

Voici le code CDA employé pour le formulaire d’une échographie fœtale à 12 SA.

template: 'CdaDocNonStructure'
clinicalDocument:
  title: ''
  documentationOf:
    serviceEvent:
      paramConditionServiceEvent: 
        - 'indicEcho12'
        - 'nbFoetusEcho12'
      code:
        indicEcho12@A|nbFoetusEcho12@1: 'JQQM010'
        indicEcho12@A|nbFoetusEcho12@2: 'JQQM015'
        indicEcho12@A|nbFoetusEcho12@3: 'JQQM015'
        indicEcho12@B|nbFoetusEcho12@1: 'JQQM001'
        indicEcho12@B|nbFoetusEcho12@2: 'JQQM001'
        indicEcho12@B|nbFoetusEcho12@3: 'JQQM001'
        indicEcho12@C|nbFoetusEcho12@1: 'JQQM010'
        indicEcho12@C|nbFoetusEcho12@2: 'JQQM015'
        indicEcho12@C|nbFoetusEcho12@3: 'JQQM015'
        indicEcho12@D|nbFoetusEcho12@1: 'JQQM010'
        indicEcho12@D|nbFoetusEcho12@2: 'JQQM015'
        indicEcho12@D|nbFoetusEcho12@3: 'JQQM015'
        indicEcho12@E|nbFoetusEcho12@1: 'JQQM010'
        indicEcho12@E|nbFoetusEcho12@2: 'JQQM015'
        indicEcho12@E|nbFoetusEcho12@3: 'JQQM015'
actesPossibles:
  JQQM010:
    serviceEventCode:
      codeSystem: 'CCAM'
      displayName: "Échographie biométrique et morphologique d'une grossesse uniembryonnaire au 1er trimestre"
    clinicalDocumentCode: '75492-9'
  JQQM015:
    serviceEventCode:
      codeSystem: 'CCAM'
      displayName: "Échographie biométrique et morphologique d'une grossesse multiembryonnaire au 1er trimestre"
    clinicalDocumentCode: '75492-9'
  JQQM001:
    serviceEventCode:
      codeSystem: 'CCAM'
      displayName: "Échographie de surveillance de la croissance foetale"
    clinicalDocumentCode: '75492-9' 
  • template : nom du template à utiliser
  • clinicalDocument / title : titre du document à produire. Vide, il est remplacé par le nom de l’acte.
  • clinicalDocument / .. / serviceEvent / paramConditionServiceEvent : contient le nom des champs du formulaire sur lesquels se baser pour déterminer le code acte utilisé.
  • clinicalDocument / .. / serviceEvent / code : correspondance entre les choix fait dans le formulaire et le code acte à choisir. Ce bloc est traduit en JavaScript à l’ouverture du formulaire ce qui permet l’ajustement automatique du champ de sélection de l’acte situé juste avant le bouton de validation.
  • actesPossibles : liste des actes CCAM qui détaille
    • le nom du système de codage
    • le libellé en clair de l’acte
    • le clinicalDocumentCode à utiliser (issu du jeu de valeurs JDV_J07-XdsTypeCode_CI-SIS.xml)

Mise en œuvre et outils

MedShakeEHR possède, accessible dans la zone d’édition du formulaire, un outil pour générer automatiquement les différents blocs yaml nécessaires à l’obtention de la configuration finale CDA.

1) Déterminez d’abord dans le formulaire quels seront les champs existants qui sont susceptibles de pouvoir, au remplissage, autodéterminer le code CCAM (ou LOINC) à attacher à la version CDA du compte-rendu généré. Dans l’exemple ci-dessus, il s’agissait de indicEcho12 (indication de l’examen) et de nbFoetusEcho12 (nombre de fœtus).

2) Complétez alors comme ceci une version minimale du paramétrage CDA et validez là.

template: 'CdaDocNonStructure'
clinicalDocument:
  title: ''
  documentationOf:
    serviceEvent:
      paramConditionServiceEvent: 
        - 'indicEcho12'
        - 'nbFoetusEcho12'
      code:
actesPossibles:

3) Lancez l’outil proposé au-dessus du champ de saisi CDA.

Un premier onglet permet de générer le bloc actesPossibles. Il nécessite pour fonctionner d’avoir un accès à l’API NGAP CCAM MedShake.

Un second onglet permet de formater le bloc clinicalDocument / .. / serviceEvent / code, c’est-à-dire d’associer les combinaisons de réponses possibles à un acte CCAM de la liste du premier onglet.

4) Copiez-collez les différents blocs obtenus dans l’outil dans le paramétrage final yaml et validez le résultat final.

 

Article précédent

 

Article suivant