{
"description": null,
"_filename": "NHSDigital-Practitioner.StructureDefinition.json",
"package_name": "uk.nhsdigital.r4",
"date": null,
"derivation": "constraint",
"publisher": null,
"fhirVersion": "4.0.1",
"name": "NHSDigitalPractitioner",
"mapping": [ {
"uri": "http://hl7.org/v2",
"name": "HL7 v2 Mapping",
"identity": "v2"
}, {
"uri": "http://hl7.org/v3",
"name": "RIM Mapping",
"identity": "rim"
}, {
"uri": "http://hl7.org/fhir/fivews",
"name": "FiveWs Pattern Mapping",
"identity": "w5"
} ],
"abstract": false,
"type": "Practitioner",
"experimental": null,
"resourceType": "StructureDefinition",
"title": null,
"package_version": "2.4.5",
"status": "draft",
"id": "0950d07c-62bf-4c0f-95ba-28482a720480",
"kind": "resource",
"url": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"version": null,
"differential": {
"element": [ {
"id": "Practitioner",
"path": "Practitioner",
"constraint": [ {
"key": "prac-nmc",
"human": "NMC must be of the format NNANNNNA",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/nmc-number').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/nmc-number').exists() and identifier.where(system='https://fhir.hl7.org.uk/Id/nmc-number').value.matches('^[0-9]{2}[A-Z]{1}[0-9]{4}[A-Z]{1}$'))"
}, {
"key": "prac-gmp",
"human": "GMP must be of the format GNNNNNNN and not be a spurious code (starts with G6 or G7)",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/gmp-number').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/gmp-number').exists() and identifier.where(system='https://fhir.hl7.org.uk/Id/gmp-number').value.matches('^[G]{1}[01234589]{1}[0-9]{6}$'))"
}, {
"key": "prac-gmc",
"human": "GMC must be of the format CNNNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/gmc-number').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/gmc-number').exists() and identifier.where(system='https://fhir.hl7.org.uk/Id/gmc-number').value.matches('^[C]{1}[0-9]{7}$'))"
}, {
"key": "prac-gphc",
"human": "GPHC must be of the format NNNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/gphc-number').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/gphc-number').exists() and identifier.where(system='https://fhir.hl7.org.uk/Id/gphc-number').value.matches('^[0-9]{7}$'))"
}, {
"key": "prac-hcpc",
"human": "HCPC must be of the format AANNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/hcpc-number').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/hcpc-number').exists() and identifier.where(system='https://fhir.hl7.org.uk/Id/hcpc-number').value.matches('^[A-Z]{2}[0-9]{6}$'))"
}, {
"key": "prac-din",
"human": "DIN format must be NNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/din-number').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/din-number').exists() and identifier.where(system='https://fhir.hl7.org.uk/Id/din-number').value.matches('^[0-9]{6}$'))"
}, {
"key": "prac-sds-user",
"human": "Professional code (GMC, GMP, NMC, etc) is preferred.",
"source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner",
"severity": "warning",
"expression": "identifier.count() != 1 or (identifier.count() = 1 and identifier.where(system='https://fhir.nhs.uk/Id/sds-user-id').exists().not())"
} ]
}, {
"id": "Practitioner.identifier",
"min": 1,
"path": "Practitioner.identifier",
"comment": "SHOULD contain a professional code or SDS-user-id.",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "system",
"type": "value"
} ]
},
"definition": "**SHOULD** contain a professional code.\r\n\r\nThe inclusion of a professional code is strongly recommended. For consultants and doctors a prescribing code should be present. Please see [NHS Data Model and Dictionary](https://datadictionary.nhs.uk/) for details on these code.\r\n\r\nThe *SDS User Id* should be sourced from NHS Identity (SmartCard), this is also held within the Spine Directory Service LDAP database. \r\n\r\n\r\n| FHIR identifier | OID/HL7v3 | HL7v2 ITK | Format | Description | Professional Code | Prescribing Code | \r\n|--\r\n| https://fhir.hl7.org.uk/Id/gmp-number | 2.16.840.1.113883.2.1.3.2.4.16.62 | GMP | G[1234589]NNNNNN | General Medical Practitioner Code [GENERAL MEDICAL PRACTITIONER PPD CODE](https://datadictionary.nhs.uk/attributes/general_medical_practitioner_ppd_code.html) | Yes | No, also include DIN |\r\n| https://fhir.hl7.org.uk/Id/gmc-number | 2.16.840.1.113883.2.1.3.2.4.16.63 | GMC | CNNNNNNN |General Medical Council Code [CONSULTANT_CODE](https://datadictionary.nhs.uk/attributes/consultant_code.html) | Yes | Yes |\r\n| https://fhir.hl7.org.uk/Id/nmc-number | | | NNANNNNA |Nursing and Midwifery Council Code | Yes | Yes |\r\n| https://fhir.hl7.org.uk/Id/gphc-number | | | NNNNNNN |General Pharmaceutical Council Code |Yes | Yes |\r\n| https://fhir.hl7.org.uk/Id/hcpc-number | | | AANNNNNN(*) |Health and Care Professional Council Code |Yes | Yes |\r\n| https://fhir.hl7.org.uk/Id/din-number | 1.2.826.0.1285.0.2.1.54 | | NNNNNN | [DOCTOR INDEX NUMBER](https://datadictionary.nhs.uk/attributes/doctor_index_number.html) | No | Yes |\r\n| https://fhir.nhs.uk/Id/sds-user-id | 1.2.826.0.1285.0.2.0.65 | | | SDS User ID | No | No | \r\n\r\nFormat\r\n\r\n- N = any number\r\n- A = any alpha\r\n\r\n(*) NHS Prescription Services systems require these prescriber codes to be 8 characters\r\nlong. Additional zeroes (0) should be inserted immediately following the first 2 alpha\r\ncharacters to extend the code to 8 characters as necessary.\r\n\r\n| Code | Format | Example |\r\n|--\r\n| GP/medical prescriber (DIN) | NNNNNN | 954000 |\r\n| Nurse prescriber (NMC) | NNANNNNA | 71A2998E | \r\n| Pharmacist prescriber (GPHC) | NNNNNNN | 2033467 |\r\n| Optometrist prescriber | NN-NNNNN | 01-09491 |\r\n| Podiatrist prescriber (HCPC) | CHNNNNNN | CH029821 | \r\n| Physiotherapist prescriber (HCPC) | PHNNNNNN |PH095159\r\n| Radiographer prescriber (HCPC) | RANNNNNN | RA088262 | \r\n| Dietician prescriber (HCPC) | DTNNNNNN | DT012345 | \r\n| Paramedic prescriber (HCPC) | PANNNNNN | PA054321 |\r\n\r\nThe *Doctor Index Number (DIN)* will be present in the resource even if they are prescribing using a different prescribing code. This code is called the *spurious code* is held within the `NHSDigital-PractitionerRole` resource and **MUST NOT** be contained in the Practitioner resource. \r\n\r\nIn the example below, the practitioner (GP as they have a GMP Code) has a SDS User Id of 3415870201, GMP code of G1234567 and DIN code of 123456. If the GP was in a role, prescribing using a spurious code this would be found in the `PractitionerRole`.\r\n\r\n```json\r\n{\r\n \"resourceType\": \"Practitioner\",\r\n ...\r\n \"identifier\": [\r\n {\r\n \"system\": \"https://fhir.nhs.uk/Id/sds-user-id\",\r\n \"value\": \"3415870201\"\r\n },\r\n {\r\n \"system\": \"https://fhir.hl7.org.uk/Id/gmp-number\",\r\n \"value\": \"G1234567\"\r\n },\r\n {\r\n \"system\": \"https://fhir.hl7.org.uk/Id/din-number\",\r\n \"value\": \"123456\"\r\n }\r\n ]\r\n ...\r\n}\r\n```\r\n\r\nIn the example below, the practitioner (Consultant as they have a GMC Code) has a SDS User Id of 1415870201, GMC code of C2134567.\r\n\r\n```json\r\n{\r\n \"resourceType\": \"Practitioner\",\r\n ...\r\n \"identifier\": [\r\n {\r\n \"system\": \"https://fhir.nhs.uk/Id/sds-user-id\",\r\n \"value\": \"1415870201\"\r\n },\r\n {\r\n \"system\": \"https://fhir.hl7.org.uk/Id/gmc-number\",\r\n \"value\": \"C2134567\"\r\n }\r\n ]\r\n ...\r\n}\r\n```\r\n\r\n### Professional Code System Not Known\r\n\r\nIn cases where the profession code is present but it is not certain what type of code this is, the `https://fhir.hl7.org.uk/Id/professional-code` system should be used. \r\nIn the example below, 2134567 is probably a raw GMC code (without the preceding C) but we are not certain.\r\n\r\n```json\r\n{\r\n \"resourceType\": \"Practitioner\",\r\n ...\r\n \"identifier\": [\r\n {\r\n \"system\": \"https://fhir.nhs.uk/Id/sds-user-id\",\r\n \"value\": \"1415870201\"\r\n },\r\n {\r\n \"system\": \"https://fhir.hl7.org.uk/Id/professional-code\",\r\n \"value\": \"2134567\"\r\n }\r\n ]\r\n ...\r\n}\r\n```",
"mustSupport": true
}, {
"id": "Practitioner.identifier:gmcCode",
"max": "1",
"path": "Practitioner.identifier",
"sliceName": "gmcCode",
"mustSupport": true
}, {
"id": "Practitioner.identifier:gmcCode.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/gmc-number"
}, {
"id": "Practitioner.identifier:gmpCode",
"max": "1",
"path": "Practitioner.identifier",
"sliceName": "gmpCode",
"mustSupport": true
}, {
"id": "Practitioner.identifier:gmpCode.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/gmp-number"
}, {
"id": "Practitioner.identifier:dinCode",
"path": "Practitioner.identifier",
"sliceName": "dinCode",
"mustSupport": true
}, {
"id": "Practitioner.identifier:dinCode.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/din-number"
}, {
"id": "Practitioner.identifier:gphcCode",
"path": "Practitioner.identifier",
"sliceName": "gphcCode",
"mustSupport": true
}, {
"id": "Practitioner.identifier:gphcCode.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/gphc-number"
}, {
"id": "Practitioner.identifier:hcpcNumber",
"path": "Practitioner.identifier",
"sliceName": "hcpcNumber",
"mustSupport": true
}, {
"id": "Practitioner.identifier:hcpcNumber.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/hcpc-number"
}, {
"id": "Practitioner.identifier:nmcNumber",
"path": "Practitioner.identifier",
"sliceName": "nmcNumber",
"mustSupport": true
}, {
"id": "Practitioner.identifier:nmcNumber.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/nmc-number"
}, {
"id": "Practitioner.name",
"min": 1,
"path": "Practitioner.name",
"mustSupport": true
}, {
"id": "Practitioner.telecom",
"path": "Practitioner.telecom",
"mustSupport": true
}, {
"id": "Practitioner.telecom.value",
"min": 1,
"path": "Practitioner.telecom.value"
}, {
"id": "Practitioner.telecom.use",
"min": 1,
"path": "Practitioner.telecom.use"
} ]
},
"baseDefinition": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner"
}