This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Detailed Descriptions for the elements in the Task resource.
Task | |
Definition | A task to be performed. |
Control | 1..1 |
Invariants | Defined on this element inv-1: Last modified date must be greater than or equal to authored-on date. (expression : lastModified >= authoredOn or lastModified.exists().not() or authoredOn.exists().not(), xpath: f:lastModified >= f:authoredOn or not(exists(f:lastModified)) or not(exists(f:authoredOn))) |
Task.identifier | |
Definition | The business identifier for this task. |
Note | This is a business identifer, not a resource identifier (see discussion) |
Control | 0..* |
Type | Identifier |
Task.definition[x] | |
Definition | A reference to a formal or informal definition of the task. For example, a protocol, a step within a defined workflow definition, etc. |
Control | 0..1 |
Type | uri|Reference(ActivityDefinition) |
[x] Note | See Choice of Data Types for further information about how to use [x] |
Requirements | Enables a formal definition of how he task is to be performed (e.g. using BPMN, BPEL, XPDL or other formal notation) to be associated with a task, enabling automation. |
Summary | true |
Task.basedOn | |
Definition | BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a DiagnosticRequest, MedicationRequest, ProcedureRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfil. This latter resource is referenced by FocusOn. For example, based on a DiagnosticRequest (= BasedOn), a task is created to fulfil a procedureRequest ( = FocusOn ) to collect a specimen from a patient. |
Control | 0..* |
Type | Reference(Any) |
Summary | true |
Task.groupIdentifier | |
Definition | An identifier that links together multiple tasks and other requests that were created in the same context. |
Control | 0..1 |
Type | Identifier |
Requirements | Billing and/or reporting can be linked to whether multiple requests were created as a single unit. |
Summary | true |
Task.partOf | |
Definition | Task that this particular task is part of. |
Control | 0..* |
Type | Reference(Task) |
Requirements | Allows tasks to be broken down into sub-steps (and this division can occur independent of the original task). |
Summary | true |
Comments | This should usually be 0..1. |
Task.status | |
Definition | The current status of the task. |
Control | 1..1 |
Terminology Binding | TaskStatus (Required) |
Type | code |
Requirements | These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks. |
Summary | true |
Task.statusReason | |
Definition | An explanation as to why this task is held, failed, was refused, etc. |
Control | 0..1 |
Type | CodeableConcept |
Summary | true |
Comments | This applies to the current status. Look at the history of the task to see reasons for past statuses. |
Task.businessStatus | |
Definition | Contains business-specific nuances of the business state. |
Control | 0..1 |
Terminology Binding | TaskBusinessStatus: |
Type | CodeableConcept |
Requirements | There's often a need to track substates of a task - this is often variable by specific workflow implementation. |
Summary | true |
Task.intent | |
Definition | Indicates the "level" of actionability associated with the Task. I.e. Is this a proposed task, a planned task, an actionable task, etc. |
Control | 1..1 |
Terminology Binding | RequestIntent (Required) |
Type | code |
Summary | true |
Comments | This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. In most cases, Tasks will have an intent of "order". |
Task.priority | |
Definition | Indicates how quickly the Task should be addressed with respect to other requests. |
Control | 0..1 |
Terminology Binding | RequestPriority (Required) |
Type | code |
Meaning if Missing | If missing, this task should be performed with normal priority |
Requirements | Used to identify the service level expected while performing a task. |
Task.code | |
Definition | A name or code (or both) briefly describing what the task involves. |
Control | 0..1 |
Type | CodeableConcept |
Summary | true |
Comments | The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. |
Task.description | |
Definition | A free-text description of what is to be performed. |
Control | 0..1 |
Type | string |
Summary | true |
Task.focus | |
Definition | The request being actioned or the resource being manipulated by this task. |
Control | 0..1 |
Type | Reference(Any) |
Requirements | Used to identify the thing to be done. |
Summary | true |
Comments | If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). |
Task.for | |
Definition | The entity who benefits from the performance of the service specified in the task (e.g., the patient). |
Control | 0..1 |
Type | Reference(Any) |
Requirements | Used to track tasks outstanding for a beneficiary. Do not use to track the task owner or creator (see owner and creator respectively). This can also affect access control. |
Alternate Names | Patient |
Summary | true |
Task.context | |
Definition | The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. |
Control | 0..1 |
Type | Reference(Encounter | EpisodeOfCare) |
Requirements | For some tasks it may be important to know the link between the task or episode of care the task originated within. |
Summary | true |
Task.executionPeriod | |
Definition | Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). |
Control | 0..1 |
Type | Period |
Summary | true |
Task.authoredOn | |
Definition | The date and time this task was created. |
Control | 0..1 |
Type | dateTime |
Requirements | Most often used along with lastUpdated to track duration of task to supporting monitoring and management. |
Alternate Names | Created Date |
Invariants | Affect this element inv-1: Last modified date must be greater than or equal to authored-on date. (expression : lastModified >= authoredOn or lastModified.exists().not() or authoredOn.exists().not(), xpath: f:lastModified >= f:authoredOn or not(exists(f:lastModified)) or not(exists(f:authoredOn))) |
Task.lastModified | |
Definition | The date and time of last modification to this task. |
Control | 0..1 |
Type | dateTime |
Requirements | Used along with history to track task activity and time in a particular task state. This enables monitoring and management. |
Alternate Names | Update Date |
Summary | true |
Invariants | Affect this element inv-1: Last modified date must be greater than or equal to authored-on date. (expression : lastModified >= authoredOn or lastModified.exists().not() or authoredOn.exists().not(), xpath: f:lastModified >= f:authoredOn or not(exists(f:lastModified)) or not(exists(f:authoredOn))) |
Task.requester | |
Definition | The creator of the task. |
Control | 0..1 |
Requirements | Identifies who created this task. May be used by access control mechanisms (e.g., to ensure that only the creator can cancel a task). |
Summary | true |
Task.requester.agent | |
Definition | The device, practitioner, etc. who initiated the task. |
Control | 1..1 |
Type | Reference(Device | Organization | Patient | Practitioner | RelatedPerson) |
Alternate Names | Initiator; Author |
Summary | true |
Task.requester.onBehalfOf | |
Definition | The organization the device or practitioner was acting on behalf of when they initiated the task. |
Control | 0..1 |
Type | Reference(Organization) |
Requirements | Practitioners and Devices can be associated with multiple organizations. This element indicates which organization they were acting on behalf of when authoring the request. |
Task.performerType | |
Definition | The type of participant that can execute the task. |
Control | 0..* |
Terminology Binding | TaskPerformerType (Preferred) |
Type | CodeableConcept |
Requirements | Use to distinguish tasks on different activity queues. |
Task.owner | |
Definition | The owner of this task. The participant who can execute this task. |
Control | 0..1 |
Type | Reference(Device | Organization | Patient | Practitioner | RelatedPerson) |
Requirements | Identifies who is expected to perform this task. |
Alternate Names | Performer; Executer |
Summary | true |
Comments | Tasks may be created with an owner not yet identified. |
Task.reason | |
Definition | A description or code indicating why this task needs to be performed. |
Control | 0..1 |
Terminology Binding | TaskReason: |
Type | CodeableConcept |
Comments | This should only be included if there is no focus or if it differs from the reason indicated on the focus. |
Task.note | |
Definition | Free-text information captured about the task as it progresses. |
Control | 0..* |
Type | Annotation |
Task.relevantHistory | |
Definition | Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task. |
Control | 0..* |
Type | Reference(Provenance) |
Alternate Names | Status History |
Comments | This element does not point to the Provenance associated with the current version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. |
Task.restriction | |
Definition | If the Task.focus is a request resource and the task is seeking fulfillment (i.e is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. |
Control | 0..1 |
Requirements | Sometimes when fulfillment is sought, you don't want full fulfillment. |
Task.restriction.repetitions | |
Definition | Indicates the number of times the requested action should occur. |
Control | 0..1 |
Type | positiveInt |
Requirements | E.g. order that requests monthly lab tests, fulfillment is sought for 1. |
Task.restriction.period | |
Definition | Over what time-period is fulfillment sought. |
Control | 0..1 |
Type | Period |
Requirements | E.g. order that authorizes 1 year's services. Fulfillment is sought for next 3 months. |
Task.restriction.recipient | |
Definition | For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought? |
Control | 0..* |
Type | Reference(Patient | Practitioner | RelatedPerson | Group | Organization) |
To Do | Is this in the 80%? |
Task.input | |
Definition | Additional information that may be needed in the execution of the task. |
Control | 0..* |
Requirements | Resources and data used to perform the task. This data is used in the business logic of task execution, and is stored separately because it varies between workflows. |
Alternate Names | Supporting Information |
Task.input.type | |
Definition | A code or description indicating how the input is intended to be used as part of the task execution. |
Control | 1..1 |
Terminology Binding | TaskInputParameterType: |
Type | CodeableConcept |
Requirements | Inputs are named to enable task automation to bind data and pass it from one task to the next. |
Alternate Names | Name |
Comments | If referencing a BPMN workflow or Protocol, the "system" is the URL for the workflow definition and the code is the "name" of the required input. |
Task.input.value[x] | |
Definition | The value of the input parameter as a basic type. |
Control | 1..1 |
Type | * |
[x] Note | See Choice of Data Types for further information about how to use [x] |
Task.output | |
Definition | Outputs produced by the Task. |
Control | 0..* |
Requirements | Resources and data produced during the execution the task. This data is generated by the business logic of task execution, and is stored separately because it varies between workflows. |
Task.output.type | |
Definition | The name of the Output parameter. |
Control | 1..1 |
Terminology Binding | TaskOutputParameterType: |
Type | CodeableConcept |
Requirements | Outputs are named to enable task automation to bind data and pass it from one task to the next. |
Alternate Names | Name |
Task.output.value[x] | |
Definition | The value of the Output parameter as a basic type. |
Control | 1..1 |
Type | * |
[x] Note | See Choice of Data Types for further information about how to use [x] |
Requirements | Task outputs can take any form. |