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.2 StructureDefinition-au-pd-practitionerrole

Australian Practitioner Role Directory Entry Profile

This profile describes a practitioner in role for an organisation at a location providing a healthcare service.

The Australian profile for practitioner role is for a single healthcare service only, this allows a single provider number to be associated with the role.

In the context of provider directories the practitioner role may include references to endpoints that describe channels of communication to the provider in this role.

SD.2.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-practitionerrole

This profile builds on AUBasePractitionerRole.

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 Practitioner Role Directory Entry

  1. Must Support Optional: Meta-Source (uri)
  2. Must Support 0 or more: Medicare Provider Number (Identifier)
    • Must Support Optional Extension: Optional HL7 V2 routing content (Complex)
  3. Must Support 0 or more: Directroy Entry Practitioner at Organisation (Identifier)
    • Must Support Optional Extension: Optional HL7 V2 routing content (Complex)
  4. Must Support 0 or more: Secure Messaging Vendor’s Provider Identifier (Identifier)
    • Must Support Optional Extension: Optional HL7 V2 routing content (Complex)
  5. Must Support Required: Active Status (boolean)
  6. Must Support Required: Practitioner (Reference)
  7. Must Support Required: Organisation (Reference)
  8. Must Support 0 or more: Role Codes (Coding)
  9. Must Support 0 or more: Specialties (Coding)
  10. Must Support Required: Location (Reference)
  11. Must Support Required: HealthcareService (Reference)
  12. Must Support 0 or more: Contact Details - phone, fax, email etc. (ContactPoint)
  13. Must Support 0 or more: Endpoint, secure messaging or others (Reference)
NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..*AUBasePractitionerRoleA practitioner in a healthcare role in an Australian healthcare context
... meta 0..1MetaMetadata on Practitoner Role
.... source S0..1uriIdentifies where the resource comes from
... identifier S0..*(Slice Definition)Business Identifiers that are specific to a role/location
Slice: Unordered, Open by pattern:type, value:system
.... identifier:All Slices Content/Rules for all slices
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... identifier-routability 0..*(Complex)Supports identifier selection for routing
URL: http://hl7.org.au/fhir/StructureDefinition/identifier-routability
..... au-assigningauthority 0..1(Complex)HL7 V2 Assigning Authority
URL: http://hl7.org.au/fhir/StructureDefinition/au-assigningauthority
.... identifier:medicareProviderNumber S0..*AUMedicareProviderNumberMedicare Provider Number for Directory Entry Practitioner Role
.... identifier:nationalProviderAtOrganisation S0..*AUNationalProviderIdentifierAtOrganisationNational Provider at Organisation Identifier for Directory Entry Practitioner Role
.... identifier:vendorAssignedDirectoryIdentifier S0..*IdentifierSecure Messaging Vendor's Provider Identifier
..... type 0..1CodeableConceptVendor assigned directory identifier type
...... coding 1..*CodingVendor assigned directory identifier type code
....... system 0..1uriVendor assigned directory identifier type coding system
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: VDI
...... text 1..1stringPlain text representation of the concept
Fixed Value: Secure Messaging Vendor Identifier Directory Entry
..... system 0..1uriRequired vendor assigned identifier system URI
..... assigner 1..1Reference(Organization)Assigning vendor reference
...... display 1..1stringAssigning vendor name
... active S1..1booleanRequired status
... practitioner S1..1Reference(AU PD Practitioner)Practitioner in the role
... organization S1..1Reference(AU PD Organisation)Organisation providing this role. Reference to be the same Organisation as the referenced HealthcareService for this role.
... code S0..*CodeableConceptDirectory SNOMED-CT Practitioner Role Code.
... specialty S0..*CodeableConceptDirectory SNOMED-CT Practitioner Specialty.
... location S1..1Reference(AU PD Location)Location at which this role is provided. Reference to be the same Location as the referenced HealthcareService for this role.
... healthcareService S1..1Reference(AU PD Healthcare Service)Healthcare service at which this role is provided.
... telecom S0..*ContactPointContact details for the practitioner in this role.
... availableTime
.... availableStartTime
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... extension:timeZone 0..1AustralianTimeZoneAU Time Zone
...... value[x] 1..1(Slice Definition)Value of extension
Slice: Unordered, Open by type:$this
.... availableEndTime
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... extension:timeZone 0..1AustralianTimeZoneAU Time Zone
...... value[x] 1..1(Slice Definition)Value of extension
Slice: Unordered, Open by type:$this
... endpoint S0..*Reference(AU PD Secure Messaging Endpoint)Technical endpoints for this practitioner role.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..*AUBasePractitionerRoleA practitioner in a healthcare role in an Australian healthcare context
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata on Practitoner Role
.... 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..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S0..*(Slice Definition)Business Identifiers that are specific to a role/location
Slice: Unordered, Open by pattern:type, value:system
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... identifier-routability 0..*(Complex)Supports identifier selection for routing
URL: http://hl7.org.au/fhir/StructureDefinition/identifier-routability
..... au-assigningauthority 0..1(Complex)HL7 V2 Assigning Authority
URL: http://hl7.org.au/fhir/StructureDefinition/au-assigningauthority
..... 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 Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
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)
.... identifier:medicareProviderNumber S0..*AUMedicareProviderNumberMedicare Provider Number for Directory Entry Practitioner Role
.... identifier:nationalProviderAtOrganisation SI0..*AUNationalProviderIdentifierAtOrganisationNational Provider at Organisation Identifier for Directory Entry Practitioner Role
.... identifier:vendorAssignedDirectoryIdentifier S0..*IdentifierSecure Messaging Vendor's Provider 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..1CodeableConceptVendor assigned directory identifier type
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.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ1..*CodingVendor assigned directory identifier type code
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriVendor assigned directory identifier type coding system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: VDI
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ1..1stringPlain text representation of the concept
Fixed Value: Secure Messaging Vendor Identifier Directory Entry
..... system Σ0..1uriRequired vendor assigned identifier system URI
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ1..1Reference(Organization)Assigning vendor reference
...... 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..1stringAssigning vendor name
... active SΣ1..1booleanRequired status
... period Σ0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
... practitioner SΣ1..1Reference(AU PD Practitioner)Practitioner in the role
... organization SΣ1..1Reference(AU PD Organisation)Organisation providing this role. Reference to be the same Organisation as the referenced HealthcareService for this role.
... code SΣ0..*CodeableConceptDirectory SNOMED-CT Practitioner Role Code.
Binding: https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1 (preferred)
... specialty SΣ0..*CodeableConceptDirectory SNOMED-CT Practitioner Specialty.
Binding: https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1 (preferred)
... location SΣ1..1Reference(AU PD Location)Location at which this role is provided. Reference to be the same Location as the referenced HealthcareService for this role.
... healthcareService S1..1Reference(AU PD Healthcare Service)Healthcare service at which this role is provided.
... telecom SΣ0..*ContactPointContact details for the practitioner in this role.
... availableTime 0..*BackboneElementTimes the Service Site is available
.... 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
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1booleanAlways available? e.g. 24 hour service
.... availableStartTime 0..1timeOpening time of day (ignored if allDay = true)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... au-timezone 0..1CodeableConceptAU Time Zone
URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
Binding: AU Time Zone (required)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uri"http://hl7.org.au/fhir/StructureDefinition/au-timezone"
...... value[x]:valueCodeableConcept 1..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
Binding: AU Time Zone (required)
..... value 0..1timePrimitive value for time
.... availableEndTime 0..1timeClosing time of day (ignored if allDay = true)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... au-timezone 0..1CodeableConceptAU Time Zone
URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
Binding: AU Time Zone (required)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uri"http://hl7.org.au/fhir/StructureDefinition/au-timezone"
...... value[x]:valueCodeableConcept 1..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
Binding: AU Time Zone (required)
..... value 0..1timePrimitive value for time
... notAvailable 0..*BackboneElementNot available during this time due to provided reason
.... 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
.... description 1..1stringReason presented to the user explaining why time not available
.... during 0..1PeriodService not available from this date
... availabilityExceptions 0..1stringDescription of availability exceptions
... endpoint S0..*Reference(AU PD Secure Messaging Endpoint)Technical endpoints for this practitioner role.

doco Documentation for this format

Australian Practitioner Role Directory Entry

  1. Must Support Optional: Meta-Source (uri)
  2. Must Support 0 or more: Medicare Provider Number (Identifier)
    • Must Support Optional Extension: Optional HL7 V2 routing content (Complex)
  3. Must Support 0 or more: Directroy Entry Practitioner at Organisation (Identifier)
    • Must Support Optional Extension: Optional HL7 V2 routing content (Complex)
  4. Must Support 0 or more: Secure Messaging Vendor’s Provider Identifier (Identifier)
    • Must Support Optional Extension: Optional HL7 V2 routing content (Complex)
  5. Must Support Required: Active Status (boolean)
  6. Must Support Required: Practitioner (Reference)
  7. Must Support Required: Organisation (Reference)
  8. Must Support 0 or more: Role Codes (Coding)
  9. Must Support 0 or more: Specialties (Coding)
  10. Must Support Required: Location (Reference)
  11. Must Support Required: HealthcareService (Reference)
  12. Must Support 0 or more: Contact Details - phone, fax, email etc. (ContactPoint)
  13. Must Support 0 or more: Endpoint, secure messaging or others (Reference)

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..*AUBasePractitionerRoleA practitioner in a healthcare role in an Australian healthcare context
... meta 0..1MetaMetadata on Practitoner Role
.... source S0..1uriIdentifies where the resource comes from
... identifier S0..*(Slice Definition)Business Identifiers that are specific to a role/location
Slice: Unordered, Open by pattern:type, value:system
.... identifier:All Slices Content/Rules for all slices
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... identifier-routability 0..*(Complex)Supports identifier selection for routing
URL: http://hl7.org.au/fhir/StructureDefinition/identifier-routability
..... au-assigningauthority 0..1(Complex)HL7 V2 Assigning Authority
URL: http://hl7.org.au/fhir/StructureDefinition/au-assigningauthority
.... identifier:medicareProviderNumber S0..*AUMedicareProviderNumberMedicare Provider Number for Directory Entry Practitioner Role
.... identifier:nationalProviderAtOrganisation S0..*AUNationalProviderIdentifierAtOrganisationNational Provider at Organisation Identifier for Directory Entry Practitioner Role
.... identifier:vendorAssignedDirectoryIdentifier S0..*IdentifierSecure Messaging Vendor's Provider Identifier
..... type 0..1CodeableConceptVendor assigned directory identifier type
...... coding 1..*CodingVendor assigned directory identifier type code
....... system 0..1uriVendor assigned directory identifier type coding system
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: VDI
...... text 1..1stringPlain text representation of the concept
Fixed Value: Secure Messaging Vendor Identifier Directory Entry
..... system 0..1uriRequired vendor assigned identifier system URI
..... assigner 1..1Reference(Organization)Assigning vendor reference
...... display 1..1stringAssigning vendor name
... active S1..1booleanRequired status
... practitioner S1..1Reference(AU PD Practitioner)Practitioner in the role
... organization S1..1Reference(AU PD Organisation)Organisation providing this role. Reference to be the same Organisation as the referenced HealthcareService for this role.
... code S0..*CodeableConceptDirectory SNOMED-CT Practitioner Role Code.
... specialty S0..*CodeableConceptDirectory SNOMED-CT Practitioner Specialty.
... location S1..1Reference(AU PD Location)Location at which this role is provided. Reference to be the same Location as the referenced HealthcareService for this role.
... healthcareService S1..1Reference(AU PD Healthcare Service)Healthcare service at which this role is provided.
... telecom S0..*ContactPointContact details for the practitioner in this role.
... availableTime
.... availableStartTime
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... extension:timeZone 0..1AustralianTimeZoneAU Time Zone
...... value[x] 1..1(Slice Definition)Value of extension
Slice: Unordered, Open by type:$this
.... availableEndTime
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... extension:timeZone 0..1AustralianTimeZoneAU Time Zone
...... value[x] 1..1(Slice Definition)Value of extension
Slice: Unordered, Open by type:$this
... endpoint S0..*Reference(AU PD Secure Messaging Endpoint)Technical endpoints for this practitioner role.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..*AUBasePractitionerRoleA practitioner in a healthcare role in an Australian healthcare context
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata on Practitoner Role
.... 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..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S0..*(Slice Definition)Business Identifiers that are specific to a role/location
Slice: Unordered, Open by pattern:type, value:system
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... identifier-routability 0..*(Complex)Supports identifier selection for routing
URL: http://hl7.org.au/fhir/StructureDefinition/identifier-routability
..... au-assigningauthority 0..1(Complex)HL7 V2 Assigning Authority
URL: http://hl7.org.au/fhir/StructureDefinition/au-assigningauthority
..... 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 Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
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)
.... identifier:medicareProviderNumber S0..*AUMedicareProviderNumberMedicare Provider Number for Directory Entry Practitioner Role
.... identifier:nationalProviderAtOrganisation SI0..*AUNationalProviderIdentifierAtOrganisationNational Provider at Organisation Identifier for Directory Entry Practitioner Role
.... identifier:vendorAssignedDirectoryIdentifier S0..*IdentifierSecure Messaging Vendor's Provider 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..1CodeableConceptVendor assigned directory identifier type
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.

...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ1..*CodingVendor assigned directory identifier type code
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriVendor assigned directory identifier type coding system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: VDI
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ1..1stringPlain text representation of the concept
Fixed Value: Secure Messaging Vendor Identifier Directory Entry
..... system Σ0..1uriRequired vendor assigned identifier system URI
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ1..1Reference(Organization)Assigning vendor reference
...... 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..1stringAssigning vendor name
... active SΣ1..1booleanRequired status
... period Σ0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
... practitioner SΣ1..1Reference(AU PD Practitioner)Practitioner in the role
... organization SΣ1..1Reference(AU PD Organisation)Organisation providing this role. Reference to be the same Organisation as the referenced HealthcareService for this role.
... code SΣ0..*CodeableConceptDirectory SNOMED-CT Practitioner Role Code.
Binding: https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1 (preferred)
... specialty SΣ0..*CodeableConceptDirectory SNOMED-CT Practitioner Specialty.
Binding: https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1 (preferred)
... location SΣ1..1Reference(AU PD Location)Location at which this role is provided. Reference to be the same Location as the referenced HealthcareService for this role.
... healthcareService S1..1Reference(AU PD Healthcare Service)Healthcare service at which this role is provided.
... telecom SΣ0..*ContactPointContact details for the practitioner in this role.
... availableTime 0..*BackboneElementTimes the Service Site is available
.... 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
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1booleanAlways available? e.g. 24 hour service
.... availableStartTime 0..1timeOpening time of day (ignored if allDay = true)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... au-timezone 0..1CodeableConceptAU Time Zone
URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
Binding: AU Time Zone (required)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uri"http://hl7.org.au/fhir/StructureDefinition/au-timezone"
...... value[x]:valueCodeableConcept 1..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
Binding: AU Time Zone (required)
..... value 0..1timePrimitive value for time
.... availableEndTime 0..1timeClosing time of day (ignored if allDay = true)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... au-timezone 0..1CodeableConceptAU Time Zone
URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
Binding: AU Time Zone (required)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uri"http://hl7.org.au/fhir/StructureDefinition/au-timezone"
...... value[x]:valueCodeableConcept 1..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
Binding: AU Time Zone (required)
..... value 0..1timePrimitive value for time
... notAvailable 0..*BackboneElementNot available during this time due to provided reason
.... 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
.... description 1..1stringReason presented to the user explaining why time not available
.... during 0..1PeriodService not available from this date
... availabilityExceptions 0..1stringDescription of availability exceptions
... endpoint S0..*Reference(AU PD Secure Messaging Endpoint)Technical endpoints for this practitioner role.

doco Documentation for this format

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

 

SD.2.2 Quick Start

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


Read: PractitionerRole

Read identified practitioner role resource content.

GET [base]/PractitionerRole/[id]

Example: GET [base]/PractitionerRole/1234

Support:

  • MUST support read PractitionerRole

Implementation Notes: [(how to read resource)


Search: Active Status

Search based on active status of the practitioner role record.

GET [base]/PractitionerRole?active=[status]

Example: GET [base]/PractitionerRole?active=true

Support: MUST support search PractitionerRole by active status (true | false).

Implementation Notes: (how to search by token)


Search: Provider Practitioner Name

Chained search (via Practitioner) based on family, given and/or any name. Chained search (via Practitioner) based on family, given and/or any name.

GET [base]/PractitionerRole?practitioner.family=[string]

GET [base]/PractitionerRole?practitioner.family=[string]&practitioner.given=[string]

GET [base]/PractitionerRole?practitioner.name=[string]

Example:

GET [base]/PractitionerRole?practitioner.family=Smith

GET [base]/PractitionerRole?practitioner.family=Smith&practitioner.given=John

GET [base]/PractitionerRole?practitioner.name=Smith

Support:

  • MUST support search by Practitioner family, given and name.
  • MUST support basic param=[string] search which is case and accent-insensitive search; field equals or starts with the string value.

Implementation Notes: (how to search by string)


Search: Provider Role

Search based on role.

GET [base]/PractitionerRole?role=[system]|[code]

Example: GET [base]/PractitionerRole?role=http://snomed.info/sct|397897005

Support:

  • MUST support search PractitionerRole by role.

Implementation Notes: (how to search by token)


Search: Provider at a HealthcareService

Search based on role.

GET [base]/PractitionerRole?service=[id]

Example: GET [base]/PractitionerRole?service=1234

Support:

  • MUST support search PractitionerRole by service.

Implementation Notes: (how to search by reference)


Search: Provider Specialty

Search based on specialty code.

GET [base]/PractitionerRole?specialty=[system]|[code]

Example: GET [base]/PractitionerRole?specialty=http://snomed.info/sct|722165004

Support:

  • MUST support search PractitionerRole by specialty.

Implementation Notes: (how to search by token)


Search: Organisation of Provider HPI-O

Chained search (via Organisation) based on identifier token.

GET [base]/PractitionerRole?organization.identifier=[system]|[value]

Example: GET [base]/PractitionerRole?organization.identifier=http://ns.electronichealth.net.au/id/hi/hpio/1.0|8003627500000328

Support:

  • MUST support search by HPI-O.

Implementation Notes: (how to search by token)


Search: Provider Practitioner HPI-I

Chained search (via Practitioner) based on identifier token.

GET [base]/PractitionerRole?practitioner.identifier=[system]|[value]

Example: GET [base]/PractitionerRole?practitioner.identifier=http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003610833334085

Support:

  • MUST support search PractitionerRole by HPI-I.

Implementation Notes: (how to search by token)


Search: Vendor Directory Identifier

Search based on identifier.

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

Example: GET [base]/PractitionerRole?identifier=http://smvendor.com.au/id/provider-id|4412365432

Support:

  • MUST support search PractitionerRole by vendor directory identifier; [system] url will be defined by vendors. Effectively this is a general search for identifier capability.

Implementation Notes: (how to search by token)


Search: Provider Number

Search based on identifier.

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

Example: GET [base]/PractitionerRole?identifier=http://ns.electronichealth.net.au/id/medicare-provider-number|2426621B

Support:

  • MUST support search PractitionerRole by Provider Number.

Implementation Notes: (how to search by token)


Search: National Provider at Organisation Identifier

Search based on identifier.

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

Example: GET [base]/PractitionerRole?identifier=http://ns.electronichealth.net.au/id/npio|8003610833334085@8003627500000328

Support:

  • MUST support search PractitionerRole by National Provider at Organisation Identifier.

Implementation Notes: (how to search by token)

  • Note NPIO format is [HPI-I]@[HPI-O].

Search: Location Address Parts

Chained search (via Location) based on address parts for postcode, suburb, and state.

GET [base]/PractitionerRole?location.address-postalcode=[postcode]

GET [base]/PractitionerRole?location.address-postalcode=[postcode],[postcode]

GET [base]/PractitionerRole?location.address-postalcode=[postcode],[postcode],[postcode] etc.

GET [base]/PractitionerRole?location.address-city=[suburb]

GET [base]/PractitionerRole?location.address-state=[state]

Example:

GET [base]/PractitionerRole?location.address-postalcode=3101

GET [base]/PractitionerRole?location.address-postalcode=3101,3101

GET [base]/PractitionerRole?location.address-city=Bundaberg

GET [base]/PractitionerRole?location.address-state=VIC

Support:

  • MUST support search PractitionerRole by location address parts address-postalcode, address-city, address-state.
  • MUST support basic param=[string] search which is case and accent-insensitive search; field equals or starts with the string value.

Implementation Notes: (how to search by string)


Search: Location Distance

Chained search (via Location) for a location within a nominated distance.

GET [base]/PractitionerRole?location.near=[latitude]:[longitude]&location.near-distance=[prefix][value]|[units-system]|[units]

Example: GET [base]/PractitionerRole?location.near=-83.694810:42.256500&location.near-distance=le10.0|http://unitsofmeasure.org|km

Support:

  • SHOULD support search PractitionerRole by location within a distance.
  • SHOULD support: [prefix] fixed ‘le’ is less than or equal to distance [value] is a decimal quantity number [units-system] fixed ‘http://unitsofmeasure.org’ identifies standard distance units are used [units] distance units must support ‘km’ or ‘m’

Implementation Notes: (how to search by token) and (how to search by quantity)


Search: Connection Type (Service Interface)

Chaned search (via Endpoint) based on token for a protocol to be used to connnect to the endpoint.

GET [base]/PractitionerRole?endpoint.connection-type=[system]|[code]

Example: GET [base]/PractitionerRole?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 PractitionerRole by endpoint connection type.

Implementation Notes: (how to search by token)


Search: Payload Type (Service Category)

Chaned search (via Endpoint) based on token for the type of content supported by the endpoint.

GET [base]/PractitionerRole?endpoint.payload-type=[system]|[code]

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

Support:

  • MUST support search PractitionerRole by endpoint payload type.

Implementation Notes: (how to search by token)


Search: Include References

The _include argument allows the automatic inclusion of referenced resources in the response for a search; based on search parameters defined for this resource type1.

Example: GET [base]/PractitionerRole?_include=PractitionerRole:practitioner&_include=PractitionerRole:organization&_include=PractitionerRole:endpoint&_include=PractitionerRole:location

Support:

  • MUST support _include PractitionerRole references practitioner (Practitioner), location (Location), organization (Organization), endpoint (Endpoint), service (HealthcareService).

Search: Combination

  • Searches MUST be able to be perfomed in a single request using logical AND for criteria. e.g specialty cardiologist in post code 4846