XDS Metadata validation

XDStarClient provides a validation service for XDS metadatas.

The validation tool is based on schema and model based validation, and sometimes for some kind of validation we use also the nist validation services.

The endpoint of the validation service depend on the XDStarClient installation environment, locally it will be http://localhost:8080/XDStarClient-XDStarClient-ejb/XDSMetadataValidatorWS?wsdl.

The documentation of XDS metadatas constraints is available in XDStarClient GUI : menu -> Documentation -> XDS Classes Documentation

 

 

This guide will explain how to use the XDS Validator, to be able to list, create, edit and delete validators for the IHE XDS profile. Everything is configurable directly from this GUI, so you don’t have to type code to create a new XDS Validator on the Gazelle platform.

 

To access or configure a new XDS validator, go to XD*Client http://gazelle.ihe.net/XDStarClient/home.seam. The tabs related to the configuration of a validator are under the XDS-Metadata section.

 

 

1. Access to the validator list

 

Under the XDS-Metadata section, click on the Validator Pack association link.

 

 

You should arrive on the validator page list. For each validator, you can edit it, delete it, and export it in XML format with the actions buttons.

 

 

To add a new validator, click on the “Add new validator” button at the bottom of the page, or import one through the “XML Validator import” button.



2. Add a new Validator

 

When you click on the “Add new Validator” button or you try to edit a validator, you will arrive on this page, with many options which must be filled in.

 

 

  • From this page, you have to fill the validator name, which generally consists  of the domain (epsos, IHE, KSA), the transaction name and the type of transaction (request or response). This can lead to a validator name like this : IHE XDS.b ITI-18 Registry Stored Query - request.

 

  • The version of the validator doesn’t have to be changed when you add a new validator. If you edit a validator, you must update the version. This way, it’s easiest to know on which validator version an XDS message is passed or failed.

 

  • The technical framework reference is a reference to the transaction concerned by the validator in the Technical Framework. For example, for the  IHE XDS.b ITI-18 Registry Stored Query - request validator, you can find the reference to the ITI-18 transaction in the paragraph 3.18 of the Technical Framework. In this cas, you have to fill the field with “3.18”.

  • The namespace attribute depends on how the XML nodes of the tested files must be prefixed.

  • The extract node attribute is used to parse and select only the children of this XML node and ignore the others when validating a XDS message.

  • PackClass is an optional attribute, used if the validator calls validation methods inside a specific class (generated via OCL language). This attribute must only be used if your validator can’t be express by a composition of AdhocQuery metadata and RegistryObjectList metadata elements. For instance, all the “Response” transactions can only be expressed this way.

  • The files which must be tested in front of the validator you are currently configuring, are tested thanks to the AdhocQueryMetadata and RegistryObjectListMetadata selected. Each metadata defines the mandatory and optional elements, and different constraints expressed in the technical framework. If the metadata needed is not created, please report to the section 3. of this user guide to create a new one.

  • The usages attribute is used to select the usage context of a validator. New usages can be created under the “AffinityDomain-Transactions” tab under XDS-Metadata.

  • Has Nist Validation and the other attributes (Metadatacodes, isRegister, isPnR, isXca, isXdr) are only used if the validator currently added in Gazelle is supported by the NistValidator (an external XDS validation tool).

 

Once all the fields are filled in, just click on the Save button on top of the page.

 

3. Add a new XDS Metadata

 

By configuring a new validator, you may find that some metadata are missing. In this case, you can add new ones, in the same way you add a new validator. Under the XDS-Metadata section, click on the metadata you want to add.

 

For example, if you want to add a new AdhocQuery, click on the “add new AdhocQuery Metadata” button at the bottom of the AdhocQueries page. You will arrive on this page

 

If the metadata has itself some children (for example a Classification included in a RegistryPackage), they could be selected under the “Classification”, “Slot” or “External identifier” section. You can’t directly create a child metadata from this page (except for the Slot), it’s necessary to create the child in the first place, save it, and then select it from the parent.

 

  • UUID : Unique identifier of the metadata.

  • Name : name of the metadata

  • Display name : Used to create an alias for the “Name” field. Used only for display puposed

  • Value : Default Value of the metadata

  • Usages : Context of use

 

If there is a constraint that can’t be expressed directly from the fields or if this constraint concerns many entities, it’s possible to write an XPATH expression which will be evaluated on the tested document.

 

4. Add a SlotMetadata



As stated before, there is no dedicated page for SlotMetadata. They are directy editable from the other metadata pages.

 

  • Name : Slot name. It’s the identifier of a Slot

  • Multiple : If checked, the slot can have multiple values.

  • IsNumber : If checked, the String value of the slot must only be composed of figures

  • DefaultValue : If the slot has a default value, fill the field with it

  • Attribute : Alias for the Slot Name. Used only for display purposes.

  • Valueset : Code referencing a list of authorized values for the string value of the slot. Valueset can be found with SVS Simulator. If the value must not be restricted by a valueset, leave empty.

  • Regex : If the slot value must match a specific regex, the regex must be filled in here. Leave empty otherwise

  • Cardinality : Number of times this slot is allowed to appear in the XDS message