PackagesCanonicalsLogsProblems
    Packages
    uk.nhsdigital.r4@2.5.0
    https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole
{
  "description": null,
  "_filename": "NHSDigital-PractitionerRole.StructureDefinition.json",
  "package_name": "uk.nhsdigital.r4",
  "date": null,
  "derivation": "constraint",
  "publisher": null,
  "fhirVersion": "4.0.1",
  "name": "NHSDigitalPractitionerRole",
  "abstract": false,
  "type": "PractitionerRole",
  "experimental": null,
  "resourceType": "StructureDefinition",
  "title": null,
  "package_version": "2.5.0",
  "status": "draft",
  "id": "c32e13f1-535b-4db6-b7bd-9cedce3ea922",
  "kind": "resource",
  "url": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
  "version": null,
  "differential": {
    "element": [ {
      "id": "PractitionerRole",
      "path": "PractitionerRole",
      "constraint": [ {
        "key": "role-spurious",
        "human": "Spurious Code format must be G6NNNNNN or G7NNNNNN",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.where(system='https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code').exists().not() or (identifier.where(system='https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code').exists()  and identifier.where(system='https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code').value.matches('^[G]{1}[67]{1}[0-9]{6}$'))"
      }, {
        "key": "role-sds-role-profile",
        "human": "SDS Role Profile Id must be 12 digits",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.where(system='https://fhir.nhs.uk/Id/sds-role-profile-id').exists().not() or (identifier.where(system='https://fhir.nhs.uk/Id/sds-role-profile-id').exists()  and identifier.where(system='https://fhir.nhs.uk/Id/sds-role-profile-id').value.matches('^[0-9]{12}$'))"
      } ]
    }, {
      "id": "PractitionerRole.extension",
      "min": 0,
      "path": "PractitionerRole.extension",
      "slicing": {
        "rules": "open",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      }
    }, {
      "id": "PractitionerRole.extension:costCentre",
      "max": "1",
      "min": 0,
      "path": "PractitionerRole.extension",
      "type": [ {
        "code": "Extension",
        "profile": [ "https://fhir.nhs.uk/StructureDefinition/Extension-NHSDigital-Account-code" ]
      } ],
      "sliceName": "costCentre",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.identifier",
      "path": "PractitionerRole.identifier",
      "slicing": {
        "rules": "open",
        "discriminator": [ {
          "path": "system",
          "type": "value"
        } ]
      },
      "definition": "| FHIR identifier | OID/HL7v3 | HL7v2 ITK | Format | Description | Professional Code  | Prescribing Code | \r\n|--|--|--|--|--|--|--|\r\n| https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code |  |  | G[67]NNNNNN | NHS BSA Spurious Code [GENERAL MEDICAL PRACTITIONER PPD CODE](https://datadictionary.nhs.uk/attributes/general_medical_practitioner_ppd_code.html) | No | Yes |\r\n| https://fhir.nhs.uk/Id/sds-role-profile-id | 1.2.826.0.1285.0.2.0.67 | | 12 digits | SDS Role Profile Code | No | No | \r\n\r\nThe *SDS Role Profile Code* should be sourced from NHS Identity (SmartCard), this is also held within the Spine Directory Service LDAP database.\r\n\r\nHolds *NHS BSA spurious codes* which are role specific *Doctor Index Number (DIN)*) codes. *NHS BSA spurious codes* are issued when a doctor issues medication outside of their normal role, normally at another organisation. In the example below, the doctor is working in a secondary role (with SDS Role Id of 100102238986), as this a has a spurious code of 2345213. If the doctor was prescribing in their primary role this *spurious code* would be absent.\r\n\r\n```json\r\n{\r\n  \"resourceType\": \"PractitionerRole\",\r\n  ...\r\n  \"identifier\": [\r\n          {\r\n            \"system\": \"https://fhir.nhs.uk/Id/sds-role-profile-id\",\r\n            \"value\": \"100102238986\"\r\n          },\r\n          {\r\n            \"system\": \"https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code\",\r\n            \"value\": \"2345213\"\r\n          }\r\n        ],\r\n  ...\r\n}\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.identifier:sdsRoleProfileID",
      "max": "1",
      "path": "PractitionerRole.identifier",
      "sliceName": "sdsRoleProfileID",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.identifier:sdsRoleProfileID.system",
      "path": "PractitionerRole.identifier.system",
      "fixedUri": "https://fhir.nhs.uk/Id/sds-role-profile-id"
    }, {
      "id": "PractitionerRole.identifier:nhsbsaSpuriousCode",
      "max": "1",
      "path": "PractitionerRole.identifier",
      "sliceName": "nhsbsaSpuriousCode",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.identifier:nhsbsaSpuriousCode.system",
      "path": "PractitionerRole.identifier.system",
      "fixedUri": "https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code"
    }, {
      "id": "PractitionerRole.practitioner",
      "path": "PractitionerRole.practitioner",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner" ]
      } ],
      "constraint": [ {
        "key": "nhsd-2",
        "human": "An identifier reference or resource reference must be provided",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "(reference.exists() or identifier.exists())"
      }, {
        "key": "role-nmc",
        "human": "NMC must be of the format NNANNNNA",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or 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": "role-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-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or 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": "role-gmc",
        "human": "GMC must be of the format CNNNNNNN",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or 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": "role-gphc",
        "human": "GPHC must be of the format NNNNNNN",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or 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": "role-hcpc",
        "human": "HCPC must be of the format AANNNNNN",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or 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": "role-din",
        "human": "DIN format must be NNNNNN",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or 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": "role-sds-user",
        "human": "Professional code (GMC, GMP, NMC, etc) is preferred.",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "identifier.exists().not() or identifier.where(system='https://fhir.nhs.uk/Id/sds-user-id').exists().not()"
      } ],
      "definition": "This **MUST** either be a reference to a Practitioner resource or an identifier reference plus a display. In both cases the referenced resource or identfier reference should contain a professional code. \r\n\r\nIt is recommended an *identifier reference* and *display* (practioner full name) is included. This identifier should be the Practitioner's primary professional code (see `NHSDigital-Practitioner` for details on professional codes). \r\n\r\n```json\r\n\"practitioner\": {\r\n        \"display\": \"Dr Smith\",\r\n        \"identifier\": {\r\n            \"system\": \"https://fhir.hl7.org.uk/Id/gmc-number\",\r\n            \"value\": \"C9876543\"\r\n          }\r\n    },\r\n```\r\n\r\nFor EPS, currently a *Resource reference* is required.\r\n\r\n```json\r\n\"practitioner\": {\r\n        \"reference\": \"urn:uuid:1557E58E-3B1E-41DD-B3B5-D4D393DC5A3D\",\r\n        \"display\": \"Dr Smith\"\r\n    },\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.organization",
      "path": "PractitionerRole.organization",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Organization" ]
      } ],
      "constraint": [ {
        "key": "nhsd-1",
        "human": "PractitionerRole.organization - An identifier reference or resource reference should be provided",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "warning",
        "expression": "(reference.exists() or identifier.exists())"
      } ],
      "definition": "This **MUST** either be a reference to a Organization resource or an identifier reference. In both cases the reference must contain an ANANA/ODS organisation code. \r\n\r\n\r\n#### organisation resource references\r\n\r\nIt is recommended an *identifier reference* is included. \r\n\r\n```json\r\n\"organization\": {\r\n        \"identifier\": {\r\n            \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\r\n            \"value\": \"RBA\"\r\n          },\r\n        \"display\": \"TAUNTON AND SOMERSET NHS FOUNDATION TRUST\"\r\n    }\r\n```\r\n\r\nOptionally *Resource reference* can be provided. This is required in the current version of EPS but this will be changed to supporting the *identifier reference* only.\r\n\r\n```json\r\n\"organization\": {\r\n        \"reference\": \"urn:uuid:17c4270d-6966-4788-8cbc-1d1d63536b25\",\r\n        \"identifier\": {\r\n            \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\r\n            \"value\": \"RBA\"\r\n          },\r\n        \"display\": \"TAUNTON AND SOMERSET NHS FOUNDATION TRUST\"\r\n    }\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.organization.identifier.system",
      "min": 1,
      "path": "PractitionerRole.organization.identifier.system"
    }, {
      "id": "PractitionerRole.organization.identifier.value",
      "min": 1,
      "path": "PractitionerRole.organization.identifier.value"
    }, {
      "id": "PractitionerRole.code",
      "path": "PractitionerRole.code",
      "definition": "Only supply if this is known (e.g. sourced from smartcard or SDS API).\r\n\r\n```json\r\n\"code\":  [\r\n        {\r\n            \"coding\":  [\r\n                {\r\n                    \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-SDSJobRoleName\",\r\n                    \"code\": \"R0260\",\r\n                    \"display\": \"General Medical Practitioner\"\r\n                }\r\n            ]\r\n        }\r\n    ],\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.code.coding",
      "min": 1,
      "path": "PractitionerRole.code.coding",
      "slicing": {
        "rules": "open",
        "discriminator": [ {
          "path": "system",
          "type": "value"
        } ]
      }
    }, {
      "id": "PractitionerRole.code.coding.system",
      "min": 1,
      "path": "PractitionerRole.code.coding.system"
    }, {
      "id": "PractitionerRole.code.coding.code",
      "min": 1,
      "path": "PractitionerRole.code.coding.code"
    }, {
      "id": "PractitionerRole.code.coding:sdsJobRoleName",
      "max": "1",
      "path": "PractitionerRole.code.coding",
      "sliceName": "sdsJobRoleName",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.code.coding:sdsJobRoleName.system",
      "path": "PractitionerRole.code.coding.system",
      "fixedUri": "https://fhir.hl7org.uk/CodeSystem/UKCore-SDSJobRoleName"
    }, {
      "id": "PractitionerRole.specialty",
      "path": "PractitionerRole.specialty",
      "definition": "This is should be the specialty linked to the role and is not necessarily the practitioners main specialty. \r\n\r\nThis can be supplemented by SNOMED CT codes from {{link:http://hl7.org/fhir/ValueSet/c80-practice-codes}}, no ConceptMap currently exists for mapping between the two.\r\n\r\n```json\r\n \"specialty\": [\r\n        {\r\n            \"coding\": [\r\n                {\r\n                    \"system\": \"https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-clinical-specialty\",\r\n                    \"code\": \"100\",\r\n                    \"display\": \"GENERAL SURGERY\"\r\n                }\r\n            ]\r\n        }\r\n    ],\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.specialty.coding",
      "min": 1,
      "path": "PractitionerRole.specialty.coding",
      "slicing": {
        "rules": "open",
        "discriminator": [ {
          "path": "system",
          "type": "value"
        } ]
      }
    }, {
      "id": "PractitionerRole.specialty.coding.system",
      "min": 1,
      "path": "PractitionerRole.specialty.coding.system"
    }, {
      "id": "PractitionerRole.specialty.coding.code",
      "min": 1,
      "path": "PractitionerRole.specialty.coding.code"
    }, {
      "id": "PractitionerRole.specialty.coding.display",
      "min": 1,
      "path": "PractitionerRole.specialty.coding.display"
    }, {
      "id": "PractitionerRole.specialty.coding:NHSDataDictionarySpecialty",
      "path": "PractitionerRole.specialty.coding",
      "binding": {
        "strength": "required",
        "valueSet": "https://fhir.nhs.uk/ValueSet/NHSDataModelAndDictionary-clinical-specialty",
        "description": "NHS Data Dictionary Specialty"
      },
      "sliceName": "NHSDataDictionarySpecialty",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.specialty.coding:NHSDataDictionarySpecialty.system",
      "path": "PractitionerRole.specialty.coding.system",
      "fixedUri": "https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-clinical-specialty"
    }, {
      "id": "PractitionerRole.specialty.coding:SNOMEDSpecialty",
      "path": "PractitionerRole.specialty.coding",
      "binding": {
        "strength": "preferred",
        "valueSet": "http://hl7.org/fhir/ValueSet/c80-practice-codes",
        "description": "Specific specialty associated with the agency."
      },
      "sliceName": "SNOMEDSpecialty",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.specialty.coding:SNOMEDSpecialty.system",
      "path": "PractitionerRole.specialty.coding.system",
      "fixedUri": "http://snomed.info/sct"
    }, {
      "id": "PractitionerRole.location",
      "path": "PractitionerRole.location",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Location" ]
      } ],
      "constraint": [ {
        "key": "nhsd-3",
        "human": "PractitionerRole.location - An identifier or resource reference must be provided",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "error",
        "expression": "(reference.exists() or identifier.exists())"
      } ],
      "definition": "The contact address for the practitioner for the service they are providing in this role. This will often be the surgery address, clinic or service address. \r\n\r\nIf using ODS Codes, the address on ODS must be checked to ensure it is correct. If the address is not correct, then *Resource reference* **MUST** be supplied.\r\n\r\n```json\r\n\"location\":  [\r\n         {\r\n            \"identifier\": {\r\n              \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\r\n              \"value\": \"RCB55\"\r\n            }\r\n            \"display\": \"YORK HOSPITAL\"\r\n          }\r\n  ]\r\n```\r\n\r\nFor EPS, currently a *Resource reference* is required.\r\n\r\n```json\r\n\"location\":  [\r\n         {\r\n            \"reference\": \"urn:uuid:ecc2db8e-3757-4758-a4f1-7f4c7e06662f\",\r\n            \"display\": \"YORK HOSPITAL\"\r\n          }\r\n  ]\r\n```",
      "mustSupport": false
    }, {
      "id": "PractitionerRole.location.identifier.system",
      "min": 1,
      "path": "PractitionerRole.location.identifier.system"
    }, {
      "id": "PractitionerRole.location.identifier.value",
      "min": 1,
      "path": "PractitionerRole.location.identifier.value"
    }, {
      "id": "PractitionerRole.healthcareService",
      "max": "1",
      "path": "PractitionerRole.healthcareService",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-HealthcareService" ]
      } ],
      "constraint": [ {
        "key": "nhsd-4",
        "human": "PractitionerRole.healthcareService - An identifier reference plus a display name or resource reference must be provided",
        "source": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole",
        "severity": "error",
        "expression": "(reference.exists() or (identifier.exists() and display.exists()))"
      } ],
      "definition": "**SHOULD** be provided for a practitioner in secondary care and will be a reference to clinic or service. This referenced resource or the identifier reference **SHOULD** contain a ODS/ANANA identifier. In secondary care Electronic Prescription Service (EPS) this will also be called **prescribing cost centre**. This is used for reimbursements from NHS BSA. In secondary care the healthchare/service cost centre may also be the ODS code for the clinic.\r\n\r\n\r\n#### healthcareService Resource reference\r\n\r\nAn *identifier reference* **MUST** be included. For secondary care organisations this will be the ODS/ANANA Cost Centre code given to a clinic. \r\n\r\n```json\r\n\"healthcareService\":  \r\n    [\r\n         {\r\n            \"identifier\": {\r\n              \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\r\n              \"value\": \"A99968\"\r\n            }\r\n            \"display\": \"SOMERSET BOWEL CANCER SCREENING CENTRE\"\r\n          }\r\n    ]\r\n```\r\n\r\nOptionally *Resource reference* can be provided. This is required in the current version of EPS but this will be changed to supporting the *identifier reference* only.\r\n\r\n```json\r\n\"healthcareService\":  \r\n    [\r\n         {\r\n            \"reference\": \"urn:uuid:54b0506d-49af-4245-9d40-d7d64902055e\",\r\n            \"identifier\": {\r\n              \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\r\n              \"value\": \"A99968\"\r\n            }\r\n            \"display\": \"SOMERSET BOWEL CANCER SCREENING CENTRE\"\r\n          }\r\n    ]\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.healthcareService.identifier.system",
      "min": 1,
      "path": "PractitionerRole.healthcareService.identifier.system"
    }, {
      "id": "PractitionerRole.healthcareService.identifier.value",
      "min": 1,
      "path": "PractitionerRole.healthcareService.identifier.value"
    }, {
      "id": "PractitionerRole.telecom",
      "path": "PractitionerRole.telecom",
      "definition": "At least one **telecom** number **MUST** be provided. \r\nContact details that are specific to the role/location/service. Often practitioners have a dedicated line for each location (or service) that they work at and need to be able to define separate contact details for each of these. \r\n\r\nThis is not the personnel contact number of the Practitioner, it the contact number for the practitioner in this role and may be the phone number of the clinic, main or branch surgery. \r\n\r\n```json\r\n\"telecom\": [\r\n          {\r\n            \"system\": \"phone\",\r\n            \"value\": \"01234567890\",\r\n            \"use\": \"work\"\r\n          }\r\n        ]\r\n```",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.telecom.value",
      "min": 1,
      "path": "PractitionerRole.telecom.value"
    }, {
      "id": "PractitionerRole.telecom.use",
      "min": 1,
      "path": "PractitionerRole.telecom.use"
    } ]
  },
  "baseDefinition": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole"
}