PackagesCanonicalsLogsProblems
    Packages
    uk.nhsdigital.r4@2.1.30-discovery
    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.1.30-discovery",
  "status": "draft",
  "id": "dd154931-2065-4073-b349-60db54d44c6c",
  "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",
        "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}$'))"
      } ]
    }, {
      "id": "PractitionerRole.identifier",
      "min": 1,
      "path": "PractitionerRole.identifier",
      "mustSupport": true
    }, {
      "id": "PractitionerRole.identifier:sdsRoleProfileID",
      "min": 1,
      "path": "PractitionerRole.identifier",
      "sliceName": "sdsRoleProfileID"
    }, {
      "id": "PractitionerRole.identifier:nhsbsaSpuriousCode",
      "max": "1",
      "path": "PractitionerRole.identifier",
      "sliceName": "nhsbsaSpuriousCode"
    }, {
      "id": "PractitionerRole.identifier:nhsbsaSpuriousCode.system",
      "min": 1,
      "path": "PractitionerRole.identifier.system",
      "fixedUri": "https://fhir.hl7.org.uk/Id/nhsbsa-spurious-code"
    }, {
      "id": "PractitionerRole.identifier:nhsbsaSpuriousCode.value",
      "min": 1,
      "path": "PractitionerRole.identifier.value"
    }, {
      "id": "PractitionerRole.practitioner",
      "min": 1,
      "path": "PractitionerRole.practitioner",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner" ]
      } ],
      "constraint": [ {
        "key": "nhsd-2",
        "human": "PractitionerRole.practitioner - 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()))"
      }, {
        "key": "role-nmc",
        "human": "NMC must be of the format NNANNNNA",
        "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)",
        "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",
        "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",
        "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",
        "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",
        "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}$'))"
      } ],
      "mustSupport": true
    }, {
      "id": "PractitionerRole.organization",
      "min": 1,
      "path": "PractitionerRole.organization",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Organization" ]
      } ],
      "constraint": [ {
        "key": "nhsd-1",
        "human": "PractitionerRole.organization - 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()))"
      } ],
      "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",
      "binding": {
        "strength": "preferred",
        "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-SDSJobRoleName"
      }
    }, {
      "id": "PractitionerRole.code:sdsJobRoleName",
      "min": 1,
      "path": "PractitionerRole.code",
      "sliceName": "sdsJobRoleName"
    }, {
      "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"
    }, {
      "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"
    }, {
      "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())"
      } ],
      "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()))"
      } ],
      "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",
      "min": 1,
      "path": "PractitionerRole.telecom",
      "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"
}