National Directory of Healthcare Providers & Services (NDH) Implementation Guide
2.0.0-current - ci-build

National Directory of Healthcare Providers & Services (NDH) Implementation Guide, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-ndh/ and changes regularly. See the Directory of published versions

## Extension: NDH Trust Framework

Official URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-trustFramework | Version: 2.0.0-current
Standards status: Trial-use | Maturity Level: 4 | Computable Name: TrustFramework

A trust framework typically requires the use of signed artifacts and public certificates to ensure security, integrity, and trust in digital communications and transactions. For trust frameworks that use private PKI there is no need to use this extension unless the goals is to provide access to endpoints via the endpoint reference on any of the relevant resources (e.g., careteam, healthcareService).

Context of Use

This extension may be used on the following element(s)

- Element ID: `Endpoint`

Usage info

Usages:

- Use this Extension: NDH Endpoint Profile
- Examples for this Extension: Endpoint for Acme of CT Portal and Endpoint for Coordination of Care

You can also check for usages in the FHIR IG Statistics

### Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

- Differential Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | NDH Trust Framework
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:trustFrameworkType | S | 1..1 | Extension | Trust Framework Type
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "trustFrameworkType"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: Trust Framework Type Value Set (extensible)
extension:qualifier | S | 0..1 | Extension | A qualifier associates with an endpoint to provide additional context or information about that endpoint in a trust framework community. Qualifiers are used to help other members of the community understand the capabilities, compliance status, or other relevant characteristics of an endpoint.
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "qualifier"
value[x] |  | 1..1 | string | Value of extension
extension:signedArtifact |  | 0..1 | Extension | By utilizing a signed artifact, you can identify which Certificate Authority has issued the certificate for the entity that signed the artifact. Verifying the issuing Certificate Authority is crucial because it adds an additional layer of trust and security, ensuring that the entity involved in the data exchange is legitimate and that their digital identity has been properly validated.
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signedArtifact"
value[x] |  | 1..1 | base64Binary | Value of extension
extension:publicCertificate |  | 0..1 | Extension | Public certificates help in affirming that an entity is indeed who they claim to be. These certificates are used to establish secure connections via the Mutual TLS (Transport Layer Security) protocol. Public certificates issued by Certificate Authorities are fundamental in establishing a secure and trustworthy digital environment. They enable secure communication, ensure data integrity, and facilitate authentication and trust across a wide range of online interactions.
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "publicCertificate"
value[x] |  | 1..1 | base64Binary | Value of extension
url |  | 1..1 | uri | "http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-trustFramework"
value[x] |  | 0..0 |  | Value of extension
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | NDH Trust Framework
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url
extension:trustFrameworkType | S | 1..1 | Extension | Trust Framework Type
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "trustFrameworkType"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: Trust Framework Type Value Set (extensible)
extension:qualifier | S | 0..1 | Extension | A qualifier associates with an endpoint to provide additional context or information about that endpoint in a trust framework community. Qualifiers are used to help other members of the community understand the capabilities, compliance status, or other relevant characteristics of an endpoint.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "qualifier"
value[x] |  | 1..1 | string | Value of extension
extension:signedArtifact |  | 0..1 | Extension | By utilizing a signed artifact, you can identify which Certificate Authority has issued the certificate for the entity that signed the artifact. Verifying the issuing Certificate Authority is crucial because it adds an additional layer of trust and security, ensuring that the entity involved in the data exchange is legitimate and that their digital identity has been properly validated.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "signedArtifact"
value[x] |  | 1..1 | base64Binary | Value of extension
extension:publicCertificate |  | 0..1 | Extension | Public certificates help in affirming that an entity is indeed who they claim to be. These certificates are used to establish secure connections via the Mutual TLS (Transport Layer Security) protocol. Public certificates issued by Certificate Authorities are fundamental in establishing a secure and trustworthy digital environment. They enable secure communication, ensure data integrity, and facilitate authentication and trust across a wide range of online interactions.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "publicCertificate"
value[x] |  | 1..1 | base64Binary | Value of extension
url |  | 1..1 | uri | "http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-trustFramework"
Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: A trust framework typically requires the use of signed artifacts and public certificates to ensure security, integrity, and trust in digital communications and transactions. For trust frameworks that use private PKI there is no need to use this extension unless the goals is to provide access to endpoints via the endpoint reference on any of the relevant resources (e.g., careteam, healthcareService).

- trustFrameworkType: CodeableConcept: An Extension
- qualifier: string: An Extension
- signedArtifact: base64Binary: An Extension
- publicCertificate: base64Binary: An Extension

Maturity: 4

Differential View

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | NDH Trust Framework
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:trustFrameworkType | S | 1..1 | Extension | Trust Framework Type
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "trustFrameworkType"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: Trust Framework Type Value Set (extensible)
extension:qualifier | S | 0..1 | Extension | A qualifier associates with an endpoint to provide additional context or information about that endpoint in a trust framework community. Qualifiers are used to help other members of the community understand the capabilities, compliance status, or other relevant characteristics of an endpoint.
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "qualifier"
value[x] |  | 1..1 | string | Value of extension
extension:signedArtifact |  | 0..1 | Extension | By utilizing a signed artifact, you can identify which Certificate Authority has issued the certificate for the entity that signed the artifact. Verifying the issuing Certificate Authority is crucial because it adds an additional layer of trust and security, ensuring that the entity involved in the data exchange is legitimate and that their digital identity has been properly validated.
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "signedArtifact"
value[x] |  | 1..1 | base64Binary | Value of extension
extension:publicCertificate |  | 0..1 | Extension | Public certificates help in affirming that an entity is indeed who they claim to be. These certificates are used to establish secure connections via the Mutual TLS (Transport Layer Security) protocol. Public certificates issued by Certificate Authorities are fundamental in establishing a secure and trustworthy digital environment. They enable secure communication, ensure data integrity, and facilitate authentication and trust across a wide range of online interactions.
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "publicCertificate"
value[x] |  | 1..1 | base64Binary | Value of extension
url |  | 1..1 | uri | "http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-trustFramework"
value[x] |  | 0..0 |  | Value of extension
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | NDH Trust Framework
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url
extension:trustFrameworkType | S | 1..1 | Extension | Trust Framework Type
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "trustFrameworkType"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: Trust Framework Type Value Set (extensible)
extension:qualifier | S | 0..1 | Extension | A qualifier associates with an endpoint to provide additional context or information about that endpoint in a trust framework community. Qualifiers are used to help other members of the community understand the capabilities, compliance status, or other relevant characteristics of an endpoint.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "qualifier"
value[x] |  | 1..1 | string | Value of extension
extension:signedArtifact |  | 0..1 | Extension | By utilizing a signed artifact, you can identify which Certificate Authority has issued the certificate for the entity that signed the artifact. Verifying the issuing Certificate Authority is crucial because it adds an additional layer of trust and security, ensuring that the entity involved in the data exchange is legitimate and that their digital identity has been properly validated.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "signedArtifact"
value[x] |  | 1..1 | base64Binary | Value of extension
extension:publicCertificate |  | 0..1 | Extension | Public certificates help in affirming that an entity is indeed who they claim to be. These certificates are used to establish secure connections via the Mutual TLS (Transport Layer Security) protocol. Public certificates issued by Certificate Authorities are fundamental in establishing a secure and trustworthy digital environment. They enable secure communication, ensure data integrity, and facilitate authentication and trust across a wide range of online interactions.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "publicCertificate"
value[x] |  | 1..1 | base64Binary | Value of extension
url |  | 1..1 | uri | "http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-trustFramework"
Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: A trust framework typically requires the use of signed artifacts and public certificates to ensure security, integrity, and trust in digital communications and transactions. For trust frameworks that use private PKI there is no need to use this extension unless the goals is to provide access to endpoints via the endpoint reference on any of the relevant resources (e.g., careteam, healthcareService).

- trustFrameworkType: CodeableConcept: An Extension
- qualifier: string: An Extension
- signedArtifact: base64Binary: An Extension
- publicCertificate: base64Binary: An Extension

Maturity: 4

Other representations of profile: CSV, Excel, Schematron

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Extension.extension:trustFrameworkType.​value[x] | Base | extensible | Trust Framework Type Value Set | 📦2.0.0-current | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

### Notes:

A trust framework is a structured set of rules, policies, protocols, and standards that define how trust is established, managed, and maintained between different entities (such as organizations, systems, or users) involved in the exchange of healthcare information. It provides the guidelines and technical specifications to ensure secure, interoperable, and reliable data exchange. SMART, UDAP, and DirectTrust are examples of trust frameworks.

Sometimes, people refer to CareQuality, CommonWell, or TEFCA as trust frameworks, although they are actually trust communities. These communities agree to follow a trust framework to securely exchange health information. In practice, different communities may use the same trust framework with some additional rules. As a result, implementers may use the terms trust framework and trust community interchangeably.