Contents

4.1. Evidence Broker Queries

The query interface specification for the Evidence Broker is based on the OASIS ebXML RegRep V4 standard. This standard has multiple protocol bindings that can be used to execute queries. Since the EB queries have only simple, single-value parameters, the REST binding is used to implement the EB 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 EB. 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. Get List of Requirements Query

Purpose of the Get List of Requirements Query

The first query of the Evidence Broker (Get List of Requirements) is intended to establish the context of the Evidence Requester in order to identify the requirements of the procedure to be carried out in the Evidence Requesting Member State. The query parameters should therefore reflect the country and jurisdiction of the evidence requester.

Information from the first query (Requirements, Reference Frameworks, Procedure, Jurisdiction) can also be directly integrated into the procedure portal of a Member State. In this case, the Procedure Portal already knows the necessary requirements of a procedure ( for example, because it is stored in the backend) and the second query of the Evidence Broker, the determination of the evidence type along the Evidence Provider Member State, can be started from the known requirements.

The URL pattern for parameterised query invocation is defined as follows in the OASIS RegRep REST binding:

«server base url»/rest/search?queryId={the query id}(&{param-name}={param-value})*

The query interface consists of a simple predefined parameterised query detailed below. In addition, the RegRep standard defines a set of canonical queries and query parameters that can be used. As the Data Service Directory is not a complete implementation of a RegRep server, it is NOT REQUIRED to support these canonical queries and query parameters. Clients, therefore, SHOULD only use the queries and query parameters specified by this specification. When the canonical queries or parameters are used, the Common Service implementation MAY return an error.

The initial top-level query returns a list of available requirements. The supported parameters and query filters, are listed in the following table. The optional parameter values are retrieved from the codelists published in the semantic repository:

ParameterRequirementDescription
queryIdMUSTThis parameter MUST have value urn:fdc:oots:eb:ebxml-regrep:queries:requirements-by-procedure-and-jurisdiction.
procedure-idOPTIONALThe identifier of the procedure at the EU level, expressed as a procedure code, used to filter only the requirements that are used under the specific procedure
country-codeOPTIONALThe jurisdiction of the procedure, expressed as a ISO 3166-1 alpha-2 country code, used to filter only the requirements that are used under the specific member state for procedure implementation. Thus, the country code should relate to the country of the Evidence Requester to determine the requirements in the country where the procedure is executed. 
jurisdiction-admin-l2OPTIONALThe level two administration level code for the jurisdiction of the reference frameworks that are connected to a requirement and procedure, expressed using 3 to 5 letter NUTS code. It MUST be combined with country-code. 
jurisdiction-admin-l3OPTIONALThe level three administration level code for the jurisdiction of the reference frameworks that are connected to a requirement and procedure, expressed using LAU Code. It MUST be combined with country-code

Use of optional parameters

If the query was started with optional parameters such as 'procedure-id', 'country-code', 'jurisdiction-admin-l2' or 'jurisdiction-admin-l2', the EB always returns only those requirements that have a reference framework included. Requirements without a reference framework are not listed by the EB if optional parameters are used. 

For a query without optional parameters, however, the EB returns all requirements, i.e. also those that do not have a reference framework. These are not valid instances in the sense of the follow-up processes of the OOTS. In the follow-up query of the EB "GetEvidenceType", it must be ensured that only those requirements are queried that contain a reference framework.

A query without optional parameters returns requirements without corresponding reference framework to support development teams to find applicable (incomplete) requirements that need to be populated via the Life Cycle Management (LCM).

Example Flows

The Evidence Requester needs to fetch requirements that are associated to a procedure and country. To do this, it executes the following HTTP REST Call to the EB with the included values R1 for procedure-id (R1 relates to "Requesting a birth certificate") and DE for country-code (for Germany). The parameter values have to be looked up in the codelists published in the semantic repository:

«server base url»/rest/search?queryId=urn:fdc:oots:eb:ebxml-regrep:queries:requirements-by-procedure-and-jurisdiction&procedure-id=R1&country-code=DE

The EB receives the request and checks whether requirements for procedure-id = R1 and country-code = DE exist. Two potential responses can be given thus the following flows must distinguished:

Positive Flow

A Requirement exists. The EB will provide a Query Response (see section 4.2.1 et sqq. )

The following figure illustrates the positive flow resulting in a query:QueryResponse


Negative Flow

The request to the EB cannot be responded and an exception response is returned. The EB will provide an Error Response (see section 4.4 et sqq. ).

The following figure illustrates the negative flow resulting in a query:Exception

4.2.1 Data Model of the Query Response of the EB for the "Requirement Query"

The Query Response of the EB of an Requirement Query returns a RegRep QueryResponse document which MUST either contain an Exception 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 Requirement child element, following the SDGR Application Profile of the EB. The SDGR application profile of the EB 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 underlyinSDG-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 EB for a Requirements Query.  It shows the case of a successful response, therefore the RegistryObjectList element is present and the Exception element is not present.

QueryResponse of the EB

4.2.2 Implementation Guideline of the Query Response of the EB for the "Requirement Query"

The table below defines the elements of the SDG Application Profile for the Query Response of the EB (for Requirements)  according to the core ebRIM elements and the Requirement slot.

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. 


NameDefinitionCardinalityTypeData TypeRulesCore Vocabulary / DomainElement of Core Vocabulary

query:QueryResponse

root element


ComplexType


Structure: R-EB-REQ-S001, R-EB-REQ-S002, R-EB-REQ-S012

ebRIM


+statusThis attribute contains the status of the response. If the EB provides at least one RegistryObject, the value "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" is used. 1..1AttributeIdentifierStructure: R-EB-REQ-S005, R-EB-REQ-S006, R-EB-REQ-S008ebRIM-
++

rim:RegistryObjectList

Element to list the Registry Objects of the QueryResponse.

1..1

ComplexType


Structure: R-EB-REQ-S007

ebRIM

-

++

rim:RegistryObjectList

Element to list the Registry Objects of the QueryResponse.

1..1

ComplexType


Structure: R-EB-REQ-S007

ebRIM

-

+++

rim:RegistryObject

Element to control the type and structure of Registry Object within the QueryResponse.

1..n

ExtrinsicObjectType


Structure: R-EB-REQ-S018

ebRIM

-

+++

rim:RegistryObject

Element to control the type and structure of Registry Object within the QueryResponse.

1..n

ExtrinsicObjectType


Structure: R-EB-REQ-S018

ebRIM

-

++++

id

Unique UUID for each RegistryObject. 

1..1AttributeIdentifier

Structure: R-EB-REQ-S019

ebRIM

-

++++rim:slot "Requirement"The slot is a container to describe the specific aspects and metadata of the Requirement1..1SlotTypeAnyValueTypeStructure: R-EB-REQ-S011, R-EB-REQ-S013ebRIM-
++++rim:slot "Requirement"The slot is a container to describe the specific aspects and metadata of the Requirement1..1SlotTypeAnyValueTypeStructure: R-EB-REQ-S011, R-EB-REQ-S013ebRIM-
+++++RequirementThe element describes specific aspects and metadata of the Requirement1..1RequirementType
Structure: R-EB-REQ-S014, R-EB-REQ-S016Core Criterion and Core Evidence Vocabulary cccev:Requirement
+++++RequirementThe element describes specific aspects and metadata of the Requirement1..1RequirementType
Structure: R-EB-REQ-S014, R-EB-REQ-S016Core Criterion and Core Evidence Vocabulary cccev:Requirement
++++++IdentifierThe unique identifier of the Requirement1..1AttributeIdentifierContent: R-EB-REQ-C001CCCEVcccev:identifier
++++++NameA name to identify in common language the Requirement1..nAttributeText
CCCEVcccev:name
+++++++

Name/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-REQ-C002, R-EB-REQ-C003CCCEVcccev:name
++++++ReferenceFrameworkThe Reference Framework that is responsible for the creation/initiation of the Requirement.0..nReferenceFrameworkType
Structure: R-EB-REQ-S017 Core Criterion and Core Evidence Vocabulary cccev:ReferenceFramework
++++++ReferenceFrameworkThe Reference Framework that is responsible for the creation/initiation of the Requirement.0..nReferenceFrameworkType
Structure: R-EB-REQ-S017Core Criterion and Core Evidence Vocabulary cccev:ReferenceFramework
+++++++IdentifierThe Identifier of the Procedure1..1AttributeIdentfierContent: R-EB-REQ-C004CCCEVcccev:identifier
+++++++TitleThe title of the Procedure1..nAttributeText
--
++++++

Title/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-REQ-C005, R-EB-REQ-C006--
+++++++DescriptionThe description of the Procedure0..nAttributeText
--
++++++

Description/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-REQ-C007, R-EB-REQ-C008--
+++++++RelatedToThe Identifier of the SDGR Procedure which this procedure relates to1..nReferenceFrameworkType
Structure: R-EB-REQ-S015, R-EB-REQ-S020Core Criterion and Core Evidence Vocabulary cccev:ReferenceFramework
+++++++JurisdictionThe administrative level in which this reference framework applies. It can apply to multiple jurisdictions1..nJurisdictionType
Structure: R-EB-REQ-S021Core Location Vocabulary (CLV)locn:Address
++++++++RelatedToThe Identifier of the SDGR Procedure which this procedure relates to1..nReferenceFrameworkType
Structure: R-EB-REQ-S015, R-EB-REQ-S020Core Criterion and Core Evidence Vocabulary cccev:ReferenceFramework
++++++++IdentifierThe Identifier of the Procedure1..1AttributeIdentfierContent: R-EB-REQ-C012CCCEVcccev:identifier
+++++++JurisdictionThe Jurisdiction to which this Data Service Evidence Type applies.1..nJurisdictionType
Structure: R-EB-REQ-S021Core Location Vocabulary (CLV)locn:Address
+++++++++AdminUnitLevel1The name of the uppermost level of the address, almost always a country.1..1AttributeCodeContent: R-EB-REQ-C009Core Location Vocabulary locn:adminUnitL1
+++++++++AdminUnitLevel2The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities.0..1AttributeCodeContent: R-EB-REQ-C010Core Location Vocabulary (CLV)locn:adminUnitL2
+++++++++AdminUnitLevel3The name of a tertiary level/region of the address, usually a municipality or other such area that typically encompasses several localities.0..1AttributeCodeContent: R-EB-REQ-C011Core Location Vocabulary (CLV)locn:adminUnitL3


4.2.3 Example of the Query Response of the EB for the "Requirement Query"

The query response contains the list of requirements, with each requirement correlated to one or more procedure national implementations. The following example shows a response using the SDG Application Profile XML Representation.

<?xml version="1.0" encoding="UTF-8"?>
<query:QueryResponse xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
                     xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
                     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:sdg="http://data.europa.eu/p4s"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" totalResultCount="1" startIndex="0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success">

    <!-- Validate with sch/EB-REQ-C and sch/EB_REQ-S -->
    <rim:RegistryObjectList>
        <rim:RegistryObject id="urn:uuid:8c3ba281-73fd-4b22-852d-b7fc972db532">
            <rim:Slot name="Requirement">
                <rim:SlotValue xsi:type="rim:AnyValueType">
                    <sdg:Requirement>
                        <sdg:Identifier>https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099</sdg:Identifier>
                        <sdg:Name lang="EN">Proof of Birth</sdg:Name>
                        <sdg:Name lang="DE">Geburtsnachweis</sdg:Name>

                        <!-- List of Reference Frameworks that implement the Requirement. Multiple Reference Frameworks might be added. In this example only one Reference Framework for DE - Germany is listed-->
                        <sdg:ReferenceFramework>

                            <!-- Link to the Procedure as implemented in Germany, uniquely identified by the Identifier and Jurisdiction. The name of the procedure, as declared in the SDG Regulation; Is possibly extended or replaced with national reference frameworks when the procedure is implemented by a Member State regulation -->
                            <sdg:Identifier>118fd444-6443-42be-a084-c9fbfd1f674d</sdg:Identifier>
                            <sdg:Title lang="EN">Procedure #1 - Requesting proof of registration of birth</sdg:Title>
                            <sdg:Title lang="DE">Verfahren #1 - Beantragung des Nachweises über die Eintragung in das Geburtenregister</sdg:Title>
                            <sdg:Description lang="EN"> Procedure #1 "Requesting proof of registration of birth" belongs to the life event "Birth" of Annex II of the Regulation (EU) 2018/1724
                                of the European Parliament and of the Council of 2 October 2018 establishing a single digital gateway to provide access to information, to procedures and to assistance and problem-solving services and amending Regulation (EU) No 1024/2012
                            </sdg:Description>
                            <sdg:Description lang="DE"> Das Verfahren #1 "Beantragung des Nachweises über die Eintragung in das Geburtenregister" gehört zum Lebensereignis "Geburt" des Anhangs II der Verordnung (EU) 2018/1724 des Europäischen Parlaments und des Rates vom 2. Oktober 2018 über die Einrichtung eines einheitlichen digitalen Zugangstors zu Informationen, Verfahren, Hilfsund Problemlösungsdiensten und zur Änderung der Verordnung (EU) Nr. 1024/2012
                            </sdg:Description>

                            <!-- The Identifier of the SDGR Procedure which this procedure relates to encoded according to Procedures-CodeList.gc. In this case R1 relates to "Requesting a birth certificate" -->
                            <sdg:RelatedTo>
                                <sdg:Identifier>R1</sdg:Identifier>
                            </sdg:RelatedTo>

                            <!-- Country - Mandatory - ISO code. Requirement is connected to the implementation of Procedure 1 in Germany. Regional Codes (AdminUnitLevel 2 and 3) not applicable for DE in this Procedure (Common Reference Framework for the country)  -->
                            <sdg:Jurisdiction>
                                <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1>
                            </sdg:Jurisdiction>

                        </sdg:ReferenceFramework>

                    </sdg:Requirement>
                </rim:SlotValue>
            </rim:Slot>

        </rim:RegistryObject>

    </rim:RegistryObjectList>
</query:QueryResponse>


4.2.4. Business Rules associated to the Query Response of the EB for the "Requirement Query"

In order to facilitate interoperability of the successful Query Response of the EB (for the Requirements Query), a set of business rules is defined to guarantee the correct structure, use and format of information objects when receiving query responses from the EB. The rule ID EB-REQ references to the EB transaction "EB get Requirements Query Response". The rules are listed in section 3.2.6.

4.3. Get Evidence Types for Requirement Query

Purpose of the Get Evidence Types for Requirement Query

The second query of the Evidence Broker (Get Evidence Types for Requirement) determines the context of the Evidence Provider in order to identify the Evidence Types in the Evidence Providing Member State. The query parameters should therefore reflect the country and jurisdiction of the Evidence Provider.

The query is based on a requirement that is known to the Procedure Portal or that is determined via the Evidence Broker's first query (Get List of Requirements Query). It is important to note that all query results reflect the view of the Evidence Provider, including the information associated with the requirement (reference framework, procedure, jurisdiction). 

The URL pattern for parameterised query invocation is defined as follows in the OASIS RegRep REST binding:

«server base url»/rest/search?queryId={the query id}(&{param-name}={param-value})*

This query returns the list of evidence types that prove a specific requirement.  It must contain the Identifier of the requirement, that can be extracted using the "Get List of Requirements" query if not known. The supported parameters and query filters, are listed in the following table. The optional parameter values are retrieved from the codelists published in the semantic repository:

ParameterRequirementDescription
queryIdMANDATORYurn:fdc:oots:eb:ebxml-regrep:queries:evidence-types-by-requirement-and-jurisdiction
requirement-idMANDATORYThe id of the requirement we request the evidence types for. The URL must be encoded according to RFC3986 to ensure the URL is valid. The requirement is either known to the Procedure Portal or is determined via the Evidence Broker's first query (Get List of Requirements Query).
country-codeOPTIONALThe two-letter ISO 3166-1 alpha-2 country code that is expected to provide the evidence. Thus, the country code should relate to the country of the Evidence Provider to determine the Evidence Type in the country where the Evidence is requested.
jurisdiction-admin-l2OPTIONALThe level two administration level code for the jurisdiction of the evidence type, expressed using 3 to 5 letter NUTS code. It MUST be combined with country-code
jurisdiction-admin-l3OPTIONALThe level three administration level code for the jurisdiction of the evidence type, expressed using LAU Code. It MUST be combined with country-code

Example Flows

The Evidence Requester needs to fetch the evidence types that are associated to a requirement and country. To do this, it executes the following HTTP REST Call to the EB with the included values https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099 for requirement-id and DE for country-code. The optional parameter values have to be looked up in the codelists published in the semantic repository. The URL value of the requirement-ID must be encoded according to RFC3986 to ensure the URL is valid.

«server base url»/rest/search?queryId=urn:fdc:oots:eb:ebxml-regrep:queries:evidence-types-by-requirement-and-jurisdiction&requirement-id=https%3A%2F%2Fsr.oots.tech.ec.europa.eu%2Frequirements%2F315cfd75-6605-49c4-b0fe-799833b41099&country-code=DE

The EB receives the request and checks whether for requirement-id = https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099 and country-code = DE exist. Two potential responses can be given thus the following flows must distinguished:

Positive Flow

An EvidenceType exists. The EB will provide a Query Response (see section 4.3.1 et sqq. )

The following figure illustrates the positive flow resulting in a query:QueryResponse

Negative Flow

The request to the EB cannot be responded and an exception response is returned. The EB will provide a Error Response (see section 4.4 et sqq. ).

The following figure illustrates the negative flow resulting in a query:Exception

4.3.1 Data Model of the Query Response of the EB for the "Get Evidence Types for Requirement Query"

The Query Response of the EB  for Evidence Types that prove a specific requirement returns a RegRep QueryResponse document which MUST either contain an Exception 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 Requirement child element, following the SDGR Application Profile of the EB. The SDGR application profile of the EB 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 underlyinSDG-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 EB when requesting Evidence Types that prove a specific requirement.  It shows the case of a successful response, therefore the RegistryObjectList element is present and the Exception element is not present.

QueryResponse of the EB for Evidence Types

The Query Response of the EB for the "Get Evidence Types for Requirement Query" follows the logic of the ISA2 SEMIC The Core Criterion and Core Evidence Vocabulary (CCCEV). https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/solution/core-criterion-and-core-evidence-vocabulary 

  • To fulfill a 'Requirement' at least one Evidence Type must be specified for an Evidence Type List.
  • The 'Evidence Type List' are alternative methods proposed by the Evidence Broker to fulfill a requirement. Thus, 
    • Evidence Type Lists must have at least one but can combine different Evidence Types.
    • Evidence Types of an Evidence Type List are combined via the logic operator ‘AND’.
    • Evidence Type Lists that fulfill the same Requirement are combined via the logic operator ‘OR’.
  • The 'Evidence Types' are described in detail with respect to their jurisdiction level.

The EB holds a mapping between the Requirements and their associated Evidence Type Lists and Evidence Types that are able to prove these requirements. An Evidence instance that is requested and provided throughout the OOTS Evidence Exchange process should refer to its corresponding Evidence Type. 

4.3.2 Implementation Guideline of the Query Response of the EB for the "Get Evidence Types for Requirement Query"

The table below defines the elements of the SDG Application Profile for the Query Response of the EB (for Evidence Types) according to the core ebRIM elements and the Requirement slot including among other element the Evidence Types. 

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. 


NameDefinitionCardinalityTypeData TypeRulesCore Vocabulary / DomainElement of Core Vocabulary

query:QueryResponse

root element


ComplexType


Structure: R-EB-EVI-S001, R-EB-EVI-S002, R-EB-EVI-S010

ebRIM


+statusThis attribute contains the status of the response. If the EB provides at least one RegistryObject, the value "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" is used. 1..1AttributeIdentifierStructure: R-EB-EVI-S005, R-EB-EVI-S006, EB-EVI-S008ebRIM-
++

rim:RegistryObjectList

Element to list the Registry Objects of the QueryResponse.

1..1

ComplexType


Structure: EB-EVI-S007

ebRIM

-

++

rim:RegistryObjectList

Element to list the Registry Objects of the QueryResponse.

1..1

ComplexType


Structure: EB-EVI-S007

ebRIM

-

+++

rim:RegistryObject

Element to control the type and structure of Registry Object within the QueryResponse.

1..n

ExtrinsicObjectType


Structure: R-EB-EVI-S018

ebRIM

-

+++

rim:RegistryObject

Element to control the type and structure of Registry Object within the QueryResponse.

1..n

ExtrinsicObjectType


Structure: R-EB-EVI-S018

ebRIM

-

++++

id

Unique UUID for each RegistryObject. 

1..1AttributeIdentifier

Structure: R-EB-EVI-S019

ebRIM

-

++++rim:slot "Requirement"The slot is a container to describe the specific aspects and metadata of the Requirement.1..1SlotTypeAnyValueTypeStructure: R-EB-EVI-S009, R-EB-EVI-S011ebRIM-
++++rim:slot "Requirement"The slot is a container to describe the specific aspects and metadata of the Requirement.1..1SlotTypeAnyValueTypeStructure: R-EB-EVI-S009, R-EB-EVI-S011ebRIM-
+++++RequirementThe element describes specific aspects and metadata of the Requirement.1..1RequirementType
Structure: R-EB-EVI-S012Core Criterion and Core Evidence Vocabulary cccev:Requirement
+++++RequirementThe element describes specific aspects and metadata of the Requirement.1..1RequirementType
Structure: R-EB-EVI-S012Core Criterion and Core Evidence Vocabulary cccev:Requirement
++++++IdentifierThe unique identifier of the Requirement.1..1AttributeIdentifierContent: R-EB-EVI-C001CCCEVcccev:identifier
++++++NameA name to identify in common language the Requirement.1..nAttributeText
CCCEVcccev:name
+++++++

Name/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-EVI-C002, R-EB-EVI-C003CCCEVcccev:name
++++++ReferenceFrameworkThe Reference Framework or Procedure that is responsible for the creation/initiation of the Requirement.1..nReferenceFrameworkType
Structure: R-EB-EVI-S017 Core Criterion and Core Evidence Vocabulary cccev:ReferenceFramework
++++++EvidenceTypeListA list of Evidence Types, that can be provided to meet a requirement, within a certain jurisdiction. An Evidence Type List is satisfied, if and only if, for all included Evidence Types in this List, corresponding conformant Evidence(s) are provided. The Evidence Type List describes thus an AND condition on the different Evidence Types within the list and an OR condition between two or more Evidence Type Lists.1..nEvidenceTypeListType
Structure: R-EB-EVI-S016Core Criterion and Core Evidence Vocabulary cccev:EvidenceTypeList
++++++ReferenceFrameworkThe Reference Framework or Procedure that is responsible for the creation/initiation of the Requirement. 1..nReferenceFrameworkType
Structure: R-EB-EVI-S017 Core Criterion and Core Evidence Vocabulary (CCCEV)cccev:ReferenceFramework
+++++++IdentifierThe Identifier of the ReferenceFramework or Procedure.1..1AttributeIdentfierContent: R-EB-EVI-C004CCCEVcccev:identifier
+++++++TitleThe title of the ReferenceFramework orProcedure.1..nAttributeText
--
++++++++

Title/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-EVI-C005, R-EB-EVI-C006--
+++++++DescriptionThe description of the ReferenceFramework orProcedure.0..nAttributeText
--
++++++++

Description/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-EVI-C007, R-EB-EVI-C008--
+++++++RelatedToThe Identifier of the SDGR Procedure which this ReferenceFramework or procedure relates to.1..nReferenceFrameworkType
Structure: R-EB-EVI-S013, R-EB-EVI-S020Core Criterion and Core Evidence Vocabulary (CCCEV)cccev:ReferenceFramework
+++++++JurisdictionThe administrative level in which this reference framework applies. It can apply to multiple jurisdictions.1..nJurisdictionType
Structure: EB-EVI-S021Core Criterion Core Evidence Vocabulary (CCCEV)cccev:evidenceTypeJurisdiction
++++++++RelatedToThe Identifier of the SDGR Procedure which this ReferenceFramework relates to.1..nReferenceFrameworkType
Structure: R-EB-EVI-S013, R-EB-EVI-S020Core Criterion and Core Evidence Vocabulary  (CCCEV)cccev:ReferenceFramework
++++++++IdentifierThe Identifier of the Procedure.1..1AttributeIdentfierContent: R-EB-EVI-C012CCCEVcccev:identifier
+++++++JurisdictionThe Jurisdiction to which this ReferenceFramework (Procedure) applies.1..nJurisdictionType
Structure: EB-EVI-S021Core Location Vocabulary (CLV)locn:Address
+++++++++AdminUnitLevel1The name of the uppermost level of the address, almost always a country.1..1AttributeCodeContent: R-EB-EVI-C009Core Location Vocabulary (CLV)locn:adminUnitL1
+++++++++AdminUnitLevel2The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities.0..1AttributeCodeContent: R-EB-EVI-C010Core Location Vocabulary (CLV)locn:adminUnitL2
+++++++++AdminUnitLevel3The name of a tertiary level/region of the address, usually a municipality or other such area that typically encompasses several localities.0..1AttributeCodeContent: R-EB-EVI-C011Core Location Vocabulary (CLV)locn:adminUnitL3
++++++EvidenceTypeListA list of Evidence Types, that can be provided to meet a requirement, within a certain jurisdiction. An Evidence Type List is satisfied, if and only if, for all included Evidence Types in this List, corresponding conformant Evidence(s) are provided. The Evidence Type List describes thus an AND condition on the different Evidence Types within the list and an OR condition between two or more Evidence Type Lists.1..nEvidenceTypeListType
Structure: R-EB-EVI-S016Core Criterion Core Evidence Vocabulary (CCCEV)cccev:EvidenceTypeList
+++++++IdentifierThe identifier of the Evidence Type List.1..1AttributeIdentifierContent: R-EB-EVI-C013CCCEVcccev:identifier
+++++++NameThe name of the Evidence Type List. Unbounded cardinality to support multiple languages.0..nAttributeText

cccev:name
++++++++

Name/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-EVI-C014, R-EB-EVI-C015CCCEVcccev:name
+++++++EvidenceTypeAn Evidence Type is a type of evidence that can be provided to meet a requirement, within a certain jurisdiction. Evidence Types of an Evidence Type List are combined via the logic operator ‘AND’ to fulfill a requirement.1..nEvidenceTypeType
Structure: R-EB-EVI-S014, R-EB-EVI-S015Core Criterion Core Evidence Vocabulary (CCCEV)cccev:EvidenceType
+++++++EvidenceTypeAn Evidence Type is a type of evidence that can be provided to meet a requirement, within a certain jurisdiction. Evidence Types of an Evidence Type List are combined via the logic operator ‘AND’ to fulfill a requirement.1..nEvidenceTypeType
Structure: R-EB-EVI-S014, R-EB-EVI-S015Core Criterion Core Evidence Vocabulary (CCCEV)cccev:EvidenceType
++++++++EvidenceTypeClassificationAn URI pointing to the Evidence Type. The classification is linking with the Evidence Type of the Semantic Repository (Evidence Broker). 1..1AttributeCodeContent: R-EB-EVI-C016Core Criterion Core Evidence Vocabularycccev:evidenceTypeClassification
++++++++TitleA name to identify in common language the Evidence Type. Unbounded cardinality to support multiple languages.1..nAttributeText
DCAT-APdct:title
+++++++++

Title/@lang

The language of the title encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-EVI-C017, R-EB-EVI-C018DCAT-APdct:title
++++++++

Description

A description of the Evidence Type. Unbounded cardinality to support multiple languages.0..nAttributeText
DCAT-APdct:description
+++++++++

Description/@lang

The language of the description encoded as 

ISO 639-1 two-letter code. Default value "en"

MAttributeCodeContent: R-EB-EVI-C019, R-EB-EVI-C020DCAT-APdct:description
++++++++JurisdictionThe administrative level in which this EvidenceType applies. It can apply to multiple jurisdictions.1..nJurisdictionType
Content: R-EB-EVI-C021Core Criterion Core Evidence Vocabularycccev:evidenceTypeJurisdiction
++++++++JurisdictionThe jurisdictions to which this EvidenceType applies.1..nJurisdictionType
Content: R-EB-EVI-C021Core Location Vocabulary (CLV)locn:Address
+++++++++AdminUnitLevel1The name of the uppermost level of the address, almost always a country.1..1AttributeCodeContent: R-EB-EVI-C022Core Location Vocabulary (CLV)locn:adminUnitL1
+++++++++AdminUnitLevel2The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities.0..1AttributeCodeContent: R-EB-EVI-C023Core Location Vocabulary (CLV)locn:adminUnitL2
+++++++++AdminUnitLevel3The name of a tertiary level/region of the address, usually a municipality or other such area that typically encompasses several localities.0..1AttributeCodeContent: R-EB-EVI-C024Core Location Vocabulary (CLV)locn:adminUnitL3


4.3.3 Example of the Query Response of the EB for the "Get Evidence Types for Requirement Query"

The query response contains the list of evidence types that fulfil the specific requirement of the query, filtered by the jurisdiction level code. The following example shows a response using the SDG Application Profile XML Representation

<?xml version="1.0" encoding="UTF-8"?>
<query:QueryResponse
        xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
        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:sdg="http://data.europa.eu/p4s"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success">

    <!-- Validate with sch/EB-EVI-C and sch/EB-EVI-S-->
    <rim:RegistryObjectList>
        <!-- One registry object per dataset -->
        <rim:RegistryObject id="urn:uuid:7b8a8ec6-71b9-4864-b147-f65debc14653">
            <rim:Slot name="Requirement">
                <rim:SlotValue xsi:type="rim:AnyValueType">
                    <sdg:Requirement>
                        <sdg:Identifier>https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099</sdg:Identifier>
                        <sdg:Name lang="EN">Proof of Birth</sdg:Name>
                        <sdg:Name lang="DE">Geburtsnachweis</sdg:Name>

                        <!-- List of Reference Frameworks that implement the Requirement-->
                        <sdg:ReferenceFramework>

                            <!-- Link to the Procedure as implemented in Germany, uniquely identified by the Identifier and Jurisdiction. The name of the procedure, as declared in the SDG Regulation; Is possibly extended or replaced with national reference frameworks when the procedure is implemented by a Member State regulation -->
                            <sdg:Identifier>118fd444-6443-42be-a084-c9fbfd1f674d</sdg:Identifier>
                            <sdg:Title lang="EN">Procedure #1 - Requesting proof of registration of birth</sdg:Title>
                            <sdg:Title lang="DE">Verfahren #1 - Beantragung des Nachweises über die Eintragung in das Geburtenregister</sdg:Title>
                            <sdg:Description lang="EN"> Procedure #1 "Requesting proof of registration of birth" belongs to the life event "Birth" of Annex II of the Regulation (EU) 2018/1724
                                of the European Parliament and of the Council of 2 October 2018 establishing a single digital gateway to provide access to information, to procedures and to assistance and problem-solving services and amending Regulation (EU) No 1024/2012
                            </sdg:Description>
                            <sdg:Description lang="DE"> Das Verfahren #1 "Beantragung des Nachweises über die Eintragung in das Geburtenregister" gehört zum Lebensereignis "Geburt" des Anhangs II der Verordnung (EU) 2018/1724 des Europäischen Parlaments und des Rates vom 2. Oktober 2018 über die Einrichtung eines einheitlichen digitalen Zugangstors zu Informationen, Verfahren, Hilfsund Problemlösungsdiensten und zur Änderung der Verordnung (EU) Nr. 1024/2012
                            </sdg:Description>

                            <!-- The Identifier of the SDGR Procedure which this procedure relates to encoded according to Procedures-CodeList.gc. In this case R1 relates to "Requesting a birth certificate" -->
                            <sdg:RelatedTo>
                                <sdg:Identifier>R1</sdg:Identifier>
                            </sdg:RelatedTo>

                            <!-- Country - Mandatory - ISO code. Requirement is connected to the implementation of Procedure 1 in Germany. Regional Codes (AdminUnitLevel 2 and 3) not applicable for DE in this Procedure (Common Reference Framework for the country)  -->
                            <sdg:Jurisdiction>
                                <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1>
                            </sdg:Jurisdiction>

                        </sdg:ReferenceFramework>

                        <!-- List of Evidence Types that proof the Requirement in Germany, indicated by the Jurisdiction - DE-->
                        <!-- Multiple List of Evidence Types might be part of the result - depending on the query parameters -->
                        <sdg:EvidenceTypeList>
                            <sdg:Identifier>970918e4-1b27-41f0-be20-0a7c5fe4059f</sdg:Identifier>
                            <sdg:Name lang="EN">List of Birth Certificates</sdg:Name>
                            <sdg:Name lang="DE">Liste der Geburtsurkunden</sdg:Name>

                            <!-- Example structure of an evidence type having national coverage area / jurisdiction = DE -->
                            <sdg:EvidenceType>
                                <!-- EvidenceTypeClassification Information - Provided by the Evidence Broker on the basis of the Semantic Repository. Used for linking with the Semantic Repository and Data Service Directory -->
                                <sdg:EvidenceTypeClassification>https://sr.oots.tech.ec.europa.eu/evidencetypeclassifications/DE/ca8afed6-2dc0-422a-a931-d21c3d8d370e</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>
                                <sdg:Jurisdiction>

                                    <!-- Country - Mandatory - ISO code -->
                                    <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1>
                                    <!-- Regional Code not applicable for DE (Common Evidence for the country), NUTS Code and LAU Code might be added -->

                                </sdg:Jurisdiction>
                            </sdg:EvidenceType>
                        </sdg:EvidenceTypeList>

                    </sdg:Requirement>
                </rim:SlotValue>
            </rim:Slot>
        </rim:RegistryObject>
    </rim:RegistryObjectList>
</query:QueryResponse>


4.3.4. Business Rules of the EB associated to the "Get Evidence Types for Requirement Query"

In order to facilitate interoperability of the successful Query Response of the EB (for the Get Evidence Types for Requirement Query), a set of business rules is defined to guarantee the correct structure, use and format of information objects when receiving query responses from the EB. The rule IDs EB-EVI reference to the EB transaction "EB get Evidence Types Query Response". The business rules are listed in section 3.2.6.


4.4. Query Error Response of the Evidence Broker

4.4.1. Data Model of the Query Error Response of the Evidence Broker

The Query Error Response of the EB is syntactically expressed inside an ebRS QueryResponse using the ebRS RegistryExceptionType as shown in data model below.  It shows the case of an usuccessful response, therefore the RegistryObjectList element is  not present and the Exception element is present.

Error Response of the EB

4.4.2. Implementation Guideline of the Query Error Response of the Evidence Broker

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. 


Name

Definition

Cardinality

ebRIM type

Data Type

Rules

Domain


query:QueryResponse

Query Error Response root element


RegistryResponseType


Structure: R-EB-ERR-001, R-EB-ERR-002, R-EB-ERR-017

ebRIM
+statusElement used to define the status of the Query Request. 1..1AttributeIdentifierStructure: R-EB-ERR-005, R-EB-ERR-006, R-EB-ERR-007ebRIM
++

rs:Exception

The rs:exeption describes an error which occurs during the processing of a Query Request. 1..nRegistryExceptionType


Structure: R-EB-ERR-008

ebRIM
++

rs:Exception

The rs:exeption describes an error which occurs during the processing of a Query Request. 1..nRegistryExceptionType


Structure: R-EB-ERR-008

ebRIM
+++xsi:typeDescribes the nature of the error that occurred. 1..1Attributestring

Structure: R-EB-ERR-009, R-EB-ERR-010

ebRIM
+++severityThe severity attribute value provides a severity level for the exception. The default value is "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"1..1AttributeobjectReferenceType

Structure: R-EB-ERR-011, R-EB-ERR-012, R-EB-ERR-018

ebRIM
+++messageIs used to add an error message that can be shown and understood by the user of the system. 1..1AttributestringStructure: R-EB-ERR-013ebRIM
+++codeA 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".0..1Attributestring

Structure: R-EB-ERR-015, R-EB-ERR-016

ebRIM
+++detailIs used to describe technical details of the error that might be needed to identify and debug the error. 0..1Attributestring

4.4.3. Example of the Query Error Response of the Evidence Broker

An example of Query Error Responses of the Evidence Broker due to an empty list of requirements 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"
                     status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure">

  <!-- Valid parameter combinations are defined by the EBErrorResponseCodes -->
  <!-- The Codelists EBErrorCodes provides the values for xsi:type, message and code -->
  <!-- The ErrorSeverity provides allowed values for severity. The default value is "Error".  -->
  <!-- The detail may contain further freely defined information about the error -->

  <rs:Exception xsi:type="rs:InvalidRequestExceptionType"
                severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"
                message="The query parameters do not follow the query specification"
                detail="country-code"
                code="EB:ERR:0003">

  </rs:Exception>
</query:QueryResponse>  

4.4.4. Error Response Codes of the Evidence Broker

The following table provides the list of EBErrorResponseCodes for the expections defined in the Query Error Response. The "detail" is a placeholder that may contain further information for specific errors. 

#Title (not used by the Exception)TypeCodeMessage
1Resultset is emptyrs:ObjectNotFoundExceptionTypeEB:ERR:0001The result set is empty
2Requirement not foundrs:ObjectNotFoundExceptionTypeEB:ERR:0002The requirement requested, represented by the requirement id, does not exist
3Bad query parametersrs:InvalidRequestExceptionTypeEB:ERR:0003The query parameters do not follow the query specification
4Unknown jurisdiction level coders:InvalidRequestExceptionTypeEB:ERR:0004The jurisdiction level code query parameter is invalid or unknown
5Unknown procedurers:InvalidRequestExceptionTypeEB:ERR:0005The value of the procedure-id query parameter is invalid or unknown
6Unknown procedure implementation countryrs:InvalidRequestExceptionTypeEB:ERR:0006The value of the procedure implementation country query parameter is invalid or unknown
7Unknown queryrs:InvalidRequestExceptionTypeEB:ERR:0007The requested Query does not exist

4.4.5. Business Rules associated to the Query Error Response of the Evidence Broker

In order to facilitate interoperability of the Query Error Response of the EB, a set of business rules is defined to guarantee the correct structure, use and format of information objects when receiving query responses from the EB. The rule IDs EB-ERR reference to the EB transaction "EB Error Response" (EB-ERR). The business rules are listed in section 3.2.6.

4.5. Response Signature

The EB 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 the SigD 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 the crv parameter MUST be set.

The JWS structure shall be carried in the HTTP header field named "oots-response-sig".

This version of the OOTS technical design documents does not provide further specifications on trust models for Common Services response signatures and on constraints on common services content signing certificates. 

4.6 Network and Transport Security

Queries using the Evidence Broker should be secured at network layer and and transport layer as described in section 3.7.

4.7 An EB Interaction Example Flow

To make it clearer on how the EB queries work, we provide the following example flow. It is assumed that the EB already contains appropriate information about the requirements, reference frameworks and evidence types which are submitted through the EB LCM Interface (see section 3.2.5 of the EB specifications in Chapter 3: Common Services  and 3.6 Common Services API Specification).

4.7.1. Get List of Requirements Query example flow

The Evidence Requester needs to fetch the requirements and reference frameworks for Germany (DE for country-code ) that are associated to the procedure "Requesting a birth certificate" (R1 as procedure-id). To do this, it executes the following HTTP REST Call to the DSD:

«server base url»/rest/search?queryId=urn:fdc:oots:eb:ebxml-regrep:queries:requirements-by-procedure-and-jurisdiction&procedure-id=R1&country-code=DE

The EB receives the requests and checks whether the specific procedure R1 for country DE has a Requirement that contains a Reference Framework. In our example, both exists and thus it must return a positive response as follows:

Get List of Requirements Query - Birth Certificate
<?xml version="1.0" encoding="UTF-8"?>
<query:QueryResponse xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
    xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
    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:sdg="http://data.europa.eu/p4s"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" totalResultCount="1" startIndex="0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success">
   
    <!-- Validate with sch/EB-REQ-C and sch/EB_REQ-S -->
    <rim:RegistryObjectList>
        <rim:RegistryObject id="urn:uuid:8c3ba281-73fd-4b22-852d-b7fc972db532">
            <rim:Slot name="Requirement">
                <rim:SlotValue xsi:type="rim:AnyValueType">
                    <sdg:Requirement>                        
                        <sdg:Identifier>https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099</sdg:Identifier>
                        <sdg:Name lang="EN">Proof of Birth</sdg:Name>
                        <sdg:Name lang="DE">Geburtsnachweis</sdg:Name>

                        <!-- List of Reference Frameworks that implement the Requirement. Multiple Reference Frameworks might be added. In this example only one Reference Framework for DE - Germany is listed-->
                        <sdg:ReferenceFramework>

                            <!-- Link to the Procedure as implemented in Germany, uniquely identified by the Identifier and Jurisdiction. The name of the procedure, as declared in the SDG Regulation; Is possibly extended or replaced with national reference frameworks when the procedure is implemented by a Member State regulation -->
                            <sdg:Identifier>118fd444-6443-42be-a084-c9fbfd1f674d</sdg:Identifier>
                            <sdg:Title lang="EN">Procedure #1 - Requesting proof of registration of birth</sdg:Title>
                            <sdg:Title lang="DE">Verfahren #1 - Beantragung des Nachweises über die Eintragung in das Geburtenregister</sdg:Title>
                            <sdg:Description lang="EN"> Procedure #1 "Requesting proof of registration of birth" belongs to the life event "Birth" of Annex II of the Regulation (EU) 2018/1724
                                of the European Parliament and of the Council of 2 October 2018 establishing a single digital gateway to provide access to information, to procedures and to assistance and problem-solving services and amending Regulation (EU) No 1024/2012
                            </sdg:Description>
                            <sdg:Description lang="DE"> Das Verfahren #1 "Beantragung des Nachweises über die Eintragung in das Geburtenregister" gehört zum Lebensereignis "Geburt" des Anhangs II der Verordnung (EU) 2018/1724 des Europäischen Parlaments und des Rates vom 2. Oktober 2018 über die Einrichtung eines einheitlichen digitalen Zugangstors zu Informationen, Verfahren, Hilfsund Problemlösungsdiensten und zur Änderung der Verordnung (EU) Nr. 1024/2012
                            </sdg:Description>
                            
                            <!-- The Identifier of the SDGR Procedure which this procedure relates to encoded according to Procedures-CodeList.gc. In this case R1 relates to "Requesting a birth certificate" -->
                            <sdg:RelatedTo>
                                <sdg:Identifier>R1</sdg:Identifier>
                            </sdg:RelatedTo>

                            <!-- Country - Mandatory - ISO code. Requirement is connected to the implementation of Procedure 1 in Germany. Regional Codes (AdminUnitLevel 2 and 3) not applicable for DE in this Procedure (Common Reference Framework for the country)  -->
                            <sdg:Jurisdiction>
                                <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1>
                            </sdg:Jurisdiction>
                            
                        </sdg:ReferenceFramework>

                    </sdg:Requirement>
                </rim:SlotValue>
            </rim:Slot>
            
        </rim:RegistryObject>
        
    </rim:RegistryObjectList>
</query:QueryResponse>


4.7.2. Get List of Evidence Types example flow

As next step, the Evidence Requester needs to fetch the evidence types that are associated to the requirement and country. To do this, it executes the following HTTP REST Call to the EB with the included values https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099 for requirement-id and DE for country-code.  The URL value of the requirement-ID must be encoded according to RFC3986 to ensure the URL is valid. The optional parameter values may be be looked up in the codelists published in the semantic repository to narrow down the results and restricting the search to certain NUTS codes of LAU codes. In our case, we search for the upper-most level, the country-code, only:

«server base url»/rest/search?queryId=urn:fdc:oots:eb:ebxml-regrep:queries:evidence-types-by-requirement-and-jurisdiction&requirement-id=https%3A%2F%2Fsr.oots.tech.ec.europa.eu%2Frequirements%2F315cfd75-6605-49c4-b0fe-799833b41099&country-code=DE

The EB receives the requests and checks whether the specific requirement-ID https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099 has an EvidenceType associated to the Jurisdiction of DE (Germany). In our example, such relation exists and thus it must return a positive response as follows:


4.3. Get Evidence Types for Requirement Query - Birth Certificate
<?xml version="1.0" encoding="UTF-8"?>
<query:QueryResponse
    xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
    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:sdg="http://data.europa.eu/p4s"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success">
    
    <!-- Validate with sch/EB-EVI-C and sch/EB-EVI-S-->
    <rim:RegistryObjectList>
        <!-- One registry object per dataset -->
        <rim:RegistryObject id="urn:uuid:7b8a8ec6-71b9-4864-b147-f65debc14653">
            <rim:Slot name="Requirement">
                <rim:SlotValue xsi:type="rim:AnyValueType">
                    <sdg:Requirement>
                        <sdg:Identifier>https://sr.oots.tech.ec.europa.eu/requirements/315cfd75-6605-49c4-b0fe-799833b41099</sdg:Identifier>
                        <sdg:Name lang="EN">Proof of Birth</sdg:Name>
                        <sdg:Name lang="DE">Geburtsnachweis</sdg:Name>

                        <!-- List of Reference Frameworks that implement the Requirement-->
                        <sdg:ReferenceFramework>

                            <!-- Link to the Procedure as implemented in Germany, uniquely identified by the Identifier and Jurisdiction. The name of the procedure, as declared in the SDG Regulation; Is possibly extended or replaced with national reference frameworks when the procedure is implemented by a Member State regulation -->
                            <sdg:Identifier>118fd444-6443-42be-a084-c9fbfd1f674d</sdg:Identifier>
                            <sdg:Title lang="EN">Procedure #1 - Requesting proof of registration of birth</sdg:Title>
                            <sdg:Title lang="DE">Verfahren #1 - Beantragung des Nachweises über die Eintragung in das Geburtenregister</sdg:Title>
                            <sdg:Description lang="EN"> Procedure #1 "Requesting proof of registration of birth" belongs to the life event "Birth" of Annex II of the Regulation (EU) 2018/1724
                                of the European Parliament and of the Council of 2 October 2018 establishing a single digital gateway to provide access to information, to procedures and to assistance and problem-solving services and amending Regulation (EU) No 1024/2012
                            </sdg:Description>
                            <sdg:Description lang="DE"> Das Verfahren #1 "Beantragung des Nachweises über die Eintragung in das Geburtenregister" gehört zum Lebensereignis "Geburt" des Anhangs II der Verordnung (EU) 2018/1724 des Europäischen Parlaments und des Rates vom 2. Oktober 2018 über die Einrichtung eines einheitlichen digitalen Zugangstors zu Informationen, Verfahren, Hilfsund Problemlösungsdiensten und zur Änderung der Verordnung (EU) Nr. 1024/2012
                            </sdg:Description>

                            <!-- The Identifier of the SDGR Procedure which this procedure relates to encoded according to Procedures-CodeList.gc. In this case R1 relates to "Requesting a birth certificate" -->
                            <sdg:RelatedTo>
                                <sdg:Identifier>R1</sdg:Identifier>
                            </sdg:RelatedTo>

                            <!-- Country - Mandatory - ISO code. Requirement is connected to the implementation of Procedure 1 in Germany. Regional Codes (AdminUnitLevel 2 and 3) not applicable for DE in this Procedure (Common Reference Framework for the country)  -->
                            <sdg:Jurisdiction>
                                <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1>
                            </sdg:Jurisdiction>

                        </sdg:ReferenceFramework>

                        <!-- List of Evidence Types that proof the Requirement in Germany, indicated by the Jurisdiction - DE-->
                        <!-- Multiple List of Evidence Types might be part of the result - depending on the query paramters -->
                        <sdg:EvidenceTypeList>
                            <sdg:Identifier>970918e4-1b27-41f0-be20-0a7c5fe4059f</sdg:Identifier>
                            <sdg:Name lang="EN">List of Birth Certificates</sdg:Name>
                            <sdg:Name lang="DE">Liste der Geburtsurkunden</sdg:Name>

                            <!-- Example structure of an evidence type having national coverage area / jurisdiction = DE -->
                            <sdg:EvidenceType>
                                <!-- EvidenceTypeClassification Information - Provided by the Evidence Broker on the basis of the Semantic Repository. Used for linking with the Semantic Repository and Data Service Directory -->
                                <sdg:EvidenceTypeClassification>https://sr.oots.tech.ec.europa.eu/evidencetypeclassifications/DE/ca8afed6-2dc0-422a-a931-d21c3d8d370e</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>
                                <sdg:Jurisdiction>
                                    <!-- Country - Mandatory - ISO code -->
                                    <sdg:AdminUnitLevel1>DE</sdg:AdminUnitLevel1>
                                    <!-- Regional Code not applicable for DE (Common Evidence for the country), NUTS Code and LAU Code might be added -->
                                </sdg:Jurisdiction>
                            </sdg:EvidenceType>
                        </sdg:EvidenceTypeList>

                    </sdg:Requirement>
                </rim:SlotValue>
            </rim:Slot>
        </rim:RegistryObject>
    </rim:RegistryObjectList>
</query:QueryResponse>



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 7518. 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

RFC 8037. CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE). https://www.rfc-editor.org/rfc/rfc8037

RFC 4122. A Universally Unique IDentifier (UUID) URN Namespace. https://www.rfc-editor.org/rfc/rfc4122

RFC 3986. Uniform Resource Identifer (URI): Generic Syntax. https://www.rfc-editor.org/rfc/rfc3986



  • No labels