AU Provider Directory Implementation Guide
2.1.0 - Draft Australia flag

AU Provider Directory Implementation Guide, published by HL7 Australia. This guide is not an authorized publication; it is the continuous build for version 2.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7au/au-fhir-pd/ and changes regularly. See the Directory of published versions

Resource Profile: AU PD Secure Messaging Endpoint

Official URL: http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-sm-endpoint Version: 2.1.0
Standards status: Draft Maturity Level: 0 Computable Name: AUPDSecureMessagingEndpoint

Copyright/Legal: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved.

This profile defines content for describing details of an endpoint that would be adequate for addressing a secure message.

Usage Notes

Profile specific implementation guidance:

At least one of the following defined identifier types, known to this profile, SHALL be supplied:

Usage:

Formal Views of Profile Content

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

This structure is derived from Endpoint

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint C0..*EndpointAustralian Secure Message Directory Endpoint Record
au-pd-ep-01: At least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
... meta 0..1MetaMetadata on Endpoint
.... source S0..1uriIdentifies where the resource comes from
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... receivingFacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... dataEnciphermentCertificate 0..*stringPEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... Slices for identifier S1..*IdentifierIdentifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*PDSMDTargetIdentifierSecure Messaging Target Identifier
... status S1..1codeRequired status
... connectionType S1..1CodingService interface type
Binding: Australian Service Interfaces (extensible)
... name S0..1stringFriendly name for the endpoint
... managingOrganization S1..1Reference(Organization)Directory entry managing organisation
.... display 1..1stringDirectory entry managing organisation display details
... contact S0..*ContactPointEndpoint operator contact
... payloadType S1..*CodeableConceptPayload type
Binding: Australian Endpoint Payload Types (extensible)
... address S1..1urlURL address of the endpoint

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Endpoint.connectionTypeextensibleAustralianServiceInterfaces
Endpoint.payloadTypeextensibleAustralianEndpointPayloadTypes (a valid code from Australian Endpoint Payload Types)

Constraints

IdGradePath(s)DetailsRequirements
au-pd-ep-01errorEndpointAt least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
: identifier.exists() implies identifier.where(system='http://ns.electronichealth.net.au/smd/target').exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint C0..*EndpointAustralian Secure Message Directory Endpoint Record
au-pd-ep-01: At least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
... meta Σ0..1MetaMetadata on Endpoint
.... source SΣ0..1uriIdentifies where the resource comes from
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... receivingApplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... dataEnciphermentCertificate 0..*stringPEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierIdentifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*PDSMDTargetIdentifierSecure Messaging Target Identifier
... status ?!SΣ1..1codeRequired status
Binding: EndpointStatus (required): The status of the endpoint.

... connectionType SΣ1..1CodingService interface type
Binding: Australian Service Interfaces (extensible)
... name SΣ0..1stringFriendly name for the endpoint
... managingOrganization SΣ1..1Reference(Organization)Directory entry managing organisation
.... display Σ1..1stringDirectory entry managing organisation display details
... contact S0..*ContactPointEndpoint operator contact
... payloadType SΣ1..*CodeableConceptPayload type
Binding: Australian Endpoint Payload Types (extensible)
... address SΣ1..1urlURL address of the endpoint

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Endpoint.statusrequiredEndpointStatus
Endpoint.connectionTypeextensibleAustralianServiceInterfaces
Endpoint.payloadTypeextensibleAustralianEndpointPayloadTypes (a valid code from Australian Endpoint Payload Types)

Constraints

IdGradePath(s)DetailsRequirements
au-pd-ep-01errorEndpointAt least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
: identifier.exists() implies identifier.where(system='http://ns.electronichealth.net.au/smd/target').exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint C0..*EndpointAustralian Secure Message Directory Endpoint Record
au-pd-ep-01: At least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata on Endpoint
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source SΣ0..1uriIdentifies where the resource comes from
.... profile Σ0..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ0..*CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... receivingFacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... receivingApplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... dataEnciphermentCertificate 0..*stringPEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierIdentifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*PDSMDTargetIdentifierSecure Messaging Target Identifier
... status ?!SΣ1..1codeRequired status
Binding: EndpointStatus (required): The status of the endpoint.

... connectionType SΣ1..1CodingService interface type
Binding: Australian Service Interfaces (extensible)
... name SΣ0..1stringFriendly name for the endpoint
... managingOrganization SΣ1..1Reference(Organization)Directory entry managing organisation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ1..1stringDirectory entry managing organisation display details
... contact S0..*ContactPointEndpoint operator contact
... period Σ0..1PeriodInterval the endpoint is expected to be operational
... payloadType SΣ1..*CodeableConceptPayload type
Binding: Australian Endpoint Payload Types (extensible)
... payloadMimeType Σ0..*codeMimetype 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.


... address SΣ1..1urlURL address of the endpoint
... header 0..*stringUsage depends on the channel type

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Endpoint.meta.securityextensibleAll Security Labels
Endpoint.meta.tagexampleCommonTags
Endpoint.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Endpoint.statusrequiredEndpointStatus
Endpoint.connectionTypeextensibleAustralianServiceInterfaces
Endpoint.managingOrganization.typeextensibleResourceType
Endpoint.payloadTypeextensibleAustralianEndpointPayloadTypes (a valid code from Australian Endpoint Payload Types)
Endpoint.payloadMimeTyperequiredMime Types (a valid code from urn:ietf:bcp:13)

Constraints

IdGradePath(s)DetailsRequirements
au-pd-ep-01errorEndpointAt least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
: identifier.exists() implies identifier.where(system='http://ns.electronichealth.net.au/smd/target').exists()

This structure is derived from Endpoint

Summary

Mandatory: 3 elements
Must-Support: 10 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Endpoint.identifier is sliced based on the value of value:system

Maturity: 0

Differential View

This structure is derived from Endpoint

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint C0..*EndpointAustralian Secure Message Directory Endpoint Record
au-pd-ep-01: At least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
... meta 0..1MetaMetadata on Endpoint
.... source S0..1uriIdentifies where the resource comes from
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... receivingFacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... dataEnciphermentCertificate 0..*stringPEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... Slices for identifier S1..*IdentifierIdentifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*PDSMDTargetIdentifierSecure Messaging Target Identifier
... status S1..1codeRequired status
... connectionType S1..1CodingService interface type
Binding: Australian Service Interfaces (extensible)
... name S0..1stringFriendly name for the endpoint
... managingOrganization S1..1Reference(Organization)Directory entry managing organisation
.... display 1..1stringDirectory entry managing organisation display details
... contact S0..*ContactPointEndpoint operator contact
... payloadType S1..*CodeableConceptPayload type
Binding: Australian Endpoint Payload Types (extensible)
... address S1..1urlURL address of the endpoint

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Endpoint.connectionTypeextensibleAustralianServiceInterfaces
Endpoint.payloadTypeextensibleAustralianEndpointPayloadTypes (a valid code from Australian Endpoint Payload Types)

Constraints

IdGradePath(s)DetailsRequirements
au-pd-ep-01errorEndpointAt least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
: identifier.exists() implies identifier.where(system='http://ns.electronichealth.net.au/smd/target').exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint C0..*EndpointAustralian Secure Message Directory Endpoint Record
au-pd-ep-01: At least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
... meta Σ0..1MetaMetadata on Endpoint
.... source SΣ0..1uriIdentifies where the resource comes from
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... receivingApplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... dataEnciphermentCertificate 0..*stringPEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierIdentifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*PDSMDTargetIdentifierSecure Messaging Target Identifier
... status ?!SΣ1..1codeRequired status
Binding: EndpointStatus (required): The status of the endpoint.

... connectionType SΣ1..1CodingService interface type
Binding: Australian Service Interfaces (extensible)
... name SΣ0..1stringFriendly name for the endpoint
... managingOrganization SΣ1..1Reference(Organization)Directory entry managing organisation
.... display Σ1..1stringDirectory entry managing organisation display details
... contact S0..*ContactPointEndpoint operator contact
... payloadType SΣ1..*CodeableConceptPayload type
Binding: Australian Endpoint Payload Types (extensible)
... address SΣ1..1urlURL address of the endpoint

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Endpoint.statusrequiredEndpointStatus
Endpoint.connectionTypeextensibleAustralianServiceInterfaces
Endpoint.payloadTypeextensibleAustralianEndpointPayloadTypes (a valid code from Australian Endpoint Payload Types)

Constraints

IdGradePath(s)DetailsRequirements
au-pd-ep-01errorEndpointAt least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
: identifier.exists() implies identifier.where(system='http://ns.electronichealth.net.au/smd/target').exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint C0..*EndpointAustralian Secure Message Directory Endpoint Record
au-pd-ep-01: At least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata on Endpoint
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source SΣ0..1uriIdentifies where the resource comes from
.... profile Σ0..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ0..*CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... receivingFacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... receivingApplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... dataEnciphermentCertificate 0..*stringPEM X509 certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierIdentifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*PDSMDTargetIdentifierSecure Messaging Target Identifier
... status ?!SΣ1..1codeRequired status
Binding: EndpointStatus (required): The status of the endpoint.

... connectionType SΣ1..1CodingService interface type
Binding: Australian Service Interfaces (extensible)
... name SΣ0..1stringFriendly name for the endpoint
... managingOrganization SΣ1..1Reference(Organization)Directory entry managing organisation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ1..1stringDirectory entry managing organisation display details
... contact S0..*ContactPointEndpoint operator contact
... period Σ0..1PeriodInterval the endpoint is expected to be operational
... payloadType SΣ1..*CodeableConceptPayload type
Binding: Australian Endpoint Payload Types (extensible)
... payloadMimeType Σ0..*codeMimetype 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.


... address SΣ1..1urlURL address of the endpoint
... header 0..*stringUsage depends on the channel type

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Endpoint.meta.securityextensibleAll Security Labels
Endpoint.meta.tagexampleCommonTags
Endpoint.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Endpoint.statusrequiredEndpointStatus
Endpoint.connectionTypeextensibleAustralianServiceInterfaces
Endpoint.managingOrganization.typeextensibleResourceType
Endpoint.payloadTypeextensibleAustralianEndpointPayloadTypes (a valid code from Australian Endpoint Payload Types)
Endpoint.payloadMimeTyperequiredMime Types (a valid code from urn:ietf:bcp:13)

Constraints

IdGradePath(s)DetailsRequirements
au-pd-ep-01errorEndpointAt least one defined identifier, known to this AU PD Secure Messaging Endpoint profile, must be present
: identifier.exists() implies identifier.where(system='http://ns.electronichealth.net.au/smd/target').exists()

This structure is derived from Endpoint

Summary

Mandatory: 3 elements
Must-Support: 10 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Endpoint.identifier is sliced based on the value of value:system

Maturity: 0

 

Other representations of profile: CSV, Excel, Schematron

Notes:


Read: Endpoint Read identified endpoint resource content.

GET [base]/Endpoint/[id]

Example: GET [base]/Endpoint/1234

Support: MUST support read Endpoint

Implementation Notes: [(how to read resource)


Search: Active Status

Search based on active status of the endpoint record.

GET [base]/Endpoint?status=[code]

Example: GET [base]/Endpoint?status=active

Support: MUST support search Organization by active status code (active | suspended | error | off | entered-in-error | test)

Implementation Notes: (how to search by token)


Search: Identifier (Secure Messaging Target Identifier)

Search based on identifier token.

GET [base]/Endpoint?identifier=[system]|[value]

Example: GET [base]/Endpoint?identifier=http://ns.electronichealth.net.au/smd/target|http://ns.argusdca.com.au/smd/id/hostname/ACC5959010000000

Support: MUST support search by Secure Messaging Target Identifier

Implementation Notes: (how to search by token)


Search: Connection Type (Service Interface)

Search based on token for a protocol to be used to connnect to the endpoint.

GET [base]/Endpoint?connection-type=[system]|[code]

Example: GET [base]/Endpoint?connection-type=http://hl7.org.au/fhir/CodeSystem/smd-interfaces|http://ns.electronichealth.net.au/smd/intf/SealedMessageDelivery/TLS/2010

Support: MUST support search by Connection Type.

Implementation Notes: (how to search by token)


Search: Payload Type (Service Category)

Search based on token for the type of content supported by the endpoint.

GET [base]/Endpoint?payload-type=[system]|[code]

Example: GET [base]/Endpoint?payload-type=http://hl7.org.au/fhir/CodeSystem/endpoint-payload-type|http://ns.hl7.org.au/hl7v2/profiles/HL7AU-OO-REF-SIMPLIFIED-201706

Support: MUST support search by Payload Type.

Implementation Notes: (how to search by token)


Search: Receiving Facility Extension Elements (Custom)

Search based string element content in the au-receivingfacility extension1. (namespace-id, universal-id, universal-id-type)

GET [base]/Endpoint?au-receivingfacility-namespace-id=[string]&au-receivingfacility-universal-id=[string]&au-receivingfacility-universal-id-type=[string]

Example: GET [base]/Endpoint?au-receivingfacility-namespace-id=Buderim Medical Center&au-receivingfacility-universal-id=877F9695-1298-4E6A-B432-0FDD46AD80B8&au-receivingfacility-universal-id-type=GUID

Support: MUST support search by Receiving Facility Extension Elements.

Implementation Notes: (how to search by string)

  • For searching explicitly for empty elements use :missing=true e.g. au-receivingfacility-universal-id-type:missing=true
  • Definition: au-receivingfacility-namespace-id (MSH-6.1) search extension('http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility').extension('namespace-id').value
  • Definition: au-receivingfacility-universal-id (MSH-6.2) search extension('http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility').extension('universal-id').value
  • Definition: au-receivingfacility-universal-id-type (MSH-6.3) search extension('http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility').extension('universal-id-type').value