STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). 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.

8.18.1 Scope and Usage

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 conformance, 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)

8.18.2 Boundaries and Relationships

The endpoint is distinct from a conformance statement in that the Conformance stataement 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).

8.18.3 Background and Context

8.18.3.1 Expected Implementations

  • 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 Location, Organization, Practitioner and PractitionerRole

8.18.4 Resource Content

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
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)
... connectionType Σ1..1Codingrest-hook | websocket | email | sms | message
SubscriptionChannelType (Extensible)
... method Σ0..*CodingThe http verb to be used when calling this endpoint
HTTPVerb (Extensible)
... period Σ0..1PeriodInterval during responsibility is assumed
... address Σ1..1uriWhere the channel points to
... payloadFormat 1..1stringMimetype to send, or blank for no payload
... payloadType Σ1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Endpoint Payload Type (Example)
... 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 (this element modifies the meaning of other elements)status : code [1..1] « The status of the encounter. (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 type of channel to send notifications onconnectionType : Coding [1..1] « The type of the subscription. (Strength=Extensible)SubscriptionChannelType+ »The http verb to be used when calling this endpointmethod : Coding [0..*] « (Strength=Extensible)HTTPVerb+ »The interval during which the managing organization assumes the defined responsibilityperiod : Period [0..1]The uri that describes the actual end-point to send messages toaddress : uri [1..1]The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the mime type is blank, then there is no payload in the notification, just a notificationpayloadFormat : string [1..1]The payload type describes the acceptable content that can be communicated on the endpointpayloadType : CodeableConcept [1..*] « (Strength=Example)Endpoint Payload Type?? »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]

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
  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.connectionType [ Coding ]; # 1..1 rest-hook | websocket | email | sms | message
  fhir:Endpoint.method [ Coding ], ... ; # 0..* The http verb to be used when calling this endpoint
  fhir:Endpoint.period [ Period ]; # 0..1 Interval during responsibility is assumed
  fhir:Endpoint.address [ uri ]; # 1..1 Where the channel points to
  fhir:Endpoint.payloadFormat [ string ]; # 1..1 Mimetype to send, or blank for no payload
  fhir:Endpoint.payloadType [ CodeableConcept ], ... ; # 1..* The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
  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
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)
... connectionType Σ1..1Codingrest-hook | websocket | email | sms | message
SubscriptionChannelType (Extensible)
... method Σ0..*CodingThe http verb to be used when calling this endpoint
HTTPVerb (Extensible)
... period Σ0..1PeriodInterval during responsibility is assumed
... address Σ1..1uriWhere the channel points to
... payloadFormat 1..1stringMimetype to send, or blank for no payload
... payloadType Σ1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Endpoint Payload Type (Example)
... 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 (this element modifies the meaning of other elements)status : code [1..1] « The status of the encounter. (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 type of channel to send notifications onconnectionType : Coding [1..1] « The type of the subscription. (Strength=Extensible)SubscriptionChannelType+ »The http verb to be used when calling this endpointmethod : Coding [0..*] « (Strength=Extensible)HTTPVerb+ »The interval during which the managing organization assumes the defined responsibilityperiod : Period [0..1]The uri that describes the actual end-point to send messages toaddress : uri [1..1]The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the mime type is blank, then there is no payload in the notification, just a notificationpayloadFormat : string [1..1]The payload type describes the acceptable content that can be communicated on the endpointpayloadType : CodeableConcept [1..*] « (Strength=Example)Endpoint Payload Type?? »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]

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
  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.connectionType [ Coding ]; # 1..1 rest-hook | websocket | email | sms | message
  fhir:Endpoint.method [ Coding ], ... ; # 0..* The http verb to be used when calling this endpoint
  fhir:Endpoint.period [ Period ]; # 0..1 Interval during responsibility is assumed
  fhir:Endpoint.address [ uri ]; # 1..1 Where the channel points to
  fhir:Endpoint.payloadFormat [ string ]; # 1..1 Mimetype to send, or blank for no payload
  fhir:Endpoint.payloadType [ CodeableConcept ], ... ; # 1..* The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
  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)

8.18.4.1 Terminology Bindings

PathDefinitionTypeReference
Endpoint.status The status of the encounter.RequiredEndpointStatus
Endpoint.connectionType The type of the subscription.ExtensibleSubscriptionChannelType
Endpoint.method ExtensibleHTTPVerb
Endpoint.payloadType ExampleEndpoint Payload Type

8.18.5 Search Parameters

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

NameTypeDescriptionPaths
identifiertokenIdentifies this endpoint across multiple systemsEndpoint.identifier
namestringA name that this endpoint can be identified byEndpoint.name
organizationreferenceThe organization that is exposing 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