Health Connect Australia Provider Directory FHIR Implementation Guide, published by Australian Digital Health Agency. This guide is not an authorized publication; it is the continuous build for version 0.2.0-preview built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/steveswinsburg/HealthConnect/ and changes regularly. See the Directory of published versions

Resource Profile: HC Endpoint

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-endpoint Version: 0.2.0-preview
Standards status: Draft Computable Name: HCEndpoint

Usage:Jurisdiction: Australia

Copyright/Legal: Copyright © 2025 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/

This profile defines content for describing details of an endpoint.

No data is entered directly into Health Connect; all Directory content is sourced from authoritative systems including PCA, HI-Service, and NHSD.

Extensions

Extensions introduced in this profile:

Usage notes

The following guidance expands on operational and implementation expectations for this Endpoint profile.

  • Purpose: An Endpoint in Health Connect describes how to communicate with a service (address, protocol, payloads and contact details). Directory consumers use this information to establish connections, and operational tooling uses it to monitor and validate connectivity.

Implementation requirements vs. processing

Implementers SHALL process all elements marked as Must Support (MS) in this profile to be conformant. However, certain elements that are mandatory do not need to be processed by Health Connect Provider Directory Requester Actors:

  • Endpoint.status: This element is not MUST SUPPORT but is mandatory therefore it MAY be ignored by implementing systems. A value will be provided but MAY be ignored.

Initial endpoint scope and future expansion

Health Connect initially expects published Endpoint resources to describe Secure Messaging endpoints (SMD-capable targets and related secure messaging transports). Requesters and search clients should expect SMD-specific metadata and prioritise handling SMD attributes (SMD Target Identifier, encryption certificate, and routing identifiers). Over time, clients may be able to handle additional protocol metadata (for example, FHIR REST endpoint details) as publishers begin to expose FHIR and other transport types.

Identifiers and stable handles

The Endpoint profile uses two stable identifier slices for Directory management and routing:

  • HC Endpoint Identifier (HC-EPI) - a externally-assigned endpoint identifier. Publishers SHOULD set this identifier on creation and thereafter treat it as immutable. The identifier SHALL be globally unique within HealthConnect and SHALL NOT be re‑assigned. Client systems SHOULD prefer this identifier for reconciliation and updates rather than attempting to infer identity from other attributes.
  • HC SMD Target Identifier - a slice used only when the endpoint (or associated practitioner/service) supports Secure Messaging Delivery (SMD). When present the SMD identifier SHALL be globally unique and SHALL be treated as an immutable routing handle for secure point‑to‑point or hub‑mediated messaging. Publishers SHOULD only populate this slice for endpoints that actually support SMD.

Reciprocal relationships

In FHIR, linkage to resources is owned by the referencing resources (HealthcareService.endpoint, PractitionerRole.endpoint, Location.endpoint). The Endpoint resource itself has no back‑reference slots to those resources. Consequently:

  • Reciprocity cannot be enforced within the Endpoint profile (there is no standard element on Endpoint to list referencing HealthcareService / Location / PractitionerRole resources).
  • Directory governance MUST ensure that when a referencing resource adds or removes an Endpoint, any operational expectations (availability, deprecation, auditing) are handled in process.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Endpoint 0..* Endpoint(4.0.1) Health Connect Endpoint
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:receivingFacility SO 0..1 (Complex) HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:receivingApplication SO 0..1 (Complex) HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:dataEnciphermentCertificate SO 0..* string PEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
.... identifier:HCSMDTargetIdentifier SΣ 0..* HCSMDTargetIdentifier(0.2.0-preview) SMD Target Identifier
.... identifier:HCEndpointIdentifier SΣ 1..1 HCEndpointIdentifier(0.2.0-preview) HC Endpoint Identifier attributed from source system
... status ?!Σ 1..1 code active | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required): The status of the endpoint.
... connectionType SOΣ 1..1 Coding To specify the service interface types
Binding: HCServiceInterfacesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... name SOΣ 0..1 string To enable consistent and correct identification of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadType SOΣ 1..* CodeableConcept Endpoint payload type
Binding: AustralianEndpointPayloadTypesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadMimeType SOΣ 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... address SOΣ 1..1 url URL address of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Endpoint.status Base required EndpointStatus 📍4.0.1 FHIR Std.
Endpoint.connectionType Base extensible HC Australian Service Interfaces 📍0.2.0-preview This IG
Endpoint.payloadType Base extensible HC Australian Endpoint Payload Types 📍0.2.0-preview This IG
Endpoint.payloadMimeType Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Endpoint If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Endpoint 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Endpoint If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Endpoint If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Endpoint A resource should have narrative for robust management text.`div`.exists()
ele-1 error Endpoint.implicitRules, Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension, Endpoint.identifier, Endpoint.identifier:HCSMDTargetIdentifier, Endpoint.identifier:HCEndpointIdentifier, Endpoint.status, Endpoint.connectionType, Endpoint.name, Endpoint.payloadType, Endpoint.payloadMimeType, Endpoint.address All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Endpoint

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Endpoint 0..* Endpoint(4.0.1) Health Connect Endpoint
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:receivingFacility SO 0..1 (Complex) HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:receivingApplication SO 0..1 (Complex) HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:dataEnciphermentCertificate SO 0..* string PEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... Slices for identifier SO 1..* Identifier Unique identifier of the endpoint record
Slice: Unordered, Open by pattern:type, value:system
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... identifier:HCSMDTargetIdentifier S 0..* HCSMDTargetIdentifier(0.2.0-preview) SMD Target Identifier
.... identifier:HCEndpointIdentifier S 1..1 HCEndpointIdentifier(0.2.0-preview) HC Endpoint Identifier attributed from source system
... connectionType SO 1..1 Coding To specify the service interface types
Binding: HCServiceInterfacesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadType SO 1..* CodeableConcept Endpoint payload type
Binding: AustralianEndpointPayloadTypesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadMimeType SO 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... address SO 1..1 url URL address of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Endpoint.connectionType Base extensible HC Australian Service Interfaces 📍0.2.0-preview This IG
Endpoint.payloadType Base extensible HC Australian Endpoint Payload Types 📍0.2.0-preview This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Endpoint 0..* Endpoint(4.0.1) Health Connect Endpoint
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:receivingFacility SO 0..1 (Complex) HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:receivingApplication SO 0..1 (Complex) HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:dataEnciphermentCertificate SO 0..* string PEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... Slices for identifier SOΣ 1..* Identifier Unique identifier of the endpoint record
Slice: Unordered, Open by pattern:type, value:system
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... identifier:HCSMDTargetIdentifier SΣ 0..* HCSMDTargetIdentifier(0.2.0-preview) SMD Target Identifier
.... identifier:HCEndpointIdentifier SΣ 1..1 HCEndpointIdentifier(0.2.0-preview) HC Endpoint Identifier attributed from source system
... status ?!Σ 1..1 code active | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required): The status of the endpoint.
... connectionType SOΣ 1..1 Coding To specify the service interface types
Binding: HCServiceInterfacesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... name SOΣ 0..1 string To enable consistent and correct identification of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... 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 SOΣ 1..* CodeableConcept Endpoint payload type
Binding: AustralianEndpointPayloadTypesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadMimeType SOΣ 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... address SOΣ 1..1 url URL address of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... header 0..* string Usage depends on the channel type

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Endpoint.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Endpoint.status Base required EndpointStatus 📍4.0.1 FHIR Std.
Endpoint.connectionType Base extensible HC Australian Service Interfaces 📍0.2.0-preview This IG
Endpoint.payloadType Base extensible HC Australian Endpoint Payload Types 📍0.2.0-preview This IG
Endpoint.payloadMimeType Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Endpoint If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Endpoint 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Endpoint If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Endpoint If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Endpoint A resource should have narrative for robust management text.`div`.exists()
ele-1 error Endpoint.meta, Endpoint.implicitRules, Endpoint.language, Endpoint.text, Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension, Endpoint.identifier, Endpoint.identifier:HCSMDTargetIdentifier, Endpoint.identifier:HCEndpointIdentifier, Endpoint.status, Endpoint.connectionType, Endpoint.name, Endpoint.managingOrganization, Endpoint.contact, Endpoint.period, Endpoint.payloadType, Endpoint.payloadMimeType, Endpoint.address, Endpoint.header All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Endpoint 0..* Endpoint(4.0.1) Health Connect Endpoint
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:receivingFacility SO 0..1 (Complex) HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:receivingApplication SO 0..1 (Complex) HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:dataEnciphermentCertificate SO 0..* string PEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
.... identifier:HCSMDTargetIdentifier SΣ 0..* HCSMDTargetIdentifier(0.2.0-preview) SMD Target Identifier
.... identifier:HCEndpointIdentifier SΣ 1..1 HCEndpointIdentifier(0.2.0-preview) HC Endpoint Identifier attributed from source system
... status ?!Σ 1..1 code active | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required): The status of the endpoint.
... connectionType SOΣ 1..1 Coding To specify the service interface types
Binding: HCServiceInterfacesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... name SOΣ 0..1 string To enable consistent and correct identification of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadType SOΣ 1..* CodeableConcept Endpoint payload type
Binding: AustralianEndpointPayloadTypesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadMimeType SOΣ 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... address SOΣ 1..1 url URL address of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Endpoint.status Base required EndpointStatus 📍4.0.1 FHIR Std.
Endpoint.connectionType Base extensible HC Australian Service Interfaces 📍0.2.0-preview This IG
Endpoint.payloadType Base extensible HC Australian Endpoint Payload Types 📍0.2.0-preview This IG
Endpoint.payloadMimeType Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Endpoint If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Endpoint 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Endpoint If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Endpoint If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Endpoint A resource should have narrative for robust management text.`div`.exists()
ele-1 error Endpoint.implicitRules, Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension, Endpoint.identifier, Endpoint.identifier:HCSMDTargetIdentifier, Endpoint.identifier:HCEndpointIdentifier, Endpoint.status, Endpoint.connectionType, Endpoint.name, Endpoint.payloadType, Endpoint.payloadMimeType, Endpoint.address All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Endpoint

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Endpoint 0..* Endpoint(4.0.1) Health Connect Endpoint
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:receivingFacility SO 0..1 (Complex) HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:receivingApplication SO 0..1 (Complex) HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:dataEnciphermentCertificate SO 0..* string PEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... Slices for identifier SO 1..* Identifier Unique identifier of the endpoint record
Slice: Unordered, Open by pattern:type, value:system
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... identifier:HCSMDTargetIdentifier S 0..* HCSMDTargetIdentifier(0.2.0-preview) SMD Target Identifier
.... identifier:HCEndpointIdentifier S 1..1 HCEndpointIdentifier(0.2.0-preview) HC Endpoint Identifier attributed from source system
... connectionType SO 1..1 Coding To specify the service interface types
Binding: HCServiceInterfacesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadType SO 1..* CodeableConcept Endpoint payload type
Binding: AustralianEndpointPayloadTypesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadMimeType SO 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... address SO 1..1 url URL address of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Endpoint.connectionType Base extensible HC Australian Service Interfaces 📍0.2.0-preview This IG
Endpoint.payloadType Base extensible HC Australian Endpoint Payload Types 📍0.2.0-preview This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Endpoint 0..* Endpoint(4.0.1) Health Connect Endpoint
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:receivingFacility SO 0..1 (Complex) HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:receivingApplication SO 0..1 (Complex) HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... extension:dataEnciphermentCertificate SO 0..* string PEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
Constraints: ext-1
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... Slices for identifier SOΣ 1..* Identifier Unique identifier of the endpoint record
Slice: Unordered, Open by pattern:type, value:system
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
.... identifier:HCSMDTargetIdentifier SΣ 0..* HCSMDTargetIdentifier(0.2.0-preview) SMD Target Identifier
.... identifier:HCEndpointIdentifier SΣ 1..1 HCEndpointIdentifier(0.2.0-preview) HC Endpoint Identifier attributed from source system
... status ?!Σ 1..1 code active | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required): The status of the endpoint.
... connectionType SOΣ 1..1 Coding To specify the service interface types
Binding: HCServiceInterfacesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... name SOΣ 0..1 string To enable consistent and correct identification of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... 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 SOΣ 1..* CodeableConcept Endpoint payload type
Binding: AustralianEndpointPayloadTypesValueSet (0.2.0-preview) (extensible)
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... payloadMimeType SOΣ 0..* code Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... address SOΣ 1..1 url URL address of the endpoint
ObligationsActor
SHALL:populate-if-known Health Connect Provider Directory Responder Actor
SHOULD:handle Health Connect Provider Directory Requester Actor
... header 0..* string Usage depends on the channel type

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Endpoint.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Endpoint.status Base required EndpointStatus 📍4.0.1 FHIR Std.
Endpoint.connectionType Base extensible HC Australian Service Interfaces 📍0.2.0-preview This IG
Endpoint.payloadType Base extensible HC Australian Endpoint Payload Types 📍0.2.0-preview This IG
Endpoint.payloadMimeType Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Endpoint If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Endpoint 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Endpoint If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Endpoint If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Endpoint A resource should have narrative for robust management text.`div`.exists()
ele-1 error Endpoint.meta, Endpoint.implicitRules, Endpoint.language, Endpoint.text, Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension, Endpoint.identifier, Endpoint.identifier:HCSMDTargetIdentifier, Endpoint.identifier:HCEndpointIdentifier, Endpoint.status, Endpoint.connectionType, Endpoint.name, Endpoint.managingOrganization, Endpoint.contact, Endpoint.period, Endpoint.payloadType, Endpoint.payloadMimeType, Endpoint.address, Endpoint.header All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Endpoint.extension, Endpoint.extension:receivingFacility, Endpoint.extension:receivingApplication, Endpoint.extension:dataEnciphermentCertificate, Endpoint.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Search parameters

This IG defines and introduces several search parameters in addition to those inherited from R4, that make it easier to find and filter HC Endpoint resources in Health Connect implementations.

Search parameters defined in this IG

The following search parameters are defined by this IG and SHOULD be supported:

  • hcepi (Endpoint.identifier where type = Resource Identifier)
  • Find endpoint records by the HC identifier assigned in Health Connect. Uses token matching for exact value matching.
  • Example: GET /Endpoint?hcepi=EP001234567890

  • payloadmimetype (Endpoint.payloadMimeType)
  • Search for endpoints that advertise support for a specific MIME type for payloads.
  • Typical values present in this IG's example data are:
    • application/pdf
    • application/fhir+xml
    • application/fhir+json
  • Example: GET /Endpoint?payloadmimetype=application%2Ffhir%2Bjson

  • epurl (alias used in this IG for Endpoint.address)
  • Convenience alias used in this IG's documentation to search by endpoint address.
  • Example: GET /Endpoint?epurl=https://smd.sydneyhospital.org.au/secure-messaging/endpoint

Search parameters from R4

The following search parameters are inherited from FHIR R4 and have been deemed useful for implementation within this IG. They SHOULD be supported:

  • name (R4) (Endpoint.name)
  • Search for endpoints by name (partial matches may be supported).
  • Example: GET /Endpoint?name=My%20GP%20Service

  • connection-type (R4) (Endpoint.connectionType)
  • Search for endpoints by connection type (for example, hl7-fhir-rest or other interface codes).
  • Example: GET /Endpoint?connection-type=http://terminology.hl7.org.au/CodeSystem/endpoint-connection-type|secure-messaging

  • payload-type (R4) (Endpoint.payloadType)
  • Search for endpoints by payload type (CodeableConcept). Use HC Endpoint payload type ValueSet codes where applicable.
  • Example: GET /Endpoint?payload-type=http://ns.electronichealth.net.au/hc/CodeSystem/hc-endpoint-payload-type-cs|some-payload



Note: Support for _id is mandatory for a responder and optional for a requester. Where the expectation for a search parameter differs between actors, the table below will reflect the stronger conformance requirement.

Parameter(s) Conformance Type(s) Requirements (when used alone or in combination)
_id SHOULD token
hcepi SHOULD token
name (R4) SHOULD string
connection-type (R4) SHOULD token
payload-type (R4) SHOULD token
epurl SHOULD uri
payloadmimetype SHOULD token
name+connection-type SHOULD string+token
name+payload-type SHOULD string+token
connection-type+payloadmimetype SHOULD token+token

Search reverse include parameters

This implementation supports the following _revinclude parameters when searching for Endpoint resources:

  • _revinclude=HealthcareService:endpoint - Include HealthcareService resources that reference this Endpoint
  • _revinclude=Location:endpoint - Include Location resources that reference this Endpoint
  • _revinclude=PractitionerRole:endpoint - Include PractitionerRole resources that reference this Endpoint
  • _revinclude=Provenance:target - Include Provenance resources that track changes to this Endpoint

Example usage

GET /Endpoint/303?_revinclude=HealthcareService:endpoint&_revinclude=Location:endpoint

This query returns the Endpoint resource along with all HealthcareServices and Locations that use this Endpoint.