NHS North West Genomics
2.2.5 - ci-build United Kingdom flag

NHS North West Genomics - Local Development build (v2.2.5) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Practitioner

Official URL: https://fhir.nwgenomics.nhs.uk/StructureDefinition/Practitioner Version: 2.2.5
Draft as of 2026-11-05 Computable Name: Practitioner

Reference

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.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Practitioner C 0..* PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
Constraints: name-or-identifier
Practitioner.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Practitioner.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Practitioner.Slices for identifier This element must be supported. This element is included in summaries. 1..* Identifier Practitioner identifier
Slice: Unordered, Open by value:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Practitioner.Slices for identifier.identifier:All Slices Content/Rules for all slices
Practitioner.Slices for identifier.identifier:All Slices.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Practitioner.Slices for identifier.identifier:All Slices.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Practitioner.Slices for identifier.identifier:All Slices.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Practitioner.Slices for identifier.identifier:PractitionerIdentifier This element must be supported. This element is included in summaries. 1..1 PractitionerIdentifier Practitioner identifier
Practitioner.name This element must be supported. This element is included in summaries. 1..* HumanName Practitioner Name

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression

This structure is derived from PractitionerEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Practitioner PractitionerEuCore
Practitioner.Slices for identifier This element must be supported. 1..* Identifier Practitioner identifier
Slice: Unordered, Open by value:type
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Practitioner.Slices for identifier.identifier:All Slices Content/Rules for all slices
Practitioner.Slices for identifier.identifier:All Slices.system 1..1 uri The namespace for the identifier value
Practitioner.Slices for identifier.identifier:All Slices.value 1..1 string The value that is unique
Practitioner.Slices for identifier.identifier:PractitionerIdentifier This element must be supported. 1..1 PractitionerIdentifier Practitioner identifier
Practitioner.name This element must be supported. 1..* HumanName Practitioner Name

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Practitioner C 0..* PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
Constraints: name-or-identifier
Practitioner.id This element is included in summaries. 0..1 id Logical id of this artifact
Practitioner.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Practitioner.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Practitioner.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Practitioner.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
Practitioner.contained 0..* Resource Contained, inline Resources
Practitioner.extension 0..* Extension Additional content defined by implementations
Practitioner.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Practitioner.Slices for identifier This element must be supported. This element is included in summaries. 1..* Identifier Practitioner identifier
Slice: Unordered, Open by value:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Practitioner.Slices for identifier.identifier:All Slices Content/Rules for all slices
Practitioner.Slices for identifier.identifier:All Slices.id 0..1 string Unique id for inter-element referencing
Practitioner.Slices for identifier.identifier:All Slices.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Practitioner.Slices for identifier.identifier:All Slices.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Practitioner.Slices for identifier.identifier:All Slices.type This element is included in summaries. 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.
Practitioner.Slices for identifier.identifier:All Slices.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Practitioner.Slices for identifier.identifier:All Slices.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Practitioner.Slices for identifier.identifier:All Slices.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Practitioner.Slices for identifier.identifier:All Slices.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Practitioner.Slices for identifier.identifier:PractitionerIdentifier This element must be supported. This element is included in summaries. 1..1 PractitionerIdentifier Practitioner identifier
Practitioner.active This element is included in summaries. 0..1 boolean Whether this practitioner's record is in active use
Practitioner.name This element must be supported. This element is included in summaries. 1..* HumanName Practitioner Name
Practitioner.telecom This element is included in summaries. 0..* ContactPoint Contact details for the practitioner
Practitioner.address This element is included in summaries. 0..* AddressEu The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Address(es) of the practitioner that are not role specific (typically home address)
Practitioner.gender This element is included in summaries. 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
Practitioner.birthDate This element is included in summaries. 0..1 date The date on which the practitioner was born
Practitioner.photo 0..* Attachment Image of the person
Practitioner.qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
Practitioner.qualification.id 0..1 string Unique id for inter-element referencing
Practitioner.qualification.extension 0..* Extension Additional content defined by implementations
Practitioner.qualification.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Practitioner.qualification.identifier 0..* Identifier An identifier for this qualification for the practitioner
Practitioner.qualification.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.
Practitioner.qualification.period 0..1 Period Period during which the qualification is valid
Practitioner.qualification.issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
Practitioner.communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Practitioner.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Practitioner.qualification.​code Base example v2 table 0360, Version 2.7 📦0360 FHIR Std.
Practitioner.communication Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression

This structure is derived from PractitionerEuCore

Summary

Mandatory: 4 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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Practitioner C 0..* PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
Constraints: name-or-identifier
Practitioner.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Practitioner.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Practitioner.Slices for identifier This element must be supported. This element is included in summaries. 1..* Identifier Practitioner identifier
Slice: Unordered, Open by value:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Practitioner.Slices for identifier.identifier:All Slices Content/Rules for all slices
Practitioner.Slices for identifier.identifier:All Slices.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Practitioner.Slices for identifier.identifier:All Slices.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Practitioner.Slices for identifier.identifier:All Slices.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Practitioner.Slices for identifier.identifier:PractitionerIdentifier This element must be supported. This element is included in summaries. 1..1 PractitionerIdentifier Practitioner identifier
Practitioner.name This element must be supported. This element is included in summaries. 1..* HumanName Practitioner Name

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression

Differential View

This structure is derived from PractitionerEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Practitioner PractitionerEuCore
Practitioner.Slices for identifier This element must be supported. 1..* Identifier Practitioner identifier
Slice: Unordered, Open by value:type
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Practitioner.Slices for identifier.identifier:All Slices Content/Rules for all slices
Practitioner.Slices for identifier.identifier:All Slices.system 1..1 uri The namespace for the identifier value
Practitioner.Slices for identifier.identifier:All Slices.value 1..1 string The value that is unique
Practitioner.Slices for identifier.identifier:PractitionerIdentifier This element must be supported. 1..1 PractitionerIdentifier Practitioner identifier
Practitioner.name This element must be supported. 1..* HumanName Practitioner Name

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Practitioner C 0..* PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
Constraints: name-or-identifier
Practitioner.id This element is included in summaries. 0..1 id Logical id of this artifact
Practitioner.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Practitioner.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Practitioner.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Practitioner.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
Practitioner.contained 0..* Resource Contained, inline Resources
Practitioner.extension 0..* Extension Additional content defined by implementations
Practitioner.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Practitioner.Slices for identifier This element must be supported. This element is included in summaries. 1..* Identifier Practitioner identifier
Slice: Unordered, Open by value:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Practitioner.Slices for identifier.identifier:All Slices Content/Rules for all slices
Practitioner.Slices for identifier.identifier:All Slices.id 0..1 string Unique id for inter-element referencing
Practitioner.Slices for identifier.identifier:All Slices.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Practitioner.Slices for identifier.identifier:All Slices.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Practitioner.Slices for identifier.identifier:All Slices.type This element is included in summaries. 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.
Practitioner.Slices for identifier.identifier:All Slices.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Practitioner.Slices for identifier.identifier:All Slices.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Practitioner.Slices for identifier.identifier:All Slices.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Practitioner.Slices for identifier.identifier:All Slices.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Practitioner.Slices for identifier.identifier:PractitionerIdentifier This element must be supported. This element is included in summaries. 1..1 PractitionerIdentifier Practitioner identifier
Practitioner.active This element is included in summaries. 0..1 boolean Whether this practitioner's record is in active use
Practitioner.name This element must be supported. This element is included in summaries. 1..* HumanName Practitioner Name
Practitioner.telecom This element is included in summaries. 0..* ContactPoint Contact details for the practitioner
Practitioner.address This element is included in summaries. 0..* AddressEu The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Address(es) of the practitioner that are not role specific (typically home address)
Practitioner.gender This element is included in summaries. 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
Practitioner.birthDate This element is included in summaries. 0..1 date The date on which the practitioner was born
Practitioner.photo 0..* Attachment Image of the person
Practitioner.qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
Practitioner.qualification.id 0..1 string Unique id for inter-element referencing
Practitioner.qualification.extension 0..* Extension Additional content defined by implementations
Practitioner.qualification.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Practitioner.qualification.identifier 0..* Identifier An identifier for this qualification for the practitioner
Practitioner.qualification.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.
Practitioner.qualification.period 0..1 Period Period during which the qualification is valid
Practitioner.qualification.issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
Practitioner.communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Practitioner.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Practitioner.qualification.​code Base example v2 table 0360, Version 2.7 📦0360 FHIR Std.
Practitioner.communication Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression

This structure is derived from PractitionerEuCore

Summary

Mandatory: 4 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

 

Other representations of profile: CSV, Excel, Schematron