North West Genomics Testing Workflow (GTW)
0.0.1 - ci-build United Kingdom flag

DRAFT Implementation Guide

This is for collaboration and discussion purposes and is subject to change.

North West Genomics Testing Workflow (GTW) - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Practitioner

Official URL: https://hl7.mft.nhs.uk/StructureDefinition/Practitioner Version: 0.0.1
Draft as of 2025-02-22 Computable Name: Practitioner

DRAFT Extension of UKCore Practitioner which includes elements from:

Practitioner (Resource) or Reference by Practitioner Identity

In message paradigms, especially HL7 v2 laboratory order (OML_O21/ORM_O01) and unsolicitied observations (ORU_R01) it is common to use the XCN (Extended Composite Id Number And Name For Persons). The FHIR equivalent to this datatype is FHIR Reference

For example:

HL7 v2 XCN

C3456789^Darwin^Samuel^^^Dr^^^GMC

HL7 FHIR Reference

{
    "reference" : "Practitioner/1234",
    "type" : "Practitioner",
    "identifier" : {
      "system" : "https://fhir.hl7.org.uk/Id/gmc-number",
      "value" : "C3456789"
    },
    "display" : "Dr Darwin, Samuel"
}

FHIR Reference introduces a reference to a detailed version of Practitioner which includes fields such as telecom and gender.

It is not clear in Enterprise/Regional use of FHIR which approach Resource or Reference should be taken, both HL7 v2 and FHIR support Reference aggregate or entities by identity from Dommain Driven Design (DDD) and this appears to also be followed by IHE XDS and DICOM. In addition, NHS England Data Dictionary and NHS England HL7 v2 ADT Message Specification favour Reference NHS England FHIR STU3/R4 specifications around Messaging, tend to favour Resource.

It is likely that the reference may be able to point to Care Service Directory services provided by NHS England Healthcare Worker - FHIR API in the near future,(or alternatively downloaded from NHS England Organisation Data Service - CSV Downloads. Therefore: it is proposed:

Reference by Practitioner Identity only

and so continuing conventions used in HL7 v2, i.e. no Practitioner resources will be present in FHIR Messaging.

Usage:

Formal Views of Profile Content

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

This structure is derived from UKCorePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner UKCorePractitioner
... Slices for identifier 1..* Identifier An identifier that applies to this person in this role.
Slice: Unordered, Open by value:type
.... identifier:All Slices Content/Rules for all slices
..... system 1..1 uri The namespace for the identifier value
..... value 1..1 string The value that is unique
.... identifier:EnglandPractitionerIdentifier S 1..1 EnglandPractitionerIdentifier An identifier that applies to this person in this role.
... name 0..1 HumanName The name(s) associated with the practitioner.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* UKCorePractitioner A person with a formal responsibility in the provisioning of healthcare or related services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
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-6: A resource should have narrative for robust management
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
... 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 ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... Slices for identifier SΣ 1..* Identifier An identifier that applies to this person in this role.
Slice: Unordered, Open by value:type
ele-1: All FHIR elements must have a @value or children
.... identifier:All Slices Content/Rules for all slices
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
.... identifier:EnglandPractitionerIdentifier SΣ 1..1 EnglandPractitionerIdentifier An identifier that applies to this person in this role.
ele-1: All FHIR elements must have a @value or children
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri The namespace for the identifier value
Binding: Practitioner Identifiers (required)
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
... name SΣ 0..1 HumanName The name(s) associated with the practitioner.
ele-1: All FHIR elements must have a @value or children
... telecom SΣC 0..* ContactPoint A contact detail for the practitioner (that apply to all roles).
ele-1: All FHIR elements must have a @value or children
cpt-2: A system is required if a value is provided.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.systemrequiredPractitionerIdentifiers (a valid code from UK Professional License)
https://hl7.mft.nhs.uk/ValueSet/PractitionerIdentifiers
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* UKCorePractitioner A person with a formal responsibility in the provisioning of healthcare or related services
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... Slices for identifier SΣ 1..* Identifier An identifier that applies to this person in this role.
Slice: Unordered, Open by value:type
.... identifier:All Slices Content/Rules for all slices
..... 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 ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:EnglandPractitionerIdentifier SΣ 1..1 EnglandPractitionerIdentifier An identifier that applies to this person in this role.
..... 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 ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system

Fixed Value: As shown (License number)
....... id 0..0 string Unique id for inter-element referencing
....... extension 0..0 Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version 0..0 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: LN
....... display 0..0 string Representation defined by the system
....... userSelected 0..0 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... system Σ 1..1 uri The namespace for the identifier value
Binding: Practitioner Identifiers (required)
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active Σ 0..1 boolean Whether this practitioner's record is in active use
... name SΣ 0..1 HumanName The name(s) associated with the practitioner.
... telecom SΣC 0..* ContactPoint A contact detail for the practitioner (that apply to all roles).
cpt-2: A system is required if a value is provided.
... address Σ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
... 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 C 0..* Attachment Image of the person
att-1: If the Attachment has data, it SHALL have a contentType
... qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.

.... period C 0..1 Period Period during which the qualification is valid
per-1: If present, start SHALL have a lower value than end
.... issuer C 0..1 Reference(Organization) Organization that regulates and issues the qualification
ref-1: SHALL have a contained resource if a local reference is provided
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: AllLanguages (required): A ValueSet that identifies the language used by a person.

Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.systemrequiredPractitionerIdentifiers (a valid code from UK Professional License)
https://hl7.mft.nhs.uk/ValueSet/PractitionerIdentifiers
from this IG
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Practitioner.qualification.codeexamplev2.0360.2.7 (a valid code from http://terminology.hl7.org/CodeSystem/v2-0360|2.7)
http://terminology.hl7.org/ValueSet/v2-2.7-0360
from the FHIR Standard
Practitioner.communicationrequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding

This structure is derived from UKCorePractitioner

Summary

Mandatory: 4 elements
Must-Support: 1 element

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

Differential View

This structure is derived from UKCorePractitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner UKCorePractitioner
... Slices for identifier 1..* Identifier An identifier that applies to this person in this role.
Slice: Unordered, Open by value:type
.... identifier:All Slices Content/Rules for all slices
..... system 1..1 uri The namespace for the identifier value
..... value 1..1 string The value that is unique
.... identifier:EnglandPractitionerIdentifier S 1..1 EnglandPractitionerIdentifier An identifier that applies to this person in this role.
... name 0..1 HumanName The name(s) associated with the practitioner.

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* UKCorePractitioner A person with a formal responsibility in the provisioning of healthcare or related services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
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-6: A resource should have narrative for robust management
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
... 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 ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... Slices for identifier SΣ 1..* Identifier An identifier that applies to this person in this role.
Slice: Unordered, Open by value:type
ele-1: All FHIR elements must have a @value or children
.... identifier:All Slices Content/Rules for all slices
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
.... identifier:EnglandPractitionerIdentifier SΣ 1..1 EnglandPractitionerIdentifier An identifier that applies to this person in this role.
ele-1: All FHIR elements must have a @value or children
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri The namespace for the identifier value
Binding: Practitioner Identifiers (required)
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
... name SΣ 0..1 HumanName The name(s) associated with the practitioner.
ele-1: All FHIR elements must have a @value or children
... telecom SΣC 0..* ContactPoint A contact detail for the practitioner (that apply to all roles).
ele-1: All FHIR elements must have a @value or children
cpt-2: A system is required if a value is provided.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.systemrequiredPractitionerIdentifiers (a valid code from UK Professional License)
https://hl7.mft.nhs.uk/ValueSet/PractitionerIdentifiers
from this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* UKCorePractitioner A person with a formal responsibility in the provisioning of healthcare or related services
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... Slices for identifier SΣ 1..* Identifier An identifier that applies to this person in this role.
Slice: Unordered, Open by value:type
.... identifier:All Slices Content/Rules for all slices
..... 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 ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:EnglandPractitionerIdentifier SΣ 1..1 EnglandPractitionerIdentifier An identifier that applies to this person in this role.
..... 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 ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system

Fixed Value: As shown (License number)
....... id 0..0 string Unique id for inter-element referencing
....... extension 0..0 Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version 0..0 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: LN
....... display 0..0 string Representation defined by the system
....... userSelected 0..0 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... system Σ 1..1 uri The namespace for the identifier value
Binding: Practitioner Identifiers (required)
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active Σ 0..1 boolean Whether this practitioner's record is in active use
... name SΣ 0..1 HumanName The name(s) associated with the practitioner.
... telecom SΣC 0..* ContactPoint A contact detail for the practitioner (that apply to all roles).
cpt-2: A system is required if a value is provided.
... address Σ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
... 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 C 0..* Attachment Image of the person
att-1: If the Attachment has data, it SHALL have a contentType
... qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.

.... period C 0..1 Period Period during which the qualification is valid
per-1: If present, start SHALL have a lower value than end
.... issuer C 0..1 Reference(Organization) Organization that regulates and issues the qualification
ref-1: SHALL have a contained resource if a local reference is provided
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: AllLanguages (required): A ValueSet that identifies the language used by a person.

Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Practitioner.identifier:EnglandPractitionerIdentifier.systemrequiredPractitionerIdentifiers (a valid code from UK Professional License)
https://hl7.mft.nhs.uk/ValueSet/PractitionerIdentifiers
from this IG
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Practitioner.qualification.codeexamplev2.0360.2.7 (a valid code from http://terminology.hl7.org/CodeSystem/v2-0360|2.7)
http://terminology.hl7.org/ValueSet/v2-2.7-0360
from the FHIR Standard
Practitioner.communicationrequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding

This structure is derived from UKCorePractitioner

Summary

Mandatory: 4 elements
Must-Support: 1 element

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

 

Other representations of profile: CSV, Excel, Schematron