XpanDH Laboratory Report
            
            0.1.0 - ci-build
  150
            
          
XpanDH Laboratory Report, published by XpanDH Project. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/xpandh-lab/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.eu/fhir/ig/xpandh/lab/StructureDefinition/PractitionerRole-eu-xpandh | Version: 0.1.0 | |||
| Draft as of 2025-10-10 | Computable Name: PractitionerRoleXpandh | |||
This profile defines how to represent Practitioners (with thier roles) in FHIR for the purpose of the XPanDH project.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | 
|---|---|---|---|---|
|   PractitionerRole | 0..* | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | 
|    modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | 
|    organization | SΣ | 0..1 | Reference(Organization (IPS)) | Organization where the roles are available | 
|  Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression | 
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | contained.contained.empty() | 
| dom-3 | error | 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 | error | 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 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | contained.meta.security.empty() | 
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | text.`div`.exists() | 
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | hasValue() or (children().count() > id.count()) | 
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | extension.exists() != value.exists() | 
This structure is derived from PractitionerRoleEu
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | 
|---|---|---|---|---|
|   PractitionerRole | 0..* | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |
|  Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   PractitionerRole | 0..* | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |||||
|    id | Σ | 0..1 | id | Logical id of this artifact | ||||
|    meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
|    language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language. 
 | |||||
|    text | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    extension | 0..* | Extension | Additional content defined by implementations | |||||
|    modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
|    identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location | ||||
|    active | Σ | 0..1 | boolean | Whether this practitioner role record is in active use | ||||
|    period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) | ||||
|    practitioner | Σ | 0..1 | Reference(Practitioner (IPS)) | Practitioner that is able to provide the defined services for the organization | ||||
|    organization | SΣ | 0..1 | Reference(Organization (IPS)) | Organization where the roles are available | ||||
|    code | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just  text Binding: Healthcare Professional Roles - IPS (preferred): Healthcare professional role codes from International Standard Classification of Occupations (ISCO). | |||||
|    specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency. | ||||
|    location | Σ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care | ||||
|    healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |||||
|    telecom | Σ | 0..* | ContactPoint | Contact details that are specific to the role/location/service | ||||
|    availableTime | 0..* | BackboneElement | Times the Service Site is available | |||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
|     allDay | 0..1 | boolean | Always available? e.g. 24 hour service | |||||
|     availableStartTime | 0..1 | time | Opening time of day (ignored if allDay = true) | |||||
|     availableEndTime | 0..1 | time | Closing time of day (ignored if allDay = true) | |||||
|    notAvailable | 0..* | BackboneElement | Not available during this time due to provided reason | |||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     description | 1..1 | string | Reason presented to the user explaining why time not available | |||||
|     during | 0..1 | Period | Service not available from this date | |||||
|    availabilityExceptions | 0..1 | string | Description of availability exceptions | |||||
|    endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role | |||||
|  Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source | 
| PractitionerRole.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std. | 
| PractitionerRole.code | Base | preferred | Healthcare Professional Roles - IPS | 📦1.1.0 | International Patient Summary Implementation Guide v1.1 | 
| PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std. | 
| PractitionerRole.availableTime.daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std. | 
| Id | Grade | Path(s) | Description | Expression | 
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | contained.contained.empty() | 
| dom-3 | error | 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 | error | 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 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | contained.meta.security.empty() | 
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | text.`div`.exists() | 
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | hasValue() or (children().count() > id.count()) | 
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | extension.exists() != value.exists() | 
This structure is derived from PractitionerRoleEu
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | 
|---|---|---|---|---|
|   PractitionerRole | 0..* | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | 
|    modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | 
|    organization | SΣ | 0..1 | Reference(Organization (IPS)) | Organization where the roles are available | 
|  Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression | 
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | contained.contained.empty() | 
| dom-3 | error | 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 | error | 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 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | contained.meta.security.empty() | 
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | text.`div`.exists() | 
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | hasValue() or (children().count() > id.count()) | 
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | extension.exists() != value.exists() | 
Differential View
This structure is derived from PractitionerRoleEu
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | 
|---|---|---|---|---|
|   PractitionerRole | 0..* | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |
|  Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints    Filter:   | ||||
|---|---|---|---|---|---|---|---|---|
|   PractitionerRole | 0..* | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |||||
|    id | Σ | 0..1 | id | Logical id of this artifact | ||||
|    meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
|    language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language. 
 | |||||
|    text | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    extension | 0..* | Extension | Additional content defined by implementations | |||||
|    modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
|    identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location | ||||
|    active | Σ | 0..1 | boolean | Whether this practitioner role record is in active use | ||||
|    period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) | ||||
|    practitioner | Σ | 0..1 | Reference(Practitioner (IPS)) | Practitioner that is able to provide the defined services for the organization | ||||
|    organization | SΣ | 0..1 | Reference(Organization (IPS)) | Organization where the roles are available | ||||
|    code | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just  text Binding: Healthcare Professional Roles - IPS (preferred): Healthcare professional role codes from International Standard Classification of Occupations (ISCO). | |||||
|    specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency. | ||||
|    location | Σ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care | ||||
|    healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |||||
|    telecom | Σ | 0..* | ContactPoint | Contact details that are specific to the role/location/service | ||||
|    availableTime | 0..* | BackboneElement | Times the Service Site is available | |||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
|     allDay | 0..1 | boolean | Always available? e.g. 24 hour service | |||||
|     availableStartTime | 0..1 | time | Opening time of day (ignored if allDay = true) | |||||
|     availableEndTime | 0..1 | time | Closing time of day (ignored if allDay = true) | |||||
|    notAvailable | 0..* | BackboneElement | Not available during this time due to provided reason | |||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     description | 1..1 | string | Reason presented to the user explaining why time not available | |||||
|     during | 0..1 | Period | Service not available from this date | |||||
|    availabilityExceptions | 0..1 | string | Description of availability exceptions | |||||
|    endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role | |||||
|  Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source | 
| PractitionerRole.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std. | 
| PractitionerRole.code | Base | preferred | Healthcare Professional Roles - IPS | 📦1.1.0 | International Patient Summary Implementation Guide v1.1 | 
| PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std. | 
| PractitionerRole.availableTime.daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std. | 
| Id | Grade | Path(s) | Description | Expression | 
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | contained.contained.empty() | 
| dom-3 | error | 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 | error | 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 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | contained.meta.security.empty() | 
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | text.`div`.exists() | 
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | hasValue() or (children().count() > id.count()) | 
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | extension.exists() != value.exists() | 
This structure is derived from PractitionerRoleEu
Other representations of profile: CSV, Excel, Schematron