Australian Provider Directory Implementation Guide (PD 2.1)

Implementation Guide Template, published by HL7 Australia. This is not an authorized publication; it is the continuous build for version 2.1.0). 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

SD.5 StructureDefinition-au-pd-sm-endpoint

Australian Secure Messaging Endpoint Directory Entry

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

SD.5.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-sm-endpoint

This profile builds on Endpoint.

This profile was published on Mon May 03 02:23:16 UTC 2021 as a draft by HL7 Australia.

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

Australian Secure Messaging Endpoint Directory Entry

  1. Must Support Optional: Meta-Source (uri)
  2. Must Support 0 or more: SMD Target Identifier
  3. Must Support Required: Active Status (code)
  4. Must Support Required: Connection Type - Service Interface Type (Coding)
  5. Must Support Optional: Friendly name for endpoint (string)
  6. Must Support Required: Managing Organisation (with display text) (Organization Reference)
  7. Must Support 0 or more: Endpoint operator contact details (ContactPoint)
  8. Must Support 1 or more: Payload Type - Service Category (CodeableConcept)
  9. Must Support Required: Address - URL address of the endpoint (uri)
  10. Must Support Optional Extension: Receiving Facility (Complex)
  11. Must Support Optional Extension: Receiving Application (Complex)
  12. Must Support Optional Extension: Encryption PEM Certficate Details - PEM X509 Certificate (string)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*EndpointAustralian Secure Message Directory Endpoint Record
... meta 0..1MetaMetadata on Endpoint
.... source S0..1uriIdentifies where the resource comes from
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... au-receivingfacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... au-receivingapplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... encryption-certificate-pem-x509 0..*stringPEM X509 Certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... identifier 0..*(Slice Definition)Identifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*IdentifierSecure Messaging Target Identifier
..... system 1..1uriSecure Messaging Delivery Target Identifier
Fixed Value: http://ns.electronichealth.net.au/smd/target
..... value 1..1stringSecure messaging target identifier value
... 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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*EndpointAustralian Secure Message Directory Endpoint Record
... id Σ0..1stringLogical 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... au-receivingfacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... au-receivingapplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... encryption-certificate-pem-x509 0..*stringPEM X509 Certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*(Slice Definition)Identifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget SΣ0..*IdentifierSecure Messaging Target Identifier
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriSecure Messaging Delivery Target Identifier
Fixed Value: http://ns.electronichealth.net.au/smd/target
..... value Σ1..1stringSecure messaging target identifier value
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... 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 ΣI0..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

Australian Secure Messaging Endpoint Directory Entry

  1. Must Support Optional: Meta-Source (uri)
  2. Must Support 0 or more: SMD Target Identifier
  3. Must Support Required: Active Status (code)
  4. Must Support Required: Connection Type - Service Interface Type (Coding)
  5. Must Support Optional: Friendly name for endpoint (string)
  6. Must Support Required: Managing Organisation (with display text) (Organization Reference)
  7. Must Support 0 or more: Endpoint operator contact details (ContactPoint)
  8. Must Support 1 or more: Payload Type - Service Category (CodeableConcept)
  9. Must Support Required: Address - URL address of the endpoint (uri)
  10. Must Support Optional Extension: Receiving Facility (Complex)
  11. Must Support Optional Extension: Receiving Application (Complex)
  12. Must Support Optional Extension: Encryption PEM Certficate Details - PEM X509 Certificate (string)

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*EndpointAustralian Secure Message Directory Endpoint Record
... meta 0..1MetaMetadata on Endpoint
.... source S0..1uriIdentifies where the resource comes from
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... au-receivingfacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... au-receivingapplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... encryption-certificate-pem-x509 0..*stringPEM X509 Certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... identifier 0..*(Slice Definition)Identifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget S0..*IdentifierSecure Messaging Target Identifier
..... system 1..1uriSecure Messaging Delivery Target Identifier
Fixed Value: http://ns.electronichealth.net.au/smd/target
..... value 1..1stringSecure messaging target identifier value
... 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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*EndpointAustralian Secure Message Directory Endpoint Record
... id Σ0..1stringLogical 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... au-receivingfacility 0..1(Complex)HL7 V2 receiving facility
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingfacility
... au-receivingapplication 0..1(Complex)HL7 V2 receiving application
URL: http://hl7.org.au/fhir/StructureDefinition/au-receivingapplication
... encryption-certificate-pem-x509 0..*stringPEM X509 Certificate
URL: http://hl7.org.au/fhir/StructureDefinition/encryption-certificate-pem-x509
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*(Slice Definition)Identifies this endpoint across multiple systems
Slice: Unordered, Open by value:system
.... identifier:smdtarget SΣ0..*IdentifierSecure Messaging Target Identifier
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriSecure Messaging Delivery Target Identifier
Fixed Value: http://ns.electronichealth.net.au/smd/target
..... value Σ1..1stringSecure messaging target identifier value
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... 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 ΣI0..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

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron

 

SD.5.2 Quick Start

Below is an overview of the requirements for search and read operations.


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