{
"description": null,
"_filename": "Extension-NHSDigital-Provenance-agent.StructureDefinition.json",
"package_name": "uk.nhsdigital.r4.test",
"date": "2024-08-14T13:51:00+00:00",
"derivation": "constraint",
"publisher": null,
"fhirVersion": "4.0.1",
"name": "ExtensionProvenanceAgent",
"mapping": [ {
"uri": "http://hl7.org/v3",
"name": "RIM Mapping",
"identity": "rim"
} ],
"abstract": false,
"type": "Extension",
"experimental": null,
"resourceType": "StructureDefinition",
"title": null,
"package_version": "2.8.20-prerelease",
"status": "draft",
"id": "350c6699-e587-4703-b981-e022c1175f33",
"kind": "complex-type",
"url": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"context": [ {
"type": "element",
"expression": "Task"
}, {
"type": "element",
"expression": "Claim"
}, {
"type": "element",
"expression": "Appointment"
} ],
"version": "1.0.1",
"differential": {
"element": [ {
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent"
}, {
"id": "Extension.value[x]",
"min": 1,
"path": "Extension.value[x]",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole", "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner", "https://fhir.nhs.uk/StructureDefinition/NHSDigital-HealthcareService" ]
} ],
"constraint": [ {
"key": "usercode-reference",
"human": "An identifier reference or resource reference must be provided",
"source": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"severity": "error",
"expression": "(reference.exists() or identifier.exists())"
}, {
"key": "usercode-nmc",
"human": "NMC must be of the format NNANNNNA",
"source": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"severity": "error",
"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": "usercode-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/Extension-Provenance-agent",
"severity": "error",
"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": "usercode-gmc",
"human": "GMC must be of the format CNNNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"severity": "error",
"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": "usercode-gphc",
"human": "GPHC must be of the format NNNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"severity": "error",
"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": "usercode-hcpc",
"human": "HCPC must be of the format AANNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"severity": "error",
"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": "usercode-din",
"human": "DIN format must be NNNNNN",
"source": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
"severity": "error",
"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-role-profile",
"human": "SDS Role Profile Id must be 12 digits",
"severity": "error",
"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": "Extension.value[x].identifier",
"min": 1,
"path": "Extension.value[x].identifier"
}, {
"id": "Extension.value[x].identifier.system",
"min": 1,
"path": "Extension.value[x].identifier.system"
}, {
"id": "Extension.value[x].identifier.value",
"min": 1,
"path": "Extension.value[x].identifier.value"
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension"
}