# Health Connect Australia Provider Directory FHIR Implementation Guide

0.1.0-preview - Preview

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.1.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 Organization

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization | Version: 0.1.0-preview
Standards status: Draft | Computable Name: HCOrganization
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 a provider directory entry for an organisation.

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

Note: All elements defined within this profile are expected to be supported by implementing systems, i.e. Must support, unless explicitly stated otherwise. The following sections provide additional guidance and exceptions for specific elements.

### Extensions

The following extensions are introduced in this profile:

- HC Organization Classification

The following identifiers both profile the aforementioned classification extension within their definitions:

- HC HPI-O on Organization.identifier[hpio]
- HC HSP-O on Organization.identifier[hspo]

### Usage notes

The following guidance maps key information requirements for HC Organization records to fields in the profile. Where a requirement references the HI Service as the authoritative source, publishers SHOULD prefer and validate values—such as organisation identifiers and names—against the HI Service where practicable.

#### Identifiers

The HC Organization profile supports the identifier slices introduced in AU Core (as indicated by the must support flag). At least one authoritative identifier (for example HPI-O, HSP-O, ABN, or other recognised identifier) SHOULD be provided to enable consistent and correct identification of the healthcare organisation and to support validation against the HI Service where applicable. Organisation identifiers can also be used as search parameters to locate organisation records.

A HC Organization resource may also contain additional business partner identifiers. These are considered secondary to the HPI-O/HSP-O and MAY not match identifier slices defined in AU Core Organization.

Note: HI Service is expected to assign only one national identifier type to an Organization (either HPI‑O or HSP‑O), not both. As such, a constraint at a severity of warning has been applied to this resource to advise implementers as such.

##### Organisation classification

The extension:hc-org-classification is used to indicate whether an organisation's HPI-O and HSP-O record in the HI Service is classified as a 'seed' or 'network' type. Note HSP-O can only be of 'seed' type.

Usages:

- Refer to this Profile: HC HealthcareService, HC Location, HC Organization, HC PractitionerRole... Show 2 more, HC Provenance and HC Service Coverage Area
- Examples for this Profile: Example Aged Care Facility
- CapabilityStatements using this Profile: Health Connect Reader

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Organization | C | 0..* | AUCoreOrganization | Australian Organisation Directory Entry Constraints: org-1, hc-organization-identifier-required, hc-organization-no-both-hpio-hspo
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ C | 1..* | Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumber | Identifies this organization across multiple systems Slice: Unordered, Open by pattern:system Constraints: au-core-org-01
identifier:hpio | SO Σ C | 0..1 | HCHPIOIdentifier | HPI-O identifier
identifier:abn | SO Σ C | 1..1 | AUAustralianBusinessNumber | Identifies this organization across multiple systems
identifier:hspo | SO Σ C | 0..1 | HCHSPOIdentifier | HSP-O identifier Constraints: au-core-org-01
identifier:acn | SO Σ C | 0..1 | AUAustralianCompanyNumber | Identifies this organization across multiple systems Constraints: au-core-org-01
active | ?!S Σ | 1..1 | boolean | Whether the organization's record is still in active use
type | SO Σ | 0..* | CodeableConcept | Kind of organization Binding: Healthcare Organisation Role Type (preferred)
name | SO Σ C | 1..1 | string | Name of Directory Entry Organisation
alias | S | 0..1 | string | Additional preferred name or alias, as provided by the organisation.
telecom | SO C | 0..* | ContactPoint | A contact detail for the organization Constraints: org-3
system | SO Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | SO Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
Slices for address | SO C | 1..2 | Address, AustralianAddress | Addresses of Directory Entry Organisation Slice: Unordered, Open by value:type Constraints: org-2
address:physical | SO C | 1..1 | Address, AustralianAddress | Registered Business Address of the organisation, as recorded against the HPI-O record. Constraints: org-2
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: physical
address:postal | SO C | 0..1 | Address, AustralianAddress | A chosen or preferred mailing address, that is different from the registered address. Constraints: org-2
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: postal
partOf | S Σ | 0..1 | Reference(HC Organization) | The organization of which this organization forms a part
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Organization.type | Base | preferred | Healthcare Organisation Role Type | ⏿1.0.1 | tx.ontoserver.csiro.au
Organization.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Organization.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Organization.address:postal.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:postal.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-org-01 | error | Organization.identifier, Organization.identifier:hspo, Organization.identifier:acn | A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O | `type.coding.where(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-2 | error | Organization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Organization | 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 | Organization | 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 | Organization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Organization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-organization-identifier-required | error | Organization | Either an HPI-O (hpio) or an HSP-O (hspo) identifier must be present on the Organization. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() or identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
hc-organization-no-both-hpio-hspo | warning | Organization | Warn if both HPI-O and HSP-O identifiers are present on the same Organization; HI Service is expected to assign only one. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() and identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
org-1 | error | Organization | The organization SHALL at least have a name or an identifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
org-2 | error | Organization.address, Organization.address:physical, Organization.address:postal | An address of an organization can never be of use 'home' | `where(use = 'home').empty()`
org-3 | error | Organization.telecom | The telecom of an organization can never be of use 'home' | `where(use = 'home').empty()`

This structure is derived from AUCoreOrganization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Organization | C | 0..* | AUCoreOrganization | Australian Organisation Directory Entry Constraints: hc-organization-identifier-required, hc-organization-no-both-hpio-hspo
identifier |  | 1..* | Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumber | Identifies this organization across multiple systems
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:hpio |  | 0..1 | HCHPIOIdentifier | HPI-O identifier
identifier:abn |  | 1..1 | AUAustralianBusinessNumber | Identifies this organization across multiple systems
identifier:hspo | S | 0..1 | HCHSPOIdentifier | HSP-O identifier
identifier:acn | S | 0..1 | AUAustralianCompanyNumber | Identifies this organization across multiple systems
active | S | 1..1 | boolean | Whether the organization's record is still in active use
name |  | 1..1 | string | Name of Directory Entry Organisation
alias | S | 0..1 | string | Additional preferred name or alias, as provided by the organisation.
Slices for address |  | 1..2 | Address, AustralianAddress | Addresses of Directory Entry Organisation Slice: Unordered, Open by value:type
address:physical |  | 1..1 | Address, AustralianAddress | Registered Business Address of the organisation, as recorded against the HPI-O record.
type |  | 1..1 | code | postal | physical | both Required Pattern: physical
address:postal |  | 0..1 | Address, AustralianAddress | A chosen or preferred mailing address, that is different from the registered address.
type |  | 1..1 | code | postal | physical | both Required Pattern: postal
partOf | S | 0..1 | Reference(HC Organization) | The organization of which this organization forms a part
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
hc-organization-identifier-required | error | Organization | Either an HPI-O (hpio) or an HSP-O (hspo) identifier must be present on the Organization. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() or identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
hc-organization-no-both-hpio-hspo | warning | Organization | Warn if both HPI-O and HSP-O identifiers are present on the same Organization; HI Service is expected to assign only one. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() and identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Organization | C | 0..* | AUCoreOrganization | Australian Organisation Directory Entry Constraints: org-1, hc-organization-identifier-required, hc-organization-no-both-hpio-hspo
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ C | 1..* | Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumber | Identifies this organization across multiple systems Slice: Unordered, Open by pattern:system Constraints: au-core-org-01
identifier:hpio | SO Σ C | 0..1 | HCHPIOIdentifier | HPI-O identifier
identifier:abn | SO Σ C | 1..1 | AUAustralianBusinessNumber | Identifies this organization across multiple systems
identifier:hspo | SO Σ C | 0..1 | HCHSPOIdentifier | HSP-O identifier Constraints: au-core-org-01
identifier:acn | SO Σ C | 0..1 | AUAustralianCompanyNumber | Identifies this organization across multiple systems Constraints: au-core-org-01
active | ?!S Σ | 1..1 | boolean | Whether the organization's record is still in active use
type | SO Σ | 0..* | CodeableConcept | Kind of organization Binding: Healthcare Organisation Role Type (preferred)
name | SO Σ C | 1..1 | string | Name of Directory Entry Organisation
alias | S | 0..1 | string | Additional preferred name or alias, as provided by the organisation.
telecom | SO C | 0..* | ContactPoint | A contact detail for the organization Constraints: org-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | SO Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | SO Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
Slices for address | SO C | 1..2 | Address, AustralianAddress | Addresses of Directory Entry Organisation Slice: Unordered, Open by value:type Constraints: org-2
address:physical | SO C | 1..1 | Address, AustralianAddress | Registered Business Address of the organisation, as recorded against the HPI-O record. Constraints: org-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: physical
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street
city | Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok)
postalCode | Σ | 0..1 | string | Postal code for area Example General: 9132
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
address:postal | SO C | 0..1 | Address, AustralianAddress | A chosen or preferred mailing address, that is different from the registered address. Constraints: org-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: postal
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street
city | Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok)
postalCode | Σ | 0..1 | string | Postal code for area Example General: 9132
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
partOf | S Σ | 0..1 | Reference(HC Organization) | The organization of which this organization forms a part
contact |  | 0..* | BackboneElement | Contact for the organization for a certain purpose
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
purpose |  | 0..1 | CodeableConcept | The type of contact Binding: Contact Purpose (extensible)
name |  | 0..1 | HumanName | A name associated with the contact
telecom |  | 0..* | ContactPoint | Contact details (telephone, email, etc.) for a contact
address |  | 0..1 | Address | Visiting or postal addresses for the contact
endpoint |  | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the organization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Organization.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Organization.type | Base | preferred | Healthcare Organisation Role Type | ⏿1.0.1 | tx.ontoserver.csiro.au
Organization.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Organization.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Organization.address:postal.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:postal.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Organization.contact.​purpose | Base | extensible | Contact Purpose | 📦6.0.0-ballot | AU Base Implementation Guide v6.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-org-01 | error | Organization.identifier, Organization.identifier:hspo, Organization.identifier:acn | A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O | `type.coding.where(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-2 | error | Organization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Organization | 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 | Organization | 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 | Organization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Organization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-organization-identifier-required | error | Organization | Either an HPI-O (hpio) or an HSP-O (hspo) identifier must be present on the Organization. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() or identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
hc-organization-no-both-hpio-hspo | warning | Organization | Warn if both HPI-O and HSP-O identifiers are present on the same Organization; HI Service is expected to assign only one. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() and identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
org-1 | error | Organization | The organization SHALL at least have a name or an identifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
org-2 | error | Organization.address, Organization.address:physical, Organization.address:postal | An address of an organization can never be of use 'home' | `where(use = 'home').empty()`
org-3 | error | Organization.telecom | The telecom of an organization can never be of use 'home' | `where(use = 'home').empty()`

This structure is derived from AUCoreOrganization

Summary

Mandatory: 6 elements(1 nested mandatory element)
Must-Support: 5 elements

Structures

This structure refers to these other structures:

- HC HPI-O (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-hpio)
- HC HSP-O (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-hspo)
- AU Australian Company Number (http://hl7.org.au/fhir/StructureDefinition/au-australiancompanynumber)
- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Organization.address

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Organization | C | 0..* | AUCoreOrganization | Australian Organisation Directory Entry Constraints: org-1, hc-organization-identifier-required, hc-organization-no-both-hpio-hspo
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ C | 1..* | Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumber | Identifies this organization across multiple systems Slice: Unordered, Open by pattern:system Constraints: au-core-org-01
identifier:hpio | SO Σ C | 0..1 | HCHPIOIdentifier | HPI-O identifier
identifier:abn | SO Σ C | 1..1 | AUAustralianBusinessNumber | Identifies this organization across multiple systems
identifier:hspo | SO Σ C | 0..1 | HCHSPOIdentifier | HSP-O identifier Constraints: au-core-org-01
identifier:acn | SO Σ C | 0..1 | AUAustralianCompanyNumber | Identifies this organization across multiple systems Constraints: au-core-org-01
active | ?!S Σ | 1..1 | boolean | Whether the organization's record is still in active use
type | SO Σ | 0..* | CodeableConcept | Kind of organization Binding: Healthcare Organisation Role Type (preferred)
name | SO Σ C | 1..1 | string | Name of Directory Entry Organisation
alias | S | 0..1 | string | Additional preferred name or alias, as provided by the organisation.
telecom | SO C | 0..* | ContactPoint | A contact detail for the organization Constraints: org-3
system | SO Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | SO Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
Slices for address | SO C | 1..2 | Address, AustralianAddress | Addresses of Directory Entry Organisation Slice: Unordered, Open by value:type Constraints: org-2
address:physical | SO C | 1..1 | Address, AustralianAddress | Registered Business Address of the organisation, as recorded against the HPI-O record. Constraints: org-2
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: physical
address:postal | SO C | 0..1 | Address, AustralianAddress | A chosen or preferred mailing address, that is different from the registered address. Constraints: org-2
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: postal
partOf | S Σ | 0..1 | Reference(HC Organization) | The organization of which this organization forms a part
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Organization.type | Base | preferred | Healthcare Organisation Role Type | ⏿1.0.1 | tx.ontoserver.csiro.au
Organization.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Organization.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Organization.address:postal.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:postal.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-org-01 | error | Organization.identifier, Organization.identifier:hspo, Organization.identifier:acn | A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O | `type.coding.where(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-2 | error | Organization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Organization | 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 | Organization | 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 | Organization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Organization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-organization-identifier-required | error | Organization | Either an HPI-O (hpio) or an HSP-O (hspo) identifier must be present on the Organization. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() or identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
hc-organization-no-both-hpio-hspo | warning | Organization | Warn if both HPI-O and HSP-O identifiers are present on the same Organization; HI Service is expected to assign only one. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() and identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
org-1 | error | Organization | The organization SHALL at least have a name or an identifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
org-2 | error | Organization.address, Organization.address:physical, Organization.address:postal | An address of an organization can never be of use 'home' | `where(use = 'home').empty()`
org-3 | error | Organization.telecom | The telecom of an organization can never be of use 'home' | `where(use = 'home').empty()`

Differential View

This structure is derived from AUCoreOrganization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Organization | C | 0..* | AUCoreOrganization | Australian Organisation Directory Entry Constraints: hc-organization-identifier-required, hc-organization-no-both-hpio-hspo
identifier |  | 1..* | Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumber | Identifies this organization across multiple systems
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:hpio |  | 0..1 | HCHPIOIdentifier | HPI-O identifier
identifier:abn |  | 1..1 | AUAustralianBusinessNumber | Identifies this organization across multiple systems
identifier:hspo | S | 0..1 | HCHSPOIdentifier | HSP-O identifier
identifier:acn | S | 0..1 | AUAustralianCompanyNumber | Identifies this organization across multiple systems
active | S | 1..1 | boolean | Whether the organization's record is still in active use
name |  | 1..1 | string | Name of Directory Entry Organisation
alias | S | 0..1 | string | Additional preferred name or alias, as provided by the organisation.
Slices for address |  | 1..2 | Address, AustralianAddress | Addresses of Directory Entry Organisation Slice: Unordered, Open by value:type
address:physical |  | 1..1 | Address, AustralianAddress | Registered Business Address of the organisation, as recorded against the HPI-O record.
type |  | 1..1 | code | postal | physical | both Required Pattern: physical
address:postal |  | 0..1 | Address, AustralianAddress | A chosen or preferred mailing address, that is different from the registered address.
type |  | 1..1 | code | postal | physical | both Required Pattern: postal
partOf | S | 0..1 | Reference(HC Organization) | The organization of which this organization forms a part
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
hc-organization-identifier-required | error | Organization | Either an HPI-O (hpio) or an HSP-O (hspo) identifier must be present on the Organization. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() or identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
hc-organization-no-both-hpio-hspo | warning | Organization | Warn if both HPI-O and HSP-O identifiers are present on the same Organization; HI Service is expected to assign only one. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() and identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Organization | C | 0..* | AUCoreOrganization | Australian Organisation Directory Entry Constraints: org-1, hc-organization-identifier-required, hc-organization-no-both-hpio-hspo
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ C | 1..* | Identifier, AUHPIO, AUPAIOIdentifier, AUCSPRegistrationNumber, AUAustralianBusinessNumber, AUAustralianCompanyNumber, AUAustralianRegisteredBodyNumber, AUNATAAccreditationNumber, AUPharmacyApprovalNumber | Identifies this organization across multiple systems Slice: Unordered, Open by pattern:system Constraints: au-core-org-01
identifier:hpio | SO Σ C | 0..1 | HCHPIOIdentifier | HPI-O identifier
identifier:abn | SO Σ C | 1..1 | AUAustralianBusinessNumber | Identifies this organization across multiple systems
identifier:hspo | SO Σ C | 0..1 | HCHSPOIdentifier | HSP-O identifier Constraints: au-core-org-01
identifier:acn | SO Σ C | 0..1 | AUAustralianCompanyNumber | Identifies this organization across multiple systems Constraints: au-core-org-01
active | ?!S Σ | 1..1 | boolean | Whether the organization's record is still in active use
type | SO Σ | 0..* | CodeableConcept | Kind of organization Binding: Healthcare Organisation Role Type (preferred)
name | SO Σ C | 1..1 | string | Name of Directory Entry Organisation
alias | S | 0..1 | string | Additional preferred name or alias, as provided by the organisation.
telecom | SO C | 0..* | ContactPoint | A contact detail for the organization Constraints: org-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | SO Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | SO Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
Slices for address | SO C | 1..2 | Address, AustralianAddress | Addresses of Directory Entry Organisation Slice: Unordered, Open by value:type Constraints: org-2
address:physical | SO C | 1..1 | Address, AustralianAddress | Registered Business Address of the organisation, as recorded against the HPI-O record. Constraints: org-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: physical
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street
city | Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok)
postalCode | Σ | 0..1 | string | Postal code for area Example General: 9132
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
address:postal | SO C | 0..1 | Address, AustralianAddress | A chosen or preferred mailing address, that is different from the registered address. Constraints: org-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 1..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Required Pattern: postal
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street
city | Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok)
postalCode | Σ | 0..1 | string | Postal code for area Example General: 9132
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
partOf | S Σ | 0..1 | Reference(HC Organization) | The organization of which this organization forms a part
contact |  | 0..* | BackboneElement | Contact for the organization for a certain purpose
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
purpose |  | 0..1 | CodeableConcept | The type of contact Binding: Contact Purpose (extensible)
name |  | 0..1 | HumanName | A name associated with the contact
telecom |  | 0..* | ContactPoint | Contact details (telephone, email, etc.) for a contact
address |  | 0..1 | Address | Visiting or postal addresses for the contact
endpoint |  | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the organization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Organization.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Organization.type | Base | preferred | Healthcare Organisation Role Type | ⏿1.0.1 | tx.ontoserver.csiro.au
Organization.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Organization.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:physical.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Organization.address:postal.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Organization.address:postal.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Organization.contact.​purpose | Base | extensible | Contact Purpose | 📦6.0.0-ballot | AU Base Implementation Guide v6.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-org-01 | error | Organization.identifier, Organization.identifier:hspo, Organization.identifier:acn | A National Organisation Identifier (type=NOI) shall be an HPI-O or PAI-O | `type.coding.where(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-2 | error | Organization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Organization | 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 | Organization | 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 | Organization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Organization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-organization-identifier-required | error | Organization | Either an HPI-O (hpio) or an HSP-O (hspo) identifier must be present on the Organization. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() or identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
hc-organization-no-both-hpio-hspo | warning | Organization | Warn if both HPI-O and HSP-O identifiers are present on the same Organization; HI Service is expected to assign only one. | `identifier.where(system='http://ns.electronichealth.net.au/id/hi/hpio/1.0').exists() and identifier.where(system='http://ns.electronichealth.net.au/id/hi/hspo/1.0').exists()`
org-1 | error | Organization | The organization SHALL at least have a name or an identifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
org-2 | error | Organization.address, Organization.address:physical, Organization.address:postal | An address of an organization can never be of use 'home' | `where(use = 'home').empty()`
org-3 | error | Organization.telecom | The telecom of an organization can never be of use 'home' | `where(use = 'home').empty()`

This structure is derived from AUCoreOrganization

Summary

Mandatory: 6 elements(1 nested mandatory element)
Must-Support: 5 elements

Structures

This structure refers to these other structures:

- HC HPI-O (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-hpio)
- HC HSP-O (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-hspo)
- AU Australian Company Number (http://hl7.org.au/fhir/StructureDefinition/au-australiancompanynumber)
- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Organization.address

Other representations of profile: CSV, Excel, Schematron

### Notes:

### Search parameters for HC Organization

This IG defines no new SearchParameters for the Organization resource; it expects implementers to support common Organization parameters from both AU Core and R4.

#### Search parameters defined within AU Core

How these identifier searches can be used is described in AU Core documentation. AU Core recommends using the standard FHIR `identifier` search parameter (token, system|value) for organization identifiers. Examples:

- ABN: `GET /Organization?identifier=http://hl7.org.au/id/abn|12345678912`
- ACN: `GET /Organization?identifier=http://hl7.org.au/id/acn|123456789`
- HPI-O: `GET /Organization?identifier=http://ns.electronichealth.net.au/id/hi/hpio/1.0|8003626566707032`
- HSP-O: `GET /Organization?identifier=http://ns.electronichealth.net.au/id/hi/hspo/1.0|8003640001234569`

#### Search parameters defined within FHIR R4

The following parameters are inherited from R4 and are commonly useful; implementers SHOULD support them as indicated.

- `name` (string)
- Standard R4 parameter that searches Organization.name and Organization.alias (partial matches supported).

- Example: `GET /Organization?name=Example%20Aged`

- `type` (token)

- Standard R4 parameter that searches Organization.type.coding using token semantics (system | code).

- Example (code-only): `Organization?type=http://snomed.info/sct|257652008`

Parameter(s) | Conformance | Type(s) | Requirements (when used alone or in combination)
--- | --- | --- | ---
_id | SHALL | `token` |
HPI-O | SHALL | `token` | The reader SHOULD support search using the HPI-O identifier as defined in the profile. The health connect provider directory SHOULD support search using the using the HPI-O identifier as defined in the profile</code>
HSP-O | SHALL | `token` | The reader SHOULD support search using the HSP-O identifier as defined in the profile. The health connect provider directory SHOULD support search using the using the HSP-O identifier as defined in the profile</code>
ABN | SHOULD | `token` | The reader SHOULD support search using the ABN identifier as defined in the profile. The health connect provider directory SHOULD support search using the using the ABN identifier as defined in the profile</code>
ACN | SHOULD | `token` | Use the standard `identifier` token form. Example: `?identifier=http://hl7.org.au/id/acn|123456789`
name (R4) | SHOULD | `string` |
type (R4) | SHOULD | `token` |
HPI-O + type | SHOULD | `token` + `token` |

### Search include parameters

This implementation supports the following `_include` parameters when searching for Organization resources:

- `_include=Organization:partOf` - Include parent organizations referenced by the `partOf` element

### Search reverse include parameters

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

- `_revinclude=Location:organization` - Include Location resources that reference this Organization through their `managingOrganization` element
- `_revinclude=Provenance:target` - Include Provenance resources that track changes to this Organization

#### Example usage

    GET /Organization/123?_revinclude=Location:organization&_revinclude=HealthcareService:organization

This query returns the Organization resource along with all associated Locations and HealthcareServices.