Schematron

Validation des CDA générés par la DevBox-Santé DMP lors de l’homologation

Validation automatique

La DevBox-santé santé intègre les différents composants du projet github de l’ANS, et propose la validation SCHEMATRON automatique par l’utilisation des feuilles de style xslt fournies dans le projet https://github.com/ansforge/TestContenuCDA-3-0 (anciennement https://github.com/ansforge/TestContenuCDA)

Pour apporter les preuves schematrons nécessaires pour les tests d’alimentation, vous pouvez retrouver les traces d’exécution de cette validation dans les logs.

Exemple de validation pour un document CDAR2 Niveau 1 (structuration minimale) :


ANS_CDA_ToolsManager   : load tools from : testContenuCDA-2.40.zip
ANS_CDA_ToolsManager   : directory created : C:\Users\lfo\AppData\Local\Temp\dmpc-api8808336379869609192
ANS_CDA_ToolsManager   : testContenuCDA-2.40.zip unzipped in C:\Users\lfo\AppData\Local\Temp\dmpc-api8808336379869609192\testContenuCDA_20220310_V2.40
DMPCCdaValidator       : validate with schema : C:\Users\lfo\AppData\Local\Temp\dmpc-api8808336379869609192\testContenuCDA_20220310_V2.40\infrastructure\cda\CDA_extended.xsd
DMPCCdaValidator       : validate with schematron : C:\Users\lfo\AppData\Local\Temp\dmpc-api8808336379869609192\testContenuCDA_20220310_V2.40\schematrons\profils\CI-SIS_StructurationMinimale.xsl
DMPCCdaValidator       : 
---------  SCHEMATRON_VALIDATION_RESULT -----  :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="rapportSchematronToHtml4.xsl"?><svrl:schematron-output xmlns:cda="urn:hl7-org:v3" xmlns:iso="http://purl.oclc.org/dsdl/schematron" xmlns:jdv="http://esante.gouv.fr" xmlns:lab="urn:oid:1.3.6.1.4.1.19376.1.3.2" xmlns:saxon="http://saxon.sf.net/" xmlns:schold="http://www.ascc.net/xml/schematron" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:svs="urn:ihe:iti:svs:2008" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" dateHeure="6/10/2022 à 14:37:13 (temps UTC+02:00)" document="" phase="Struct_minimale" schemaVersion="CI-SIS_StructurationMinimale.sch" title="Rapport de conformité du document aux spécifications françaises (en-tête)">
    <svrl:active-pattern id="addr"/>
    <svrl:fired-rule context="cda:addr"/>
    
    ...
    <svrl:active-pattern id="variablesSM"/>
</svrl:schematron-output>
---------

Pour apporter la preuve, il vous suffira d’extraire le fichier xml de bonne exécution du schematron.

Pour une NoteVaccination, une deuxième validation est effectuée avec le schematron dédié à ce type de document CDA R2 de Niveau 3 (document structuré) :

DMPCCdaValidator       : validate with schematron : C:\Users\lfo\AppData\Local\Temp\devbox-sante-dmp4342499872869358088\testContenuCDA_20220310_V2.40\schematrons\CI-SIS_VAC-NOTE_2021.01.xsl
DMPCCdaValidator       : 
---------  SCHEMATRON_VALIDATION_RESULT -----  :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="rapportSchematronToHtml4.xsl"?><svrl:schematron-output xmlns:cda="urn:hl7-org:v3" xmlns:iso="http://purl.oclc.org/dsdl/schematron" xmlns:jdv="http://esante.gouv.fr" xmlns:saxon="http://saxon.sf.net/" xmlns:schold="http://www.ascc.net/xml/schematron" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:svs="urn:ihe:iti:svs:2008" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" dateHeure="3/11/2022 à 18:22:00 (temps UTC+01:00)" document="" phase="CI-SIS_VAC-NOTE_2021.01" schemaVersion="CI-SIS_VAC-NOTE_2021.01.sch" title="Vérification de la conformité au modèle Note de vaccination 2021.01">
    <svrl:active-pattern id="JDV_UsageDrogues-CISIS">
        <svrl:text>Conformité d'un élément codé obligatoire par rapport à un jeu de valeurs du CI-SIS</svrl:text>
    </svrl:active-pattern>
    <svrl:active-pattern id="JDV_ProfessionsExposees-CISIS">
        <svrl:text>Conformité d'un élément codé obligatoire par rapport à un jeu de valeurs du CI-SIS</svrl:text>
   ...
    <svrl:active-pattern id="Entete_VAC-NOTE_2021.01"/>
    <svrl:fired-rule context="cda:ClinicalDocument"/>
    <svrl:fired-rule context="cda:ClinicalDocument/cda:recordTarget/cda:patientRole/cda:patient"/>
    <svrl:active-pattern id="variables"/>
    <svrl:fired-rule context="cda:ClinicalDocument"/>
</svrl:schematron-output>
----------

Validation manuelle

Utilisation des outils mis à disposition par l’ANS

Afin de valider manuellement les CDA générés par la DevBox-Santé DMP il faut utiliser les outils de vérification fournit par l’ANS. Ils sont dorénavant héberger sur Github : https://github.com/ansforge/TestContenuCDA

La documentation se trouve ici : https://github.com/ansforge/TestContenuCDA/wiki

Utilisation de l’espace de tests de l’ANS

Sur le site interop.esante.gouv.fr ou plus exactement https://interop.esante.gouv.fr/evs/home.seam

Une fois sur le site :

  • Il vous faut télécharger votre fichier CDA
  • Choisir le schematron à valider : “Structuration minimale des documents de santé” par exemple External Validation Service Front-end_1
  • Cliquer sur valider External Validation Service Front-end_1