AU Base Implementation Guide
5.0.1-ci-build - CI Build Australia flag

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

Resource Profile: AU Base Practitioner Role

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-practitionerrole Version: 5.0.1-ci-build
Standards status: Trial-use Maturity Level: 3 Computable Name: AUBasePractitionerRole

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

This profile defines a practitioner role structure that localises core concepts, including identifiers and terminology, for use in an Australian context. The purpose of this profile is to provide national level agreement on core localised concepts. This profile does not force conformance to core localised concepts. It enables implementers and modellers to make their own rules, i.e. profiling, about how to support these concepts for specific implementation needs.

Usage Notes

Profile specific implementation guidance:

  • If a system needs to differentiate contacts for a practitioner in a role by purpose:
    • contact information is sent in PractitionerRole.telecom
    • purpose for the contact is sent using the Contact Purpose extension in PractitionerRole.telecom.extension
  • When selecting a code for PractitionerRole.code:
    • Where possible a code from the preferred Practitioner Role value set should be selected.
    • If a system is unable to provide a code from the preferred value set because the implementation context is not restricted to healthcare practitioner providers then it is recommended to select a suitable code from SNOMED CT.
    • If a suitable code from SNOMED CT is not available a code from the value set Australian and New Zealand Standard Classification of Occupations may be used.
  • See each Identifier profile page for guidance related to that identifier type.

Potentially useful extensions:

Usage:

Changes since version 5.0.0:

  • The data elements list has changed
  • Formal Views of Profile Content

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

    This structure is derived from PractitionerRole

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole 0..* PractitionerRole A practitioner in a healthcare role in an Australian healthcare context
    ... identifier 0..* Identifier, AUMedicareProviderNumber, AUNationalProviderIdentifierAtOrganisation, AUEmployeeNumber Business Identifiers that are specific to a role/location
    ... code 0..* CodeableConcept Roles which this practitioner may perform
    Binding: Practitioner Role . (preferred)
    ... specialty 0..* CodeableConcept Specific specialty of the practitioner
    Binding: Clinical Specialty . (preferred)
    .... availableStartTime
    ..... Slices for extension Content/Rules for all slices
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)
    .... availableEndTime
    ..... Slices for extension Content/Rules for all slices
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    PractitionerRole.codepreferredPractitionerRole .
    https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1
    PractitionerRole.specialtypreferredClinicalSpecialty .
    https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole 0..* PractitionerRole A practitioner in a healthcare role in an Australian healthcare context
    dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    dom-3: 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
    dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    dom-6: A resource should have narrative for robust management
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ele-1: All FHIR elements must have a @value or children
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    ... identifier Σ 0..* Identifier, AUMedicareProviderNumber, AUNationalProviderIdentifierAtOrganisation, AUEmployeeNumber Business Identifiers that are specific to a role/location
    ele-1: All FHIR elements must have a @value or children
    ... specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
    Binding: Clinical Specialty . (preferred)
    ele-1: All FHIR elements must have a @value or children

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.codepreferredPractitionerRole .
    https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1
    PractitionerRole.specialtypreferredClinicalSpecialty .
    https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA 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()
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole 0..* PractitionerRole A practitioner in a healthcare role in an Australian healthcare context
    ... 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
    ... text 0..1 Narrative Text summary of the resource, for human interpretation
    ... contained 0..* Resource Contained, inline Resources
    ... extension 0..* Extension Additional content defined by implementations
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier Σ 0..* Identifier, AUMedicareProviderNumber, AUNationalProviderIdentifierAtOrganisation, AUEmployeeNumber Business Identifiers that are specific to a role/location
    ... active Σ 0..1 boolean Whether this practitioner role record is in active use
    ... period Σ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
    ... practitioner Σ 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
    ... organization Σ 0..1 Reference(Organization) Organization where the roles are available
    ... code Σ 0..* CodeableConcept Roles which this practitioner may perform
    Binding: Practitioner Role . (preferred)
    ... specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
    Binding: Clinical Specialty . (preferred)
    ... location Σ 0..* Reference(Location) The location(s) at which this practitioner provides care
    ... healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom Σ 0..* ContactPoint Contact details that are specific to the role/location/service
    ... availableTime 0..* BackboneElement Times the Service Site is available
    .... 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
    .... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
    Binding: DaysOfWeek (required): The days of the week.


    .... allDay 0..1 boolean Always available? e.g. 24 hour service
    .... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)
    ..... value 0..1 time Primitive value for time
    .... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)
    ..... value 0..1 time Primitive value for time
    ... notAvailable 0..* BackboneElement Not available during this time due to provided reason
    .... 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
    .... description 1..1 string Reason presented to the user explaining why time not available
    .... during 0..1 Period Service not available from this date
    ... availabilityExceptions 0..1 string Description of availability exceptions
    ... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.languagepreferredCommonLanguages
    http://hl7.org/fhir/ValueSet/languages
    from the FHIR Standard
    Additional Bindings Purpose
    AllLanguages Max Binding
    PractitionerRole.codepreferredPractitionerRole .
    https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1
    PractitionerRole.specialtypreferredClinicalSpecialty .
    https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1
    PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
    http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA 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()

    This structure is derived from PractitionerRole

    Summary

    Extensions

    This structure refers to these extensions:

    Maturity: 3

    Differential View

    This structure is derived from PractitionerRole

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole 0..* PractitionerRole A practitioner in a healthcare role in an Australian healthcare context
    ... identifier 0..* Identifier, AUMedicareProviderNumber, AUNationalProviderIdentifierAtOrganisation, AUEmployeeNumber Business Identifiers that are specific to a role/location
    ... code 0..* CodeableConcept Roles which this practitioner may perform
    Binding: Practitioner Role . (preferred)
    ... specialty 0..* CodeableConcept Specific specialty of the practitioner
    Binding: Clinical Specialty . (preferred)
    .... availableStartTime
    ..... Slices for extension Content/Rules for all slices
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)
    .... availableEndTime
    ..... Slices for extension Content/Rules for all slices
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    PractitionerRole.codepreferredPractitionerRole .
    https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1
    PractitionerRole.specialtypreferredClinicalSpecialty .
    https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1

    Key Elements View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole 0..* PractitionerRole A practitioner in a healthcare role in an Australian healthcare context
    dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    dom-3: 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
    dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    dom-6: A resource should have narrative for robust management
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ele-1: All FHIR elements must have a @value or children
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    ... identifier Σ 0..* Identifier, AUMedicareProviderNumber, AUNationalProviderIdentifierAtOrganisation, AUEmployeeNumber Business Identifiers that are specific to a role/location
    ele-1: All FHIR elements must have a @value or children
    ... specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
    Binding: Clinical Specialty . (preferred)
    ele-1: All FHIR elements must have a @value or children

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.codepreferredPractitionerRole .
    https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1
    PractitionerRole.specialtypreferredClinicalSpecialty .
    https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA 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()

    Snapshot View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole 0..* PractitionerRole A practitioner in a healthcare role in an Australian healthcare context
    ... 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
    ... text 0..1 Narrative Text summary of the resource, for human interpretation
    ... contained 0..* Resource Contained, inline Resources
    ... extension 0..* Extension Additional content defined by implementations
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier Σ 0..* Identifier, AUMedicareProviderNumber, AUNationalProviderIdentifierAtOrganisation, AUEmployeeNumber Business Identifiers that are specific to a role/location
    ... active Σ 0..1 boolean Whether this practitioner role record is in active use
    ... period Σ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
    ... practitioner Σ 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
    ... organization Σ 0..1 Reference(Organization) Organization where the roles are available
    ... code Σ 0..* CodeableConcept Roles which this practitioner may perform
    Binding: Practitioner Role . (preferred)
    ... specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
    Binding: Clinical Specialty . (preferred)
    ... location Σ 0..* Reference(Location) The location(s) at which this practitioner provides care
    ... healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom Σ 0..* ContactPoint Contact details that are specific to the role/location/service
    ... availableTime 0..* BackboneElement Times the Service Site is available
    .... 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
    .... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
    Binding: DaysOfWeek (required): The days of the week.


    .... allDay 0..1 boolean Always available? e.g. 24 hour service
    .... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)
    ..... value 0..1 time Primitive value for time
    .... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
    ..... id 0..1 string xml:id (or equivalent in JSON)
    ..... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    ...... extension:timeZone 0..1 CodeableConcept AU time zone
    URL: http://hl7.org.au/fhir/StructureDefinition/au-timezone
    Binding: AU Time Zone (required)
    ..... value 0..1 time Primitive value for time
    ... notAvailable 0..* BackboneElement Not available during this time due to provided reason
    .... 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
    .... description 1..1 string Reason presented to the user explaining why time not available
    .... during 0..1 Period Service not available from this date
    ... availabilityExceptions 0..1 string Description of availability exceptions
    ... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.languagepreferredCommonLanguages
    http://hl7.org/fhir/ValueSet/languages
    from the FHIR Standard
    Additional Bindings Purpose
    AllLanguages Max Binding
    PractitionerRole.codepreferredPractitionerRole .
    https://healthterminologies.gov.au/fhir/ValueSet/practitioner-role-1
    PractitionerRole.specialtypreferredClinicalSpecialty .
    https://healthterminologies.gov.au/fhir/ValueSet/clinical-specialty-1
    PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
    http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA 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()

    This structure is derived from PractitionerRole

    Summary

    Extensions

    This structure refers to these extensions:

    Maturity: 3

     

    Other representations of profile: CSV, Excel, Schematron