1.0.0 - ci-build
CoreServicesIG - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Backport of R5 Task.performer for R4. Enables recording one or more actual performers of a Task using explicit sub-extensions for PractitionerRole, CareTeam, and Device. Emphasizes Swedish role-based accountability (PractitionerRole with HSA-id), collaborative multidisciplinary execution (CareTeam), and automation or assisted actions (Device). Supports analytics and traceability without binding to deprecated R4 patterns. Ordering of sub-extensions is not significant. Record each performer once per type. If both CareTeam and constituent PractitionerRoles are included, ensure this reflects a deliberate analytics need (aggregate + granular); otherwise prefer the most specific representation only.
The official URL for this extension is:
https://fhir.cambio.se/StructureDefinition/task-performer
Status: active
Extension maintained by: Cambio
Context of Use
This extension may be used on the following element(s):
Usage info
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Extension
Summary
Complex Extension: Backport of R5 Task.performer for R4. Enables recording one or more actual performers of a Task using explicit sub-extensions for PractitionerRole, CareTeam, and Device. Emphasizes Swedish role-based accountability (PractitionerRole with HSA-id), collaborative multidisciplinary execution (CareTeam), and automation or assisted actions (Device). Supports analytics and traceability without binding to deprecated R4 patterns. Ordering of sub-extensions is not significant. Record each performer once per type. If both CareTeam and constituent PractitionerRoles are included, ensure this reflects a deliberate analytics need (aggregate + granular); otherwise prefer the most specific representation only.
This structure is derived from Extension
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Task Performer | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
0..* | Extension | PractitionerRole performer | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "practitionerRole" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(PractitionerRole) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | CareTeam performer | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "careTeam" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(CareTeam) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | Device performer | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "device" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(Device) | Value of extension | |
![]() ![]() |
1..1 | uri | "https://fhir.cambio.se/StructureDefinition/task-performer" | |
![]() ![]() |
0..0 | |||
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Task Performer | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..* | Extension | PractitionerRole performer | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "practitionerRole" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(PractitionerRole) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | CareTeam performer | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "careTeam" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(CareTeam) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | Device performer | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "device" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(Device) | Value of extension | |
![]() ![]() |
1..1 | uri | "https://fhir.cambio.se/StructureDefinition/task-performer" | |
Documentation for this format | ||||
This structure is derived from Extension
Summary
Complex Extension: Backport of R5 Task.performer for R4. Enables recording one or more actual performers of a Task using explicit sub-extensions for PractitionerRole, CareTeam, and Device. Emphasizes Swedish role-based accountability (PractitionerRole with HSA-id), collaborative multidisciplinary execution (CareTeam), and automation or assisted actions (Device). Supports analytics and traceability without binding to deprecated R4 patterns. Ordering of sub-extensions is not significant. Record each performer once per type. If both CareTeam and constituent PractitionerRoles are included, ensure this reflects a deliberate analytics need (aggregate + granular); otherwise prefer the most specific representation only.
Differential View
This structure is derived from Extension
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Task Performer | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
0..* | Extension | PractitionerRole performer | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "practitionerRole" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(PractitionerRole) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | CareTeam performer | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "careTeam" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(CareTeam) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | Device performer | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "device" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(Device) | Value of extension | |
![]() ![]() |
1..1 | uri | "https://fhir.cambio.se/StructureDefinition/task-performer" | |
![]() ![]() |
0..0 | |||
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Task Performer | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..* | Extension | PractitionerRole performer | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "practitionerRole" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(PractitionerRole) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | CareTeam performer | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "careTeam" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(CareTeam) | Value of extension | |
![]() ![]() ![]() |
0..* | Extension | Device performer | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "device" | |
![]() ![]() ![]() ![]() |
1..1 | Reference(Device) | Value of extension | |
![]() ![]() |
1..1 | uri | "https://fhir.cambio.se/StructureDefinition/task-performer" | |
Documentation for this format | ||||
Other representations of profile: CSV, Excel, Schematron
| Id | Grade | Path(s) | Details | Requirements |
| 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() |