HL7 FHIR® UK Core
4.0.0 - CI Build
HL7 FHIR® UK Core - Local Development build (v4.0.0). See the Directory of published versions
Defines the UK Core constraints and extensions on the PractitionerRole resource for the minimal set of data to query and retrieve practitioner role information.
The official URL for this profile is:
https://fhir.nhs.uk/R4/StructureDefinition/UKCore-PractitionerRole
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Other representations of profile: Schematron
Path | Conformance | ValueSet |
PractitionerRole.language | preferred | CommonLanguages Max Binding: AllLanguages |
PractitionerRole.identifier.use | required | IdentifierUse |
PractitionerRole.identifier.type | extensible | Identifier Type Codes |
PractitionerRole.practitioner.type | extensible | ResourceType |
PractitionerRole.practitioner.identifier.use | required | IdentifierUse |
PractitionerRole.practitioner.identifier.type | extensible | Identifier Type Codes |
PractitionerRole.organization.type | extensible | ResourceType |
PractitionerRole.organization.identifier.use | required | IdentifierUse |
PractitionerRole.organization.identifier.type | extensible | Identifier Type Codes |
PractitionerRole.code | example | PractitionerRole |
PractitionerRole.code:sdsJobRoleName | required | UKCoreSDSJobRoleName |
PractitionerRole.specialty | preferred | PracticeSettingCodeValueSet |
PractitionerRole.location.type | extensible | ResourceType |
PractitionerRole.location.identifier.use | required | IdentifierUse |
PractitionerRole.location.identifier.type | extensible | Identifier Type Codes |
PractitionerRole.healthcareService.type | extensible | ResourceType |
PractitionerRole.healthcareService.identifier.use | required | IdentifierUse |
PractitionerRole.healthcareService.identifier.type | extensible | Identifier Type Codes |
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek |
PractitionerRole.endpoint.type | extensible | ResourceType |
PractitionerRole.endpoint.identifier.use | required | IdentifierUse |
PractitionerRole.endpoint.identifier.type | extensible | Identifier Type Codes |
Id | Path | Details | Requirements |
dom-2 | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | PractitionerRole | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | PractitionerRole | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | PractitionerRole.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.active | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.practitioner.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.practitioner.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.practitioner.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.practitioner.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.practitioner.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.organization.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.organization.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.organization.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.organization.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.organization.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.code:sdsJobRoleName.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.code:sdsJobRoleName.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.code:sdsJobRoleName.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.specialty | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.location.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.location.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.location.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.location.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.location.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.healthcareService.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.healthcareService.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.healthcareService.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.healthcareService.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.healthcareService.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.availableTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.availableTime.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.availableTime.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.availableTime.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.availableTime.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.availableTime.daysOfWeek | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.availableTime.allDay | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.availableTime.availableStartTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.availableTime.availableEndTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.notAvailable | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.notAvailable.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.notAvailable.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.notAvailable.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.notAvailable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.notAvailable.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.notAvailable.during | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.availabilityExceptions | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.endpoint.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.endpoint.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | PractitionerRole.endpoint.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PractitionerRole.endpoint.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | PractitionerRole.endpoint.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |