Introduction

To increase the code maintainability and the power of the validation of XML documents and messages, we chose to develop model-based validation services. Those services are available through the External Validation Service Front-end (aka EVSClient) of the Gazelle platform but you can also implement your own client to the web services of validation. All of them are built on the same model so you will only need to develop the client once and then “play” with the WSDL location.

Description of the API

Below, we describe the methods offered by the web services and the expected parameters.

  • about : Gives information about the called web service
  • validateDocument : Validates an XML document using the given model-based validator
    • @param document : the XML document to be validated
    • @param validator : the name of the validator kind
    • @return : an XML based structure of the result of the validation
  • validateBase64Document : Validates an XML document using the given model-based validator based on a B64 description of the document
    • @param base64Document : base64 encoded document
    • @param validator : the name of the validator kind
    • @return : an XML based structure of the result of the validation
  • getListOfValidators : Returns the list of available validators
    • @param descriminator: in some cases we may need to use the descriminator in order to select the validators to return (example : IHE, EPSOS, etc)
    • @return : a list of string containing allowed validators’ name

Web service client

We have developed a web service client for our proper needs to access these services. It’s a Maven based project available in our Nexus repository. The latest release is available in our Nexus repository

Presentation about the validation process

You will find here a PPT presentation about how EVSClient use the webservices of validation.

Validation tools with SOAPUI

You will find here a SOAPUI project about the validation webservice for CDA documents (the version of SOAPUI tool used is 5.1.3). This project contains examples of how to use the Webservice, samples of requests of validation.

Link to the validation tools

Here a list of webservice provided by IHE-Europe, using the same API of validation :

Validation Service WSDL Location Descriminators
CDA documents https://gazelle.ihe.net/CDAGenerator-ejb/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE, epSOS, ASIP
ATNA logging messages https://gazelle.ihe.net/gazelle-atna-ejb/AuditMessageValidationWSService/AuditMessageValidationWS?wsdl IHE, epSOS
XD* metadata https://gazelle.ihe.net/XDStarClient-ejb/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE, epSOS
DSUB messages https://gazelle.ihe.net/XDStarClient-ejb/DSUBModelBasedWSService/DSUBModelBasedWS?wsdl IHE
HPD messages https://gazelle.ihe.net/HPDSimulator-ejb/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE, CH
SVS messages https://gazelle.ihe.net/SVSSimulator-ejb/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE
HL7v3 messages https://gazelle.ihe.net/GazelleHL7v2Validator-ejb/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE, KSA, CH
XDW documents https://gazelle.ihe.net/XDWSimulator-ejb/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE
SAML assertions https://gazelle.ihe.net/gazelle-xua-jar/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE
WADO queries https://gazelle.ihe.net/XDStarClient-ejb/WADOModelBasedWSService/WADOModelBasedWS?wsdl IHE
XML Signature Validator https://gazelle.ihe.net/xml-signature-validator-jar/ModelBasedValidationWSService/ModelBasedValidationWS?wsdl IHE

Documentation of the webservices in the tools

Here a collect of documentations coming from different IHE-Europe validation tools regarding their exposed webservices for validation :