National Directory of Healthcare Providers & Services (NDH) Implementation Guide
1.0.0 - STU1 United States of America flag

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 1.0.0 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

Resource Profile: NDH Base Endpoint Profile

Official URL: http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint Version: 1.0.0
Standards status: Trial-use Computable Name: NdhEndpoint

Copyright/Legal: HL7 International

The technical details of an endpoint that can be used for electronic services, such as a portal or FHIR REST services, messaging or operations, or DIRECT messaging.

Scope and Usage

The endpoint resource provides technical specifications for connecting to a specific location to transmit and retrieve information securely and accurately, according to the requirements of the endpoint owner. Unlike the CapabilityStatement, which describes the current system, the endpoint resource pertains to another system, potentially external to the current one. The endpoint could refer to locally hosted, regional, or national services.

Endpoint resources can be used to identify the location of endpoint details for various purposes, including referral requests to Organizations, OrganizationAffiliation, Locations, Practitioners, PractitionerRole or HealthcareServices. These resources can provide information on where to direct the referral request for efficient and effective care coordination.

Endpoint resources can also be useful for other purposes, such as facilitating preauthorization between insurance plans, network, and providers. They can be used to exchange information between care team members, allowing for seamless collaboration and communication among different healthcare providers involved in a patient's care. By utilizing endpoint resources, relevant information can be shared securely and efficiently, helping to improve the quality of care and patient outcomes.

Boundaries and Relationships

CapabilityStatement vs Endpoint

The CapabilityStatement and the endpoint resource serve distinct purposes. While the CapabilityStatement describes the complete capability of a server, including the metadata of a specific server, the endpoint resource outlines the technical specifications for establishing connections and the intended purposes of such connections. The endpoint resource may only represent a small fraction of the server's capabilities, and it may not even function as a FHIR endpoint.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..* Endpoint The technical details of an endpoint that can be used for electronic services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:endpoint-usecase 0..* (Complex) Endpoint Usecase
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-usecase
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:endpoint-nonfhir-usecase 0..* (Complex) Non FHIR Endpoint Usecase
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-non-fhir-usecase
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:fhir-ig 0..* (Complex) IGs supported
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-fhir-ig
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:secure-exchange-artifacts 0..* (Complex) Secure Exchange Artifacts store information about the type of public certificate, the certificate itself, and its expiration date. Issued by Certificate Authorities, public certificates are meant for sharing and verification in digital communications. Each certificate includes an expiration date, essential for validating its current validity and maintaining security. This extension is used when the exchange standard requires the discovery of the public key.
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-secureExchangeArtifacts
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:trust-framework 0..* (Complex) 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 that ensure secure, interoperable, and reliable data exchange.
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-trustFramework
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:dynamic-registration 0..* (Complex) Dynamic registration within a trust framework refers to a process where clients can register with a server or service provider dynamically and securely at runtime, rather than being pre-registered manually. This approach is often used in environments where scalability, flexibility, and security are crucial. Currently, dynamic registration is used in SMART and UDAP.
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-dynamicRegistration
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:associated-servers 0..* (Complex) Store information about servers that may be associated with the current endpoint. It defines a set of servers that could be linked to this endpoint. If a server is associated, its type and URL will be included
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-associatedServers
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:access-control-mechanism 0..1 CodeableConcept Access control mechanisms are designed to protect and manage access to healthcare endpoints, ensuring that data exchange between systems adheres to specific security protocols when needed.
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpointAccessControlMechanism
Binding: Endpoint Access Control Mechanism Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:connection-type-version 0..* CodeableConcept Connection Type Version
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-connection-type-version
Binding: FHIRVersion (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:endpoint-rank 0..1 positiveInt Preferred order for connecting to the endpoint
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-rank
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:ihe-specific-connection-type 0..* CodeableConcept IHE Specific Connection Type
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-ihe-specific-connection-type
Binding: Endpoint IHE Specific Connection Types Value Set (preferred)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:usage-restriction 0..* Reference(NDH Base Restriction) {c} Usage Restriction
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-usage-restriction
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:verification-status 0..1 CodeableConcept Verification Status
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status
Binding: NDH Verification Status Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:testing-certification 0..* (Complex) Endpoint Testing Certification
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-testing-certification
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:environmentType 0..* CodeableConcept The type of environment exposed at this endpoint
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-environment-type
Binding: NDH Endpoint Environment Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... Slices for extension Content/Rules for all slices
..... extension:identifier-status 0..1 code NDH Identifier Status
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status
Binding: Identifier Status Value Set (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... assigner Σ 0..1 Reference(NDH Base Organization Profile) Organization that issued id (may be just text)
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code active | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required): The status of the endpoint.


ele-1: All FHIR elements must have a @value or children
Fixed Value: active
... connectionType SΣ 1..1 Coding Protocol/Profile/Standard to be used with this endpoint connection
Binding: Endpoint Connection Types Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
... name SΣ 0..1 string A name that this endpoint can be identified by
ele-1: All FHIR elements must have a @value or children
... managingOrganization SΣ 0..1 Reference(NDH Base Organization Profile) Organization that manages this endpoint (might not be the organization that exposes the endpoint)
ele-1: All FHIR elements must have a @value or children
... payloadType Σ 1..1 CodeableConcept The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Binding: Endpoint Payload Type Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
... payloadMimeType SΣ 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Endpoint FHIR Mimetype Value Set (required)
ele-1: All FHIR elements must have a @value or children
... address Σ 1..1 url The technical base address for connecting to this endpoint
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Endpoint.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Endpoint.statusrequiredFixed Value: active
http://hl7.org/fhir/ValueSet/endpoint-status|4.0.1
from the FHIR Standard
Endpoint.connectionTypeextensibleEndpointConnectionTypeVS
http://hl7.org/fhir/us/ndh/ValueSet/EndpointConnectionTypeVS
from this IG
Endpoint.payloadTypeextensibleEndpointPayloadTypeVS
http://hl7.org/fhir/us/ndh/ValueSet/EndpointPayloadTypeVS
from this IG
Endpoint.payloadMimeTyperequiredEndpointFhirMimeTypeVS
http://hl7.org/fhir/us/ndh/ValueSet/EndpointFhirMimeTypeVS
from this IG

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Search Parameters

Search Parameter defined by the NDH IG

SearchParameter Name Type Example
access-control-mechanism token GET [base]/Endpoint?endpoint-access-control-mechanism=mutual-tls
connection-type-version token GET [base]/Endpoint?connection-type-version=4.0.1
dynamic-registration-trust-profile token GET [base]/Endpoint?dynamic-registration-trust-profile=udap
ihe-connection-type token GET [base]/Endpoint?ihe-connection-type=XCPD-InitGateway-PatientDiscovery-AsyncResponse
nonfhir-usecase-type token GET [base]/Endpoint?nonfhir-usecase-type=patient-access
trust-framework-type token GET [base]/Endpoin?trust-framework-type=DirectTrust
usecase-type token GET [base]/Endpoint?usecase-type=payerTopayer
verification-status token GET [base]/Endpoint?verification-status=complete

Search Parameter defined by FHIR Search Parameter Registry and used by the NDH IG

Since there is no direct individual url for each Search Parameter defined by FHIR Serach Parameter Registry, we have provided the following links for you to access more information about them.

SearchParameter Name Type Example
connection-type token GET [base]/Endpoint?connection-type=hl7-fhir-rest
identifier token GET [base]/Endpoint?identifier={system}|{value}
organization reference GET [base]/Endpoint?organization.name=Hartford General Hospital
status token GET [base]/Endpoint?status=active

_include Search Parameter

_include Example
Endpoint:organization GET [base]/CareTeam?_include=Endpoint:organization

_revinclude Search parameter

_revinclude
CareTeam:endpoint
HealthcareService:endpoint
InsurancePlan:endpoint
Location:endpoint
Organization:endpoint
OrganizationAffiliation:endpoint
Practitioner: endpoint
PractitionerRole:endpoint
VerifcationResult:target

Special Search Parameters

The search parameters outlined above are straightforward for basic scenarios but have limitations in handling complex combination queries. To enhance these capabilities, employing the special search parameters _filter is recommended.