This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). 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
Patient Administration Work Group | Maturity Level: 2 | Trial Use | Compartments: 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:
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 might not be a FHIR endpoint).
Endpoints are used to facilitate system to system communication, providing the details of the addressing of the system, purpose of use, protocols required/provided, and any other details required to communicate between the systems. (such as configuration parameters, require headers ...) The address vaue in the endpoint can only be used in the context of the provided details.
E.g. If the endpoint has a URL for an XDS service, using that in a browser by a user is meaningless.
E.g.2 If the endpoint has a US Direct address, using this to send a normal email message will not work, as they are not true email addresses (even though they appear to be)
A ContactPoint contains contact information, such as a phone number, web address that a user can directly interact with, no additional information would be required to use the value. Generally it is used to communicate with an entity directly, not a system.
This resource is referenced by HealthcareService, ImagingStudy, InsurancePlan, Location, Organization, OrganizationAffiliation and PractitionerRole
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Endpoint | TU | DomainResource | The technical details of an endpoint that can be used for electronic services Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Identifies this endpoint across multiple systems |
status | ?!Σ | 1..1 | code | active | suspended | error | off | entered-in-error | test EndpointStatus (Required) |
connectionType | Σ | 1..1 | Coding | Protocol/Profile/Standard to be used with this endpoint connection Endpoint Connection Type (Extensible) |
name | Σ | 0..1 | string | A name that this endpoint can be identified by |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that manages this endpoint (might not be the organization that exposes the endpoint) |
contact | 0..* | ContactPoint | Contact details for source (e.g. troubleshooting) | |
period | Σ | 0..1 | Period | Interval the endpoint is expected to be operational |
payloadType | Σ | 1..* | CodeableConcept | The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) Endpoint Payload Type (Example) |
payloadMimeType | Σ | 0..* | code | Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this) MimeType (Required) |
address | Σ | 1..1 | url | The technical base address for connecting to this endpoint |
header | 0..* | string | Usage depends on the channel type | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<Endpoint xmlns="http://hl7.org/fhir"> <!-- 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 --> <connectionType><!-- 1..1 Coding Protocol/Profile/Standard to be used with this endpoint connection --></connectionType> <name value="[string]"/><!-- 0..1 A name that this endpoint can be identified by --> <managingOrganization><!-- 0..1 Reference(Organization) Organization that manages this endpoint (might 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> <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="[url]"/><!-- 1..1 The technical base address for connecting to this endpoint --> <header value="[string]"/><!-- 0..* Usage depends on the channel type --> </Endpoint>
JSON Template
{ "resourceType" : "Endpoint", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifies this endpoint across multiple systems "status" : "<code>", // R! active | suspended | error | off | entered-in-error | test "connectionType" : { Coding }, // R! Protocol/Profile/Standard to be used with this endpoint connection "name" : "<string>", // A name that this endpoint can be identified by "managingOrganization" : { Reference(Organization) }, // Organization that manages this endpoint (might not be the organization that exposes the endpoint) "contact" : [{ ContactPoint }], // Contact details for source (e.g. troubleshooting) "period" : { Period }, // Interval the endpoint is expected to be operational "payloadType" : [{ CodeableConcept }], // R! The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) "payloadMimeType" : ["<code>"], // Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this) "address" : "<url>", // R! The technical base address for connecting to this endpoint "header" : ["<string>"] // Usage depends on the channel type }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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.connectionType [ Coding ]; # 1..1 Protocol/Profile/Standard to be used with this endpoint connection 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 (might 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.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 [ url ]; # 1..1 The technical base address for connecting to this endpoint fhir:Endpoint.header [ string ], ... ; # 0..* Usage depends on the channel type ]
Changes since R3
Endpoint | |
Endpoint.address |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. 3 fail round-trip testing and 3 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Endpoint | TU | DomainResource | The technical details of an endpoint that can be used for electronic services Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Identifies this endpoint across multiple systems |
status | ?!Σ | 1..1 | code | active | suspended | error | off | entered-in-error | test EndpointStatus (Required) |
connectionType | Σ | 1..1 | Coding | Protocol/Profile/Standard to be used with this endpoint connection Endpoint Connection Type (Extensible) |
name | Σ | 0..1 | string | A name that this endpoint can be identified by |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that manages this endpoint (might not be the organization that exposes the endpoint) |
contact | 0..* | ContactPoint | Contact details for source (e.g. troubleshooting) | |
period | Σ | 0..1 | Period | Interval the endpoint is expected to be operational |
payloadType | Σ | 1..* | CodeableConcept | The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) Endpoint Payload Type (Example) |
payloadMimeType | Σ | 0..* | code | Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this) MimeType (Required) |
address | Σ | 1..1 | url | The technical base address for connecting to this endpoint |
header | 0..* | string | Usage depends on the channel type | |
Documentation for this format |
XML Template
<Endpoint xmlns="http://hl7.org/fhir"> <!-- 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 --> <connectionType><!-- 1..1 Coding Protocol/Profile/Standard to be used with this endpoint connection --></connectionType> <name value="[string]"/><!-- 0..1 A name that this endpoint can be identified by --> <managingOrganization><!-- 0..1 Reference(Organization) Organization that manages this endpoint (might 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> <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="[url]"/><!-- 1..1 The technical base address for connecting to this endpoint --> <header value="[string]"/><!-- 0..* Usage depends on the channel type --> </Endpoint>
JSON Template
{ "resourceType" : "Endpoint", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifies this endpoint across multiple systems "status" : "<code>", // R! active | suspended | error | off | entered-in-error | test "connectionType" : { Coding }, // R! Protocol/Profile/Standard to be used with this endpoint connection "name" : "<string>", // A name that this endpoint can be identified by "managingOrganization" : { Reference(Organization) }, // Organization that manages this endpoint (might not be the organization that exposes the endpoint) "contact" : [{ ContactPoint }], // Contact details for source (e.g. troubleshooting) "period" : { Period }, // Interval the endpoint is expected to be operational "payloadType" : [{ CodeableConcept }], // R! The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) "payloadMimeType" : ["<code>"], // Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this) "address" : "<url>", // R! The technical base address for connecting to this endpoint "header" : ["<string>"] // Usage depends on the channel type }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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.connectionType [ Coding ]; # 1..1 Protocol/Profile/Standard to be used with this endpoint connection 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 (might 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.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 [ url ]; # 1..1 The technical base address for connecting to this endpoint fhir:Endpoint.header [ string ], ... ; # 0..* Usage depends on the channel type ]
Changes since Release 3
Endpoint | |
Endpoint.address |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. 3 fail round-trip testing and 3 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
Endpoint.status | The status of the endpoint. | Required | EndpointStatus |
Endpoint.connectionType | Extensible | EndpointConnectionType | |
Endpoint.payloadType | Example | EndpointPayloadType | |
Endpoint.payloadMimeType | The mime type of an attachment. Any valid mime type is allowed. | Required | Mime Types |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
connection-type | token | Protocol/Profile/Standard to be used with this endpoint connection | Endpoint.connectionType | |
identifier | token | Identifies this endpoint across multiple systems | Endpoint.identifier | |
name | string | A name that this endpoint can be identified by | Endpoint.name | |
organization | reference | The organization that is managing the endpoint | Endpoint.managingOrganization.where(resolve() is Organization) (Organization) | |
payload-type | token | The type of content that may be used at this endpoint (e.g. XDS Discharge summaries) | Endpoint.payloadType | |
status | token | The current status of the Endpoint (usually expected to be active) | Endpoint.status |