[Deprecated] Schematron-based Validator

This version of the documentation is deprecated. Up-to-date version can be found at https://gazelle.ihe.net/gazelle-documentation

Project Overview

This application is part of the External Validation Service provides by the Gazelle project. This project is made of two parties:

  • A Web interface enables the administrator of the application to register new schematrons
  • A Web Service enables the user and other Gazelle applications to validate objects using those schematrons.
  • A GITB Web Service enables the user and other Gazelle applications to validate objects using those schematrons.

By now, schematrons have been writen for the following kinds of documents:

  • CDA documents (epSOS and/or IHE compliant)
  • HL7v3 messages (epSOS and IHE compliant)
  • SAML Assertions (epSOS compliant)
  • ATNA log messages (epSOS compliant)

The list of available schematrons is likely to become richer in the future. One can access the webservice using the EVS Client Front-end, access to the schematrons used for the validation of documents is available from this same application.

Unless a user would like to perform mass document validation using the webservice functionality of that tool, the Schematron validation should be performed using the GUI provided by the EVS Client Front-end. The rest of this page is mainly for the users interested in learning more about the validation process and the methodology to call the webservice.

Validation based on Schematron

The validation based on schematron can be performed for any kind of XML files (CDA, HL7v3 messages, SAML Assertions and so on). The XML document is processed three times before the tool can give the validation result.

  1. We first check the document is a well-formed XML. If it is not the case, the validation stopped and the FAILED result is sent back.
  2. Then, if the invoked schematron is linked to an XSD schema, we check the document is valid according to the schema. If it is not the case, the validation will go on but the result will be FAILED. Concerning CDA documents, we distinguish IHE CDA from epSOS CDA. At XSD validation step, the first ones are validated against CDA.xsd and the second ones against CDA_extended.xsd.
  3. Then, if the document is of type CDA, we validate against the abstract CDA model specification (CDA validation details)
  4. Finally, the XML document is validated against the selected schematron. Validation is performed using Saxon 9HE.

Web Service

The wsdl describing the service is available here. (https://gazelle.ihe.net/SchematronValidator-SchematronValidator-ejb/GazelleObjectValidatorWS?wsdl) You can also download a soapui sample project to have an example of how to use each offered method, see the attachment section of this post or download it from here.

Functionnalities

Schematron-based Validator implements various web service methods which are:

  • aboutThisApplication: returns the information about current application release running on server.
  • getAllSchematrons: returns the list of all Schematron objects stored in the database. See javadoc for more information about the Schematron object attributes.
  • getSchematronByName: returns a Base64-encoded String reprensenting the content of the schematron file selected by its name.
  • getSchematronForAGivenType: returns the list of schematrons which are linked to the given object type (CDA, HL7v3 ...)
  • validateObject: validate the given XML document against the given schematron.
  • getAllAvailableObjectTypes: returns the list of object type that can be validated using this validator.

Validation results are format as an XML document, the XSLT stylesheeet which can be used to pretty display the results is available here, the associated CSS file is available here.

The javadoc documenting all these methods will be soon available.

Static WS Client for Schematron-based Validator Web Service

We have generated a Static Web Service client using Axis 2. This related jar is stored in our maven repository and is easy to use. You only have to make a dependency to the artifact as shown below.

 

<dependency>
<groupId>net.ihe.gazelle.maven</groupId>
<artifactId>SchematronValidatorWSClient</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
</dependency>

 

GITB Web Service

 The wsdl describing the GITB service is available here. (https://gazelle.ihe.net/SchematronValidator-SchematronValidator-ejb/GazelleObjectValidatorWS?wsdl) You can also download a soapui sample project to have an example of how to use each offered method, see the attachment section of this post or download it from here.

Functionnalities

Schematron-based Validator implements various web service methods which are:

  • getModuleDefinition: returns the information about current application release running on server.
  • validate: validate the given XML document against the given schematron.