MediRecords FHIR Implementation Guide
1.4.2 - release


Resource Profile: MR Practitioner Contact

Defining URL:https://fhir.medirecords.com/StructureDefinition/mr-practitioner-contact
Version:1.4.2
Name:MRPractitionerContact
Title:MR Practitioner Contact
Status:Active as of 2025-09-12 07:08:18+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 & Constraints    Filter: Filtersdoco
.. 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 & Constraints    Filter: Filtersdoco
.. 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
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 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)
... 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
Constraints: inv-pra-0, inv-pra-1
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:ahpraProfession-details 0..1 (Complex) AHPRA Profession Details
URL: http://hl7.org.au/fhir/StructureDefinition/ahpraprofession-details
..... extension: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 & Constraints    Filter: Filtersdoco
.. Practitioner 0..* AUBasePractitioner A practitioner in an Australian healthcare context
... Slices for identifier Content/Rules for all slices
.... identifier:identifierHPII 0..1 AUHPII Healthcare Provider Identifier - Individual (HPI-I)
... 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 & Constraints    Filter: Filtersdoco
.. 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 & Constraints    Filter: Filtersdoco
.. 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
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 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)
... 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
Constraints: inv-pra-0, inv-pra-1
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:ahpraProfession-details 0..1 (Complex) AHPRA Profession Details
URL: http://hl7.org.au/fhir/StructureDefinition/ahpraprofession-details
..... extension: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 Value: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
From the FHIR Standard
Practitioner.name:preferred.userequiredPattern Value: 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-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()