Verifiable Health Link, published by IHE IT Infrastructure Technical Committee. This guide is not an authorized publication; it is the continuous build for version 0.0.2-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/ITI.VHL/ and changes regularly. See the Directory of published versions
: Integration Test Plan – Trust Establishment - TTL Representation
Raw ttl | Download
@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# - resource -------------------------------------------------------------------
a fhir:TestPlan ;
fhir:nodeRole fhir:treeRoot ;
fhir:id [ fhir:v "TestPlan-TrustEstablishment"] ; #
fhir:url [
fhir:v "https://profiles.ihe.net/ITI/VHL/TestPlan/TestPlan-TrustEstablishment"^^xsd:anyURI ;
fhir:l <https://profiles.ihe.net/ITI/VHL/TestPlan/TestPlan-TrustEstablishment>
] ; #
fhir:version [ fhir:v "0.0.2-current"] ; #
fhir:name [ fhir:v "TestPlan_TrustEstablishment"] ; #
fhir:title [ fhir:v "Integration Test Plan – Trust Establishment"] ; #
fhir:status [ fhir:v "active"] ; #
fhir:date [ fhir:v "2026-03-13T13:59:49+00:00"^^xsd:dateTime] ; #
fhir:publisher [ fhir:v "IHE IT Infrastructure Technical Committee"] ; #
fhir:contact ( [
( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://www.ihe.net/ihe_domains/it_infrastructure/" ] ] )
] [
( fhir:telecom [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "iti@ihe.net" ] ] )
] [
fhir:name [ fhir:v "IHE IT Infrastructure Technical Committee" ] ;
( fhir:telecom [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "iti@ihe.net" ] ] )
] ) ; #
fhir:description [ fhir:v "Integration test plan for the **Trust Establishment** workflow of the IHE ITI Verifiable Health\nLinks (VHL) profile.\n\nScope: validates multi-actor, cross-transaction scenarios that span ITI-YY1 (Submit PKI Material)\nand ITI-YY2 (Retrieve Trust List) and cannot be covered by unit tests. Tests verify that a DID\nDocument submitted in YY1 is subsequently retrievable via YY2 in the same session, that both\nthe VHL Sharer and VHL Receiver can retrieve peer keys, that a full round-trip signature\nverification succeeds, and that revocation propagates correctly across actors.\n\nActors exercised: VHL Sharer, Trust Anchor, VHL Receiver."] ; #
fhir:jurisdiction ( [
( fhir:coding [
fhir:system [
fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ;
fhir:l <http://unstats.un.org/unsd/methods/m49/m49.htm> ] ;
fhir:code [ fhir:v "001" ] ] )
] ) ; #
fhir:scope ( [
fhir:l fhir:ActorDefinition/VHLSharer ;
fhir:reference [ fhir:v "ActorDefinition/VHLSharer" ]
] [
fhir:l fhir:ActorDefinition/TrustAnchor ;
fhir:reference [ fhir:v "ActorDefinition/TrustAnchor" ]
] [
fhir:l fhir:ActorDefinition/VHLReceiver ;
fhir:reference [ fhir:v "ActorDefinition/VHLReceiver" ]
] ) ; #
fhir:testCase ( [
fhir:sequence [ fhir:v 1 ] ;
( fhir:testRun [
fhir:narrative [ fhir:v "Execute all scenarios in the Gherkin integration feature file\n`integration-trust-establishment.feature`.\n\nScenario groups:\n- **Group A – PKI Submission (YY1):** VHL Sharer and VHL Receiver each submit a DID Document;\n Trust Anchor validates and catalogs both.\n- **Group B – Trust Retrieval by VHL Receiver (YY2):** VHL Receiver retrieves the newly\n registered VHL Sharer DID Document and all active DID Documents.\n- **Group C – Trust Retrieval by VHL Sharer (YY2):** VHL Sharer retrieves its own DID Document\n and the VHL Receiver's DID Document to prepare for manifest authentication.\n- **Group D – Round-trip Verification:** Verifies that the VHL Receiver can successfully verify\n a VHL Sharer signature using the public key retrieved in Group B/C; verifies rejection of\n signatures from unknown DIDs.\n- **Group E – Revocation Propagation:** Verifies that a revoked DID Document is no longer\n returned by the Trust Anchor, and that the VHL Receiver's cache is invalidated.\n\nThese scenarios require shared state across ITI-YY1 and ITI-YY2 (e.g., a DID submitted in\nYY1 must be retrievable in YY2 in the same test execution)." ] ;
fhir:script [
fhir:language [
( fhir:coding [
fhir:system [
fhir:v "urn:ietf:bcp:13"^^xsd:anyURI ;
fhir:l <urn:ietf:bcp:13> ] ;
fhir:code [ fhir:v "text/x-gherkin" ] ] ) ;
fhir:text [ fhir:v "Gherkin" ] ] ;
fhir:source [
a fhir:Reference ;
fhir:l <https://build.fhir.org/ig/IHE/ITI.VHL/integration-trust-establishment.feature> ;
fhir:reference [ fhir:v "https://build.fhir.org/ig/IHE/ITI.VHL/integration-trust-establishment.feature" ] ;
fhir:display [ fhir:v "Integration – Trust Establishment" ] ] ] ] )
] ) . #