This application has been developed with the purpose of aggregating in a same user interface, the access to all validation services developed for IHE and its national extensions. Called services are the followings (non-exhaustive):
This application has been developed with the purpose of aggregating in a same user interface, the access to all validation services developed for IHE
and its national extensions. Called services are the followings (non-exhaustive):
* Gazelle HL7 Validator for HL7v2.x and HL7v3 messages
* Gazelle HL7 Validator for HL7v2.x and HL7v3 messages
@@ -27,9 +20,11 @@ This application has been developed with the purpose of aggregating in a same us
...
@@ -27,9 +20,11 @@ This application has been developed with the purpose of aggregating in a same us
* JHOVE for PDF files validation
* JHOVE for PDF files validation
* Dicom3Tools, DCMCHECK, Dcm4Che, Pixelmed for validating DICOM objects
* Dicom3Tools, DCMCHECK, Dcm4Che, Pixelmed for validating DICOM objects
In the menu bar of the user interface, we have chosen to sort the validators by affinity domains; currently several affinity domains are available in the instance deployed at [https://gazelle.ihe.net/EVSClient](https://gazelle.ihe.net/EVSClient): IHE, IHE Germany, epSOS, CI-SIS France, e-sens, Sequoia and so on.
In the menu bar of the user interface, we have chosen to sort the validators by affinity domains; currently several affinity domains are available in
the instance deployed at [https://gazelle.ihe.net/EVSClient](https://gazelle.ihe.net/EVSClient): IHE, IHE Germany, epSOS, CI-SIS France, e-sens,
Sequoia and so on.
The **External Validation Service Client** application can be used for validating the following types of messages or documents:
The **External Validation Service Client** application can be used for validating the following types of messages or documents:
* HL7 CDA files
* HL7 CDA files
* HL7v2.x and HL7v3 messages
* HL7v2.x and HL7v3 messages
...
@@ -46,33 +41,32 @@ The **External Validation Service Client** application can be used for validat
...
@@ -46,33 +41,32 @@ The **External Validation Service Client** application can be used for validat
## Important notice
## Important notice
Note that when using the EVS Client application, if you are NOT logged in, every document/message you validate is stored in our database,
Note that when using the EVS Client application, if you are NOT logged in, every document/message you validate is stored in our database, referenced
referenced and available to everybody. If you do not want to have your documents/messages public, then you need to log in using the "CAS login",
and available to everybody. If you do not want to have your documents/messages public, then you need to log in using the "CAS login", it uses your
it uses your Gazelle's ([*EU-CAT*](https://gazelle.ihe.net/EU-CAT)) credentials.
3.**Select the schematron and/or the ObjectsChecker validator to use in one of the 2 drop-down list(s)**
3.**Select the schematron and/or the ObjectsChecker validator to use in one of the 2 drop-down list(s)**


4.**Finally, hit the "validate" button.** After a while, the validation result will be displayed below the selection area.
4.**Finally, hit the "validate" button.** After a while, the validation result will be displayed below the selection area.
The validation result page is divided into differents panels :
The validation result page is divided into differents panels :
* "Download result" button enables you to download an XML file gathering the validation result.
* "Download result" button enables you to download an XML file gathering the validation result.
* "Information" gives information about the validated file, the validation date, the schematron used and the result of the validation. In this part, you
* "Information" gives information about the validated file, the validation date, the schematron used and the result of the validation. In this part,
will also find a permanent link to the current validation result. If you have asked for both schematron and model-based validation, two tabs will be
you will also find a permanent link to the current validation result. If you have asked for both schematron and model-based validation, two tabs
displayed, one by validation result.
will be displayed, one by validation result.
# Validation of HL7v2.x messages
# Validation of HL7v2.x messages
...
@@ -110,33 +104,36 @@ displayed, one by validation result.
...
@@ -110,33 +104,36 @@ displayed, one by validation result.
Enter your message in the box (paste your message, ER7 format) OR upload the file containing your message (be careful, the application
Enter your message in the box (paste your message, ER7 format) OR upload the file containing your message (be careful, the application allows only
allows only files with .hl7 or .txt extension).
files with .hl7 or .txt extension).


Then, you must choose the HL7 message profile to use to validate your HL7 message. The "Guess profile"button, just below the box, can be used to
Then, you must choose the HL7 message profile to use to validate your HL7 message. The "Guess profile"button, just below the box, can be used to
guess automatically the HL7 message profile to use, it extracts fields MSH-9 and MSH-12 and filter on those values.
guess automatically the HL7 message profile to use, it extracts fields MSH-9 and MSH-12 and filter on those values.
Finally, to launch the validation process, hit the arrow on the right side of the line corresponding to the message profile to use. This will launch the request for validation
Finally, to launch the validation process, hit the arrow on the right side of the line corresponding to the message profile to use. This will launch
The page to access the logs present the various logs of validation performed by the users of the application.
The page to access the logs present the various logs of validation performed by the users of the application.
* if an non identified user performs a validation, the log is visible by every one
* if an non identified user performs a validation, the log is visible by every one
* if an identified user performs a validation, the log is private to the user, but is also visible by the users with the roles **monitor** or **admin**
* if an identified user performs a validation, the log is private to the user, but is also visible by the users with the roles **monitor** or **
admin**
* an identified user can change the visibility of one of his/her log public. In that case it will be visible by every one.
* an identified user can change the visibility of one of his/her log public. In that case it will be visible by every one.
User with the admin role have now the ability to delete a specific log from this page.
User with the admin role have now the ability to delete a specific log from this page.
# Add-ons
# Add-ons
The add-ons menu gives the user access to other tools that do not belong to any of the other menus.
Among the add-ons
The add-ons menu gives the user access to other tools that do not belong to any of the other menus. Among the add-ons
* Download of schematrons
* Download of schematrons
* Cross validation
* Cross validation
...
@@ -145,18 +142,26 @@ Among the add-ons
...
@@ -145,18 +142,26 @@ Among the add-ons
* Statistic
* Statistic
## Download schematrons
## Download schematrons
Schematrons section allows the user to download the schematrons which are used to validate XML files. Those schematrons are sorted according to the type of objects they validate.
Schematrons section allows the user to download the schematrons which are used to validate XML files. Those schematrons are sorted according to the
type of objects they validate.
## Cross validation
## Cross validation
The Gazelle X Validator module has been developed in order to be able to check the consistency of a document and/or a message in the context in which it has been produced. That means that we are not going to check the conformance of the message syntax and content against the specifications and underlying standards, conformance validation tools exist for this purpose. In the contrary, the Gazelle X Validator takes at least two files (documents, messages) and checks that they respect a set of rules which have been clearly defined, using one file as a reference to check the correctness of the others.
The Gazelle X Validator module has been developed in order to be able to check the consistency of a document and/or a message in the context in which
it has been produced. That means that we are not going to check the conformance of the message syntax and content against the specifications and
underlying standards, conformance validation tools exist for this purpose. In the contrary, the Gazelle X Validator takes at least two files (
documents, messages) and checks that they respect a set of rules which have been clearly defined, using one file as a reference to check the
correctness of the others.
For more details, refer to Gazelle X Validator Rule Editor user manual.
For more details, refer to Gazelle X Validator Rule Editor user manual.
## Dicom SCP Screener
## Dicom SCP Screener
The purpose of the DicomSCP screener is to query a DICOM SCP in order to identified the various SOP Class and Transfer Syntax that the SCP supports.
The purpose of the DicomSCP screener is to query a DICOM SCP in order to identified the various SOP Class and Transfer Syntax that the SCP supports.
## Message Content Analyzer
## Message Content Analyzer
The message content analyzer is a tool that scans the content of message for known content.
The message content analyzer is a tool that scans the content of message for known content.
If you don't know the content of your file, or the validator you need to choose to validate your document you can use the Message Content Analyzer.
If you don't know the content of your file, or the validator you need to choose to validate your document you can use the Message Content Analyzer.
...
@@ -167,37 +172,39 @@ If you don't know the content of your file, or the validator you need to choose
...
@@ -167,37 +172,39 @@ If you don't know the content of your file, or the validator you need to choose
You can click on each part of the tree or in the table to display the contain. You also can download each part.
You can click on each part of the tree or in the table to display the contain. You also can download each part.
You can click on the green arrow or validate part (I'm lucky validation can directly send you to the result valitation of your part)
You can click on the green arrow or validate part (I'm lucky validation can directly send you to the result valitation of your part)
After you click on the refresh button, the validation permanent link is added to the table and the validation result is displayed in the tree.
After you click on the refresh button, the validation permanent link is added to the table and the validation result is displayed in the tree.
## Statistics
## Statistics


The statistic page displays statistics at a very high level. If you want to consult more precise statistics, follow the link available for each
The statistic page displays statistics at a very high level. If you want to consult more precise statistics, follow the link available for each kind
kind of validation.
of validation.
Logged **as admin**, it's possible to download last month validation results by using the button "get previous month". The export is a CSV file.
Logged **as admin**, it's possible to download last month validation results by using the button "get previous month". The export is a CSV file and
concerns only last month validation, from 1st currentMonth-1 to 1st currentMonth.
# Rest services offered by the application
# Rest services offered by the application
## Accessing the version of the deployed application
## Accessing the version of the deployed application
The version of the application can be queried using a rest request in the form of
The version of the application can be queried using a rest request in the form of
```bash
```bash
wget http://localhost:8080/EVSClient/rest/version
wget http://localhost:8080/EVSClient/rest/version
```
```
The application responds with an xml content as follows
The application responds with an xml content as follows
```xml
```xml
<version>5.0.0-SNAPSHOT</version>
<version>5.0.0-SNAPSHOT</version>
```
```
## Accessing Validation results using rest
## Accessing Validation results using rest
Access to the result of validation performed using the EVS Client application can be accessed using a REST request. The rest request is constructed as follow
Access to the result of validation performed using the EVS Client application can be accessed using a REST request. The rest request is constructed as
@@ -213,8 +220,10 @@ The application returns one of the following values
...
@@ -213,8 +220,10 @@ The application returns one of the following values
# CDA Scorecard
# CDA Scorecard
Release 2.1.0 of CDA Generator introduces a new service called CDA Scorecard. Based on the detailed report of validation of a CDA document, the tool computes statistics. This service can be used directly from EVS Client (5.1.0 and later) once the validation using a model-based validator has been performed. The feature is also available for validation logs generated by previous releases of CDA Generator.
Release 2.1.0 of CDA Generator introduces a new service called CDA Scorecard. Based on the detailed report of validation of a CDA document, the tool
Once you get the validation report, a "Scorecard" tab is available. Move to this tab, and hit the "Get Scorecard" button. After a few seconds, you will see the scorecard.
computes statistics. This service can be used directly from EVS Client (5.1.0 and later) once the validation using a model-based validator has been
performed. The feature is also available for validation logs generated by previous releases of CDA Generator. Once you get the validation report, a "
Scorecard" tab is available. Move to this tab, and hit the "Get Scorecard" button. After a few seconds, you will see the scorecard.
@@ -222,7 +231,8 @@ The scorecard is divided into three parts:
...
@@ -222,7 +231,8 @@ The scorecard is divided into three parts:
* Scoring on constraints gives you statistics regarding the constraints which were executed during the validation process
* Scoring on constraints gives you statistics regarding the constraints which were executed during the validation process
* Scoring on templates gives you statistics regaring the conformance and the richness of the templates present in your document
* Scoring on templates gives you statistics regaring the conformance and the richness of the templates present in your document
* Scoring on document levels gives you statistics on the conformance of the various levels of validation which were performed (CDA basic, IHE, National extension and so on)
* Scoring on document levels gives you statistics on the conformance of the various levels of validation which were performed (CDA basic, IHE,
National extension and so on)
Currently, only the scoring on constraints is available.
Currently, only the scoring on constraints is available.
...
@@ -231,19 +241,25 @@ Currently, only the scoring on constraints is available.
...
@@ -231,19 +241,25 @@ Currently, only the scoring on constraints is available.
On the screenshot above, the summary sections reports three indicators:
On the screenshot above, the summary sections reports three indicators:
* __Summary of outcomes__ reports the number of failures, warnings, infos and successful checks just as you can see in the validation report
* __Summary of outcomes__ reports the number of failures, warnings, infos and successful checks just as you can see in the validation report
* __Overal conformity__ reports the number of rules which were successfully executed vs the number of rules which failed regardless of their criticality
* __Overal conformity__ reports the number of rules which were successfully executed vs the number of rules which failed regardless of their
* Not all the rules implemented in the validator will be executed on your document because it might not contains everything that is defined in the CDA model. In addition, a unique rule can be executed several times. The __Conformity of unique constraints__ indicator reports how many unique rules exist in the validator and shows you how many of them failed, how many were successfully executed and how many were not executed at all.
criticality
* Not all the rules implemented in the validator will be executed on your document because it might not contains everything that is defined in the CDA
model. In addition, a unique rule can be executed several times. The __Conformity of unique constraints__ indicator reports how many unique rules
exist in the validator and shows you how many of them failed, how many were successfully executed and how many were not executed at all.
In addition, we have types the constraints and the __Type of constraints__ section shows you where are the gaps in your document.
In addition, we have types the constraints and the __Type of constraints__ section shows you where are the gaps in your document.


The __Detail__ section lists all the constraints and shows you how many time each contraint was executed and how many times it was successfully executed.
The __Detail__ section lists all the constraints and shows you how many time each contraint was executed and how many times it was successfully
executed.
# Validation of Digital Signatures
# Validation of Digital Signatures
From version 5.5.0, the EVSClient tool can be configured to detect and validate the digital signatures (ds:Signature where ds stands for http://www.w3.org/2000/09/xmldsig#) present in XML documents.
From version 5.5.0, the EVSClient tool can be configured to detect and validate the digital signatures (ds:Signature where ds stands
As an administrator, to allow this feature, you shall make sure that the preference 'enable_dsig_validation' is present and set to 'true'. Setting this preference to false will cause the tool not to look for a ds:Signature element in the uploaded XML files.
for http://www.w3.org/2000/09/xmldsig#) present in XML documents. As an administrator, to allow this feature, you shall make sure that the
preference 'enable_dsig_validation' is present and set to 'true'. Setting this preference to false will cause the tool not to look for a ds:Signature
element in the uploaded XML files.
In addition,
In addition,
...
@@ -255,10 +271,12 @@ The SQL script update-5.5.0.sql will help you creating those entries in the data
...
@@ -255,10 +271,12 @@ The SQL script update-5.5.0.sql will help you creating those entries in the data
## How does it work ?
## How does it work ?
If the feature is activated, when the user uploads an XML file (CDA document, HL7v3 message, SAML Assertion and so on), the tool will look for a ds:Signature element in the file. If such element exists, a notification is displayed to the user.
If the feature is activated, when the user uploads an XML file (CDA document, HL7v3 message, SAML Assertion and so on), the tool will look for a ds:
Signature element in the file. If such element exists, a notification is displayed to the user.
By checking the box, the user asks the tool to call the default XML Signature Validation service in parallel to the other validation(s) (model-based, schematron). When the validation ends, a new tab "Signature Validation" is displayed and shows the report of the XML Signature Validator.
By checking the box, the user asks the tool to call the default XML Signature Validation service in parallel to the other validation(s) (model-based,
schematron). When the validation ends, a new tab "Signature Validation" is displayed and shows the report of the XML Signature Validator.