Contents
1 Overview
The Data Service Directory is a Common Service defined in the OOTS HLA. It maintains a catalog of Evidence Providers with the Evidence Types they are able to provide upon request using their Data Services. It is used in the Evidence Exchange process by the Evidence Requesters to discover the Evidence Providers that can provide the evidences they require, together with the required metadata and attributes imposed by the Data Services, like the classifications and context determinations of the Evidence Providers.
The information data model is based on the SDGR Application Profile for the DSD. The Service API is implemented using the OASIS RegRep v4 Query Protocol with the REST API Binding.
In the following sections, a detailed analysis of the internal data model and the Service API specification are provided.
2 Functionality
The main functionality of the DSD is to publish Data Services of Evidence Providers that provide distributions of Evidence Types and make them discoverable through queries. The functionality requires four main classes of Information:
- The
DataServiceEvidenceType
, providing the semantic information and requirements for retrieving an evidence type from a Data Service. - The
Distribution
of theDataServiceEvidenceType
, describing the format, the semantic and syntactic conformance, under which the Evidence Type can be distributed. - The
DataService
, describing the technical endpoint from which an Evidence Requester can request the Evidence distributions. - the
EvidenceProvider
, describing the details of the Provider of the Evidence.
An Evidence Provider that wants to serve an Evidence of a specific evidence type MUST register this capability in the DSD. To do that, it needs to be registered as an Evidence Provider with its Data Service. Each Data Service MUST be linked with at least one Evidence Type Distribution expressed using the DataServiceEvidenceType
class. A DataServiceEvidenceType
, if it does not already exist, must also be registered in the DSD containing all the attributes required for informing the Evidence Requester of the requirements for requesting the Evidence, like any additional attributes required for Evidence Provider discovery, the level of assurance of the identification required, together with its available distributions. When all three information classes have been properly registered, the Evidence Provider links its Data Service with the DataServiceEvidence t
ype to publish its capability of providing the specific evidence type through its Data Service.
The following section describes the Information Data Model used for the registration and the queries of the DSD Service.
3 Information Data Model
3.1. Introduction
The DSD information Data Model is based on the SDGR Application Profile for the DSD. It is based on the semantic classes of Evidence Type derived from the CCCEV v2.0, the DataService from DCAT and the Organization Class from the Core Public Organisation Vocabularies. It provides all the information aspects of the model, including the data types, use of Identifiers and code lists for every element used in this profile. The serialization of the model is done using XML according to the guidelines below. Below is an example of the XML representation of a Data Service serving an Evidence Type as it is contained in the DSD.
<?xml version="1.0" encoding="UTF-8"?> <DataServiceEvidenceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://data.europa.eu/p4s"> <!-- - - Evidence Type Metadata - - --> <!-- The Data Service assigned Unique Identifier of the Evidence Type. Must be used in the Evidence Exchange Request --> <sdg:Identifier>RE238918378</sdg:Identifier> <!-- Classification Information - Used for linking with the Evidence Broker --> <EvidenceTypeClassification>CertificateOfBirth</EvidenceTypeClassification> <Title>Certificate of Birth</Title> <!-- Distribution Information - Multiple Distributions per Data Service Evidence Type --> <!-- XML Distribution, conforming to the common data model on Birth Certificate --> <DistributedAs> <Format>http://publications.europa.eu/resource/authority/file-type/XML</Format> <ConformsTo>https://semic.org/sa/common/birthcert-1.0.0</ConformsTo> </DistributedAs> <!-- PDF Distribution. PDF is unstructured data so there is no conformance to a data model --> <DistributedAs> <Format>application/pdf</Format> </DistributedAs> <!-- - - Evidence Provider and Data Service Metadata - - --> <!-- Access Service represents the Data Service serving the piece of Evidence on behalf of an Evidence Provider --> <!-- Multiple Access Services, one per Evidence Provider --> <AccessService> <!-- The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping --> <Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909098</Identifier> <!-- The Evidence Exchange profile version to which this access service expects / serves --> <ConformsTo>oots:edm-v1.0</ConformsTo> <!-- The Evidence Provider Information of this access service --> <Publisher> <Identifier schemeID="urn:cef.eu:names:identifier:EAS:9930">DE73524311</Identifier> <Name>Civil Registration Office Hamburg</Name> <Address> <FullAddress>Street ABC</FullAddress> <AdminUnitLevel1>DE</AdminUnitLevel1> <!-- NUTS Code --> <AdminUnitLevel2>DE12</AdminUnitLevel2> </Address> <Jurisdiction> <AdminUnitLevel1>DE</AdminUnitLevel1> <AdminUnitLevel2>DE12</AdminUnitLevel2> </Jurisdiction> </Publisher> </AccessService> <!-- Additional Access Service representing a different Evidence Provider --> <AccessService> <Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909099</Identifier> <ConformsTo>oots:edm-v1.0</ConformsTo> <Publisher> <!-- The Evidence Provider Information --> <Identifier schemeID="urn:cef.eu:names:identifier:EAS:0088">5790000435944</Identifier> <Name>Example Organization </Name> <Address> <FullAddress>Prince Street 15</FullAddress> <AdminUnitLevel1>SK</AdminUnitLevel1> <!-- NUTS Code --> <AdminUnitLevel2>SK77</AdminUnitLevel2> </Address> <Jurisdiction> <AdminUnitLevel1>SK</AdminUnitLevel1> <AdminUnitLevel2>SK77</AdminUnitLevel2> </Jurisdiction> </Publisher> </AccessService> <EvidenceProviderClassification> <Identifier>TypeOfInsurance</Identifier> <Type>Codelist</Type> <!-- Value from a Codelist required. Must be published in the Semantic Repository --> <ValueExpression>http://sr.europa.eu/codelists/insuranceType</ValueExpression> <Description lang="en">Type of Insurance</Description> </EvidenceProviderClassification> </DataServiceEvidenceType>
The DataServiceEvidenceType
consists of specific groups of elements covering different contextual metadata required for a successful Evidence Exchange:
- Evidence Type Metadata, providing information on the qualities of the Evidence Type.
- Data Service Metadata, providing information on the identification, distinction, location and jurisdiction of the Evidence Providers and its Data Services.
The following sub-sections provide an overview of the use of elements and attributes found in this class with a detailed explanation.
3.2. Evidence Type Metadata
The Evidence type metadata describes specific aspects of the evidence type such as:
- The Identifier, using the
Identifier
element, provided by the Data Services to uniquely identify an Evidence Type with its required metadata. This identifier is used by the Evidence Requester in the Evidence Exchange Request, to identify the Evidence Type to be retrieved by the Data Service. - The available distributions, using the
DistributedAs
element. The distributions provide the available formats for the Evidence Type, such as PDF, XML, JSON etc, using code values from the IANA Media Types registry. For the file types that provide structured content like XML, JSON, RDF, etc., the Data Service can provide a conformance statement, using theconformsTo
sub-element of theDistributedAs
element, for denoting the semantic and technical conformance profile. The element's value is a persistent URL, pointing to an entry of the OOTS Semantic Repository that contains all the relevant information of such a profile.
3.3. Data Service Metadata
The Data Service metadata provides the necessary information needed for selecting the proper Evidence Provider and its relevant Data Service. It consists of:
- The Data Service Identifier, using the
AccessService/Identifier
element that is used by the eDelivery infrastructure to extract and use the proper pre-configured PMode for the submission of the Evidence Request. This identifier is profiled as a CEF eDelivery ebcore Party Identifier. - The Evidence Exchange Message Data Model Profile and version, denoted in the
AccessService/ConformsTo
element. Currently, the only value allowed is theoots:edm-1.0.
- The Publisher element, providing the Name, Location and Jurisdiction of the Evidence Provider, used by the Evidence Requester for filtering and selection of the correct Evidence Provider.
- The Evidence Provider Determination Context, defining the location context of the Evidence provider. For example, if the determination context is "Place of Birth", it means that the jurisdiction of the Evidence provider must match the place of birth of the user.
3.4. Evidence Provider Discovery Metadata
3.4.1. Introduction
There could be occasions where the proper discovery of the Evidence Provider requires more data to be provided by the User or Evidence Requester. For example, there might be situations where the jurisdiction of the Evidence Provider MUST map to a specific location attribute of the user like the Place of Birth or the Evidence Provider serves evidence of specific contexts like the type of insurance, the type of company, etc. The DSD provides the following mechanisms for discovering the Evidence Provider based on additional attributes
3.4.2. Evidence Provider Jurisdiction mapping to user attribute
The jurisdiction of the Evidence Provider is usually contextualized with a specific property of the user and the issued evidence type. A birth certificate registry's jurisdiction for example must match the user's place of birth at a specific level of jurisdiction. The DSD contains the EvidenceProviderJurisdictionDetermination
attribute that defines the required mapping of the Evidence Provider's jurisdiction, in the DataServiceEvidenceType
element. The attribute consists of the following sub-attributes:
- The Jurisdiction Context Identifier that is used as part of the query API for providing the response to the DSD by the User
- The Jurisdiction Context itself, which is a multilingual string describing the context as it should be displayed by the Evidence Requester's UI
- The Jurisdiction Level required, defining the required granularity of the jurisdiction.
The following example describes an entry in the DSD:
<sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>PlaceOfBirthIdentifier</sdg:JurisdictionContextId> <sdg:JurisdictionContext lang="en">Place Of Birth</sdg:JurisdictionContext> <sdg:JurisdictionContext lang="de">Geburtsort</sdg:JurisdictionContext> <!-- Codelist defining the jurisdiction levels, registered in the semantic repository --> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/LAU</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination>
3.4.3. Provider Context Determination
Although the jurisdiction mapping can be the main attribute for discovering the Evidence Provider, there are situations where the Evidence Provider must be further classified, depending on domain-specific quality attributes. For example, a registry containing social security and/or insurance contracts covers only specific kinds of insurance (Private, Public, Mixed) or could cover only specific kinds of subjects, (e.g. SMEs, very large companies, construction companies, etc.). These domain-specific quality attributes must be declared in the Evidence Provider's DSD information and also in the DataServiceEvidenceType
structure as a mandatory classification filter that needs to be provided by the Evidence Requester. The DSD represents these attributes using the CCCEV 2.0 Information Concept structure. The Evidence Provider declares the qualities supported together with the supported values, as shown in the example below:
<sdg:AccessService> <sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:iso6523:0060">8889909099</Identifier> <sdg:ConformsTo>oots:edm-v1.0</ConformsTo> <sdg:Publisher> /* Omitted ... */ <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:SupportedValue> <sdg:StringValue>Private</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> /* Omitted ... */ </sdg:Publisher> </sdg:AccessService>
Classification concepts must be present in the DataServiceEvidenceType
for supporting a filtering mechanism at the Evidence Requester side. The classification concepts are listed, using CCCEV 2.0 at the DataServiceEvidenceType
as the following example:
<sdg:EvidenceProviderClassification> <sdg:Identifier>CertificateOfBirth</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/birthCertificate</sdg:ValueExpression> <sdg:Description lang="en">Certificate of Birth</sdg:Description> </sdg:EvidenceProviderClassification>
The complete use of the Evidence Provider Discovery metadata is described in the query interface specification.
4. Query Interface Specification
4.1. Introduction
The query interface specification for the Data Service Directory is based on the OASIS ebXML RegRep V4 standard. This standard has multiple protocol bindings that can be used to execute queries. Since the DSD queries have only simple, single-value parameters, the REST binding is used to implement the DSD query interface. This implies that the query transaction is executed as an HTTP GET request with the URL representing the query to execute and the HTTP response carrying the query response as an XML document. This section further profiles the REST binding as specified in the OASIS RegRep standard for use by the DSD.
The interface only supports a subset of the REST binding. In particular, support for the canonical query parameters defined in section 12 of the OASIS RegRep 4 Registry Services specification is NOT REQUIRED.
4.2. Query: Find Data Services of Evidence Providers for a specific Evidence Type Classification
4.2.1. Introduction
This query allows the Evidence Requester to find all the Data Services of the Evidence Providers that can provide the required type of Evidence Type and are based in a specific geographic area.
4.2.2. Parameter Details
Parameter | Requirement | Description |
---|---|---|
queryId | MANDATORY | This parameter MUST have value urn:fdc:oots:dsd:ebxml-regrep:queries:dataservices-by-evidencetype-and-jurisdiction. |
evidence-type-classification | MANDATORY | The Evidence Type classification code. |
country-code | MANDATORY | Two-letter ISO 3166-1 alpha-2 country code. |
jurisdiction-admin-l2 | OPTIONAL | 3 to 5 letter NUTS code. |
jurisdiction-admin-l3 | OPTIONAL | LAU Code. |
jurisdiction-context-id | OPTIONAL | Used to provide the jurisdiction context id used for the query. The parameter MUST be used when responding to a DSD exception received, by providing the Jurisdiction Context Id found in the exception. |
evidence-type-id | OPTIONAL | Used to provide the selected Data Service Evidence Type from a set of multiple. The parameter MUST be used when responding to a DSD exception received, by providing the Identifier of the selected DataServiceEvidenceType found in the exception |
4.2.3. Result set specification
The result set of this query is specified as follows:
{d ∈ dsd.DataServiceEvidenceType: d.EvidenceTypeClassification == evidence-type-classification ∧ (d.AccessService.EvidenceProvider.Jurisdiction.adminUnitLevel1 == country-code) ∧ (adminUnitL2= "" ∨ d.AccessService.EvidenceProvider.Jurisdiction.adminUnit2 == jurisdiction-admin-l2) ∧ (adminUnitL3 = "" ∨ d.AccessService.EvidenceProvider.Jurisdiction.adminUnitLevel3 == jurisdiction-admin-l3) }
4.3. Query Response of the DSD
4.3.1. Data Model of the Query Response of the DSD
The Query Response of the DSD returns a RegRep QueryResponse document which MUST either contain anException
or RegistryObjectList
element with zero or more RegistryObjects
. Each RegistryObject
in the result MUST include one Slot
element with a SlotValue
of type rim:AnyValueType and a single sdg:DataServiceEvidenceType
child element, following the SDGR Application Profile of the DSD. The SDGR application profile of the DSD describes how the SDG-Generic-Metadata Profile (SDG-syntax) is profiled in ebRIM in order to compose a valid QueryResponse. It, therefore, contains a mapping to the underlying SDG-syntax elements and necessary parameters to compose a QueryResponse. The namespace of the SDG-syntax is http://data.europa.eu/p4s. The following data model illustrates the RegRep QueryResponse returned by the DSD.
4.3.2. Implementation Guideline of the Query Response of the DSD
The table below defines the elements of the data model illustrated above according to the core ebRIM elements and the DataServiceEvidenceType
slot which is adapted by the SDGR-Application Profile of the DSD.
Legend
The table below represent the tree structure of the data models illustrated in this section. Light grey rows describe classes and define their properties and attributes. Light green rows soley illustrate the classes that are subordinated or associated to a class and therewith illustrate the tree structure of the data model. Light green rows are thus always repeated as light grey rows to describe the properties and attributes of a class. The hierarchy of the tree structure is also indicated in the first column via the '+' symbol.
Hierarchy | Name | Definition | Cardinality | Type | Data Type | Rules | Core Vocabulary / Domain | Element of Core Vocabulary |
---|---|---|---|---|---|---|---|---|
query:QueryResponse | root element | Structure: R-DSD-RESP-S001, R-DSD-RESP-S002, R-DSD-RESP-S010 | ebRIM | |||||
+ | status | This attribute contains the status of the response. If the DSD provides at least one RegistryObject, the value "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" is used. | 1..1 | Attribute | Identifier | Structure: R-DSD-RESP-S005, R-DSD-RESP-S006, R-DSD-RESP-S008 | ebRIM | - |
+ | rim:RegistryObjectList | Element to list the Registry Objects of the QueryResponse. | 1..1 | RegistryObjectListType | Structure: R-DSD-RESP-S007 | ebRIM | - | |
+ | rim:RegistryObjectList | Element to list the Registry Objects of the QueryResponse. | 1..1 | RegistryObjectListType | ebRIM | - | ||
++ | rim:RegistryObject | Element to control the type and structure of Registry Object within the QueryResponse. | 1..n | RegistryObjectType | Structure: R-DSD-RESP-S015 | ebRIM | - | |
++ | rim:RegistryObject | Element to control the type and structure of Registry Object within the QueryResponse. | 1..n | RegistryObjectType | Structure: R-DSD-RESP-S015 | ebRIM | - | |
+++ | id | Unique UUID for each RegistryObject. | 1..1 | Attribute | Identifier | Struture: R-DSD-RESP-S016 | ebRIM | - |
+++ | rim:slot "DataServiceEvidenceType" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: R-DSD-RESP-S009, R-DSD-RESP-S011 | ebRIM | - |
+++ | rim:slot "DataServiceEvidenceType" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: R-DSD-RESP-S009, R-DSD-RESP-S011 | ebRIM | - |
++++ | DataServiceEvidenceType | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | DataServiceEvidenceTypeType | Structure: R-DSD-RESP-S012 | SDGR Application Profile | - | |
++++ | DataServiceEvidenceType | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | DataServiceEvidenceTypeType | SDGR Application Profile | - | ||
+++++ | Identifier | The unique identifier of the Evidence Type of the Data Service. Must be used in the Evidence Request. | 1..1 | Attribute | Identifier | Content: R-DSD-RESP-C002 | DCAT-AP | dct:identifier |
+++++ | EvidenceTypeClassification | A URI pointing to the Evidence Type that this Data Service is supporting. The classification is linked with the Evidence Type of the Semantic Repository (Evidence Broker). | 1..1 | Attribute | Code | Content: R-DSD-RESP-C003 | Core Criterion Core Evidence Vocabulary | cccev:evidenceTypeClassification |
+++++ | Title | A name to identify in natural language the Evidence Type. Unbounded cardinality to support multiple languages. | 1..n | Attribute | Text | DCAT-AP | dct:title | |
++++++ | Title/@lang | The language of the title encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-RESP-C004, R-DSD-RESP-C005 | DCAT-AP | dct:title |
+++++ | Description | A description of the Evidence Type. Unbounded cardinality to support multiple languages. | 0..n | Attribute | Text | DCAT-AP | dct:description | |
++++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-RESP-C005, R-DSD-RESP-C006 | DCAT-AP | dct:description |
+++++ | AuthenticationLevelOfAssurance | The Minimum eIDAS Level Of Assurance Required for this Evidence Type, so that the Evidence can be released | 0..1 | Attribute | Code | Content: R-DSD-RESP-C008 | SDGR-AP | |
+++++ | DistributedAs | The representations that are supported by the Data Service Evidence Type. | 1..n | EvidenceTypeDistributionType | DCAT Application Profile | dcat:distribution | ||
+++++ | EvidenceProviderJurisdictionDetermination | Contextual Information required for the jurisdiction determination of the correct Evidence Provider | 0..1 | JurisdictionDeterminationType | SDGR Application Profile | |||
+++++ | EvidenceProviderClassification | The Evidence Provider required classifications mapped to this Evidence Type that need to be mapped to an EvidenceProvider Classification Concept for proper Evidence Provider Discovery | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
+++++ | AccessService | The details of the Data Service serving the Evidence Type on behalf of an Evidence Provider. The Access Service enables to express that for one Data Service Evidence Type, the Data Service A is providing the distribution XML and Data Service B is providing the distribution JSON. | 1..n | DataServiceType | Structure: R-DSD-RESP-S014 | DCAT Application Profile | dcat:servesDataset | |
+++++ | DistributedAs | The representations that are supported by the Evidence Type Dataset. | 1..n | EvidenceTypeDistributionType | DCAT Application Profile | dcat:distribution | ||
++++++ | Format | The technical representation of the Evidence Type. Declaration of the file types that provide structured content like PDF, XML, JSON, RDF etc | 1..1 | Attribute | Code | Content: R-DSD-RESP-C009 | DCAT-AP | dct:format |
++++++ | ConformsTo | A registered schema or conformance profile in the OOTS semantic repository to which the described Distribution conforms. | 0..1 | Attribute | URI | Content: R-DSD-RESP-C010 | DCAT-AP | dct:conformsTo |
++++++ | Transformation | The element points to a known and structured evidence type subset that would suffice the request. Evidence type subsets fulfil the principle of data minimization and can limit the collection to those information required for the execution of a procedure. | 0..1 | Attribute | URI | Content: R-DSD-RESP-C039 | DCAT-AP | dct:conformsTo |
+++++ | EvidenceProviderJurisdictionDetermination | Contextual Information required for the jurisdiction determination of the correct Evidence Provider | 0..1 | JurisdictionDeterminationType | SDGR Application Profile | |||
++++++ | JurisdictionContextId | A codified, mappable value of the Jurisdiction Determination Context of an Evidence Provider | 1..1 | Attribute | Identifier | Content: R-DSD-RESP-C034 | SDGR-AP | |
++++++ | JurisdictionContext | The Jurisdiction Determination Context of an Evidence Provider in natural language | 1..n | Attribute | Text | SDGR-AP | ||
+++++++ | JurisdictionContext/@Lang | The Language used for the Jurisdiction Context | M | Attribute | Code | Content: R-DSD-RESP-C035, R-DSD-RESP-C036 | SDGR-AP | |
++++++ | JurisdictionLevel | The minimum level of the jurisdiction Granularity Required for proper discovery of the Evidence Provider (MS, NUTS1-3, LAU) | 1..1 | Attribute | Code | Content: R-DSD-RESP-C037 | SDGR-AP | |
+++++ | EvidenceProviderClassification | An Evidence Provider Classification is a structured piece of information that is used to provide the context on the classification concepts defined the Data Service Evidence Type an Evidence Provider needs to provide | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
++++++ | Identifier | Unambiguous reference to the Information Concept. | 1..1 | Attribute | Identifier | Content: R-DSD-RESP-C029 | CCCEV | cccev:identifier |
++++++ | Type | Category to which the Information Concept belongs. | 1..1 | Attribute | Code | Content: R-DSD-RESP-C030 | CCCEV | cccev:type |
++++++ | ValueExpression | Formulation in a formal language of the expected value(s) for the Classification Concept which is aligned with the concepts from the Requirements defined and must be respected by the supplied Supported Values. Currently, the Regular Expression language is supported for strings. | 0..1 | Attribute | Text | CCCEV | cccev:expressionOfExpected Value | |
++++++ | Description | Short explanation supporting the understanding of the Classification Concept. | 1..n | Attribute | Text | Content: R-DSD-RESP-C031 | CCCEV | cccev:description |
+++++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-RESP-C032, R-DSD-RESP-C033 | CCCEV | cccev:description |
+++++ | AccessService | The details of the Data Service serving the Evidence Type It enables to express that for one Data Service Evidence Type, the Data Service A is providing the Distribution XML and Data Service B is providing the Distribution JSON. | 1..n | DataServiceType | Structure: R-DSD-RESP-S014 | DCAT Application Profile | dcat:servesDataset | |
++++++ | Identifier | The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping. | 1..1 | Attribute | Identifier | Content: R-DSD-RESP-C011, R-DSD-RESP-C012 | DCAT-AP | dct:identifier |
+++++++ | Identifier/@schemeID | The schemeID of the ebcore Party ID Type. Must use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]' (e.g. urn:cef.eu:names:identifier:EAS:9918) | M | Attribute | Code | Content: R-DSD-RESP-C012, R-DSD-RESP-C013, R-DSD-RESP-C014 | DCAT-AP | dct:identifier |
++++++ | ConformsTo | The registered version(s) of the eDelivery profile used by the access service (e.g. oots:edm-v1.0) | 1..n | Attribute | URI | Content: R-DSD-RESP-C015 | DCAT-AP | dct:conformsTo |
++++++ | Publisher | The organisation responsible for issuing Evidences via this Data Service. | 1..1 | EvidenceProviderType | Core Public Service Vocabulary Application Profile (CPSV-AP) | dct:Agent | ||
++++++ | Publisher | The organisation responsible for issuing Evidences via this Data Service. | 1..1 | EvidenceProviderType | CPSV-AP | dct:Agent | ||
+++++++ | Identifier | A unique identification for the Publisher or agent. | 1..1 | Attribute | Identifier | CPSV-AP | dct:identifier | |
++++++++ | Identifier/@schemeID | The schemeID of the party identifier. use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]' (e.g. urn:cef.eu:names:identifier:EAS:9918) | M | Attribute | Code | Content: R-DSD-RESP-C016, R-DSD-RESP-C017 | DCAT-AP | dct:identifier |
+++++++ | Name | A short label for the agent. | 1..1 | Attribute | Text | CPSV-AP | dct:title | |
+++++++ | Address | A location of the Publisher in the form of an address. | 1..1 | AddressType | Core Location Vocabulary (CLV) | ocn:Address | ||
+++++++ | Jurisdiction | The jurisdiction to which this Evidence Provider applies. | 1..1 | JurisdictionType | Core Location Vocabulary (CLV) | ocn:Address | ||
+++++++ | ClassificationConcept | A Classification Concept is a structured piece of information that is used to provide the supported values on the classification concepts defined the Data Service Evidence Type | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
+++++++ | Address | A location of the Publisher in the form of an address. | 1..1 | AddressType | CLV | locn:Address | ||
++++++++ | FullAddress | The complete address written as a string. | 0..1 | Attribute | Text | CLV | locn:fullAddress | |
++++++++ | Thoroughfare | The name of a street, passage or way through from one location to another. | 0..1 | Attribute | Text | CLV | locn:thoroughfare | |
++++++++ | LocatorDesignator | A number or sequence of characters that uniquely identifies the locator (building number, apartment number, etc.) within the relevant scope. | 0..1 | Attribute | Text | CLV | locn:locatorDesignator | |
++++++++ | AdminUnitLevel1 | The name of the uppermost level of the address, almost always a country. | 0..1 | Attribute | Code | Content: R-DSD-RESP-C018 | CLV | locn:adminUnitL1 |
++++++++ | AdminUnitLevel2 | The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities. | 0..1 | Attribute | Code | Content: R-DSD-RESP-C019 | CLV | locn:adminUnitL2 |
++++++++ | PostCode | The code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. | 0..1 | Attribute | Code | CLV | locn:postCode | |
++++++++ | PostCityName | The key postal division of the address, usually the city. | 0..1 | Attribute | Code | CLV | locn:postName | |
+++++++ | Jurisdiction | The Jurisdiction to which this Data Service Evidence Type applies. | 1..1 | JurisdictionType | Core Criterion Core Evidence Vocabulary | cccev:evidenceTypeJurisdiction | ||
++++++++ | AdminUnitLevel1 | The name of the uppermost level of the address, almost always a country. | 1..1 | Attribute | Code | Content: R-DSD-RESP-C020 | CLV | locn:adminUnitL1 |
++++++++ | AdminUnitLevel2 | The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities. | 0..1 | Attribute | Code | Content: R-DSD-RESP-C021 | CLV | locn:adminUnitL2 |
++++++++ | AdminUnitLevel3 | The name of a secondary level/region of the address, usually a municipality or other such area that typically encompasses several localities. | 0..1 | Attribute | Code | Content: R-DSD-RESP-C022 | CLV | locn:adminUnitL3 |
+++++++ | ClassificationConcept | A Classification Concept is a structured piece of information that is used to provide the supported values on the classification concepts defined the Data Service Evidence Type | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
++++++++ | Identifier | Unambiguous reference to the Information Concept. | 1..1 | Attribute | Identifier | Content: R-DSD-RESP-C023 | CCCEV | cccev:identifier |
++++++++ | Type | Category to which the Information Concept belongs. | 1..1 | Attribute | Code | Content: R-DSD-RESP-C024 | CCCEV | cccev:type |
++++++++ | ValueExpression | Formulation in a formal language of the expected value(s) for the Classification Concept which is aligned with the concepts from the Requirements defined and must be respected by the supplied Supported Values. Currently only Regular Expression is supported. | 0..1 | Attribute | Text | CCCEV | cccev:expressionOfExpected Value | |
++++++++ | Description | Short explanation supporting the understanding of the Classification Concept. | 1..n | Attribute | Text | Content: R-DSD-RESP-C025 | CCCEV | cccev:description |
+++++++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-RESP-C026, R-DSD-RESP-C027 | CCCEV | cccev:description |
++++++++ | SupportedValue | The value that is supported by the response | 1..1 | SupportedValueType | Structure: R-DSD-RESP-S013 Content: R-DSD-RESP-C028 | SDGR Application Profile | ||
++++++++ | SupportedValue | The value that is supported by the response | 1..1 | SupportedValueType | Structure: R-DSD-RESP-S013 Content: R-DSD-RESP-C028 | SDGR Application Profile | ||
+++++++++ | StringValue | Textual field | 0..1 | Attribute | String | SDGR-AP | XML Schema data types | |
+++++++++ | DateValue | Date values (format YYYY-DD-MM) | 0..1 | Attribute | Date | SDGR-AP | XML Schema data types | |
+++++++++ | BooleanValue | "true" or 1 Representing "Yes" affirmative answers "false" or 0 representing "No" negative answers | 0..1 | Attribute | Boolean | SDGR-AP | XML Schema data types | |
+++++++++ | CodeValue | A code for a concept. | 0..1 | Attribute | Code | SDGR-AP | XML Schema data types | |
+++++++++ | DateTimeValue | Date values that include a time (format YYYY-DD-MM hh:mm:ss zzzzzz) | 0..1 | Attribute | DataTime | SDGR-AP | XML Schema data types | |
+++++++++ | Identifier | An identifier of a concept, including a schemeID | 0..1 | Attribute | Identifier | SDGR-AP | XML Schema data types | |
+++++++++ | URI | A URI, including e-mail addresses | 0..1 | Attribute | anyURI | SDGR-AP | XML Schema data types | |
+++++++++ | Time | Time values (format hh:mm:ss) | 0..1 | Attribute | SDGR-AP | XML Schema data types | ||
+++++++++ | Duration | A duration expressed as Year, Month, Day, Hour and Minutes (format PnYn MnDTnH nMnS) | 0..1 | Attribute | duration | SDGR-AP | XML Schema data types | |
+++++++++ | Decimal | A number represented with decimal notation | 0..1 | Attribute | Decimal | SDGR-AP | XML Schema data types | |
+++++++++ | Amount | An Amount, and currency, as defined in UN/CEFACT's CCTS | 0..1 | Attribute | Amount | SDGR-AP | XML Schema data types |
4.3.3. Example of a Query Response of the DSD
An example of a successful QueryResponse of the DSD providing a collection of Data Services of Service Providers for a specific Evidence Type is shown below:
<?xml version="1.0" encoding="UTF-8"?> <query:QueryResponse xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sdg="http://data.europa.eu/p4s" startIndex="0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" totalResultCount="1"> <!-- depending on the count of datasets returned, the totalResultCount attribute should reflect the number of the datasets returned --> <rim:RegistryObjectList> <!-- One registry object per dataset --> <rim:RegistryObject id="urn:uuid:4d66b7df-ad09-4098-942c-cb8da467af2a"> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:DataServiceEvidenceType> <!-- - - Evidence Type Metadata - - --> <!-- The Data Service assigned Unique Identifier of the Evidence Type. Must be used in the Evidence Exchange Request --> <sdg:Identifier>RE238918378</sdg:Identifier> <!-- Classification Information - Used for linking with the Semantic Repository and Evidence Broker --> <sdg:EvidenceTypeClassification>http://oots.eu/evidencetypes/germany/geburtsurkunde</sdg:EvidenceTypeClassification> <sdg:Title lang="en">Certificate of Birth</sdg:Title> <sdg:Title lang="de">Geburtsurkunde</sdg:Title> <sdg:Description lang="en">An official certificate of birth of a person - with first name, surname, sex, date and place of birth, which is obtained from the birth register of the place of birth.</sdg:Description> <sdg:Description lang="de">Eine amtliche Bescheinigung über die Geburt einer Person – mit Vorname, Familienname, Geschlecht, Datum und Ort der Geburt, welche aus dem Geburtsregister des Geburtsortes erstellt wird.</sdg:Description> <!-- Distribution Information - Multiple Distributions per Data Service Evidence Type --> <!-- XML Distribution, conforming to the common data model on Birth Certificate --> <sdg:DistributedAs> <sdg:Format>http://publications.europa.eu/resource/authority/file-type/XML</sdg:Format> <sdg:ConformsTo>https://semic.org/sa/common/birthcert-1.0.0</sdg:ConformsTo> </sdg:DistributedAs> <!-- PDF Distribution. PDF is unstructured data so there is no conformance to a data model --> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> </sdg:DistributedAs> <!-- - - Evidence Provider and Data Service Metadata - - --> <!-- Access Service represents the Data Service serving the piece of Evidence on behalf of an Evidence Provider --> <!-- Multiple Access Services, one per Evidence Provider --> <sdg:AccessService> <!-- The Evidence Exchange profile version to which this access service expects / serves --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909098</sdg:Identifier> <!-- The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping --> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <!-- The Evidence Provider Information of this access service --> <sdg:Publisher> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:9930">DE73524311</sdg:Identifier> <sdg:Name>Civil Registration Office Hamburg</sdg:Name> <sdg:Address> <sdg:FullAddress>Street ABC</sdg:FullAddress> <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>DE12</sdg:AdminUnitLevel2> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1> <sdg:AdminUnitLevel2>DE12</sdg:AdminUnitLevel2> </sdg:Jurisdiction> <!-- - - An Example of an Information Concept that can be provided by the Access Service in a structured format - - --> <sdg:ClassificationConcept> <sdg:Identifier>BirthDate</sdg:Identifier> <sdg:Type>CertificateOfBirth</sdg:Type> <sdg:Description>The month, day, and year a person was born</sdg:Description> <sdg:SupportedValue> <sdg:DateValue>2022-05-05</sdg:DateValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> <!-- Classification Information - Used for linking with the Evidence Broker --> <sdg:AccessService> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909099</sdg:Identifier> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <sdg:Publisher> <!-- The Evidence Provider Information --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:9930">DE73524311</sdg:Identifier> <sdg:Name>Civil Registration Office Hamburg</sdg:Name> <sdg:Address> <sdg:FullAddress>Street ABC</sdg:FullAddress> <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>DE12</sdg:AdminUnitLevel2> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1> <sdg:AdminUnitLevel2>DE12</sdg:AdminUnitLevel2> </sdg:Jurisdiction> </sdg:Publisher> </sdg:AccessService> <sdg:EvidenceProviderClassification> <sdg:Identifier>CertificateOfBirth</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/birthCertificate</sdg:ValueExpression> <sdg:Description lang="en">Certificate of Birth</sdg:Description> </sdg:EvidenceProviderClassification> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> </rim:RegistryObject> </rim:RegistryObjectList> </query:QueryResponse>
4.3.4. Business Rules associated to a Query Response of the DSD
In order to facilitate interoperability of the successful Query Response of the DSD, a set of business rules is defined to guarantee the correct structure and content format of information objects when receiving query response messages from the DSD. The Rule IDs reference to the DSD transaction "Query Response of the DSD" (DSD-RESP).
Business Rules
The Rule ID is used to identify the rule and to have an error code next to the rule description. Business rules that guarantee the correct structure of the message are using the prefix "S" before the numer (e.g. S009) whereas business rules that prove the information content are using the prefix "C" before the numer (e.g. C012). The Element and Location points to the correct information object that is affected by the rule. Each business rule is associated with an error level (flag) that expresses a validation result when an XML instance is proven against the rules through schematron validation:
- information: a hint that an additional object is mandatory in some cases;
- warning: offering recommendations to improve the quality of the instance or regain full validity;
- fatal: the rule point to a major issue of consistency or data correctness.
Rule descriptions containing "MUST" correspond to an error level that is flagged as fatal, while "SHOULD" rules correspond to an error level that is flagged as a warning. "MAY" rules point to error level note. For each business rule, a corresponding schematron rule is defined that references the same rule ID. Schematrons are used to prove the correctness of instances.
4.3.4.1 Business rules to prove the correct structure of a Query Response of the DSD
The table below lists the business rules to prove the structure of a "DSD Query Response" (DSD-RESP) such as namespace, root elements, slots, data types including "multidimensional" checks crossing the barrier between the different XSD schemes (XSD-Binding and XSD-Restriction).
Rule Type | Rule ID | Element | Location | Rule | Flag |
RootElement | R-DSD-RESP-S001 | query:QueryResponse | query:QueryResponse | The root element of a query response document MUST be 'query:QueryResponse' | Fatal |
NameSpace | R-DSD-RESP-S002 | query:QueryResponse | query:QueryResponse/@xmlns:query | The namespace of root element of a query response document must be 'urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0' | Fatal |
RootAttribute | R-DSD-RESP-S005 | query:QueryResponse | query:QueryResponse/@status | The 'status' attribute of a 'QueryResponse' MUST be present. | Fatal |
RootAttribute | R-DSD-RESP-S006 | query:QueryResponse | query:QueryResponse/@status | The 'status' attribute of a successfull 'QueryResponse' MUST be encoded as as 'urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success'. | Fatal |
Structure | R-DSD-RESP-S007 | rim:RegistryObjectList | query:QueryResponse/rim:RegistryObjectList/ | A successful QueryResponse MUST include a 'rim:RegistryObjectList' | Fatal |
Structure | R-DSD-RESP-S008 | query:QueryResponse | query:QueryResponse/@status | A successful QueryResponse MUST not include an Exception | Fatal |
Slot | R-DSD-RESP-S009 | rim:Slot (DataServiceEvidenceType) | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType'] | The rim:Slot name="DataServiceEvidenceType" MUST be present in the QueryResponse. | Fatal |
Slot | R-DSD-RESP-S010 | query:QueryResponse | query:QueryResponse | A 'query:QueryResponse' MUST not contain any other rim:Slots. | Fatal |
Datatype | R-DSD-RESP-S011 | rim:SlotValue (DataServiceEvidenceType) | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue | The rim:SlotValue of rim:Slot name="DataServiceEvidenceType" MUST be of "rim:AnyValueType" | Fatal |
XSD-Binding | R-DSD-RESP-S012 | sdg:DataServiceEvidenceType (DataServiceEvidenceType) | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject /rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/ sdg:DataServiceEvidenceType | A 'rim:Slot[@name='DataServiceEvidenceType'/rim:SlotValue/sdg:DataServiceEvidenceType' MUST contain one sdg:DataServiceEvidenceType of the targetNamespace="http://data.europa.eu/p4s" | Fatal |
AssociationRules | R-DSD-RESP-S013 | sdg:SupportedValue | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType /sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:SupportedValue | A 'sdg:SupportedValue' MUST be provided if the 'sdg:EvidenceProviderClassification' is present in the 'rim:RegistryObject/rim:Slot[@name='DataServiceEvidenceType']'. | Fatal |
Cardinality | R-DSD-RESP-S014 | sdg:AccessService | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService | The xs:element name="sdg:AccessService" type="sdg:DataServiceType" MUST be present. | Fatal |
Identifier | R-DSD-RESP-S015 | rim:RegistryObject | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/@id | Each 'id' of 'rim:RegistryObject' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:" | Fatal |
Structure | R-DSD-RESP-S016 | rim:RegistryObject | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject | A successful QueryResponse MUST include a 'rim:RegistryObject' | Fatal |
4.3.4.2 Business rules to prove the content format of information objects of a Query Response of the DSD
The table below lists the business rules to prove the structure of a "DSD Query Response" (DSD-RESP) such as identifiers, formats, fixed values, mandatory set of values on specific fields (code lists) and dependencies between fields.
Rule Type | Rule ID | Element | Location | Rule | Flag |
Identifier | R-DSD-RESP-C002 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Identifier | The value of 'Identifier' of an 'DataServiceEvidenceType' MUST be unique UUID (RFC 4122). | Fatal |
Identifier | R-DSD-RESP-C003 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceTypeClassification | The value of 'EvidenceTypeClassification' of a 'DataServiceEvidenceType' MUST be a URI with the following format 'http:://……' pointing to the Semantic Repository encoded in the EvidenceBroker. | Fatal |
Codelist | R-DSD-RESP-C004 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Title/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-RESP-C005 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Title/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | R-DSD-RESP-C006 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-RESP-C007 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Description/@lang | The value of 'lang' attribute MUST be provided. Default value: 'en'. | Fatal |
Codelist | R-DSD-RESP-C008 | sdg:DataServiceEvidenceType | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AuthenticationLevelOfAssurance | The value of 'LevelOfAssurance' must be part of the code list 'LevelsOfAssuranceCode' | Fatal |
Codelist | R-DSD-RESP-C009 | sdg:DistributedAs | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:DistributedAs/sdg:Format | The value of 'Format' of the requested distribution MUST be be part of the code list 'BinaryObjectMimeCode'. | Fatal |
Identifier | R-DSD-RESP-C010 | sdg:DistributedAs | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:DistributedAs/sdg:ConformsTo | The value of 'ConformsTo' of the requested distribution MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository). | Fatal |
Identifier | R-DSD-RESP-C011 | sdg:AccessService | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Identifer | The value of 'Identifier' of an 'AccessService' MUST use the ebcore Party ID Type. | Fatal |
Cardinatlity | R-DSD-RESP-C012 | sdg:AccessService | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Identifer/@schemeID | The 'schemeID' MUST be provided. | Fatal |
Codelist | R-DSD-RESP-C014 | sdg:AccessService | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Identifer/@schemeID | The value of the 'schemeID' attribute of the 'Identifier' MUST be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'. | Fatal |
Fixed Value | R-DSD-RESP-C015 | sdg:AccessService | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:ConformsTo | The value of 'ConformsTo' of the Access Service MUST point to the underlying eDelivery Profile 'oots:edm-v1.0' | Fatal |
Cardinatlity | R-DSD-RESP-C016 | sdg:Publisher | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Identifier/@schemeID | The 'schemeID' attribute of 'Identifier' MUST be present. | Fatal |
Codelist | R-DSD-RESP-C017 | sdg:Publisher | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Identifier/@schemeID | The value of the 'schemeID' attribute of the 'Identifier' MUST be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'. | Fatal |
Codelist | R-DSD-RESP-C018 | sdg:Address | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Address/sdg:AdminUnitLevel1 | The value of the 'AdminUnitLevel1' MUST be coded using the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes). | Fatal |
Codelist | R-DSD-RESP-C019 | sdg:Address | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Address/sdg:AdminUnitLevel2 | The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nomenclature of Territorial Units for Statistics' (NUTS) | Fatal |
Codelist | R-DSD-RESP-C020 | sdg:Jurisdiction | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Jurisdiciton/sdg:AdminUnitLevel1 | The value of the 'AdminUnitLevel1' MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1 alpha-2 codes). | Fatal |
Codelist | R-DSD-RESP-C021 | sdg:Jurisdiction | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Jurisdiciton/sdg:AdminUnitLevel2 | The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nuts' (Nomenclature of Territorial Units for Statistics). | Fatal |
Codelist | R-DSD-RESP-C022 | sdg:Jurisdiction | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:Jurisdiciton/sdg:AdminUnitLevel3 | The value of the 'AdminUnitLevel3' MUST be coded using the code list 'LAU' (Local Administrative Units). | Fatal |
Identifier | R-DSD-RESP-C023 | sdg:ClassificationConcept | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:Identifier | The value of 'Identifier' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | R-DSD-RESP-C024 | sdg:ClassificationConcept | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:Type | A 'Type' MUST be provided. | Fatal |
Cardinatlity | R-DSD-RESP-C025 | sdg:ClassificationConcept | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:Description | A 'Description' MUST be provided. | Fatal |
Codelist | R-DSD-RESP-C026 | sdg:ClassificationConcept | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-RESP-C027 | sdg:ClassificationConcept | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Cardinatlity | R-DSD-RESP-C028 | sdg:SupportedValue | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AccessService/sdg:Publisher/sdg:ClassificationConcept/sdg:SupportedValue | A value for 'SupportedValue' MUST be provided if the 'sdg:ClassificationConcept' is present. | Fatal |
Identifier | R-DSD-RESP-C029 | sdg:EvidenceProviderClassification | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Identifier | The value of 'Identifier' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | R-DSD-RESP-C030 | sdg:EvidenceProviderClassification | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Type | A 'Type' MUST be provided. | Fatal |
Cardinatlity | R-DSD-RESP-C031 | sdg:EvidenceProviderClassification | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Description | A 'Description' MUST be provided. | Fatal |
Codelist | R-DSD-RESP-C032 | sdg:EvidenceProviderClassification | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-RESP-C033 | sdg:EvidenceProviderClassification | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Identifier | R-DSD-RESP-C034 | sdg:EvidenceProviderJurisdicationDetermination | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContextId | The value of 'JurisdictionContextId' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | R-DSD-RESP-C035 | sdg:EvidenceProviderJurisdicationDetermination | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContext/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-RESP-C036 | sdg:EvidenceProviderJurisdicationDetermination | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContext/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | R-DSD-RESP-C037 | sdg:EvidenceProviderJurisdicationDetermination | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionLevel | The value of 'JurisdictionLevel' MUST be part of the code list 'JurisdictionLevel' (ISO 639-1 two-letter code). | Fatal |
Identifier | R-DSD-RESP-C038 | sdg:DistributedAs | query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:DistributedAs/sdg:Transformation | The value of 'Transformation' of the requested distribution MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository). | Fatal |
4.4 Query Error Response of the DSD
4.4.1 Query Error Response of the DSD (Default)
4.4.1.1 Data Model
The Query Error Response of the DSD is syntactically expressed inside an ebRS QueryResponse using the ebRS RegistryExceptionType as shown in data model below:
4.4.1.2 Implementation Guideline
The following table below defines the elements of the data model illustrated above according to the core ebRIM elements of the ebRS RegistryExceptionType .
Legend
The table below represent the tree structure of the data models illustrated in this section. Light grey rows describe classes and define their properties and attributes. Light green rows soley illustrate the classes that are subordinated or associated to a class and therewith illustrate the tree structure of the data model. Light green rows are thus always repeated as light grey rows to describe the properties and attributes of a class. The hierarchy of the tree structure is also indicated in the first column via the '+' symbol.
Hierarchy | Name | Definition | Cardinality | Type | Data Type | Rules | Domain |
---|---|---|---|---|---|---|---|
query:QueryResponse | Query Error Response root element | RegistryResponseType | Structure: R-DSD-ERR-S001, R-DSD-ERR-S002 | ebRIM | |||
+ | status | Element used to define the status of the Query Request. | 1..1 | Attribute | Identifier | Structure: R-DSD-ERR-S005, R-DSD-ERR-S006, R-DSD-ERR-S007 | ebRIM |
+ | rs:Exception | The rs:exeption describes an error which occurs during the processing of a Query Request. | 1..n | RegistryExceptionType | Structure: R-DSD-ERR-S008, R-DSD-ERR-S009 | ebRIM | |
+ | rs:Exception | The rs:exeption describes an error which occurs during the processing of a Query Request. | 1..n | RegistryExceptionType | Structure: R-DSD-ERR-S008, R-DSD-ERR-S009 | ebRIM | |
++ | xsi:type | Describes the nature of the error that occurred. | 1..1 | Attribute | string | Content: R-DSD-ERR-C016, R-DSD-ERR-C017 | ebRIM |
++ | severity | The severity attribute value provides a severity level for the exception. The default value is "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error" | 1..1 | Attribute | objectReferenceType | Content: R-DSD-ERR-C018, R-DSD-ERR-C019 | ebRIM |
++ | message | Is used to add an error message that can be shown and understood by the user of the system. | 1..1 | Attribute | string | Content: R-DSD-ERR-C020, R-DSD-ERR-C021 | ebRIM |
++ | code | A code that corresponds to the status of the system with regard to the processing of a request. If the specific error codes do not cover the reason for failure use the generic error code "other". | 1..1 | Attribute | string | Content: R-DSD-ERR-C022, R-DSD-ERR-C023 | ebRIM |
4.4.1.3 Example
An example of Query Error Responses of the DSD due to an empty result set of the Data Service is shown in the following XML snippet:
<?xml version="1.0" encoding="UTF-8"?> <query:QueryResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:xlink="http://www.w3.org/1999/xlink" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"> <rs:Exception xsi:type="rs:ObjectNotFoundExceptionType" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error" message="No Data services were found based on the given parameters" code="DSD:ERR:0001"> </rs:Exception> </query:QueryResponse>
4.4.2 Query Error Response Codes of the DSD
The following table provides the list of QueryErrorResponseCodes for the expections defined in the Query Error Response:
DSDErrorResponseCodes
# | Error Title | Type | code | Message |
---|---|---|---|---|
1 | Data Services Not Found | rs:ObjectNotFoundExceptionType | DSD:ERR:0001 | No Data Services were found based on the given parameters |
2 | Evidence Type Not Found | rs:ObjectNotFoundExceptionType | DSD:ERR:0002 | The Evidence Type requested cannot be found |
3 | Bad Query Parameters | rs:InvalidRequestExceptionType | DSD:ERR:0003 | The query parameters do not follow the query specification |
4 | Unknown Query | rs:InvalidRequestExceptionType | DSD:ERR:0004 | The requested Query does not exist |
5 | Additional Parameters Required | rs:ObjectNotFoundExceptionType | DSD:ERR:0005 | The query requires the included extra attributes to be provided by the user |
6 | Incorrect Parameter Value | rs:InvalidRequestExceptionType | DSD:ERR:0006 | Incorrect provided value for requested parameters |
4.4.3. Query Error Response of the DSD requesting additional User Provided Attributes (DSD:ERR:005)
4.4.3.1 Data Model
When a DataServiceEvidenceType
contains required Evidence Provider Discovery Metadata, the DSD will respond initially with an exception containing the required Discovery Metadata. The exception used is the DSD:ERR:0005
with type rs:ObjectNotFoundExceptionType
and uses an extension of the Query Error Response for the DSD Model (section 4.2). The following diagram summarizes the extension of the data model for the DSD:ERR:0005 exception:
4.4.3.2 Implementation Guideline
The following table below defines the elements of the data model illustrated above according to the core ebRIM elements of the ebRS RegistryExceptionType .
Legend
The table below represent the tree structure of the data models illustrated in this section. Light grey rows describe classes and define their properties and attributes. Light green rows soley illustrate the classes that are subordinated or associated to a class and therewith illustrate the tree structure of the data model. Light green rows are thus always repeated as light grey rows to describe the properties and attributes of a class. The hierarchy of the tree structure is also indicated in the first column via the '+' symbol.
Hierarchy | Name | Definition | Cardinality | Type | Data Type | Rules | Domain | Element of Core Vocabulary |
---|---|---|---|---|---|---|---|---|
query:QueryResponse | Query Error Response root element | RegistryResponseType | Structure: R-DSD-ERR-S001, R-DSD-ERR-S002 | ebRIM | ||||
+ | status | Element used to define the status of the Query Request. | 1..1 | Attribute | Identifier | Structure: R-DSD-ERR-S005, R-DSD-ERR-S006, R-DSD-ERR-S007 | ebRIM | |
+ | rs:Exception | The rs:exeption describes an error which occurs during the processing of a Query Request. | 1..n | RegistryExceptionType | Structure: R-DSD-ERR-S008, R-DSD-ERR-S010, R-DSD-ERR-S023 | ebRIM | ||
+ | rs:Exception | The rs:exeption describes an error which occurs during the processing of a Query Request. | 1..n | RegistryExceptionType | Structure: R-DSD-ERR-S008, R-DSD-ERR-S010, R-DSD-ERR-S023 | ebRIM | ||
++ | xsi:type | Describes the nature of the error that occurred. | 1..1 | Attribute | string | Content: R-DSD-ERR-C016, R-DSD-ERR-C017 | ebRIM | |
++ | severity | The severity attribute value provides a severity level for the exception. The default value is "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error". Must be MUST be 'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:AdditionalInput' if the rs:Exception DSD:ERR:0005 is used. | 1..1 | Attribute | objectReferenceType | Content: R-DSD-ERR-C018, R-DSD-ERR-C019, R-DSD-ERR-C025 | ebRIM | |
++ | message | Is used to add an error message that can be shown and understood by the user of the system. | 1..1 | Attribute | string | Content: R-DSD-ERR-C020, R-DSD-ERR-C021 | ebRIM | |
++ | code | A code that corresponds to the status of the system with regard to the processing of a request. If the specific error codes do not cover the reason for failure use the generic error code "other". | 1..1 | Attribute | string | Content: R-DSD-ERR-C022, R-DSD-ERR-C023 | ebRIM | |
++ | rim:slot "DataServiceEvidenceType" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: R-DSD-ERR-S013, R-DSD-ERR-S016 | ebRIM | |
++ | rim:slot "JurisdictionDetermination" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 0..1 | SlotType | AnyValueType | Structure: R-DSD-ERR-S011, R-DSD-ERR-S014 | ebRIM | |
++ | rim:slot "UserRequestedClassificationConcepts" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 0..1 | SlotType | CollectionValueType | Structure: R-DSD-ERR-S012, R-DSD-ERR-S015 | ebRIM | |
++ | rim:slot "DataServiceEvidenceType" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: R-DSD-ERR-S013, R-DSD-ERR-S016 | ebRIM | |
+++ | DataServiceEvidenceType | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | DataServiceEvidenceTypeType | Structure: R-DSD-ERR-S018, R-DSD-ERR-S021 | SDGR Application Profile | ||
+++ | DataServiceEvidenceType | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | DataServiceEvidenceTypeType | Structure: R-DSD-ERR-S018, R-DSD-ERR-S021 | SDGR Application Profile | ||
++++ | Identifier | The unique identifier of the Evidence Type of the Data Service. Must be used in the Evidence Request. | 1..1 | Attribute | Identifier | Content: R-DSD-ERR-C010 | DCAT-AP | dct:identifier |
++++ | EvidenceTypeClassification | A URI pointing to the Evidence Type that this Data Service is supporting. The classification is linked with the Evidence Type of the Semantic Repository (Evidence Broker). | 1..1 | Attribute | Code | Content: R-DSD-ERR-C011 | Core Criterion Core Evidence Vocabulary | cccev:evidenceTypeClassification |
++++ | Title | A name to identify in natural language the Evidence Type. Unbounded cardinality to support multiple languages. | 1..n | Attribute | Text | DCAT-AP | dct:title | |
+++++ | Title/@lang | The language of the title encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-ERR-C012, R-DSD-ERR-C013 | DCAT-AP | dct:title |
++++ | Description | A description of the Evidence Type. Unbounded cardinality to support multiple languages. | 0..n | Attribute | Text | DCAT-AP | dct:description | |
+++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-ERR-C014, R-DSD-ERR-C015 | DCAT-AP | dct:description |
++++ | AuthenticationLevelOfAssurance | The Minimum eIDAS Level Of Assurance Required for this Evidence Type, so that the Evidence can be released | 0..1 | Attribute | Code | Content: R-DSD-ERR-C024 | SDGR-AP | |
++ | rim:slot "JurisdictionDetermination" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 0..1 | SlotType | AnyValueType | Structure: R-DSD-ERR-S011, R-DSD-ERR-S014 | ebRIM | |
+++ | EvidenceProviderJurisdictionDetermination | Contextual Information required for the jurisdiction determination of the correct Evidence Provider | 1..1 | JurisdictionDeterminationType | Structure: R-DSD-ERR-S020 | SDGR Application Profile | ||
+++ | EvidenceProviderJurisdictionDetermination | Contextual Information required for the jurisdiction determination of the correct Evidence Provider | 1..1 | JurisdictionDeterminationType | Structure: R-DSD-ERR-S020 | SDGR Application Profile | ||
++++ | JurisdictionContextId | A codified, mappable value of the Jurisdiction Determination Context of an Evidence Provider | 1..1 | Attribute | Identifier | Content: R-DSD-ERR-C001 | SDGR Application Profile | |
++++ | JurisdictionContext | The Jurisdiction Determination Context of an Evidence Provider in natural language | 1..n | Attribute | Text | SDGR Application Profile | ||
+++++ | JurisdictionContext/@Lang | The Language used for the Jurisdiction Context | M | Attribute | Code | Content: R-DSD-ERR-C002, R-DSD-ERR-C003 | SDGR Application Profile | |
++++ | JurisdictionLevel | The minimum level of the jurisdiction Granularity Required for proper discovery of the Evidence Provider (MS, NUTS1-3, LAU) | 1..1 | Attribute | Code | Content: R-DSD-ERR-C004 | SDGR Application Profile | |
++ | rim:slot "UserRequestedClassificationConcepts" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 0..1 | SlotType | CollectionValueType | Structure: R-DSD-ERR-S012, R-DSD-ERR-S015 | ebRIM | |
+++ | EvidenceProviderClassification | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..n | EvidenceProviderClassificationType (InformationConceptType) | Structure: R-DSD-ERR-S019, R-DSD-ERR-S022 | Core Criterion Core Evidence Vocabulary | ||
+++ | EvidenceProviderClassification | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..n | EvidenceProviderClassificationType (InformationConceptType) | Structure: R-DSD-ERR-S019, R-DSD-ERR-S022 | Core Criterion Core Evidence Vocabulary | ||
++++ | Identifier | Unambiguous reference to the Information Concept. | 1..1 | Attribute | Identifier | Content: R-DSD-ERR-C005 | CCCEV | cccev:identifier |
++++ | Type | Category to which the Information Concept belongs. | 1..1 | Attribute | Code | Content: R-DSD-ERR-C006 | CCCEV | cccev:type |
++++ | ValueExpression | Formulation in a formal language of the expected value(s) for the Classification Concept which is aligned with the concepts from the Requirements defined and must be respected by the supplied Supported Values. Currently, the Regular Expression language is supported for strings. | 0..1 | Attribute | Text | CCCEV | cccev:expressionOfExpected Value | |
++++ | Description | Short explanation supporting the understanding of the Classification Concept. | 1..n | Attribute | Text | Content: R-DSD-ERR-C007 | CCCEV | cccev:description |
+++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-ERR-C008, R-DSD-ERR-C009 | CCCEV | cccev:description |
4.4.3.3 Example of a DSD Error Response with Jurisdiction Determination
When the DataServiceEvidenceType
class contains the EvidenceProviderJursidictionDetermination
, the returned exception MUST contain:
- One slot with name
DataServiceEvidenceType
with a slot value of typerim:AnyValueType
. The contents of the slot value MUST be mandatory elements of theDataServiceEvidenceType
with the descriptions included. When responding to the exception, if the specific DataServiceEvidenceType is the one selected by the user, the Evidence Requester MUST add a new query parameter with nameevidence-type-id
and value the identifier of theDataServiceEvidenceType
. - One slot with name
JurisdictionDetermination
with a slot value of typerim:AnyValueType
. The contents of the slot value MUST be the complete structure of theEvidenceProviderJursidictionDetermination
. When responding to the exception, the Evidence Requester MUST add a new query parameter with namejurisdiction-context-id
with a value equal to the JurisdictionContextId element's value of theJurisdictionDerermination
slot. - Additionally, the query must now provide the extra level of jurisdiction level values required, as declared in the
JurisdictionLevel
element of theJurisdictionDetermination
slot, by using the pre-defined parametersjurisdiction-admin-l3
and/orjurisdiction-admin-l2
The following example shows an exception sent back to the Evidence Requester containing a JurisdictionDetermination
slot, stating that the user should provide his place of birth using LAU codes:
<query:QueryResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:sdg="http://data.europa.eu/p4s" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"> <!-- Additional elements describing the response --> <rs:Exception xsi:type="rs:ObjectNotFoundExceptionType" severity="FAILURE" message="The query requires the incuded extra attributes to be provided by the user." code="DSD:ERR:0005"> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:DataServiceEvidenceType xmlns:sdg="http://data.europa.eu/p4s"> <sdg:Identifier>DSEV-ID1</sdg:Identifier> <sdg:EvidenceTypeClassification>CertificateOfBirth</sdg:EvidenceTypeClassification> <sdg:Title>Certificate Of Birth</sdg:Title> <sdg:Description> Certificate Of Birth provided by the regional service providers of Region A of country MS. Evidence Provider Jurisdiction is resolved at Municipality level, where the natural person has its place of birth. </sdg:Description> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> <!-- Jurisdiction Mapping Requests --> <rim:Slot name="JurisdictionDetermination"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>PlaceOfBirth</sdg:JurisdictionContextId> <sdg:JurisdictionContext lang="en">Place Of Birth</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/LAU</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> </rim:SlotValue> </rim:Slot> </rs:Exception> </query:QueryResponse>
When responding to the example above, the Evidence Requester MUST add the JurisdictionContextId parameter with the value of the JurisdictionContextId found in the exception, accompanied by the proper jurisdiction level ( in the example the LAU code) provided by the user as follows:
«server base url»/rest/search?queryId=urn:fdc:oots:dsd:ebxml-regrep:queries:dataservices-by-evidencetype-and-jurisdiction&evidence-type-classification=CertificateOfBirth&country-code=MS&evidence-type-id=DSEV-ID1&jurisdiction-context-id=PlaceOfBirth&jurisdiction-admin-l2=MS202&jurisdiction-admin-l3=02200334
4.4.3.4 Example of a DSD Error Response with Classification Concepts requested by the user
When the DataServiceEvidenceType
class contains the EvidenceProviderClassification
elements, the returned exception MUST contain:
- One slot with name
DataServiceEvidenceType
with a slot value of typerim:AnyValueType
. The contents of the slot value MUST be mandatory elements of theDataServiceEvidenceType
with the descriptions included. When responding to the exception, if the specific DataServiceEvidenceType is the one selected by the user, the Evidence Requester MUST add a new query parameter with nameevidence-type-id
and value the identifier of theDataServiceEvidenceType
. - one slot with name
UserRequestedClassificationConcepts
with a slot value of typerim:CollectionValueType
withcollectionType="urn:oasis:names:tc:ebxml-regrep:CollectionType:Set
". The contents of the slot value MUST be the complete structure of theEvidenceProviderClassification
, with eachEvidenceProviderClassification
placed inside arim:element
of typerim:AnyValyeType
. When responding to the exception, the Evidence Requester MUST add a new query parameter for every Classification Concept existing in theEvidenceProviderClassification
element, using theClassificationConcept
Identifier as its name and providing as a value one that complies with theType
,ValueExpression
andDescription
of theClassification Concept
.
The following example shows an exception sent back to the Evidence Requester containing a UserRequestedClassificationConcepts
slot, stating that the user should provide his type of insurance using a string value:
<query:QueryResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:sdg="http://data.europa.eu/p4s" xmlns:xlink="http://www.w3.org/1999/xlink" requestId="urn:uuid:c4369c4d-740e-4b64-80f0-7b209a66d629" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"> <!-- Additional elements describing the response --> <rs:Exception xsi:type="rs:ObjectNotFoundExceptionType" severity="FAILURE" message="The query requires the incuded extra attributes to be provided by the user." code="DSD:ERR:0005"> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:DataServiceEvidenceType xmlns:sdg="http://data.europa.eu/p4s"> <sdg:Identifier>DSEV-ID1</sdg:Identifier> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate Of Insurance</sdg:Title> <sdg:Description> Certificate Of Insurance provided by the regional service providers of Region A of country MS. Evidence providers are classified according to the type of insurance the Evidence Subject has. </sdg:Description> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> <rim:Slot name="UserRequestedClassificationConcepts"> <rim:SlotValue xsi:type="rim:CollectionValueType" collectionType="urn:oasis:names:tc:ebxml-regrep:CollectionType:Set"> <rim:Element xsi:type="rim:AnyValueType"> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>String</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/birthCertificate</sdg:ValueExpression> <sdg:Description lang="en">Type of insurance</sdg:Description> </sdg:EvidenceProviderClassification> </rim:Element> </rim:SlotValue> </rim:Slot> </rs:Exception> </query:QueryResponse>
When responding to the example above, the Evidence Requester MUST add the TypeOfInsurance parameter with the proper string value provided by the user as follows:
«server base url»/rest/search?queryId=urn:fdc:oots:dsd:ebxml-regrep:queries:dataservices-by-evidencetype-and-jurisdiction&evidence-type-classification=CertificateOfInsurance&country-code=MS&evidence-type-id=DSEV-ID1&TypeOfInsurance=public. Since the evidence provider classification identifier values are used as query parameters, they MUST be different from any of the predefined query parameters.
4.4.4. Business Rules associated to the Query Error Response of the DSD
In order to facilitate interoperability of the QueryErrorResponse of the DSD, a set of business rules is defined to guarantee the correct structure, use and format of information objects when receiving errors messages from the DSD. The Rule IDs reference to the DSD transaction "Query Error Response of the DSD" (DSD-ERR).
Business Rules
The Rule ID is used to identify the rule and to have an error code next to the rule description. Business rules that guarantee the correct structure of the message are using the prefix "S" before the numer (e.g. S009) whereas business rules that prove the information content are using the prefix "C" before the numer (e.g. C012). The Element and Location points to the correct information object that is affected by the rule. Each business rule is associated with an error level (flag) that expresses a validation result when an XML instance is proven against the rules through schematron validation:
- information: a hint that an additional object is mandatory in some cases;
- warning: offering recommendations to improve the quality of the instance or regain full validity;
- fatal: the rule point to a major issue of consistency or data correctness.
Rule descriptions containing "MUST" correspond to an error level that is flagged as fatal, while "SHOULD" rules correspond to an error level that is flagged as a warning. "MAY" rules point to error level note. For each business rule, a corresponding schematron rule is defined that references the same rule ID. Schematrons are used to prove the correctness of instances.
4.4.4.1 Business rules to prove the correct structure of the Query Error Response of the DSD
The table below lists the business rules to prove the structure of a "DSD Error Response" (DSD-ERR) such as namespace, root elements, slots, data types including "multidimensional" checks crossing the barrier between the different XSD schemes (XSD-Binding and XSD-Restriction).
Rule Type | Rule ID | Element | Location | Rule | Flag |
RootElement | R-DSD-ERR-S001 | query:QueryResponse | query:QueryResponse | The root element of a query response document MUST be 'query:QueryResponse' | Fatal |
Namespace | R-DSD-ERR-S002 | query:QueryResponse | query:QueryResponse/@xmlns:query | The namespace of root element of a 'query:QueryResponse' MUST be 'urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0' | Fatal |
RootAttribute | R-DSD-ERR-S005 | query:QueryResponse | query:QueryResponse/@status | The 'status' attribute of a 'QueryResponse' MUST be present. | Fatal |
RootAttribute | R-DSD-ERR-S006 | query:QueryResponse | query:QueryResponse/@status | The 'status' attribute of an unsuccessfull 'query:QueryResponse' MUST be encoded as as 'urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure'. | Fatal |
Structure | R-DSD-ERR-S007 | query:QueryResponse | query:QueryResponse/@status | An unsuccessful 'query:QueryResponse' MUST not include a 'rim:RegistryObjectList' | Fatal |
Structure | R-DSD-ERR-S008 | rs:Exception | query:QueryResponse/rs:Exception | An unsuccessful 'query:QueryResponse' MUST include an Exception | Fatal |
Slot | R-DSD-ERR-S009 | rs:Exception | query:QueryResponse/rs:Exception | An unsuccessfull 'query:QueryResponse' which does not contain the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) MUST not contain any rim:Slots. | Fatal |
Slot | R-DSD-ERR-S010 | rs:Exception | query:QueryResponse/rs:Exception | An unsuccessfull 'query:QueryResponse' which does contain the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) MUST not contain other rim:Slots than 'JurisdictionDetermination', 'UserRequestedClassificationConcepts' and 'DataServiceEvidenceType'. | Fatal |
Slot | R-DSD-ERR-S011 | rim:Slot (JurisdictionDetermination) | query:QueryResponse/rs:Exception/ rim:Slot[@name='JurisdictionDetermination'] | An unsuccessful 'query:QueryResponse' containing the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) MAY contain rim:Slot name="JurisdictionDetermination" requesting additional user provided attributes. | Information |
Slot | R-DSD-ERR-S012 | rim:Slot (UserRequestedClassificationConcepts) | query:QueryResponse/rs:Exception/ rim:Slot[@name='UserRequestedClassificationConcepts'] | An unsuccessful 'query:QueryResponse' containing the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) MAY contain a rim:Slot name="UserRequestedClassificationConcepts" requesting additional user provided attributes. | Information |
Slot | R-DSD-ERR-S013 | rim:Slot (DataServiceEvidenceType) | query:QueryResponse/rs:Exception/ rim:Slot[@name='DataServiceEvidenceType'] | An unsuccessful 'query:QueryResponse' containing the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) MUST contain rim:Slot name="DataServiceEvidenceType" requesting additional user provided attributes. | Fatal |
Datatype | R-DSD-ERR-S014 | rim:SlotValue (JurisdictionDetermination) | query:QueryResponse/rs:Exception/ rim:Slot[@name='JurisdictionDetermination']/rim:SlotValue | The rim:SlotValue of rim:Slot name="JurisdictionDetermination" MUST be of "rim:AnyValueType" | Fatal |
Datatype | R-DSD-ERR-S015 | rim:SlotValue (UserRequestedClassificationConcepts) | query:QueryResponse/rs:Exception/ rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue | The rim:SlotValue of rim:Slot name="UserRequestedClassificationConcepts" MUST be of "rim:CollectionValueType" | Fatal |
Datatype | R-DSD-ERR-S016 | rim:Element (UserRequestedClassificationConcepts) | query:QueryResponse/rs:Exception/ rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/rim:Element/ | The rim:Element of rim:SlotValue of rim:Slot name="UserRequestedClassificationConcepts" MUST be of "rim:AnyValueType" | Fatal |
Datatype | R-DSD-ERR-S017 | rim:SlotValue (DataServiceEvidenceType) | query:QueryResponse/rs:Exception/ rim:Slot[@name='DataServiceEvidenceType']/rim:SlotValue | The rim:SlotValue of rim:Slot name="DataServiceEvidenceType" MUST be of "rim:AnyValueType" | Fatal |
XSD-Binding | R-DSD-ERR-S018 | sdg:DataServiceEvidenceType (DataServiceEvidenceType) | query:QueryResponse/rs:Exception/ rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType | The query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType'] MUST contain one 'sdg:DataServiceEvidenceType' of the targetNamespace="http://data.europa.eu/p4s" | Fatal |
XSD-Binding | R-DSD-ERR-S019 | sdg:EvidenceProviderClassification (UserRequestedClassificationConcepts) | query:QueryResponse/rs:Exception/ rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification | If present, the query:QueryResponse/rs:Exception/rim:Slot[@name='UserRequestedClassificationConcepts'] MUST contain the 'sdg:EvidenceProviderClassification' of the targetNamespace="http://data.europa.eu/p4s" | Fatal |
XSD-Binding | R-DSD-ERR-S020 | sdg:EvidenceProviderJurisdictionDetermination (UserRequestedClassificationConcepts) | query:QueryResponse/rs:Exception/ rim:Slot[@name='JurisdictionDetermination']/ rim:SlotValue/sdg:JurisdictionDetermination | If present, the query:QueryResponse/rs:Exception/rim:Slot[@name='JurisdictionDetermination'] MUST contain one 'sdg:JurisdictionDetermination' of the targetNamespace="http://data.europa.eu/p4s" | Fatal |
XSD-Restriction | R-DSD-ERR-S021 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/ rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType | A DataServiceEvidenceType 'rim:Slot[@name='DataServiceEvidenceType'/rim:SlotValue/sdg:DataServiceEvidenceType' MUST not contain any other elements than 'sdg:Identifier', 'sdg:EvidenceTypeClassification', 'sdg:Title' and 'sdg:Description'. | Fatal |
XSD-Restriction | R-DSD-ERR-S022 | sdg:EvidenceProviderClassification | query:QueryResponse/rs:Exception/ rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification | An EvidenceProviderClassification 'rim:Slot[@name='rim:Slot[@name='UserRequestedClassificationConcepts'/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification' MUST not contain 'SupportedValue'. | Fatal |
Slot | R-DSD-ERR-S023 | rs:Exception | query:QueryResponse/rs:Exception/ | An unsuccessful 'query:QueryResponse' containing the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) MUST contain either a rim:Slot name="UserRequestedClassificationConcepts" or a rim:Slot name="JurisdictionDetermination" or both. | Fatal |
4.4.4.2 Business rules to prove the content format of information objects of a Query Error Response of the DSD
The table below lists the business rules to prove the structure of a "DSD Error Response" (DSD-ERR) such as identifiers, formats, fixed values, mandatory set of values on specific fields (code lists) and dependencies between fields.
Rule Type | Rule ID | Element | Location | Rule | Flag |
Identifier | DSD-ERR-C001 | sdg:EvidenceProviderJurisdictionDetermination | query:QueryResponse/rs:Exception/rim:Slot[@name='JurisdictionDetermination']/ rim:SlotValue/sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContextId | The value of 'JurisdictionContextId' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | DSD-ERR-C002 | sdg:EvidenceProviderJurisdictionDetermination | query:QueryResponse/rs:Exception/rim:Slot[@name='JurisdictionDetermination']/ rim:SlotValue/sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContext/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | DSD-ERR-C003 | sdg:EvidenceProviderJurisdictionDetermination | query:QueryResponse/rs:Exception/rim:Slot[@name='JurisdictionDetermination']/ rim:SlotValue/sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContext/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | DSD-ERR-C004 | sdg:EvidenceProviderJurisdictionDetermination | query:QueryResponse/rs:Exception/rim:Slot[@name='JurisdictionDetermination']/ rim:SlotValue/sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionLevel | The value of 'JurisdictionLevel' MUST be part of the code list 'JurisdictionLevel' (ISO 639-1 two-letter code). | Fatal |
Identifier | DSD-ERR-C005 | sdg:EvidenceProviderClassification | query:QueryResponse/rs:Exception/rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/sdg:EvidenceProviderClassification/sdg:Identifier | The value of 'Identifier' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | DSD-ERR-C006 | sdg:EvidenceProviderClassification | query:QueryResponse/rs:Exception/rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/sdg:EvidenceProviderClassification/sdg:Type | A 'Type' MUST be provided. | Fatal |
Cardinality | DSD-ERR-C007 | sdg:EvidenceProviderClassification | query:QueryResponse/rs:Exception/rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/sdg:EvidenceProviderClassification/sdg:Description | A 'Description' MUST be provided. | Fatal |
Codelist | DSD-ERR-C008 | sdg:EvidenceProviderClassification | query:QueryResponse/rs:Exception/rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/sdg:EvidenceProviderClassification/sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | DSD-ERR-C009 | sdg:EvidenceProviderClassification | query:QueryResponse/rs:Exception/rim:Slot[@name='UserRequestedClassificationConcepts']/ rim:SlotValue/sdg:EvidenceProviderClassification/sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Identifier | DSD-ERR-C010 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Identifier | The value of 'Identifier' of an 'DataServiceEvidenceType' MUST be unique UUID (RFC 4122). | Fatal |
Identifier | DSD-ERR-C011 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:EvidenceTypeClassification | The value of 'EvidenceTypeClassification' of a 'DataServiceEvidenceType' MUST be a URI with the following format 'http:://……' pointing to the Semantic Repository encoded in the EvidenceBroker. | Fatal |
Codelist | DSD-ERR-C012 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Title/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | DSD-ERR-C013 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Title/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | DSD-ERR-C014 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | DSD-ERR-C015 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Cardinality | DSD-ERR-C016 | rs:Exception | query:QueryResponse/rs:Exception/@xsi:type | The 'xsi:type' attribute of a 'rs:Exception' MUST be present. | Fatal |
Codelist | DSD-ERR-C017 | rs:Exception | query:QueryResponse/rs:Exception/@xsi:type | The value of 'xsi:type' attribute of a 'rs:Exception' MUST be rs:InvalidRequestExceptionType or rs:ObjectNotFoundExceptionType | Fatal |
Cardinality | DSD-ERR-C018 | rs:Exception | query:QueryResponse/rs:Exception/@severity | The 'severity' attribute of a 'rs:Exception' MUST be present. | Fatal |
Codelist | DSD-ERR-C019 | rs:Exception | query:QueryResponse/rs:Exception/@severity | The value of 'severity' attribute of a 'rs:Exception' MUST be 'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error' if the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) is NOT used. | Fatal |
Cardinality | DSD-ERR-C020 | rs:Exception | query:QueryResponse/rs:Exception/@message | The 'message' attribute of a 'rs:Exception' MUST be present. | Fatal |
Codelist | DSD-ERR-C021 | rs:Exception | query:QueryResponse/rs:Exception/@message | The value of 'message' attribute of a 'rs:Exception' MUST be part of the code list 'DSDErrorCodes'. | Fatal |
Cardinality | DSD-ERR-C022 | rs:Exception | query:QueryResponse/rs:Exception/@code | The 'code' attribute of a 'rs:Exception' MUST be present. | Fatal |
Codelist | DSD-ERR-C023 | rs:Exception | query:QueryResponse/rs:Exception/@code | The value of 'code' attribute of a 'rs:Exception' MUST be part of the code list 'DSDErrorCodes'. | Fatal |
Codelist | R-DSD-ERR-C024 | sdg:DataServiceEvidenceType | query:QueryResponse/rs:Exception/rim:Slot[@name='DataServiceEvidenceType']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:AuthenticationLevelOfAssurance | The value of 'LevelOfAssurance' MUST be part of the code list 'LevelsOfAssuranceCode' | Fatal |
Codelist | R-DSD-ERR-C025 | rs:Exception | query:QueryResponse/rs:Exception/@severity | The value of 'severity' attribute of a 'rs:Exception' MUST be 'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:AdditionalInput' if the rs:Exception xsi:type='rs:ObjectNotFoundExceptionType' (DSD:ERR:0005) is used. | Fatal |
4.6. Response Signature
The DSD Service signs the query responses using JWS detached signature following the HttpHeaders Mechanism of the ETSI ESI JAdES specification. In accordance with ENISA's Good Practises in Cryptography – Primitives and Schemes, the following algorithms found in [RFC7518] are selected to be used in the following form:
- The EdDSA Algorithm [RFC8032] using one of the curves defined in RFC7748 shall be used. The value "EdDSA" for the "alg" parameter MUST be used and the curve shall be encoded in the "crv" parameter as defined in RFC8037.
The following sets of rules shall apply in the application of the HttpHeaders mechanism ETSI ESI Jades compliant signature:
- The JWS content (Data to be Signed) MUST be detached from the signatures as defined in RFC7515 Appendix F.
- The signed
SigD
parameter object MUST be present in the JWS headers, denoting the use of the JAdES detached header profile. - The value of the
mId
parameter MUST be set to"http://uri.etsi.org/19182/HttpHeaders"
. - The
pars
array of theSigD
MUST contain only the element "digest", denoting that for the calculation of the signature only the digest of the HTTP payload must be taken into account, according to [RFC3230]. - The
alg
parameter is set to"EdDSA"
and thecrv
parameter MUST be set.
The JWS structure shall be carried in the HTTP header field named "oots-response-sig"
.
4.7 Transport Security
DSD clients shall connect to a Data Service Directory using secure HTTP (HTTP over Transport Layer Security).
SSL 3.0, TLS 1.0 and 1.1 MUST not be used. DSD clients and servers there MUST therefore support TLS 1.2 [RFC5246]. The use of TLS 1.3 [RFC8446] is RECOMMENDED.
Cipher suites supporting Perfect Forward Secrecy SHOULD be used. ChaCha Poly cipher suites MAY be used in addition to the AES cipher suites (e.g., TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256)
4.8. A DSD Interaction Example Flow (Informative)
4.8.1. Introduction
To make it clearer on how the exception-based flow can work as a dialog-based interaction, we provide the following example flow. It is assumed that the DSD already contains appropriate information about the required evidence type which are submitted through the DSD LCM Interface (see section 5 and Lifecycle Management Specification of Chapter 3: Common Services - 3.6 Common Services API Specification).
4.8.2. Data Service Evidence Type registered by the MS
In this example flow, a MS has registered an Insurance Certificate for Companies evidence type through the DSD LCM Interface (see section 5). For this specific MS, the evidence type is issued by Evidence Providers that are located in the same region as the company's headquarters and thus the Jurisdiction Determination context is "Company's headquarters location", with the response required to be a NUTS2 based code. The following snippet shows how this jurisdiction context is defined in the DSD DataServiceEvidenceType element by a MS:
<?xml version="1.0" encoding="UTF-8"?> <sdg:DataServiceEvidenceType> <!-- - - Evidence Type Metadata - - --> <sdg:Identifier>RE238918378</sdg:Identifier> <!-- Classification Information - Used for linking with the Evidence Broker --> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate of Insurance</sdg:Title> <!-- Distribution Information - Multiple Distributions per Data Service Evidence Type --> <!-- XML Distribution, conforming to the common data model on Birth Certificate --> <sdg:DistributedAs> <sdg:Format>http://publications.europa.eu/resource/authority/file-type/XML</sdg:Format> <sdg:ConformsTo>https://semic.org/sa/common/insurancecert-1.0.0</sdg:ConformsTo> </sdg:DistributedAs> <!-- PDF Distribution. PDF is unstructured data so there is no conformance to a data model --> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> </sdg:DistributedAs> <!-- - - Evidence Provider and Data Service Metadata - - --> <!-- Access Service represents the Data Service serving the piece of Evidence on behalf of an Evidence Provider --> <!-- Multiple Access Services, one per Evidence Provider --> <!-- Declaration of the possible classifications of the Evidence provider ... Omitted in this snippet --> <!-- Determination of the Jurisdiction Mapping to the User's attributes. NUTS2 is required --> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>CompanyHq</sdg:JurisdictionContextId> <sdg:JurisdictionContext>Company's Headquarters Location</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/NUTS2</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> <!-- - - - Data Service Identity Matching Requirements - - - --> <!-- Level Of Assurance Required for the Evidence Type by the Evidence Provider ... Omitted in this snippet --> </sdg:DataServiceEvidenceType>
This specific evidence type also depends on Evidence Provider classifications. Although several Evidence Providers can issue the specific evidence type, the Evidence Providers can issue the evidence type only for a specific kind of insurance the company endorses. Thus, a classification scheme of the Evidence Providers must be declared in the DataServiceEvidenceType using the Evidence Provider Classification mechanism. The following snippet describes the declaration of the classification scheme required for this evidence type is defined my a MS:
<?xml version="1.0" encoding="UTF-8"?> <sdg:DataServiceEvidenceType> <!-- - - Evidence Type Metadata - - --> <sdg:Identifier>RE238918378</sdg:Identifier> <!-- Classification Information - Used for linking with the Evidence Broker --> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate of Insurance</sdg:Title> <!-- Distribution Information - Multiple Distributions per Data Service Evidence Type --> <!-- XML Distribution, conforming to the common data model on Birth Certificate --> <sdg:DistributedAs> <sdg:Format>http://publications.europa.eu/resource/authority/file-type/XML</sdg:Format> <sdg:ConformsTo>https://semic.org/sa/common/insurancecert-1.0.0</sdg:ConformsTo> </sdg:DistributedAs> <!-- PDF Distribution. PDF is unstructured data so there is no conformance to a data model --> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> </sdg:DistributedAs> <!-- - - Evidence Provider and Data Service Metadata - - --> <!-- Access Service represents the Data Service serving the piece of Evidence on behalf of an Evidence Provider --> <!-- Multiple Access Services, one per Evidence Provider --> <!-- Determination of the Jurisdiction Mapping to the User's attributes ... Omitted in this snippet . --> <!-- Declaration of the possible classifications of the Evidence Provider --> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <sdg:Description lang="en">Type Of Insurance</sdg:Description> </sdg:EvidenceProviderClassification> <!-- - - - Data Service Identity Matching Requirements - - - --> <!-- Level Of Assurance Required for the Evidence Type by the Evidence Provider ... Omitted in this snippet --> </sdg:DataServiceEvidenceType>
4.8.3. Data Services and Evidence Providers registered by the MS
The Evidence Providers of the specific MS have been registered with their capability on providing the Insurance certificate and they have been associated to the specific DataServiceEvidenceType
registered by the MS. For the example, two Evidence Providers are able to issue this evidence type for the MS, but are assigned different types of classifications. Evidence Provider 1 supports private insurance policies, while evidence provider 2 supports public ones. Evidence Provider 1 is associated to the Jurisdiction MS12 while Evidence Provider 2 operates under the Jurisdiction MS77. The following snippet shows how the data services will be properly declared to contain also these classifications:
<!-- Multiple Access Services, one per Evidence Provider --> <sdg:AccessService> <!-- The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping --> <sdg:Identifier schemeID="urn:oasis:names:tc:ebcore:partyid-type:iso6523:0060">8889909098</sdg:Identifier> <!-- The Evidence Exchange profile version to which this access service expects / serves --> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <!-- Access Service of an Evidence Provider supporting only Private Insurance Types --> <sdg:Publisher> <sdg:Identifier schemeID="0060">8889909098</sdg:Identifier> <sdg:Name>Evidence Provider 1</sdg:Name> <sdg:Address> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> </sdg:Address> <sdg:Jurisdiction> <!-- NUTS Code --> <sdg:AdminUnitLevel1>MS12</sdg:AdminUnitLevel1> </sdg:Jurisdiction> <!-- Information Concepts that Classify the Evidence Provider --> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:SupportedValue> <sdg:StringValue>private</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> <sdg:AccessService> <!-- The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909098</sdg:Identifier> <!-- The Evidence Exchange profile version to which this access service expects / serves --> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <!-- Access Service of an Evidence Provider supporting only Private Insurance Types --> <sdg:Publisher> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:9930">DE345938373</sdg:Identifier> <sdg:Name>Evidence Provider 2</sdg:Name> <sdg:Address> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> </sdg:Address> <sdg:Jurisdiction> <!-- NUTS Code --> <sdg:AdminUnitLevel1>MS77</sdg:AdminUnitLevel1> </sdg:Jurisdiction> <!-- Information Concepts that Classify the Evidence Provider --> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:SupportedValue> <sdg:StringValue>public</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService>
These two registration are then integrated into the complete record of the DSD as follows:
<?xml version="1.0" encoding="UTF-8"?> <query:QueryResponse xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" startIndex="0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" totalResultCount="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sdg="http://data.europa.eu/p4s" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <!-- depending on the count of datasets returned, the totalResultCount attribute should reflect the number of the datasets returned --> <rim:RegistryObjectList> <!-- One registry object per dataset --> <rim:RegistryObject id="urn:uuid:ffdf1ae3-5609-45c0-8b67-c6f898f01d97"> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:DataServiceEvidenceType> <!-- - - Evidence Type Metadata - - --> <sdg:Identifier>DSEV-ID1</sdg:Identifier> <!-- Classification Information - Used for linking with the Evidence Broker --> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate of Insurance</sdg:Title> <!-- Distribution Information - Multiple Distributions per Data Service Evidence Type --> <!-- XML Distribution, conforming to the common data model on Birth Certificate --> <sdg:DistributedAs> <sdg:Format>http://publications.europa.eu/resource/authority/file-type/XML</sdg:Format> <sdg:ConformsTo>https://semic.org/sa/common/insurancecert-1.0.0</sdg:ConformsTo> </sdg:DistributedAs> <!-- PDF Distribution. PDF is unstructured data so there is no conformance to a data model --> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> </sdg:DistributedAs> <!-- - - Evidence Provider and Data Service Metadata - - --> <!-- Access Service represents the Data Service serving the piece of Evidence on behalf of an Evidence Provider --> <!-- Multiple Access Services, one per Evidence Provider --> <sdg:AccessService> <!-- The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909098</sdg:Identifier> <!-- The Evidence Exchange profile version to which this access service expects / serves --> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <!-- Access Service of an Evidence Provider supporting only Private Insurance Types --> <sdg:Publisher> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909098</sdg:Identifier> <sdg:Name>Evidence Provider 1</sdg:Name> <sdg:Address> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>MS12</sdg:AdminUnitLevel1> </sdg:Jurisdiction> <!-- Information Concepts that Classify the Evidence Provider --> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:SupportedValue> <sdg:StringValue>private</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> <!-- Access Service of an Evidence Provider supporting only Public Insurance Types --> <sdg:AccessService> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909099</sdg:Identifier> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <sdg:Publisher> <!-- The Evidence Provider Information --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:9930">DE345938373</sdg:Identifier> <sdg:Name>Evidence Provider 2</sdg:Name> <sdg:Address> <!-- NUTS Code --> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> <sdg:AdminUnitLevel2>MS77</sdg:AdminUnitLevel2> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>MS77</sdg:AdminUnitLevel2> </sdg:Jurisdiction> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:SupportedValue> <sdg:StringValue>public</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> <!-- - - - Data Service Identity Matching Requirements - - - --> <!-- Level Of Assurance Required for the Evidence Type by the Evidence Provider --> <sdg:AuthenticationLevelOfAssurance>http://eidas.europa.eu/LoA/High</sdg:AuthenticationLevelOfAssurance> <!-- Determination of the Jurisdiction Mapping to the User's attributes. NUTS2 is required --> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>CompanyHq</sdg:JurisdictionContextId> <sdg:JurisdictionContext>Company's Headquarters Location</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/NUTS2</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> <!-- Determination of the Jurisdiction Mapping to the User's attributes. NUTS2 is required --> <!-- Declaration of the possible classifications of the Evidence Provider --> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <sdg:Description lang="en">Type Of Insurance</sdg:Description> </sdg:EvidenceProviderClassification> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> </rim:RegistryObject> </rim:RegistryObjectList> </query:QueryResponse>
4.8.4. Evidence Requester Query with exception-based flow
The Evidence Requester needs to fetch the Evidence Providers that can provide an evidence type with Evidence Type Classification CertificateOfInsurance
, as it was extracted from the Evidence Broker. To do this, it executes the following HTTP REST Call to the DSD:
«server base url»/rest/search?queryId=urn:fdc:oots:dsd:ebxml-regrep:queries:dataservices-by-evidencetype-and-jurisdiction&evidence-type-classification=CertificateOfInsurance&country-code=MS
The DSD receives the requests and checks whether the specific evidenceType for country MS has a DataServiceEvidenceType
that contains a Jurisdiction Determination and/or an Evidence Provider Classification Scheme. In our example, both exists and thus it must return an exception requesting information on both the Jurisdiction Determination and the Evidence Provider Classification Scheme, as follows:
<?xml version="1.0" encoding="UTF-8" ?> <query:QueryResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:sdg="http://data.europa.eu/p4s" xmlns:xlink="http://www.w3.org/1999/xlink" requestId="urn:uuid:c4369c4d-740e-4b64-80f0-7b209a66d629" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"> <!-- Additional elements describing the response --> <rs:Exception xsi:type="rs:ObjectNotFoundExceptionType" severity="FAILURE" message="The query requires the included extra attributes to be provided by the user." code="DSD:ERR:0005"> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:DataServiceEvidenceType xmlns:sdg="http://data.europa.eu/p4s"> <sdg:Identifier>DSEV-ID1</sdg:Identifier> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate Of Insurance</sdg:Title> <sdg:Description> Certificate Of Insurance provided by the regional service providers of Region A of MS C. Evidence Provider Jurisdiction is resolved at Municipality level, where the company has its office headquarters. Evidence providers are classified according to the type of insurance the Evidence Subject has. </sdg:Description> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> <!-- Jurisdiction Mapping Requests --> <rim:Slot name="JurisdictionDetermination"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>CompanyHq</sdg:JurisdictionContextId> <sdg:JurisdictionContext>Company Headquarters location</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/NUTS2</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> </rim:SlotValue> </rim:Slot> <!-- Evidence Provider Classification Scheme --> <rim:Slot name="UserRequestedClassificationConcepts"> <rim:SlotValue xsi:type="rim:CollectionValueType"> <rim:Element xsi:type="rim:AnyValueType"> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <sdg:Description lang="en">Type of insurance</sdg:Description> </sdg:EvidenceProviderClassification> </rim:Element> </rim:SlotValue> </rim:Slot> </rs:Exception> </query:QueryResponse>
The Evidence Requester will then request the following information from the user:
- the company's headquarters location, using the NUTS2 codes of country MS
- the type of insurance that the company issues based on a codelist published under the following URL in the semantic repository http://sr.europa.eu/codelists/insuranceType distinghishing between "private" and "public" insurance types.
With the information given by the user (Nuts Code = MS77; Insurance Type = public), the Evidence requester then create a new HTTP as follows:
«server base url»/rest/search?queryId=urn:fdc:oots:dsd:ebxml-regrep:queries:dataservices-by-evidencetype-and-jurisdiction&evidence-type-classification=CertificationOfInsurance&country-code=MS&evidence-type-id=DSEV-ID1&jurisdiction-context-id=CompanyHq&jurisdiction-admin-l2=MS77&TypeOfInsurance=public
where "DSEV-ID1" is retrieved from the Exception and "MS77" and "public" are values provided by the user.
The DSD is now able to properly provide a DataServiceEvidenceType
with the appropriate Data Services and Evidence Providers. For our example, the following response will be returned:
<?xml version="1.0" encoding="UTF-8"?> <sdg:DataServiceEvidenceType> <!-- - - Evidence Type Metadata - - --> <sdg:Identifier>DSEV-ID1</sdg:Identifier> <!-- Classification Information - Used for linking with the Evidence Broker --> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate of Insurance</sdg:Title> <!-- Distribution Information - Multiple Distributions per Data Service Evidence Type --> <!-- XML Distribution, conforming to the common data model on Birth Certificate --> <sdg:DistributedAs> <sdg:Format>http://publications.europa.eu/resource/authority/file-type/XML</sdg:Format> <sdg:ConformsTo>https://semic.org/sa/common/insurancecert-1.0.0</sdg:ConformsTo> </sdg:DistributedAs> <!-- PDF Distribution. PDF is unstructured data so there is no conformance to a data model --> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> </sdg:DistributedAs> <!-- - - Evidence Provider and Data Service Metadata - - --> <!-- Access Service represents the Data Service serving the piece of Evidence on behalf of an Evidence Provider --> <!-- Access Service of an Evidence Provider supporting only Public Insurance Types --> <sdg:AccessService> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909099</sdg:Identifier> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <sdg:Publisher> <!-- The Evidence Provider Information --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:9930">DE345938373</sdg:Identifier> <sdg:Name>Evidence Provider 2</sdg:Name> <sdg:Address> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>MS77</sdg:AdminUnitLevel2> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>MS</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>MS77</sdg:AdminUnitLevel2> </sdg:Jurisdiction> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:SupportedValue> <sdg:StringValue>public</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> <!-- Determination of the Jurisdiction Mapping to the User's attributes. NUTS2 is required --> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>CompanyHq</sdg:JurisdictionContextId> <sdg:JurisdictionContext>Company's Headquarters Location</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/NUTS2</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> <!-- Declaration of the possible classifications of the Evidence Provider --> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <sdg:Description lang="en">Type Of Insurance</sdg:Description> </sdg:EvidenceProviderClassification> </sdg:DataServiceEvidenceType>
5. LCM Interface Specification of the Data Service Directory
The DSD Service provides an Regrep 4.0 based LCM API, following the Regrep 4.0 LCM SubmitObjects Profile of the OOTS Common Services. This section defines the Classification Scheme, Classification Nodes, Associations and Registry Objects of the SubmitObjects Request Message. After the introduction of the Classification Scheme, Classification Nodes, Associations a full LCM SubmitObjects transaction to the DSD is illustrated as Data Model, Implementation Guideline and Example. The Lifecycle Management Specification (see Chapter 3: Common Services - Common Services API Specification) provides a principle overview for a bulk update of the information stored in the Common Services of a Member State. It relates to this section as this section illustrates how the API is used to process an update to the DSD.
5.1 Classification Scheme and Nodes
Definition Type | Value | Description |
---|---|---|
Classification Scheme | urn:fdc:oots:classification:dsd | The classification scheme under which the specific classification nodes reside for the DSD Service |
Classification Node | EvidenceProvider | A Node defining the registry object as an Evidence Provider Entity |
Classification Node | DataServiceEvidenceType | A classification node defining the registry object as Data Service Evidence Type |
Association | urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidence | The association linking the EvidenceProvider Registry objects with the Data Service Evidence Types |
5.2 Registry Objects
The DSD LCM Interface accepts two different registry objects in the SubmitObjectsRequest Message which are defined in the sections below:
5.2.1 DataServiceEvidenceType
This Registry Object provides the information on the Data Service Evidence Type. It MUST NOT contain the Access Service and the Evidence Provider details, as these are provided through the use of associations with EvidenceProvider Registry Objects (Access Service). The classification node used MUST be DataServiceEvidenceType
under the DSD Classification Scheme urn:fdc:oots:classification:dsd.
The following diagram shows the structure of the registry object:
An example DataServiceEvidenceType Registry Object in XML format is shown below embedded into a lcm:SubmitObjectsRequest (see Lifecycle Management Specification of Chapter 3: Common Services - 3.6 Common Services API Specification):
<lcm:SubmitObjectsRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0" xmlns:sdg="http://data.europa.eu/p4s" id="urn:uuid:ccbe6e99-abcd-1234-b04c-0376f367b8ff"> <rim:RegistryObjectList> <!-- Other registry objects are omitted for clarity --> <rim:RegistryObject id="urn:uuid:61165d22-657b-45fa-9240-f1ed35837c23"> <rim:Classification id="urn:uuid:a1be6e74-efgh-5678-aaaa-0376f367b8fd" classificationScheme="urn:fdc:oots:classification:dsd" classificationNode="DataServiceEvidenceType"/> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <!-- This is the registry object for the DataServiceEvidenceType "CertificateOfInsurance" --> <sdg:DataServiceEvidenceType> <sdg:Identifier>ID-123</sdg:Identifier> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate Of Insurance</sdg:Title> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> <ConformsTo>https://semic.org/sa/common/insurancecert-1.0.0</ConformsTo> <Transformation>https://semic.org/sa/transformations/insurancecert-1.0.0/validityperiod</Transformation> </sdg:DistributedAs> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>CompanyHq</sdg:JurisdictionContextId> <sdg:JurisdictionContext lang="en">Company Headquarters</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/LAU</sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <!-- Indicating that the type of insurance must be known to identify the EvidenceProvider of the DataServiceEvidenceType--> <sdg:Description lang="en">Type Of Insurance</sdg:Description> </sdg:EvidenceProviderClassification> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> </rim:RegistryObject> </rim:RegistryObjectList> </lcm:SubmitObjectsRequest>
5.2.2 Evidence Provider (Access Service)
This Registry Object provides the information of the Evidence Provider (Access Service). The classification node used MUST be EvidenceProvider
under the DSD Classification Scheme urn:fdc:oots:classification:dsd.
The following diagram shows the structure of the registry object:
An example Evidence Provider Registry Object in XML format is shown below embedded into a lcm:SubmitObjectsRequest (see Lifecycle Management Specification of Chapter 3: Common Services - 3.6 Common Services API Specification):
<lcm:SubmitObjectsRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0" xmlns:sdg="http://data.europa.eu/p4s" id="urn:uuid:ccbe6e99-abcd-1234-b04c-0376f367b8ff"> <rim:RegistryObjectList> <!-- Other registry objects are omitted for clarity --> <!-- This is the registry object for the Evidence Provider "Denmark Health Insurance" --> <rim:RegistryObject id="urn:uuid:a1be6e74-bbbb-4444-b04c-0376f367b8fd"> <rim:Classification id="urn:uuid:a1be6e74-abcd-1234-b04c-0376f367b8fd" classificationScheme="urn:fdc:oots:classification:dsd" classificationNode="EvidenceProvider"/> <!-- The actual Evidence Provider Structure --> <rim:Slot name="EvidenceProvider"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:AccessService> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909099</sdg:Identifier> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <sdg:Publisher> <!-- The Evidence Provider Information --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0096">DK22233223</sdg:Identifier> <sdg:Name>Denmark Health Insurance</sdg:Name> <sdg:Address> <sdg:LocatorDesignator>15</sdg:LocatorDesignator> <sdg:PostCode>1050</sdg:PostCode> <sdg:PostCityName>Copenhagen</sdg:PostCityName> <sdg:AdminUnitLevel1>DK</sdg:AdminUnitLevel1> <sdg:AdminUnitLevel2>DK011</sdg:AdminUnitLevel2> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>DK</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>DK011</sdg:AdminUnitLevel2> </sdg:Jurisdiction> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <sdg:Description lang="en">Type Of Insurance</sdg:Description> <sdg:SupportedValue> <!-- Indicating that this is a private insurance and that this value is required to identify the EvidenceProvider--> <sdg:StringValue>private</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> </rim:SlotValue> </rim:Slot> </rim:RegistryObject> <rim:RegistryObjectList> </lcm:SubmitObjectsRequest>
5.3 Associations
The DSD LCM Interface accepts a single association that links a DataServiceEvidenceType with an Evidence Provider in the SubmitObjectsRequest Message which is defined in the sections below:
5.3.1 ServesEvidenceType
This Association provides the link between an Evidence Provider and a Data Service Evidence Type . The type attribute MUST be urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidenceType
, with the source object pointing to an EvidenceProvider RegistryObject through the use of its id and the targetObject pointing to a DataserviceEvidenceType object through the id.
An example association between an Evidence Provider and a DataServiceEvidenceType in XML format is shown below embedded into a lcm:SubmitObjectsRequest (see Lifecycle Management Specification of Chapter 3: Common Services - 3.6 Common Services API Specification):
lcm:SubmitObjectsRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0" xmlns:sdg="http://data.europa.eu/p4s" id="urn:uuid:ccbe6e99-abcd-1234-b04c-0376f367b8ff"> <rim:RegistryObjectList> <!-- Other Registry Objects are ommitted for clarity--> <!-- Association between the EvidenceProvider "Denmark Health Insurance" and DataServiceEvidenceType "CertificateOfInsurance"--> <rim:RegistryObject xsi:type="rim:AssociationType" id="urn:uuid:f6458bc0-bdaa-489a-84bd-451d1dbf800b" <!-- The <rim:Classification id of the EvidenceProvider "Denmark Health Insurance" --> sourceObject="urn:uuid:a1be6e74-bbbb-4444-b04c-0376f367b8fd" <!-- The <rim:Classification id of the DataServiceEvidenceType "CertificateOfInsurance" --> targetObject="urn:uuid:61165d22-657b-45fa-9240-f1ed35837c23" <!-- A fixed value used to indicate the type of relationsship describing that an Evidence Provider serves an DataServiceEvidenceType --> type="urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidenceType"/> </rim:RegistryObjectList> </lcm:SubmitObjectsRequest>
5.4 LCM Submit Objects to the DSD
5.4.1 Data Model of the LCM Submit Objects Request to the DSD
For the LCM submission, the profile uses the SubmitObjectsRequest message, as defined by the RegRep 4.0 LCM Manager Interface Specification SubmitObjects Protocol. The message MUST contain a unique id and one Registry Object List
containing the Registry Objects
under submission.
The following data model illustrates how a SubmitObjectsRequest to the DSD is constructed based on the SDG OOTS LifeCycleManagementSpecification (see Chapter 3: Common Services - Common Services API Specification).
5.4.2. Implementation Guideline of the LCM Submit Objects Request to the DSD
The table below defines the elements of the data model illustrated above according to the RegRep 4.0 LCM Manager Interface Specification SubmitObjects Protocol which is adapted by the SubmitObjectsRequest to the DSD. The data model contains Registry Objects being of "RegistryObjectType" or registryObjects being of "AssociationType". Registry Objects which are a RegistryObjectType either contain a rim:Slot "DataServiceEvidenceType" or a rim:Slot "Evidence Provider" but not both. Registry Objects which are an AssociationType contain a sourceObject pointing to the id of the classification used to identify a Registry Object with the rim:Slot "EvidenceProvider" and a target object pointing to the id of the classification used to identify a Registry Object with the rim:slot "DataServiceEvidenceType" expressing that an EvidenceProvider provides an DataServiceEvidenceType (see section 5.3 Association/ServesEvidenceType).
Legend
The table below represent the tree structure of the data models illustrated in this section. Light grey rows describe classes and define their properties and attributes. Light green rows soley illustrate the classes that are subordinated or associated to a class and therewith illustrate the tree structure of the data model. Light green rows are thus always repeated as light grey rows to describe the properties and attributes of a class. The hierarchy of the tree structure is also indicated in the first column via the '+' symbol.
Hierarchy | Name | Definition | Cardinality | Type | Data Type | Rules | Core Vocabulary / Domain | Element of Core Vocabulary |
---|---|---|---|---|---|---|---|---|
lcm:SubmitObjectsRequest | root element | Structure: DSD-SUB-S001, DSD-SUB-S002, DSD-SUB-S030 | ebRIM | |||||
+ | id | The unique identifier of the SubmitObjectsRequest. | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S003, DSD-SUB-S004 | ebRIM | - |
+ | rim:RegistryObjectList | Element to list the Registry Objects of the QueryResponse. | 1..1 | RegistryObjectListType | Structure: DSD-SUB-S005, | ebRIM | - | |
+ | rim:RegistryObjectList | Element to list the Registry Objects of the QueryResponse. | 1..1 | RegistryObjectListType | Structure: DSD-SUB-S005, | ebRIM | - | |
++ | rim:RegistryObject <rim:Slot "DataServiceEvidenceType"> | The element describes specific aspects and metadata of the Evidence Type. | 1..n | RegistryObjectType | Structure: DSD-SUB-S034 | ebRIM | - | |
++ | rim:RegistryObject <rim:slot "EvidenceProvider"> | The details of the Data Service or Evidence Provider that is able to provide the Evidence Type. Evidence Providers may provider different distributions of an evidence type | 1..n | RegistryObjectType | Structure: DSD-SUB-S033 | ebRIM | - | |
++ | rim:RegistryObject <xsi:type="rim:AssociationType"> | An association that links a DataServiceEvidenceType with an Evidence Provider in the SubmitObjectsRequest Message. | 1..n | AssociationType | Structure: DSD-SUB-S022, DSD-SUB-S035 | ebRIM | - | |
++ | rim:RegistryObject <rim:Slot "DataServiceEvidenceType"> | Element to control the type and structure of Registry Object within the SubmitObjectsRequest. | 1..n | RegistryObjectType | Structure: DSD-SUB-S034 | ebRIM | - | |
+++ | id | Unique UUID for each RegistryObject. | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S006, DSD-SUB-S032 | ebRIM | - |
+++ | rim:Classification | The classification of the Registry Object being a DataServiceEvidenceType. | 1..1 | ClassificationType | Structure: DSD-SUB-S007 | ebRIM | ||
+++ | rim:slot "DataServiceEvidenceType" | The slot is a container to describe the specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: DSD-SUB-S015, DSD-SUB-S017 | ebRIM | - |
+++ | rim:Classification | The classification of the Registry Object being a DataServiceEvidenceType. | 1..1 | ClassificationType | Structure: DSD-SUB-S007 | ebRIM | ||
++++ | id | The unique identifier used to used for associating this target registry object with a source object (Evidence Provider). | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S008, DSD-SUB-S009 | ebRIM | |
++++ | classificationScheme | The classification scheme under which the specific classification nodes reside for the DSD Service. FixedValue: urn:fdc:oots:classification:dsd | 1..1 | Attribute | URI | Structure: DSD-SUB-S010, DSD-SUB-S012 | ebRIM | |
++++ | classificationNode | A classification node defining the registry object as Data Service Evidence Type. FixedValue: DataServiceEvidenceType | 1..1 | Attribute | Code | Structure: DSD-SUB-S011, DSD-SUB-S013 | ebRIM | |
+++ | rim:slot "DataServiceEvidenceType" | The slot is a container to describe the specific aspects and metadata of the Data Service Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: DSD-SUB-S015, DSD-SUB-S017 | ebRIM | - |
++++ | DataServiceEvidenceType | The element describes specific aspects and metadata of the Data Service Evidence Type. | 1..1 | DataServiceEvidenceTypeType | Structure: DSD-SUB-S019, DSD-SUB-S020 | SDGR Application Profile | - | |
++++ | DataServiceEvidenceType | The element describes specific aspects and metadata of the Data Service and Evidence Type. | 1..1 | DataServiceEvidenceTypeType | Structure: DSD-SUB-S019, DSD-SUB-S020 | SDGR Application Profile | - | |
+++++ | Identifier | The unique identifier of the Evidence Type of the Data Service. Must be used in the Evidence Request. | 1..1 | Attribute | Identifier | Content: R-DSD-SUB-C001 | DCAT-AP | dct:identifier |
+++++ | EvidenceTypeClassification | A URI pointing to the Evidence Type that this Data Service is supporting. The classification is linked with the Evidence Type of the Semantic Repository (Evidence Broker). | 1..1 | Attribute | Code | Content: R-DSD-SUB-C002 | Core Criterion Core Evidence Vocabulary | cccev:evidenceTypeClassification |
+++++ | Title | A name to identify in natural language the Evidence Type. Unbounded cardinality to support multiple languages. | 1..n | Attribute | Text | DCAT-AP | dct:title | |
++++++ | Title/@lang | The language of the title encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-SUB-C003, R-DSD-SUB-C004 | DCAT-AP | dct:title |
+++++ | Description | A description of the Evidence Type. Unbounded cardinality to support multiple languages. | 0..n | Attribute | Text | DCAT-AP | dct:description | |
++++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-SUB-C005, R-DSD-SUB-C006 | DCAT-AP | dct:description |
+++++ | AuthenticationLevelOfAssurance | The Minimum eIDAS Level Of Assurance Required for this Evidence Type, so that the Evidence can be released | 0..1 | Attribute | Code | Content: R-DSD-SUB-C037 | SDGR-AP | |
+++++ | DistributedAs | The representations that are supported by the Data Service Evidence Type. | 1..n | EvidenceTypeDistributionType | Structure: DSD-SUB-S021 | DCAT Application Profile | dcat:distribution | |
+++++ | EvidenceProviderJurisdictionDetermination | Contextual Information required for the jurisdiction determination of the correct Evidence Provider | 0..1 | JurisdictionDeterminationType | SDGR Application Profile | |||
+++++ | EvidenceProviderClassification | The Evidence Provider required classifications mapped to this Evidence Type that need to be mapped to an EvidenceProvider Classification Concept for proper Evidence Provider Discovery | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
+++++ | DistributedAs | The representations that are supported by the Evidence Type Dataset. | 1..n | EvidenceTypeDistributionType | DCAT Application Profile | dcat:distribution | ||
++++++ | Format | The technical representation of the Evidence Type. Declaration of the file types that provide structured content like PDF, XML, JSON, RDF etc | 1..1 | Attribute | Code | Content: R-DSD-SUB-C007 | DCAT-AP | dct:format |
++++++ | ConformsTo | A registered schema or conformance profile in the OOTS semantic repository to which the described Distribution conforms. | 0..1 | Attribute | URI | Content: R-DSD-SUB-C008 | DCAT-AP | dct:conformsTo |
++++++ | Transformation | The element points to a known and structured evidence type subset that would suffice the request. Evidence type subsets fulfil the principle of data minimization and can limit the collection to those information required for the execution of a procedure. | 0..1 | Attribute | URI | Content: R-DSD-SUB-C009 | DCAT-AP | dct:conformsTo |
+++++ | EvidenceProviderJurisdictionDetermination | Contextual Information required for the jurisdiction determination of the correct Evidence Provider | 0..1 | JurisdictionDeterminationType | SDGR Application Profile | |||
++++++ | JurisdictionContextId | A codified, mappable value of the Jurisdiction Determination Context of an Evidence Provider | 1..1 | Attribute | Identifier | Content: R-DSD-SUB-C015 | SDGR-AP | |
++++++ | JurisdictionContext | The Jurisdiction Determination Context of an Evidence Provider in natural language | 1..n | Attribute | Text | SDGR-AP | ||
+++++++ | JurisdictionContext/@Lang | The Language used for the Jurisdiction Context | M | Attribute | Code | Content: R-DSD-SUB-C016, R-DSD-SUB-C017 | SDGR-AP | |
++++++ | JurisdictionLevel | The minimum level of the jurisdiction Granularity Required for proper discovery of the Evidence Provider (MS, NUTS1-3, LAU) | 1..1 | Attribute | Code | Content: R-DSD-SUB-C018 | SDGR-AP | |
+++++ | EvidenceProviderClassification | An Evidence Provider Classification is a structured piece of information that is used to provide the context on the classification concepts defined the Data Service Evidence Type an Evidence Provider needs to provide | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
++++++ | Identifier | Unambiguous reference to the Information Concept. | 1..1 | Attribute | Identifier | Content: R-DSD-SUB-C010 | CCCEV | cccev:identifier |
++++++ | Type | Category to which the Information Concept belongs. | 1..1 | Attribute | Code | Content: R-DSD-SUB-C011 | CCCEV | cccev:type |
++++++ | ValueExpression | Formulation in a formal language of the expected value(s) for the Classification Concept which is aligned with the concepts from the Requirements defined and must be respected by the supplied Supported Values. Currently, the Regular Expression language is supported for strings. | 0..1 | Attribute | Text | CCCEV | cccev:expressionOfExpected Value | |
++++++ | Description | Short explanation supporting the understanding of the Classification Concept. | 1..n | Attribute | Text | Content: R-DSD-SUB-C012 | CCCEV | cccev:description |
+++++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-SUB-C013, R-DSD-SUB-C014 | CCCEV | cccev:description |
++ | rim:RegistryObject <EvidenceProvider> | The details of the Data Service or Evidence Provider that is able to provide the Evidence Type. Evidence Providers may provider different distributions of an evidence type | 1..n | RegistryObjectType | Structure: DSD-SUB-S033 | ebRIM | - | |
+++ | id or lid | Unique UUID for each RegistryObject. | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S006, DSD-SUB-S032 | ebRIM | - |
+++ | rim:Classification | The classification of the Registry Object being an EvidenceProvider. | 1..1 | ClassificationType | Structure: DSD-SUB-S007 | ebRIM | ||
+++ | rim:slot "EvidenceProvider" | The slot is a container to describe the specific aspects and metadata of Evidence Provider that is able to provide the Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: DSD-SUB-S014, DSD-SUB-S016 | ebRIM | - |
+++ | rim:Classification | The classification of the Registry Object being an EvidenceProvider. | 1..1 | ClassificationType | Structure: DSD-SUB-S007 | ebRIM | ||
++++ | id | The unique identifier used to used for associating this source object with a target object (Data Service Evidence Type). | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S008, DSD-SUB-S009 | ebRIM | |
++++ | classificationScheme | The classification scheme under which the specific classification nodes reside for the DSD Service. FixedValue: urn:fdc:oots:classification:dsd | 1..1 | Attribute | URI | Structure: DSD-SUB-S010, DSD-SUB-S012 | ebRIM | |
++++ | classificationNode | A classification node defining the registry object as Data Service Evidence Type. FixedValue: EvidenceProvider | 1..1 | Attribute | Code | Structure: DSD-SUB-S011, DSD-SUB-S013 | ebRIM | |
+++ | rim:slot "EvidenceProvider" | The slot is a container to describe the specific aspects and metadata of Evidence Provider that is able to provide the Evidence Type. | 1..1 | SlotType | AnyValueType | Structure: DSD-SUB-S014, DSD-SUB-S016 | ebRIM | - |
++++ | AccessService | The details of the Data Service serving the Evidence Type. | 0..n | DataServiceType | Structure: DSD-SUB-S018 | DCAT Application Profile | dcat:servesDataset | |
++++ | AccessService | The details of the Data Service serving the Evidence Type. | 0..n | DataServiceType | Structure: DSD-SUB-S018 | DCAT Application Profile | dcat:servesDataset | |
+++++ | Identifier | The identifier of the Access Service, using ebcore Party ID Type. Used in eDelivery Evidence Exchange for PMode Mapping. | 1..1 | Attribute | Identifier | Content: R-DSD-SUB-C019 | DCAT-AP | dct:identifier |
++++++ | Identifier/@schemeID | The schemeID of the ebcore Party ID Type Must use the prefix: 'urn:cef.eu:names:identifier:EAS:[code]'. (e.g. urn:cef.eu:names:identifier:EAS:9918) | M | Attribute | Code | Content: R-DSD-SUB-C020, R-DSD-SUB-C021, R-DSD-SUB-C022 | DCAT-AP | dct:identifier |
+++++ | ConformsTo | The registered version(s) of the eDelivery profile used by the access service (e.g. oots:edm-v1.0) | 1..n | Attribute | URI | Content: R-DSD-SUB-C023 | DCAT-AP | dct:conformsTo |
+++++ | Publisher | The organisation responsible for issuing Evidences via this Data Service. | 1..1 | EvidenceProviderType | Core Public Service Vocabulary Application Profile (CPSV-AP) | dct:Agent | ||
+++++ | Publisher | The organisation responsible for issuing Evidences via this Data Service. | 1..1 | EvidenceProviderType | CPSV-AP | dct:Agent | ||
++++++ | Identifier | A unique identification for the Publisher or agent. | 1..1 | Attribute | Identifier | CPSV-AP | dct:identifier | |
+++++++ | Identifier/@schemeID | The schemeID of the unique idenfier of the publisher. Must use the prefix: 'urn:cef.eu:names:identifier:EAS:[code]'. (e.g. urn:cef.eu:names:identifier:EAS:9918) | M | Attribute | Code | Content: R-DSD-SUB-C024, R-DSD-SUB-C025 | DCAT-AP | dct:identifier |
++++++ | Name | A short label for the agent. | 1..1 | Attribute | Text | CPSV-AP | dct:title | |
++++++ | Address | A location of the Publisher in the form of an address. | 1..1 | AddressType | Core Location Vocabulary (CLV) | ocn:Address | ||
++++++ | Jurisdiction | The jurisdiction to which this Evidence Provider applies. | 1..1 | JurisdictionType | Core Location Vocabulary (CLV) | ocn:Address | ||
++++++ | ClassificationConcept | A Classification Concept is a structured piece of information that is used to provide the supported values on the classification concepts defined the Data Service Evidence Type | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
++++++ | Address | A location of the Publisher in the form of an address. | 1..1 | AddressType | CLV | locn:Address | ||
+++++++ | FullAddress | The complete address written as a string. | 0..1 | Attribute | Text | CLV | locn:fullAddress | |
+++++++ | Thoroughfare | The name of a street, passage or way through from one location to another. | 0..1 | Attribute | Text | CLV | locn:thoroughfare | |
+++++++ | LocatorDesignator | A number or sequence of characters that uniquely identifies the locator (building number, apartment number, etc.) within the relevant scope. | 0..1 | Attribute | Text | CLV | locn:locatorDesignator | |
+++++++ | AdminUnitLevel1 | The name of the uppermost level of the address, almost always a country. | 0..1 | Attribute | Code | Content: R-DSD-SUB-C026 | CLV | locn:adminUnitL1 |
+++++++ | AdminUnitLevel2 | The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities. | 0..1 | Attribute | Code | Content: R-DSD-SUB-C027 | CLV | locn:adminUnitL2 |
+++++++ | PostCode | The code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. | 0..1 | Attribute | Code | CLV | locn:postCode | |
+++++++ | PostCityName | The key postal division of the address, usually the city. | 0..1 | Attribute | Code | CLV | locn:postName | |
++++++ | Jurisdiction | The Jurisdiction to which this Data Service Evidence Type applies. | 1..1 | JurisdictionType | Core Criterion Core Evidence Vocabulary | cccev:evidenceTypeJurisdiction | ||
+++++++ | AdminUnitLevel1 | The name of the uppermost level of the address, almost always a country. | 1..1 | Attribute | Code | Content: R-DSD-SUB-C028 | CLV | locn:adminUnitL1 |
+++++++ | AdminUnitLevel2 | The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities. | 0..1 | Attribute | Code | Content: R-DSD-SUB-C029 | CLV | locn:adminUnitL2 |
+++++++ | AdminUnitLevel3 | The name of a secondary level/region of the address, usually a municipality or other such area that typically encompasses several localities. | 0..1 | Attribute | Code | Content: R-DSD-SUB-C030 | CLV | locn:adminUnitL3 |
++++++ | ClassificationConcept | A Classification Concept is a structured piece of information that is used to provide the supported values on the classification concepts defined the Data Service Evidence Type | 0..n | InformationConceptType | Core Criterion Core Evidence Vocabulary | cccev:InformationConcept | ||
+++++++ | Identifier | Unambiguous reference to the Information Concept. | 1..1 | Attribute | Identifier | Content: R-DSD-SUB-C031 | CCCEV | cccev:identifier |
+++++++ | Type | Category to which the Information Concept belongs. | 1..1 | Attribute | Code | Content: R-DSD-SUB-C032 | CCCEV | cccev:type |
+++++++ | ValueExpression | Formulation in a formal language of the expected value(s) for the Classification Concept which is aligned with the concepts from the Requirements defined and must be respected by the supplied Supported Values. Currently only Regular Expression is supported. | 0..1 | Attribute | Text | CCCEV | cccev:expressionOfExpected Value | |
+++++++ | Description | Short explanation supporting the understanding of the Classification Concept. | 1..n | Attribute | Text | Content: R-DSD-SUB-C033 | CCCEV | cccev:description |
++++++++ | Description/@lang | The language of the description encoded as ISO 639-1 two-letter code. Default value "en" | M | Attribute | Code | Content: R-DSD-SUB-C034, R-DSD-SUB-C035 | CCCEV | cccev:description |
+++++++ | SupportedValue | The value that is supported by the response | 1..1 | SupportedValueType | Structure: DSD-SUB-S031 Content: R-DSD-SUB-C036 | SDGR Application Profile | ||
+++++++ | SupportedValue | The value that is supported by the response | 1..1 | SupportedValueType | Structure: DSD-SUB-S031 | SDGR Application Profile | ||
++++++++ | StringValue | Textual field | 0..1 | Attribute | String | SDGR-AP | XML Schema data types | |
++++++++ | DateValue | Date values (format YYYY-DD-MM) | 0..1 | Attribute | Date | SDGR-AP | XML Schema data types | |
++++++++ | BooleanValue | "true" or 1 Representing "Yes" affirmative answers "false" or 0 representing "No" negative answers | 0..1 | Attribute | Boolean | SDGR-AP | XML Schema data types | |
++++++++ | CodeValue | A code for a concept. | 0..1 | Attribute | Code | SDGR-AP | XML Schema data types | |
++++++++ | DateTimeValue | Date values that include a time (format YYYY-DD-MM hh:mm:ss zzzzzz) | 0..1 | Attribute | DataTime | SDGR-AP | XML Schema data types | |
++++++++ | Identifier | An identifier of a concept, including a schemeID | 0..1 | Attribute | Identifier | SDGR-AP | XML Schema data types | |
++++++++ | URI | A URI, including e-mail addresses | 0..1 | Attribute | anyURI | SDGR-AP | XML Schema data types | |
++++++++ | Time | Time values (format hh:mm:ss) | 0..1 | Attribute | SDGR-AP | XML Schema data types | ||
++++++++ | Duration | A duration expressed as Year, Month, Day, Hour and Minutes (format PnYn MnDTnH nMnS) | 0..1 | Attribute | duration | SDGR-AP | XML Schema data types | |
++++++++ | Decimal | A number represented with decimal notation | 0..1 | Attribute | Decimal | SDGR-AP | XML Schema data types | |
++++++++ | Amount | An Amount, and currency, as defined in UN/CEFACT's CCTS | 0..1 | Attribute | Amount | SDGR-AP | XML Schema data types | |
++ | rim:RegistryObject <xsi:type="rim:AssociationType"> | An association that links a DataServiceEvidenceType with an Evidence Provider in the SubmitObjectsRequest Message. | 1..n | AssociationType | Structure: DSD-SUB-S022, DSD-SUB-S035 | ebRIM | - | |
+++ | xsi:type | Must be xsi:type="rim:AssociationType" to indicate that this RegistryObject is an association between a DataServiceEvidenceType and an Evidence Provider. | 1..1 | Attribute | Code | Structure: DSD-SUB-S023 | ebRIM | - |
+++ | id | The unique identifier used to used for identifying this association. | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S006, DSD-SUB-S032 | ebRIM | - |
+++ | sourceObject | The unique identifier used for the Classification of the source object (Evidence Provider). | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S024, DSD-SUB-S025 | ebRIM | - |
+++ | targetObject | The unique identifier used for the Classification of the source object (Data Service Evidence Type). | 1..1 | Attribute | Identifier | Structure: DSD-SUB-S026, DSD-SUB-S027 | ebRIM | - |
+++ | type | The name of the association. Fixed Value: urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidenceType | 1..1 | Attribute | URI | Structure: DSD-SUB-S028, DSD-SUB-S029 | ebRIM | - |
5.4.3 Example of a LCM Submit Objects Request to the DSD
The following example shows a complete example of a possible bulk upload for a member state MS, submitting an evidence provider, a DataserviceEvidenceType and an association that links them together:
<lcm:SubmitObjectsRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0" xmlns:sdg="http://data.europa.eu/p4s" id="urn:uuid:ccbe6e99-abcd-1234-b04c-0376f367b8ff"> <rim:RegistryObjectList> <!-- This is the registry object for the Evidence Provider "Denmark Health Insurance" --> <rim:RegistryObject id="urn:uuid:a1be6e74-bbbb-4444-b04c-0376f367b8fd"> <rim:Classification id="urn:uuid:a1be6e74-abcd-1234-b04c-0376f367b8fd" classificationScheme="urn:fdc:oots:classification:dsd" classificationNode="EvidenceProvider"/> <!-- The actual Evidence Provider Structure --> <rim:Slot name="EvidenceProvider"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:AccessService xmlns:sdg="http://data.europa.eu/p4s"> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0060">8889909099 </sdg:Identifier> <sdg:ConformsTo>oots:edm-v1.0</sdg:ConformsTo> <sdg:Publisher> <!-- The Evidence Provider Information --> <sdg:Identifier schemeID="urn:cef.eu:names:identifier:EAS:0096">DK22233223</sdg:Identifier> <sdg:Name>Denmark Health Insurance</sdg:Name> <sdg:Address> <sdg:LocatorDesignator>15</sdg:LocatorDesignator> <sdg:PostCode>1050</sdg:PostCode> <sdg:PostCityName>Copenhagen</sdg:PostCityName> <sdg:AdminUnitLevel1>DK</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>DK011</sdg:AdminUnitLevel2> </sdg:Address> <sdg:Jurisdiction> <sdg:AdminUnitLevel1>DK</sdg:AdminUnitLevel1> <!-- NUTS Code --> <sdg:AdminUnitLevel2>DK011</sdg:AdminUnitLevel2> </sdg:Jurisdiction> <sdg:ClassificationConcept> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <sdg:Description lang="en">Type Of Insurance</sdg:Description> <sdg:SupportedValue> <!-- Indicating that this is a private insurance and that this value is required to identify the EvidenceProvider--> <sdg:StringValue>private</sdg:StringValue> </sdg:SupportedValue> </sdg:ClassificationConcept> </sdg:Publisher> </sdg:AccessService> </rim:SlotValue> </rim:Slot> </rim:RegistryObject> <!-- This is the registry object for the DataServiceEvidenceType "CertificateOfInsurance" --> <rim:RegistryObject id="urn:uuid:61165d22-657b-45fa-9240-f1ed35837c23"> <rim:Classification id="urn:uuid:a1be6e74-efgh-5678-aaaa-0376f367b8fd" classificationScheme="urn:fdc:oots:classification:dsd" classificationNode="DataServiceEvidenceType"/> <rim:Slot name="DataServiceEvidenceType"> <rim:SlotValue xsi:type="rim:AnyValueType"> <sdg:DataServiceEvidenceType> <sdg:Identifier>ID-123</sdg:Identifier> <sdg:EvidenceTypeClassification>CertificateOfInsurance</sdg:EvidenceTypeClassification> <sdg:Title>Certificate Of Insurance</sdg:Title> <sdg:DistributedAs> <sdg:Format>application/pdf</sdg:Format> <ConformsTo>https://semic.org/sa/common/insurancecert-1.0.0</ConformsTo> <Transformation>https://semic.org/sa/transformations/insurancecert-1.0.0/validityperiod</Transformation> </sdg:DistributedAs> <sdg:EvidenceProviderJurisdictionDetermination> <sdg:JurisdictionContextId>CompanyHq</sdg:JurisdictionContextId> <sdg:JurisdictionContext lang="en">Company Headquarters</sdg:JurisdictionContext> <sdg:JurisdictionLevel>https://sr.ec.europa.eu/codelist/locationLevel/LAU </sdg:JurisdictionLevel> </sdg:EvidenceProviderJurisdictionDetermination> <sdg:EvidenceProviderClassification> <sdg:Identifier>TypeOfInsurance</sdg:Identifier> <sdg:Type>Codelist</sdg:Type> <!-- Value from a Codelist required. Must be publised in the Semantic Repository --> <sdg:ValueExpression>http://sr.europa.eu/codelists/insuranceType</sdg:ValueExpression> <!-- Indicating that the type of insurance must be known to identify the EvidenceProvider of the DataServiceEvidenceType--> <sdg:Description lang="en">Type Of Insurance</sdg:Description> </sdg:EvidenceProviderClassification> </sdg:DataServiceEvidenceType> </rim:SlotValue> </rim:Slot> </rim:RegistryObject> <!-- Associate the EvidenceProvider "Denmark Health Insurance" with DataServiceEvidenceType "CertificateOfInsurance"--> <rim:RegistryObject xsi:type="rim:AssociationType" id="urn:uuid:f6458bc0-bdaa-489a-84bd-451d1dbf800b" <!-- The <rim:Classification id of the EvidenceProvider "Denmark Health Insurance" --> sourceObject="urn:uuid:a1be6e74-bbbb-4444-b04c-0376f367b8fd" <!-- The <rim:Classification id of the DataServiceEvidenceType "CertificateOfInsurance" --> targetObject="urn:uuid:61165d22-657b-45fa-9240-f1ed35837c23" <!-- A fixed value used to indicate the type of relationsship describing that an Evidence Provider serves an DataServiceEvidenceType --> type="urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidenceType"/> </rim:RegistryObjectList> </lcm:SubmitObjectsRequest>
5.4.4 Business Rules associated to a LCM Submit Objects Request to the DSD
In order to facilitate interoperability for the LCM SubmitObjectsRequest to the DSD, a set of business rules is defined to guarantee the correct structure, use and format of information objects when submitting objects to the DSD. The Rule IDs reference to the DSD transaction "LCM Submit Objects Request to the DSD" (DSD-SUB).
Business Rules
The Rule ID is used to identify the rule and to have an error code next to the rule description. Business rules that guarantee the correct structure of the message are using the prefix "S" before the numer (e.g. S009) whereas business rules that prove the information content are using the prefix "C" before the numer (e.g. C012). The Element and Location points to the correct information object that is affected by the rule. Each business rule is associated with an error level (flag) that expresses a validation result when an XML instance is proven against the rules through schematron validation:
- information: a hint that an additional object is mandatory in some cases;
- warning: offering recommendations to improve the quality of the instance or regain full validity;
- fatal: the rule point to a major issue of consistency or data correctness.
Rule descriptions containing "MUST" correspond to an error level that is flagged as fatal, while "SHOULD" rules correspond to an error level that is flagged as a warning. "MAY" rules point to error level note. For each business rule, a corresponding schematron rule is defined that references the same rule ID. Schematrons are used to prove the correctness of instances.
5.4.4.1 Business rules to prove the correct structure of a LCM Submit Objects Request to the DSD
The table below lists the business rules to prove the structure of a "LCM Submit Objects Request to the DSD" (DSD-SUB) such as namespace, root elements, slots, data types including "multidimensional" checks crossing the barrier between the different XSD schemes (XSD-Binding and XSD-Restriction).
Rule Type | Rule ID | Element | Location | Rule | Flag |
RootElement | DSD-SUB-S001 | lcm:SubmitObjectsRequest | lcm:SubmitObjectsRequest | The root element of a query response document MUST be 'lcm:SubmitObjectsRequest' | Fatal |
Namespace | DSD-SUB-S002 | lcm:SubmitObjectsRequest | lcm:SubmitObjectsRequest | The namespace of root element of a 'lcm:SubmitObjectsRequest' MUST be 'urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0' | Fatal |
RootAttribute | DSD-SUB-S003 | lcm:SubmitObjectsRequest | lcm:SubmitObjectsRequest/@id | The 'id' attribute of a 'SubmitObjectsRequest' MUST be present. | Fatal |
RootAttribute | DSD-SUB-S004 | lcm:SubmitObjectsRequest | lcm:SubmitObjectsRequest/@id | The 'id' attribute of a 'SubmitObjectsRequest' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:". | Fatal |
Structure | DSD-SUB-S005 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject | A 'SubmitObjectsRequest' MUST include a 'rim:RegistryObjectList' and a 'rim:RegistryObject' | Fatal |
Cardinatlity | DSD-SUB-S006 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@id | Each 'rim:RegistryObject' MUST include an 'id' attribute | Fatal |
Structure | DSD-SUB-S007 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/rim:Classification | Each 'rim:RegistryObject' MUST include a 'rim:Classification' if the 'rim:RegistryObject' is not an 'xsi:type="rim:AssociationType"' | Fatal |
Cardinality | DSD-SUB-S008 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:Classification/@id | Each 'rim:Classification' MUST include an 'id' attribute | Fatal |
Identifier | DSD-SUB-S009 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:Classification/@id | Each id of 'rim:Classification' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:". | Fatal |
Cardinality | DSD-SUB-S010 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:Classification/@classificationScheme | Each 'rim:Classification' MUST include an 'classificationScheme' attribute | Fatal |
Cardinality | DSD-SUB-S011 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:Classification/@classificationNode | Each 'rim:Classification' MUST include an 'classificationNode' attribute | Fatal |
FixedValue | DSD-SUB-S012 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:Classification/@classificationScheme | The 'classificationScheme' attribute MUST be 'urn:fdc:oots:classification:dsd' | Fatal |
CodeList | DSD-SUB-S013 | rim:Classification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:Classification/@classificationNode | The 'classificationNode' attribute MUST be 'EvidenceProvider' or 'DataServiceEvidenceType' | Fatal |
Slot | DSD-SUB-S014 | rim:Slot (EvidenceProvider) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider'] | A 'rim:RegistryObject' with the classificationNode 'EvidenceProvider MUST include a <rim:Slot name="EvidenceProvider"> and no other | Fatal |
Slot | DSD-SUB-S015 | rim:Slot (DataServiceEvidenceType) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType'] | A 'rim:RegistryObject' with the classificationNode 'DataServiceEvidenceType' MUST include a <rim:Slot name="DataServiceEvidenceType"> and no other | Fatal |
DataType | DSD-SUB-S016 | rim:SlotValue (EvidenceProvider) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue | The <rim:SlotValue> of <rim:Slot name="EvidenceProvider"> MUST be of "rim:AnyValueType" | Fatal |
DataType | DSD-SUB-S017 | rim:SlotValue (DataServiceEvidenceType) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue | The <rim:SlotValue> of <rim:Slot name="DataServiceEvidenceType"> MUST be of "rim:AnyValueType" | Fatal |
XSD-Binding | DSD-SUB-S018 | sdg:AccessService (EvidenceProvider) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService | A 'rim:Slot[@name='EvidenceProvider'/rim:SlotValue' MUST contain one sdg:EvidenceProvider of the targetNamespace="http://data.europa.eu/p4s" | Fatal |
XSD-Binding | DSD-SUB-S019 | sdg:DataServiceEvidenceType (DataServiceEvidenceType) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType | A 'rim:Slot[@name='DataServiceEvidenceType'/rim:SlotValue' MUST contain one sdg:DataServiceEvidenceType of the targetNamespace="http://data.europa.eu/p4s" | Fatal |
XSD-Restriction | DSD-SUB-S020 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType | A DataServiceEvidenceType 'rim:Slot[@name='DataServiceEvidenceType'/rim:SlotValue' MUST not contain an 'sdg:AccessService' and a 'sdg:AuthenticationLevelOfAssurance' | Fatal |
AssociationRules | DSD-SUB-S022 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject | If a 'rim:RegistryObject' does not have a 'rim:Classification it MUST have the attribute 'xsi:type="rim:AssociationType"' | Fatal |
AssociationRules | DSD-SUB-S023 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@xsi:type | Each 'rim:RegistryObject' with a classificationNode 'EvidenceProvider' or 'DataServiceEvidenceType' MUST have an association described in a the attribute 'xsi:type="rim:AssociationType"' | Fatal |
AssociationRules | DSD-SUB-S024 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@sourceObject | A 'rim:RegistryObject' with the attribute 'xsi:type="rim:AssociationType"' MUST have an attribute 'sourceObject' | Fatal |
AssociationRules | DSD-SUB-S025 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@sourceObject | A 'rim:RegistryObject' with the attribute 'xsi:type="rim:AssociationType"' MUST have an attribute 'sourceObject' that lists the id of the 'rim:RegistryObject' (starting with prefix "urn:uuid:") from classificationNode 'EvidenceProvider' | Fatal |
AssociationRules | DSD-SUB-S026 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@targetObject | A 'rim:RegistryObject' with the attribute 'xsi:type="rim:AssociationType"' MUST have an attribute 'targetObject' | Fatal |
AssociationRules | DSD-SUB-S027 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@targetObject | A 'rim:RegistryObject' with the attribute 'xsi:type="rim:AssociationType"' MUST have an attribute 'targetObject' that lists the id of the 'rim:RegistryObject' (starting with prefix "urn:uuid:") with classificationNode 'DataServiceEvidenceType' | Fatal |
AssociationRules | DSD-SUB-S028 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@type | A 'rim:RegistryObject' with type="urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidenceType" MUST link the id of the 'rim:RegistryObject' (starting with prefix "urn:uuid:") with the classificationNode 'EvidenceProvider' (@sourceObject) to the id of the 'rim:RegistryObject' (starting with prefix "urn:uuid:") with the classificationNode 'DataServiceEvidenceType' (@targetObject) | Fatal |
AssociationRules | DSD-SUB-S029 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@type | A 'rim:RegistryObject' with the attribute 'xsi:type="rim:AssociationType"' linking 'rim:RegistryObject' with the classificationNode 'EvidenceProvider' (@sourceObject) to 'rim:RegistryObject' with the classificationNode 'DataServiceEvidenceType' (@targetObject) MUST use the type="urn:oasis:names:tc:ebxml-regrep:AssociationType:ServesEvidenceType" | Fatal |
Slots | DSD-SUB-S030 | lcm:SubmitObjectsRequest | lcm:SubmitObjectsRequest | A 'lcm:SubmitObjectsRequest' MUST not contain any other rim:Slots. | Fatal |
AssociationRules | DSD-SUB-S031 | sdg:SupportedValue | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:SupportedValue | A value for 'sdg:SupportedValue' MUST be provided if the 'sdg:EvidenceProviderClassification' is present in the 'rim:RegistryObject/rim:slot[@name='DataServiceEvidenceType']'. | Fatal |
Identifier | DSD-SUB-S032 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/@id | Each id of 'rim:RegistryObject' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:". | Fatal |
Cardinality | DSD-SUB-S033 | rim:Slot (EvidenceProvider) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider'] | A 'SubmitObjectsRequest' MUST include a 'rim:RegistryObject' with a <rim:Slot name="EvidenceProvider"> | Fatal |
Cardinality | DSD-SUB-S034 | rim:Slot (DataServiceEvidenceType) | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType'] | A 'SubmitObjectsRequest' MUST include a 'rim:RegistryObject' with a <rim:Slot name="DataServiceEvidenceType"> | Fatal |
Cardinality | DSD-SUB-S035 | rim:RegistryObject | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject | A 'SubmitObjectsRequest' MUST include a 'rim:RegistryObject' with the attribute 'xsi:type="rim:AssociationType" | Fatal |
5.4.4.2 Business rules to prove the content format of information objects of a LCM Submit Objects Request to the DSD
The table below lists the business rules to prove the structure of a "LCM Submit Objects to the DSD" (DSD-SUB) such as identifiers, formats, fixed values, mandatory set of values on specific fields (code lists) and dependencies between fields.
Rule Type | Rule ID | Element | Location | Rule | Flag |
Identifier | R-DSD-SUB-C001 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Identifier | The value of 'Identifier' of an 'DataServiceEvidenceType' MUST be unique UUID (RFC 4122). | Fatal |
Identifier | R-DSD-SUB-C002 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceTypeClassification | The value of 'EvidenceTypeClassification' of a 'DataServiceEvidenceType' MUST be a URI with the following format 'http:://……' pointing to the Semantic Repository encoded in the EvidenceBroker. | Fatal |
Codelist | R-DSD-SUB-C003 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Title/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-SUB-C004 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Title/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | R-DSD-SUB-C005 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-SUB-C006 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | R-DSD-SUB-C007 | sdg:DistributedAs | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:DistributedAs/sdg:Format | The value of 'Format' of the requested distribution MUST be be part of the code list 'BinaryObjectMimeCode'. | Fatal |
Identifier | R-DSD-SUB-C008 | sdg:DistributedAs | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:DistributedAs/sdg:ConformsTo | The value of 'ConformsTo' of the requested distribution MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository). | Fatal |
Identifier | R-DSD-SUB-C009 | sdg:DistributedAs | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:DistributedAs/sdg:Transformation | The value of 'Transformation' of an requested distribution MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository). | Fatal |
Identifier | R-DSD-SUB-C010 | sdg:EvidenceProviderClassification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Identifier | The value of 'Identifier' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | R-DSD-SUB-C011 | sdg:EvidenceProviderClassification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Type | A 'Type' MUST be provided. | Fatal |
Cardinatlity | R-DSD-SUB-C012 | sdg:EvidenceProviderClassification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Description | A 'Description' MUST be provided. | Fatal |
Codelist | R-DSD-SUB-C013 | sdg:EvidenceProviderClassification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-SUB-C014 | sdg:EvidenceProviderClassification | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderClassification/sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Identifier | R-DSD-SUB-C015 | sdg:EvidenceProviderJurisdicationDetermination | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContextId | The value of 'JurisdictionContextId' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | R-DSD-SUB-C016 | sdg:EvidenceProviderJurisdicationDetermination | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContext/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-SUB-C017 | sdg:EvidenceProviderJurisdicationDetermination | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionContext/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Codelist | R-DSD-SUB-C018 | sdg:EvidenceProviderJurisdicationDetermination | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:EvidenceProviderJurisdictionDetermination/sdg:JurisdictionLevel | The value of 'JurisdictionLevel' MUST be part of the code list 'JurisdictionLevel' (ISO 639-1 two-letter code). | Fatal |
Identifier | R-DSD-SUB-C019 | sdg:AccessService | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Identifer | The value of 'Identifier' of an 'AccessService' MUST use the ebcore Party ID Type. | Fatal |
Cardinatlity | R-DSD-SUB-C020 | sdg:AccessService | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Identifer/@schemeID | The 'schemeID' MUST be provided. | Fatal |
Fixed Value | R-DSD-SUB-C021 | sdg:AccessService | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Identifer/@schemeID | The value of schemeID MUST use 'urn:oasis:names:tc:ebcore:partyid-type:eas:[code]' | Fatal |
Codelist | R-DSD-SUB-C022 | sdg:AccessService | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Identifer/@schemeID | The value of the 'schemeID' attribute of the 'Identifier' MUST be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'. | Fatal |
Fixed Value | R-DSD-SUB-C023 | sdg:AccessService | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:ConformsTo | The value of 'ConformsTo' of the Access Service MUST point to the underlying eDelivery Profile 'oots:edm-v1.0' | Fatal |
Cardinatlity | R-DSD-SUB-C024 | sdg:Publisher | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Identifier/@schemeID | The 'schemeID' attribute of 'Identifier' MUST be present. | Fatal |
Codelist | R-DSD-SUB-C025 | sdg:Publisher | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Identifier/@schemeID | The value of the 'schemeID' attribute of the 'Identifier' MUST be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'. | Fatal |
Codelist | R-DSD-SUB-C026 | sdg:Address | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Address/sdg:AdminUnitLevel1 | The value of the 'AdminUnitLevel1' MUST be coded using the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes). | Fatal |
Codelist | R-DSD-SUB-C027 | sdg:Address | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Address/sdg:AdminUnitLevel2 | The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nomenclature of Territorial Units for Statistics' (NUTS) | Fatal |
Codelist | R-DSD-SUB-C028 | sdg:Jurisdiciton | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Jurisdiciton/sdg:AdminUnitLevel1 | The value of the 'AdminUnitLevel1' MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1 alpha-2 codes). | Fatal |
Codelist | R-DSD-SUB-C029 | sdg:Jurisdiciton | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Jurisdiciton/sdg:AdminUnitLevel2 | The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nuts' (Nomenclature of Territorial Units for Statistics). | Fatal |
Codelist | R-DSD-SUB-C030 | sdg:Jurisdiciton | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:Jurisdiciton/sdg:AdminUnitLevel3 | The value of the 'AdminUnitLevel3' MUST be coded using the code list 'LAU' (Local Administrative Units). | Fatal |
Identifier | R-DSD-SUB-C031 | sdg:ClassificationConcept | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:Identifier | The value of 'Identifier' of MUST be unique UUID (RFC 4122). | Fatal |
Codelist | R-DSD-SUB-C032 | sdg:ClassificationConcept | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:Type | A 'Type' MUST be provided. | Fatal |
Cardinatlity | R-DSD-SUB-C033 | sdg:ClassificationConcept | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:Description | A 'Description' MUST be provided. | Fatal |
Codelist | R-DSD-SUB-C034 | sdg:ClassificationConcept | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:Description/@lang | The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code). | Fatal |
DefaultValue | R-DSD-SUB-C035 | sdg:ClassificationConcept | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:Description/@lang | The value of 'lang' attribute MUST be be provided. Default value: 'en'. | Fatal |
Cardinatlity | R-DSD-SUB-C036 | sdg:SupportedValue | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='EvidenceProvider']/rim:SlotValue/sdg:AccessService/sdg:Publisher/ sdg:ClassificationConcept/sdg:SupportedValue | A value for 'SupportedValue' MUST be provided if the 'sdg:ClassificationConcept' is present | Fatal |
Codelist | R-DSD-SUB-C037 | sdg:DataServiceEvidenceType | lcm:SubmitObjectsRequest/rim:RegistryObjectList/rim:RegistryObject/ rim:slot[@name='DataServiceEvidenceType']/rim:SlotValue/sdg:DataServiceEvidenceType/ sdg:AuthenticationLevelOfAssurance | The value of 'LevelOfAssurance' must be part of the code list 'LevelsOfAssuranceCode' | Fatal |
6. References
ETSI TS 119 182-1. Electronic Signatures and Infrastructures (ESI); JAdES digital signatures; Part 1: Building blocks and JAdES baseline signatures https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf.
OASIS. ebXML RegRep Version 4.0 Part 2: Services and Protocols (ebRS). http://docs.oasis-open.org/regrep/regrep-core/v4.0/os/regrep-core-rs-v4.0-os.pdf
RFC 3230. Instance digests in HTTP. https://datatracker.ietf.org/doc/html/rfc3230.
RFC 5246. The Transport Layer Security (TLS) Protocol Version 1.2. https://datatracker.ietf.org/doc/html/rfc5246.
RFC 7515. JSON Web Signature. https://datatracker.ietf.org/doc/html/rfc7515.
RFC 7517. JSON Web Algorithms (JWA). https://datatracker.ietf.org/doc/html/rfc7518.
RFC 8032. Edwards-Curve Digital Signature Algorithm (EdDSA). https://datatracker.ietf.org/doc/html/rfc8032.
RFC 8446. The Transport Layer Security (TLS) Protocol Version 1.3. https://datatracker.ietf.org/doc/html/rfc8446.