MediRecords FHIR Implementation Guide
1.3.0 - release


Resource Profile: MediRecords Core Practitioner

Defining URL:https://fhir.medirecords.com/StructureDefinition/mr-practitioner-core
Version:1.3.0
Name:MRPractitioner
Title:MediRecords Core Practitioner
Status:Active as of 2023-12-21 01:01:27+0000
Definition:

MediRecords core Practitioner profile represeting a healthcare provider

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

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

Formal Views of Profile Content

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

This structure is derived from AUBasePractitioner

Summary

Mandatory: 1 element (13 nested mandatory elements)
Must-Support: 22 elements
Fixed Value: 8 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.telecom is sliced based on the values of value:use, value:system (Closed)

This structure is derived from AUBasePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*AUBasePractitionerA practitioner in an Australian healthcare context
... meta
.... lastUpdated S0..1instantWhen the resource version last changed
.... profile S1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... Slices for identifier 0..*Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumberPractitioner's Identifier.
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII S0..1AUHPIIHealthcare Provider Identifier – Individual (HPI-I)
.... identifier:identifierPRSN S0..1AUPBSPrescriberNumberPBS Prescriber Number
.... identifier:identifierAPRH S0..*AUAHPRARegistrationNumberAustralian Health Practitioner Regulation Agency (AHPRA) Registration Number
.... identifier:identifierACN 0..1AUCareAgencyEmployeeIdentifierCare Agency Employee (CAE) Identifier
... name S1..1HumanNameThe name(s) associated with the practitioner
.... telecom:email S0..1ContactPointEmail
..... system S1..1codephone | fax | email | pager | url | sms | other
Fixed Value: email
..... value S1..1stringThe actual contact point details
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: work
.... telecom:homePhone S0..1ContactPointHome Phone. The number should be of 10 digits length
..... system 1..1codephone | fax | email | pager | url | sms | other
Fixed Value: phone
..... value S1..1stringThe actual contact point details
Max Length: 10
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: home
.... telecom:workPhone S0..1ContactPointWork Phone. The number should be of 10 digits length
..... system 1..1codephone | fax | email | pager | url | sms | other
Fixed Value: phone
..... value S1..1stringThe actual contact point details
Max Length: 10
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: work
.... telecom:mobile S0..1ContactPointMobile. The number should be of 10 digits length
..... system 1..1codephone | fax | email | pager | url | sms | other
Fixed Value: phone
..... value S1..1stringThe actual contact point details
Max Length: 10
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: mobile
... gender S0..1codemale | female | other | unknown
... birthDate S0..1dateThe date on which the practitioner was born
... qualification
.... code S1..1CodeableConceptCoded representation of the qualification

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
.... 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 SΣ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies where the resource comes from
.... profile SΣ1..*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
... 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, AUAHPRARegistrationNumberPractitioner's Identifier.
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII SC0..1AUHPIIHealthcare Provider Identifier – Individual (HPI-I)
.... identifier:identifierPRSN S0..1AUPBSPrescriberNumberPBS Prescriber Number
.... identifier:identifierAPRH SC0..*AUAHPRARegistrationNumberAustralian Health Practitioner Regulation Agency (AHPRA) Registration Number
.... identifier:identifierACN C0..1AUCareAgencyEmployeeIdentifierCare Agency Employee (CAE) Identifier
... active Σ0..1booleanWhether this practitioner's record is in active use
... name SΣ1..1HumanNameThe name(s) associated with the practitioner
... Slices for telecom Σ0..*ContactPointA contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by value:use, value:system
.... telecom:email SΣ0..1ContactPointEmail
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: email
..... value SΣ1..1stringThe actual contact point details
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: work
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:homePhone SΣ0..1ContactPointHome Phone. The number should be of 10 digits length
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
Max Length: 10
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: home
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:workPhone SΣ0..1ContactPointWork Phone. The number should be of 10 digits length
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
Max Length: 10
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: work
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:mobile SΣ0..1ContactPointMobile. The number should be of 10 digits length
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
Max Length: 10
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: mobile
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
... address 0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... gender SΣ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ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
.... 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 S1..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: https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2 (extensible)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*AUBasePractitionerA practitioner in an Australian healthcare context
... meta Σ0..1MetaMetadata about the resource
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... profile Σ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... identifier:identifierHPII C0..1AUHPIIHealthcare Provider Identifier – Individual (HPI-I)
... identifier:identifierPRSN 0..1AUPBSPrescriberNumberPBS Prescriber Number
... name Σ1..1HumanNameThe name(s) associated with the practitioner
... telecom:email Σ0..1ContactPointEmail
.... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: email
.... value Σ1..1stringThe actual contact point details
.... use ?!Σ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: work
... telecom:homePhone Σ0..1ContactPointHome Phone. The number should be of 10 digits length
.... value Σ1..1stringThe actual contact point details
Max Length: 10
.... use ?!Σ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: home
... telecom:workPhone Σ0..1ContactPointWork Phone. The number should be of 10 digits length
.... value Σ1..1stringThe actual contact point details
Max Length: 10
.... use ?!Σ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: work
... telecom:mobile Σ0..1ContactPointMobile. The number should be of 10 digits length
.... value Σ1..1stringThe actual contact point details
Max Length: 10
.... use ?!Σ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: mobile
... 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
... qualification C0..*BackboneElementCertification, licenses, or training pertaining to the provision of care
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)

doco Documentation for this format

This structure is derived from AUBasePractitioner

Summary

Mandatory: 1 element (13 nested mandatory elements)
Must-Support: 22 elements
Fixed Value: 8 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.telecom is sliced based on the values of value:use, value:system (Closed)

Differential View

This structure is derived from AUBasePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*AUBasePractitionerA practitioner in an Australian healthcare context
... meta
.... lastUpdated S0..1instantWhen the resource version last changed
.... profile S1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... Slices for identifier 0..*Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAHPRARegistrationNumberPractitioner's Identifier.
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII S0..1AUHPIIHealthcare Provider Identifier – Individual (HPI-I)
.... identifier:identifierPRSN S0..1AUPBSPrescriberNumberPBS Prescriber Number
.... identifier:identifierAPRH S0..*AUAHPRARegistrationNumberAustralian Health Practitioner Regulation Agency (AHPRA) Registration Number
.... identifier:identifierACN 0..1AUCareAgencyEmployeeIdentifierCare Agency Employee (CAE) Identifier
... name S1..1HumanNameThe name(s) associated with the practitioner
.... telecom:email S0..1ContactPointEmail
..... system S1..1codephone | fax | email | pager | url | sms | other
Fixed Value: email
..... value S1..1stringThe actual contact point details
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: work
.... telecom:homePhone S0..1ContactPointHome Phone. The number should be of 10 digits length
..... system 1..1codephone | fax | email | pager | url | sms | other
Fixed Value: phone
..... value S1..1stringThe actual contact point details
Max Length: 10
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: home
.... telecom:workPhone S0..1ContactPointWork Phone. The number should be of 10 digits length
..... system 1..1codephone | fax | email | pager | url | sms | other
Fixed Value: phone
..... value S1..1stringThe actual contact point details
Max Length: 10
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: work
.... telecom:mobile S0..1ContactPointMobile. The number should be of 10 digits length
..... system 1..1codephone | fax | email | pager | url | sms | other
Fixed Value: phone
..... value S1..1stringThe actual contact point details
Max Length: 10
..... use S1..1codehome | work | temp | old | mobile - purpose of this contact point
Fixed Value: mobile
... gender S0..1codemale | female | other | unknown
... birthDate S0..1dateThe date on which the practitioner was born
... qualification
.... code S1..1CodeableConceptCoded representation of the qualification

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
.... 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 SΣ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies where the resource comes from
.... profile SΣ1..*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
... 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, AUAHPRARegistrationNumberPractitioner's Identifier.
Slice: Unordered, Closed by pattern:type
.... identifier:identifierHPII SC0..1AUHPIIHealthcare Provider Identifier – Individual (HPI-I)
.... identifier:identifierPRSN S0..1AUPBSPrescriberNumberPBS Prescriber Number
.... identifier:identifierAPRH SC0..*AUAHPRARegistrationNumberAustralian Health Practitioner Regulation Agency (AHPRA) Registration Number
.... identifier:identifierACN C0..1AUCareAgencyEmployeeIdentifierCare Agency Employee (CAE) Identifier
... active Σ0..1booleanWhether this practitioner's record is in active use
... name SΣ1..1HumanNameThe name(s) associated with the practitioner
... Slices for telecom Σ0..*ContactPointA contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by value:use, value:system
.... telecom:email SΣ0..1ContactPointEmail
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: email
..... value SΣ1..1stringThe actual contact point details
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: work
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:homePhone SΣ0..1ContactPointHome Phone. The number should be of 10 digits length
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
Max Length: 10
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: home
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:workPhone SΣ0..1ContactPointWork Phone. The number should be of 10 digits length
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
Max Length: 10
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: work
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:mobile SΣ0..1ContactPointMobile. The number should be of 10 digits length
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
Max Length: 10
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


Fixed Value: mobile
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
... address 0..*Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... gender SΣ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ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
.... 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 S1..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: https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2 (extensible)

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Practitioner.meta.securityextensibleAll Security Labels
Practitioner.meta.tagexampleCommonTags
Practitioner.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Practitioner.telecom:email.systemrequiredFixed Value: email
Practitioner.telecom:email.userequiredFixed Value: work
Practitioner.telecom:homePhone.systemrequiredFixed Value: phone
Practitioner.telecom:homePhone.userequiredFixed Value: home
Practitioner.telecom:workPhone.systemrequiredFixed Value: phone
Practitioner.telecom:workPhone.userequiredFixed Value: work
Practitioner.telecom:mobile.systemrequiredFixed Value: phone
Practitioner.telecom:mobile.userequiredFixed Value: mobile
Practitioner.genderrequiredAdministrativeGender
Practitioner.qualification.codepreferredHl7VSDegreeLicenseCertificateAUExtended
Practitioner.communicationextensiblehttps://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2

Constraints

IdGradePath(s)DetailsRequirements
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-ahpra-0errorPractitioner.identifier:identifierAPRHAHPRA identifier shall be 3 uppercase letters, followed by 10 digits
: value.matches('^[A-Z]{3}[0-9]{10}$')
inv-caei-0errorPractitioner.identifier:identifierACNCAE identifier shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-caei-1errorPractitioner.identifier:identifierACNCAE identifier prefix shall be 900360
: value.startsWith('900360')
inv-caei-2errorPractitioner.identifier:identifierACNCAE identifier 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-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)