MediRecords FHIR Implementation Guide
1.4.1 - release


Resource Profile: MR Practitioner Contact

Defining URL:https://fhir.medirecords.com/StructureDefinition/mr-practitioner-contact
Version:1.4.1
Name:MRPractitionerContact
Title:MR Practitioner Contact
Status:Active as of 2025-02-03 04:29:41+0000
Definition:

MediRecords Practitioner profile represeting external health professional contact

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

https://fhir.medirecords.com/StructureDefinition/mr-practitioner-contact

Formal Views of Profile Content

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

This structure is derived from AUBasePractitioner

Summary

Mandatory: 6 elements(2 nested mandatory elements)
Must-Support: 3 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Practitioner.identifier (Closed)
  • The element 1 is sliced based on the value of Practitioner.name (Closed)

This structure is derived from AUBasePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner AUBasePractitioner
... Slices for identifier 0..* Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumber An identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII S 0..1 AUHPII Healthcare Provider Identifier - Individual (HPI-I)
... Slices for name 1..* HumanName The name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official S 1..1 HumanName Official name
..... use 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Required Pattern: official
..... family 1..1 string Last name
..... given 1..1 string First name
..... prefix 1..1 string Title
.... name:preferred S 0..1 HumanName Preferred name
..... use 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Required Pattern: usual
..... text 1..1 string Text representation of preferred name

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* AUBasePractitioner A practitioner 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
... Slices for identifier 0..* Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumber An identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII SC 0..1 AUHPII Healthcare Provider Identifier - Individual (HPI-I)
inv-hpii-0: HPI-I shall be 16 digits
inv-hpii-1: HPI-I prefix shall be 800361
inv-hpii-2: HPI-I shall pass the Luhn algorithm check
... active Σ 0..1 boolean Whether this practitioner's record is in active use
... Slices for name Σ 1..* HumanName The name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official SΣ 1..1 HumanName Official name
..... 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 ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
..... text Σ 0..1 string Text representation of the full name
..... family Σ 1..1 string Last name
..... given Σ 1..1 string First name
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ 1..1 string Title
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ 0..1 Period Time period when name was/is in use
.... name:preferred SΣ 0..1 HumanName Preferred name
..... 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 ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: usual
..... text Σ 1..1 string Text representation of preferred name
..... family Σ 0..1 string Family name (often called 'Surname')
..... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ 0..1 Period Time period when name was/is in use
... telecom Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address 0..* Address, AustralianAddress An address expressed using postal conventions (as opposed to GPS or other location definition formats)
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ 0..1 date The date on which the practitioner was born
... photo 0..* Attachment Image of the person
... qualification C 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
inv-pra-0: A qualification shall only have AHPRA Profession details if the code is AHPRA Profession
inv-pra-1: A qualification shall only have AHPRA Registration details if the code is AHPRA Registration
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ahpraProfession-details 0..1 (Complex) AHPRA Profession Details
URL: http://hl7.org.au/fhir/StructureDefinition/ahpraprofession-details
..... ahpraRegistration-details 0..1 (Complex) AHPRA Registration Details
URL: http://hl7.org.au/fhir/StructureDefinition/ahpraregistration-details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier, AUAHPRARegistrationNumber An identifier intended for computation
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: Common Languages in Australia . (extensible)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* AUBasePractitioner A practitioner in an Australian healthcare context
... Slices for identifier Content/Rules for all slices
.... identifier:identifierHPII C 0..1 AUHPII Healthcare Provider Identifier - Individual (HPI-I)
inv-hpii-0: HPI-I shall be 16 digits
inv-hpii-1: HPI-I prefix shall be 800361
inv-hpii-2: HPI-I shall pass the Luhn algorithm check
... Slices for name Content/Rules for all slices
.... name:official Σ 1..1 HumanName Official name
.... name:preferred Σ 0..1 HumanName Preferred name

doco Documentation for this format

This structure is derived from AUBasePractitioner

Summary

Mandatory: 6 elements(2 nested mandatory elements)
Must-Support: 3 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Practitioner.identifier (Closed)
  • The element 1 is sliced based on the value of Practitioner.name (Closed)

Differential View

This structure is derived from AUBasePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner AUBasePractitioner
... Slices for identifier 0..* Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumber An identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII S 0..1 AUHPII Healthcare Provider Identifier - Individual (HPI-I)
... Slices for name 1..* HumanName The name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official S 1..1 HumanName Official name
..... use 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Required Pattern: official
..... family 1..1 string Last name
..... given 1..1 string First name
..... prefix 1..1 string Title
.... name:preferred S 0..1 HumanName Preferred name
..... use 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Required Pattern: usual
..... text 1..1 string Text representation of preferred name

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* AUBasePractitioner A practitioner 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
... Slices for identifier 0..* Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumber An identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII SC 0..1 AUHPII Healthcare Provider Identifier - Individual (HPI-I)
inv-hpii-0: HPI-I shall be 16 digits
inv-hpii-1: HPI-I prefix shall be 800361
inv-hpii-2: HPI-I shall pass the Luhn algorithm check
... active Σ 0..1 boolean Whether this practitioner's record is in active use
... Slices for name Σ 1..* HumanName The name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official SΣ 1..1 HumanName Official name
..... 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 ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
..... text Σ 0..1 string Text representation of the full name
..... family Σ 1..1 string Last name
..... given Σ 1..1 string First name
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ 1..1 string Title
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ 0..1 Period Time period when name was/is in use
.... name:preferred SΣ 0..1 HumanName Preferred name
..... 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 ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: usual
..... text Σ 1..1 string Text representation of preferred name
..... family Σ 0..1 string Family name (often called 'Surname')
..... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ 0..1 Period Time period when name was/is in use
... telecom Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address 0..* Address, AustralianAddress An address expressed using postal conventions (as opposed to GPS or other location definition formats)
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ 0..1 date The date on which the practitioner was born
... photo 0..* Attachment Image of the person
... qualification C 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
inv-pra-0: A qualification shall only have AHPRA Profession details if the code is AHPRA Profession
inv-pra-1: A qualification shall only have AHPRA Registration details if the code is AHPRA Registration
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ahpraProfession-details 0..1 (Complex) AHPRA Profession Details
URL: http://hl7.org.au/fhir/StructureDefinition/ahpraprofession-details
..... ahpraRegistration-details 0..1 (Complex) AHPRA Registration Details
URL: http://hl7.org.au/fhir/StructureDefinition/ahpraregistration-details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier, AUAHPRARegistrationNumber An identifier intended for computation
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: Common Languages in Australia . (extensible)

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / CodeURI
Practitioner.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Practitioner.name:official.userequiredPattern: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.name:preferred.userequiredPattern: usual
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Practitioner.qualification.codepreferredHl7VSDegreeLicenseCertificateAUExtended
http://terminology.hl7.org.au/ValueSet/v2-0360-extended
Practitioner.communicationextensibleCommonLanguagesInAustralia .
https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf 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-4errorPractitionerIf 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-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-hpii-0errorPractitioner.identifier:identifierHPIIHPI-I shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-hpii-1errorPractitioner.identifier:identifierHPIIHPI-I prefix shall be 800361
: value.startsWith('800361')
inv-hpii-2errorPractitioner.identifier:identifierHPIIHPI-I shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
inv-pra-0errorPractitioner.qualificationA qualification shall only have AHPRA Profession details if the code is AHPRA Profession
: extension('http://hl7.org.au/fhir/StructureDefinition/ahpraprofession-details').exists() implies code.coding.where(system='http://terminology.hl7.org.au/CodeSystem/v2-0360' and code='AUAHPRAProfession').exists()
inv-pra-1errorPractitioner.qualificationA qualification shall only have AHPRA Registration details if the code is AHPRA Registration
: extension('http://hl7.org.au/fhir/StructureDefinition/ahpraregistration-details').exists() implies code.coding.where(system='http://terminology.hl7.org.au/CodeSystem/v2-0360' and code='AUAHPRARegistration').exists()