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 2024-10-28 02:34:31+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 Practitioner.identifier is sliced based on the value of pattern:type (Closed)
  • The element Practitioner.name is sliced based on the value of value:use (Closed)

This structure is derived from AUBasePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner AUBasePractitioner
... Slices for identifier 0..*Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumberAn identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII S0..1AUHPIIHealthcare Provider Identifier - Individual (HPI-I)
... Slices for name 1..*HumanNameThe name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official S1..1HumanNameOfficial name
..... use 1..1codeusual | official | temp | nickname | anonymous | old | maiden
Required Pattern: official
..... family 1..1stringLast name
..... given 1..1stringFirst name
..... prefix 1..1stringTitle
.... name:preferred S0..1HumanNamePreferred name
..... use 1..1codeusual | official | temp | nickname | anonymous | old | maiden
Required Pattern: usual
..... text 1..1stringText representation of preferred name

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*AUBasePractitionerA practitioner in an Australian healthcare context
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... 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
... Slices for identifier 0..*Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumberAn identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII SC0..1AUHPIIHealthcare 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..1booleanWhether this practitioner's record is in active use
... Slices for name Σ1..*HumanNameThe name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official SΣ1..1HumanNameOfficial name
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
..... text Σ0..1stringText representation of the full name
..... family Σ1..1stringLast name
..... given Σ1..1stringFirst name
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ1..1stringTitle
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ0..1PeriodTime period when name was/is in use
.... name:preferred SΣ0..1HumanNamePreferred name
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


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

... birthDate Σ0..1dateThe date on which the practitioner was born
... photo 0..*AttachmentImage of the person
... qualification C0..*BackboneElementCertification, 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..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
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..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier 0..*Identifier, AUAHPRARegistrationNumberAn identifier intended for computation
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
.... period 0..1PeriodPeriod during which the qualification is valid
.... issuer 0..1Reference(Organization)Organization that regulates and issues the qualification
... communication 0..*CodeableConceptA language the practitioner can use in patient communication
Binding: Common Languages in Australia . (extensible)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*AUBasePractitionerA practitioner in an Australian healthcare context
... identifier:identifierHPII C0..1AUHPIIHealthcare 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
... name:official Σ1..1HumanNameOfficial name
... name:preferred Σ0..1HumanNamePreferred 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 Practitioner.identifier is sliced based on the value of pattern:type (Closed)
  • The element Practitioner.name is sliced based on the value of value:use (Closed)

Differential View

This structure is derived from AUBasePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner AUBasePractitioner
... Slices for identifier 0..*Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumberAn identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII S0..1AUHPIIHealthcare Provider Identifier - Individual (HPI-I)
... Slices for name 1..*HumanNameThe name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official S1..1HumanNameOfficial name
..... use 1..1codeusual | official | temp | nickname | anonymous | old | maiden
Required Pattern: official
..... family 1..1stringLast name
..... given 1..1stringFirst name
..... prefix 1..1stringTitle
.... name:preferred S0..1HumanNamePreferred name
..... use 1..1codeusual | official | temp | nickname | anonymous | old | maiden
Required Pattern: usual
..... text 1..1stringText representation of preferred name

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*AUBasePractitionerA practitioner in an Australian healthcare context
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... 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
... Slices for identifier 0..*Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumberAn identifier intended for computation
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII SC0..1AUHPIIHealthcare 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..1booleanWhether this practitioner's record is in active use
... Slices for name Σ1..*HumanNameThe name(s) associated with the practitioner
Slice: Unordered, Closed by value:use
.... name:official SΣ1..1HumanNameOfficial name
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
..... text Σ0..1stringText representation of the full name
..... family Σ1..1stringLast name
..... given Σ1..1stringFirst name
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ1..1stringTitle
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ0..1PeriodTime period when name was/is in use
.... name:preferred SΣ0..1HumanNamePreferred name
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


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

... birthDate Σ0..1dateThe date on which the practitioner was born
... photo 0..*AttachmentImage of the person
... qualification C0..*BackboneElementCertification, 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..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
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..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier 0..*Identifier, AUAHPRARegistrationNumberAn identifier intended for computation
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
.... period 0..1PeriodPeriod during which the qualification is valid
.... issuer 0..1Reference(Organization)Organization that regulates and issues the qualification
... communication 0..*CodeableConceptA 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
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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()