STU3 Candidate

This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

8.18 Resource Endpoint - Content

Patient Administration Work GroupMaturity Level: 0Compartments: Not linked to any defined compartments

The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.

An endpoint describes the technical details of a location that can be connected to for the delivery/retrieval of information. Sufficient information is required to ensure that a connection can be made securely, and appropriate data transmitted as defined by the endpoint owner. This is not a description of details of the current system, as found in CapabilityStatement, but of another (potentially external) system.
These may be locally hosted services, regional services, or national service.

These resources are typically used to identify where to locate endpoint details for:

  • Questionnaires: Where to send information (currently an SDC extension with just the address)
  • ValueSet: Where related Terminology Services can be found (where not local)
  • Subscription: The destination to send the subscribed data (or to pull)
  • Messaging: (currently defined in the Message Header, but only as the address)
  • Referrals: Where to send referral requests
    (linked to the services directory resources - Organization/Location/Practitioner/HealthcareService)
  • Referrals - Templates: Where to locate referral templates (Questionnaires)
    (linked to the services directory resources - Organization/Location/Practitioner/HealthcareService)
  • CarePlans: Where a shared CarePlan can be found
  • Scheduling: Where to lookup to discover schedules/availability information
    (linked to the services directory resources - Organization/Location/Practitioner/HealthcareService)
  • Scheduling: Where to lookup to send appointment requests
    (linked to the services directory resources - Organization/Location/Practitioner/HealthcareService)
  • Patient/Person: Location of Master Patient/Person Indexes
  • Service Provider Directories: Location of related directories (parent/child/federated)

The endpoint is distinct from a capability statement in that the CapabilityStatement statement describes the entire capability of a server (and in the metadata case, just this server)
Where the endpoint resource describes the technical details for how to connect, and for what purposes (which could be a small sub-set of the server's capabilities, and may not be a FHIR endpoint).

  • Any solution where there are distributed FHIR servers deployed and need discovery/configuration
  • (Refer to the scope and usage section for common uses)

This resource is referenced by HealthcareService, Location, Organization, Practitioner and PractitionerRole

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint DomainResourceThe technical details of an endpoint that can be used for electronic services
... identifier Σ0..*IdentifierIdentifies this endpoint across multiple systems
... status ?!Σ1..1codeactive | suspended | error | off | entered-in-error | test
EndpointStatus (Required)
... name Σ0..1stringA name that this endpoint can be identified by
... managingOrganization Σ0..1Reference(Organization)Organization that manages this endpoint (may not be the organization that exposes the endpoint)
... contact 0..*ContactPointContact details for source (e.g. troubleshooting)
... period Σ0..1PeriodInterval the endpoint is expected to be operational
... connectionType Σ1..1CodingProtocol/Profile/Standard to be used with this endpoint connection
Endpoint Connection Type (Extensible)
... payloadType Σ1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Endpoint Payload Type (Example)
... payloadMimeType Σ0..*codeMimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
MimeType (Required)
... address Σ1..1uriThe technical address for conneccting to this endpoint
... header 0..*stringUsage depends on the channel type
... publicKey 0..1stringPKI Public keys to support secure communications

doco Documentation for this format

UML Diagram (Legend)

Endpoint (DomainResource)Identifier for the organization that is used to identify the endpoint across multiple disparate systemsidentifier : Identifier [0..*]active | suspended | error | off | test (this element modifies the meaning of other elements)status : code [1..1] « The status of the endpoint (Strength=Required)EndpointStatus! »A friendly name that this endpoint can be referred to withname : string [0..1]The organization that manages this endpoint (even if technically another organisation is hosting this in the cloud, it is the organisation associated with the data)managingOrganization : Reference [0..1] « Organization »Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshootingcontact : ContactPoint [0..*]The interval during which the endpoint is expected to be operationalperiod : Period [0..1]A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook)connectionType : Coding [1..1] « (Strength=Extensible)Endpoint Connection Type+ »The payload type describes the acceptable content that can be communicated on the endpointpayloadType : CodeableConcept [1..*] « (Strength=Example)Endpoint Payload Type?? »The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType)payloadMimeType : code [0..*] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required)MimeType! »The uri that describes the actual end-point to send messages toaddress : uri [1..1]Additional headers / information to send as part of the notificationheader : string [0..*]The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where availablepublicKey : string [0..1]

XML Template

<Endpoint xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifies this endpoint across multiple systems --></identifier>
 <status value="[code]"/><!-- 1..1 active | suspended | error | off | entered-in-error | test -->
 <name value="[string]"/><!-- 0..1 A name that this endpoint can be identified by -->
 <managingOrganization><!-- 0..1 Reference(Organization) Organization that manages this endpoint (may not be the organization that exposes the endpoint) --></managingOrganization>
 <contact><!-- 0..* ContactPoint Contact details for source (e.g. troubleshooting) --></contact>
 <period><!-- 0..1 Period Interval the endpoint is expected to be operational --></period>
 <connectionType><!-- 1..1 Coding Protocol/Profile/Standard to be used with this endpoint connection --></connectionType>
 <payloadType><!-- 1..* CodeableConcept The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) --></payloadType>
 <payloadMimeType value="[code]"/><!-- 0..* Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)  -->
 <address value="[uri]"/><!-- 1..1 The technical address for conneccting to this endpoint -->
 <header value="[string]"/><!-- 0..* Usage depends on the channel type -->
 <publicKey value="[string]"/><!-- 0..1 PKI Public keys to support secure communications -->
</Endpoint>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Endpoint;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Endpoint.identifier [ Identifier ], ... ; # 0..* Identifies this endpoint across multiple systems
  fhir:Endpoint.status [ code ]; # 1..1 active | suspended | error | off | entered-in-error | test
  fhir:Endpoint.name [ string ]; # 0..1 A name that this endpoint can be identified by
  fhir:Endpoint.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that manages this endpoint (may not be the organization that exposes the endpoint)
  fhir:Endpoint.contact [ ContactPoint ], ... ; # 0..* Contact details for source (e.g. troubleshooting)
  fhir:Endpoint.period [ Period ]; # 0..1 Interval the endpoint is expected to be operational
  fhir:Endpoint.connectionType [ Coding ]; # 1..1 Protocol/Profile/Standard to be used with this endpoint connection
  fhir:Endpoint.payloadType [ CodeableConcept ], ... ; # 1..* The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
  fhir:Endpoint.payloadMimeType [ code ], ... ; # 0..* Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
  fhir:Endpoint.address [ uri ]; # 1..1 The technical address for conneccting to this endpoint
  fhir:Endpoint.header [ string ], ... ; # 0..* Usage depends on the channel type
  fhir:Endpoint.publicKey [ string ]; # 0..1 PKI Public keys to support secure communications
]

Changes since DSTU2

This resource did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint DomainResourceThe technical details of an endpoint that can be used for electronic services
... identifier Σ0..*IdentifierIdentifies this endpoint across multiple systems
... status ?!Σ1..1codeactive | suspended | error | off | entered-in-error | test
EndpointStatus (Required)
... name Σ0..1stringA name that this endpoint can be identified by
... managingOrganization Σ0..1Reference(Organization)Organization that manages this endpoint (may not be the organization that exposes the endpoint)
... contact 0..*ContactPointContact details for source (e.g. troubleshooting)
... period Σ0..1PeriodInterval the endpoint is expected to be operational
... connectionType Σ1..1CodingProtocol/Profile/Standard to be used with this endpoint connection
Endpoint Connection Type (Extensible)
... payloadType Σ1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Endpoint Payload Type (Example)
... payloadMimeType Σ0..*codeMimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
MimeType (Required)
... address Σ1..1uriThe technical address for conneccting to this endpoint
... header 0..*stringUsage depends on the channel type
... publicKey 0..1stringPKI Public keys to support secure communications

doco Documentation for this format

UML Diagram (Legend)

Endpoint (DomainResource)Identifier for the organization that is used to identify the endpoint across multiple disparate systemsidentifier : Identifier [0..*]active | suspended | error | off | test (this element modifies the meaning of other elements)status : code [1..1] « The status of the endpoint (Strength=Required)EndpointStatus! »A friendly name that this endpoint can be referred to withname : string [0..1]The organization that manages this endpoint (even if technically another organisation is hosting this in the cloud, it is the organisation associated with the data)managingOrganization : Reference [0..1] « Organization »Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshootingcontact : ContactPoint [0..*]The interval during which the endpoint is expected to be operationalperiod : Period [0..1]A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook)connectionType : Coding [1..1] « (Strength=Extensible)Endpoint Connection Type+ »The payload type describes the acceptable content that can be communicated on the endpointpayloadType : CodeableConcept [1..*] « (Strength=Example)Endpoint Payload Type?? »The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType)payloadMimeType : code [0..*] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required)MimeType! »The uri that describes the actual end-point to send messages toaddress : uri [1..1]Additional headers / information to send as part of the notificationheader : string [0..*]The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where availablepublicKey : string [0..1]

XML Template

<Endpoint xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifies this endpoint across multiple systems --></identifier>
 <status value="[code]"/><!-- 1..1 active | suspended | error | off | entered-in-error | test -->
 <name value="[string]"/><!-- 0..1 A name that this endpoint can be identified by -->
 <managingOrganization><!-- 0..1 Reference(Organization) Organization that manages this endpoint (may not be the organization that exposes the endpoint) --></managingOrganization>
 <contact><!-- 0..* ContactPoint Contact details for source (e.g. troubleshooting) --></contact>
 <period><!-- 0..1 Period Interval the endpoint is expected to be operational --></period>
 <connectionType><!-- 1..1 Coding Protocol/Profile/Standard to be used with this endpoint connection --></connectionType>
 <payloadType><!-- 1..* CodeableConcept The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) --></payloadType>
 <payloadMimeType value="[code]"/><!-- 0..* Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)  -->
 <address value="[uri]"/><!-- 1..1 The technical address for conneccting to this endpoint -->
 <header value="[string]"/><!-- 0..* Usage depends on the channel type -->
 <publicKey value="[string]"/><!-- 0..1 PKI Public keys to support secure communications -->
</Endpoint>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Endpoint;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Endpoint.identifier [ Identifier ], ... ; # 0..* Identifies this endpoint across multiple systems
  fhir:Endpoint.status [ code ]; # 1..1 active | suspended | error | off | entered-in-error | test
  fhir:Endpoint.name [ string ]; # 0..1 A name that this endpoint can be identified by
  fhir:Endpoint.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that manages this endpoint (may not be the organization that exposes the endpoint)
  fhir:Endpoint.contact [ ContactPoint ], ... ; # 0..* Contact details for source (e.g. troubleshooting)
  fhir:Endpoint.period [ Period ]; # 0..1 Interval the endpoint is expected to be operational
  fhir:Endpoint.connectionType [ Coding ]; # 1..1 Protocol/Profile/Standard to be used with this endpoint connection
  fhir:Endpoint.payloadType [ CodeableConcept ], ... ; # 1..* The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
  fhir:Endpoint.payloadMimeType [ code ], ... ; # 0..* Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
  fhir:Endpoint.address [ uri ]; # 1..1 The technical address for conneccting to this endpoint
  fhir:Endpoint.header [ string ], ... ; # 0..* Usage depends on the channel type
  fhir:Endpoint.publicKey [ string ]; # 0..1 PKI Public keys to support secure communications
]

Changes since DSTU2

This resource did not exist in Release 2

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle), JSON-LD (for RDF as JSON-LD),

PathDefinitionTypeReference
Endpoint.status The status of the endpointRequiredEndpointStatus
Endpoint.connectionType ExtensibleEndpoint Connection Type
Endpoint.payloadType ExampleEndpoint Payload Type
Endpoint.payloadMimeType The mime type of an attachment. Any valid mime type is allowed.RequiredBCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPathsIn Common
connection-typetokenProtocol/Profile/Standard to be used with this endpoint connectionEndpoint.connectionType
identifiertokenIdentifies this endpoint across multiple systemsEndpoint.identifier
namestringA name that this endpoint can be identified byEndpoint.name
organizationreferenceThe organization that is managing the endpointEndpoint.managingOrganization
(Organization)
payload-typetokenThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)Endpoint.payloadType
statustokenThe current status of the Endpoint (usually expected to be active)Endpoint.status