AU Core Implementation Guide
0.3.0-ballot - R1 Australia flag

This page is part of the AU Core (v0.3.0-ballot: AU Core R1 Ballot 5) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: AU Core Organization

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization Version: 0.3.0-ballot
Standards status: Draft Maturity Level: 0 Computable Name: AUCoreOrganization

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a Organization resource to record, search, and fetch information about an organisation. It is based on the AU Base Organization profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Organization when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

Usage scenarios

The following are supported usage scenarios for this profile:

  • Query for basic information for an organisation by name or identifier
  • Recording or updating basic information for an organisation
  • Read information about an organisation referenced by another resource

Comparison with other national and international specifications

A resource conforming to this profile is conformant to:

No equivalent International Patient Access profile.

Conformance in reverse is not guaranteed, i.e. a resource conforming to International Patient Summary, or US Core MAY NOT conform to AU Core.

Profile specific implementation guidance

  • See guidance on the construction of an identifier on the relevant Identifier profile page and the section on Business Identifiers in AU Base.
  • When constructing an address
    • an international address can be represented using the core Address data type
    • an Australian address SHOULD be represented using the Australian Address data type profile

Feedback is requested on the proposal to remove Must Support from Organization.alias. Please comment on HL7 Jira FHIR-44585.

Feedback is requested on the following search considerations:

  • Proposal to weaken conformance requirement so that support for address parameter is not required.
  • Query if the existing recommendation in AU Core to support ABN identifiers in identifier parameter search should be removed.
  • Proposal to remove support for _revinclude parameter: Provenance:target.
Please comment on HL7 Jira FHIR-43837.

Usage:

Formal Views of Profile Content

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

This structure is derived from AUBaseOrganisation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization 0..*AUBaseOrganisationAn organisation in an Australian healthcare context
... Slices for identifier SC0..*Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumberIdentifies this organization across multiple systems
Slice: Unordered, Open by pattern:system
au-core-org-01: A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
.... identifier:hpio S0..1AUHPIOHealthcare Provider Identifier – Organisation (HPI-O)
.... identifier:abn S0..*AUAustralianBusinessNumberAustralian Business Number (ABN)
... type S0..*CodeableConceptKind of organization
... name S1..1stringName used for the organization
... telecom S0..*ContactPointA contact detail for the organization
... address S0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-org-01errorOrganization.identifierA National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
: where(type.coding.code = 'NOI').exists() implies (system='http://ns.electronichealth.net.au/id/hi/hpio/1.0') or (system='http://ns.electronichealth.net.au/id/pcehr/paio/1.0')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*AUBaseOrganisationAn organisation in an Australian healthcare context
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC0..*Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumberIdentifies this organization across multiple systems
Slice: Unordered, Open by pattern:system
au-core-org-01: A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
.... identifier:hpio SC0..1AUHPIOHealthcare Provider Identifier – Organisation (HPI-O)
inv-hpio-0: HPI-O shall be 16 digits
inv-hpio-1: HPI-O prefix shall be 800362
inv-hpio-2: HPI-O shall pass the Luhn algorithm check
.... identifier:abn SC0..*AUAustralianBusinessNumberAustralian Business Number (ABN)
inv-abn-0: ABN shall be 11 digits
... type SΣ0..*CodeableConceptKind of organization
Binding: Healthcare Organisation Role Type . (preferred)
... name SΣC1..1stringName used for the organization
... alias S0..*stringA list of alternate names that the organization is known as, or was known as in the past
... telecom SC0..*ContactPointA contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address SC0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
org-2: An address of an organization can never be of use 'home'

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.typepreferredHealthcareOrganisationRoleType .
https://healthterminologies.gov.au/fhir/ValueSet/healthcare-organisation-role-type-1

Constraints

IdGradePath(s)DetailsRequirements
au-core-org-01errorOrganization.identifierA National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
: where(type.coding.code = 'NOI').exists() implies (system='http://ns.electronichealth.net.au/id/hi/hpio/1.0') or (system='http://ns.electronichealth.net.au/id/pcehr/paio/1.0')
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-abn-0errorOrganization.identifier:abnABN shall be 11 digits
: value.matches('^([0-9]{11})$')
inv-hpio-0errorOrganization.identifier:hpioHPI-O shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-hpio-1errorOrganization.identifier:hpioHPI-O prefix shall be 800362
: value.startsWith('800362')
inv-hpio-2errorOrganization.identifier:hpioHPI-O shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*AUBaseOrganisationAn organisation in an Australian healthcare context
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... 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
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC0..*Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumberIdentifies this organization across multiple systems
Slice: Unordered, Open by pattern:system
au-core-org-01: A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
.... identifier:hpio SC0..1AUHPIOHealthcare Provider Identifier – Organisation (HPI-O)
inv-hpio-0: HPI-O shall be 16 digits
inv-hpio-1: HPI-O prefix shall be 800362
inv-hpio-2: HPI-O shall pass the Luhn algorithm check
.... identifier:abn SC0..*AUAustralianBusinessNumberAustralian Business Number (ABN)
inv-abn-0: ABN shall be 11 digits
... active ?!Σ0..1booleanWhether the organization's record is still in active use
... type SΣ0..*CodeableConceptKind of organization
Binding: Healthcare Organisation Role Type . (preferred)
... name SΣC1..1stringName used for the organization
... alias S0..*stringA list of alternate names that the organization is known as, or was known as in the past
... telecom SC0..*ContactPointA contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address SC0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
org-2: An address of an organization can never be of use 'home'
... partOf Σ0..1Reference(Organization)The organization of which this organization forms a part
... contact 0..*BackboneElementContact for the organization for a certain purpose
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... purpose 0..1CodeableConceptThe type of contact
Binding: Contact Purpose (extensible)
.... name 0..1HumanNameA name associated with the contact
.... telecom 0..*ContactPointContact details (telephone, email, etc.) for a contact
.... address 0..1AddressVisiting or postal addresses for the contact
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Organization.typepreferredHealthcareOrganisationRoleType .
https://healthterminologies.gov.au/fhir/ValueSet/healthcare-organisation-role-type-1
Organization.contact.purposeextensibleContactPurpose
http://terminology.hl7.org.au/ValueSet/contact-purpose

Constraints

IdGradePath(s)DetailsRequirements
au-core-org-01errorOrganization.identifierA National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
: where(type.coding.code = 'NOI').exists() implies (system='http://ns.electronichealth.net.au/id/hi/hpio/1.0') or (system='http://ns.electronichealth.net.au/id/pcehr/paio/1.0')
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-abn-0errorOrganization.identifier:abnABN shall be 11 digits
: value.matches('^([0-9]{11})$')
inv-hpio-0errorOrganization.identifier:hpioHPI-O shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-hpio-1errorOrganization.identifier:hpioHPI-O prefix shall be 800362
: value.startsWith('800362')
inv-hpio-2errorOrganization.identifier:hpioHPI-O shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from AUBaseOrganisation

Summary

Mandatory: 1 element
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

Maturity: 0

Differential View

This structure is derived from AUBaseOrganisation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization 0..*AUBaseOrganisationAn organisation in an Australian healthcare context
... Slices for identifier SC0..*Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumberIdentifies this organization across multiple systems
Slice: Unordered, Open by pattern:system
au-core-org-01: A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
.... identifier:hpio S0..1AUHPIOHealthcare Provider Identifier – Organisation (HPI-O)
.... identifier:abn S0..*AUAustralianBusinessNumberAustralian Business Number (ABN)
... type S0..*CodeableConceptKind of organization
... name S1..1stringName used for the organization
... telecom S0..*ContactPointA contact detail for the organization
... address S0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-org-01errorOrganization.identifierA National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
: where(type.coding.code = 'NOI').exists() implies (system='http://ns.electronichealth.net.au/id/hi/hpio/1.0') or (system='http://ns.electronichealth.net.au/id/pcehr/paio/1.0')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*AUBaseOrganisationAn organisation in an Australian healthcare context
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC0..*Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumberIdentifies this organization across multiple systems
Slice: Unordered, Open by pattern:system
au-core-org-01: A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
.... identifier:hpio SC0..1AUHPIOHealthcare Provider Identifier – Organisation (HPI-O)
inv-hpio-0: HPI-O shall be 16 digits
inv-hpio-1: HPI-O prefix shall be 800362
inv-hpio-2: HPI-O shall pass the Luhn algorithm check
.... identifier:abn SC0..*AUAustralianBusinessNumberAustralian Business Number (ABN)
inv-abn-0: ABN shall be 11 digits
... type SΣ0..*CodeableConceptKind of organization
Binding: Healthcare Organisation Role Type . (preferred)
... name SΣC1..1stringName used for the organization
... alias S0..*stringA list of alternate names that the organization is known as, or was known as in the past
... telecom SC0..*ContactPointA contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address SC0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
org-2: An address of an organization can never be of use 'home'

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.typepreferredHealthcareOrganisationRoleType .
https://healthterminologies.gov.au/fhir/ValueSet/healthcare-organisation-role-type-1

Constraints

IdGradePath(s)DetailsRequirements
au-core-org-01errorOrganization.identifierA National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
: where(type.coding.code = 'NOI').exists() implies (system='http://ns.electronichealth.net.au/id/hi/hpio/1.0') or (system='http://ns.electronichealth.net.au/id/pcehr/paio/1.0')
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-abn-0errorOrganization.identifier:abnABN shall be 11 digits
: value.matches('^([0-9]{11})$')
inv-hpio-0errorOrganization.identifier:hpioHPI-O shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-hpio-1errorOrganization.identifier:hpioHPI-O prefix shall be 800362
: value.startsWith('800362')
inv-hpio-2errorOrganization.identifier:hpioHPI-O shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*AUBaseOrganisationAn organisation in an Australian healthcare context
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... 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
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC0..*Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumberIdentifies this organization across multiple systems
Slice: Unordered, Open by pattern:system
au-core-org-01: A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
.... identifier:hpio SC0..1AUHPIOHealthcare Provider Identifier – Organisation (HPI-O)
inv-hpio-0: HPI-O shall be 16 digits
inv-hpio-1: HPI-O prefix shall be 800362
inv-hpio-2: HPI-O shall pass the Luhn algorithm check
.... identifier:abn SC0..*AUAustralianBusinessNumberAustralian Business Number (ABN)
inv-abn-0: ABN shall be 11 digits
... active ?!Σ0..1booleanWhether the organization's record is still in active use
... type SΣ0..*CodeableConceptKind of organization
Binding: Healthcare Organisation Role Type . (preferred)
... name SΣC1..1stringName used for the organization
... alias S0..*stringA list of alternate names that the organization is known as, or was known as in the past
... telecom SC0..*ContactPointA contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address SC0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
org-2: An address of an organization can never be of use 'home'
... partOf Σ0..1Reference(Organization)The organization of which this organization forms a part
... contact 0..*BackboneElementContact for the organization for a certain purpose
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... purpose 0..1CodeableConceptThe type of contact
Binding: Contact Purpose (extensible)
.... name 0..1HumanNameA name associated with the contact
.... telecom 0..*ContactPointContact details (telephone, email, etc.) for a contact
.... address 0..1AddressVisiting or postal addresses for the contact
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Organization.typepreferredHealthcareOrganisationRoleType .
https://healthterminologies.gov.au/fhir/ValueSet/healthcare-organisation-role-type-1
Organization.contact.purposeextensibleContactPurpose
http://terminology.hl7.org.au/ValueSet/contact-purpose

Constraints

IdGradePath(s)DetailsRequirements
au-core-org-01errorOrganization.identifierA National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O
: where(type.coding.code = 'NOI').exists() implies (system='http://ns.electronichealth.net.au/id/hi/hpio/1.0') or (system='http://ns.electronichealth.net.au/id/pcehr/paio/1.0')
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-abn-0errorOrganization.identifier:abnABN shall be 11 digits
: value.matches('^([0-9]{11})$')
inv-hpio-0errorOrganization.identifier:hpioHPI-O shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-hpio-1errorOrganization.identifier:hpioHPI-O prefix shall be 800362
: value.startsWith('800362')
inv-hpio-2errorOrganization.identifier:hpioHPI-O shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from AUBaseOrganisation

Summary

Mandatory: 1 element
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

Maturity: 0

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Below is an overview of the mandatory and optional search parameters and combined search parameters. FHIR search operations and the syntax used to describe the interactions is described here.

Any search parameter defined in FHIR may be ‘allowed’ by the system unless explicitly marked as “SHALL NOT”. A few items are marked as MAY in this implementation guide to highlight their potential relevance.

Parameter(s) Conformance Type(s) Requirements (when used alone or in combination)
address SHALL string
identifier SHALL token The client SHALL provide at least a code value and SHOULD provide both the system and code values. The server SHALL support both.

The client SHOULD support search using HPI-O and ABN identifiers as defined in the profile. The server SHOULD support search using the using HPI-O and ABN identifiers as defined in the profile.
name SHALL string
_id SHOULD token

Mandatory Search Parameters

The following search parameters SHALL be supported:

  1. SHALL support searching for an organisation based on text address using the address search parameter:

    GET [base]/Organization?address=[string]

    Example:

    1. GET [base]/Organization?address=QLD

    Implementation Notes: Fetches a bundle of all Organization resources matching the address (how to search by string)

  2. SHALL support searching an organisation by an identifier using the identifier search parameter:

    GET [base]/Organization?identifier={system|}[code]

    Example:

    1. GET [base]/Organization?identifier=http://ns.electronichealth.net.au/id/hi/hpio/1.0|8003621566684455
    2. GET [base]/Organization?identifier=http://hl7.org.au/id/abn|23964200000

    Implementation Notes: Fetches a bundle containing any Organization resources matching the identifier (how to search by token)

  3. SHALL support searching for an organisation based on text name using the name search parameter:

    GET [base]/Organization?name=[string]

    Example:

    1. GET [base]/Organization?name=Hospital
    2. GET [base]/Organization?name=Hospital

    Implementation Notes: Fetches a bundle of all Organization resources matching the name (how to search by string)

Optional Search Parameters:

The following search parameters SHOULD be supported:

  1. SHOULD support fetching an Organization using the _id search parameter:
    • SHALL support these _revinclude parameters: Provenance:target

    GET [base]/Organization/[id] or GET [base]/Organization?_id=[id]

    Example:

    1. GET [base]/Organization/5678
    2. GET [base]/Organization?_id=5678&_revinclude=Provenance:target

    Implementation Notes: Fetches a single Organization (how to search by the logical id of the resource)