A task resource describes an activity that can be performed and tracks the state of completion of that activity. It is a representation that an activity should be or has been initiated, and eventually, represents the successful or unsuccessful completion of that activity.
In scope of the eHealth Infrastructure, the Task resource is used for:
ehealth-task-responsible
.owner
.Task resources are produced by eHealth Infrastructure as reaction to measurements being submitted or expected measurements not being submitted. Measurements in the form of Observation, QuestionnaireResponse or other resources are expected to be submitted by a Patient according to a measurement regime specified in a CarePlan and referenced CarePlan/ProcedureRequest.
The context in which the Task is created is identified through context
. In the eHealth Infrastructure, this is currently a reference to an EpisodeOfCare, but in future use, it could be a reference to an Encounter. The focus
element describes what resource the Task responsible should be acting on and can reference any resource.
The eHealth Infrastructure supports triaging based on comparison of submitted measurements against reference ranges specified in CarePlan/ProcedureRequest. The result of triaging is captured in a ClinicalImpression which is referenced as Task focus in a Task created by the eHealth Infrastructure. The Task has:
In case the eHealth Infrastructure detects that measurement submissions are missing, it creates a Communication to the Patient reminding to follow measurement regime. It also creates a Task:
An unexpected measurement can be in terms of unexpected measurement type, for instance observation code or questionnaire not specified in the CarePlan/ProcedureRequest, or in terms of measurement with odd timing compared to the measurement regime.
In case the eHealth Infrastructure detects an unexpected measurement submission, it creates a ClinicalImpression resource stating this. It also creates a Task where:
No Task resources are created to assist in adhering to a measurement regime.
The Task has been extended with support for CareTeam as Task owner. It is expected that each CareTeam will provide support/monitoring of multiple patients. The Task resources owned by a CareTeam can form a list sorted by priority to support triaging.
The Task has also been extended with support for multiple Task owner. This way, CareTeam members can coordinate Task assignments (by adding Practitioner as Task owner and setting Task status) while preserving the CareTeam as fallback in case the Practitioner is unable to process the Task, for instance due to absence.
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-task
This profile builds on Task.
This profile was published on Wed Dec 04 13:16:07 UTC 2019 as a draft by ehealth.sundhed.dk.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Task
Summary
Mandatory: 5 elements
Must-Support: 2 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
This structure is derived from Task
This structure is derived from Task
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Task | I | 0..* | A task to be performed. | |
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: Common Languages (extensible) Max Binding: All Languages | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ehealth-task-category | I | 1..1 | CodeableConcept | Optional Extensions Element URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-task-category |
ehealth-task-responsible | I | 1..* | Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | eHealth CareTeam) {r} | Responsible entity URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-task-responsible |
ehealth-restriction-category | I | 1..* | CodeableConcept | For certain category of workflow/responsibility only. URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | Task Instance Identifier | |
definition[x] | Σ | 0..1 | Formal definition of task | |
definitionUri | uri | |||
definitionReference | Reference(eHealth ActivityDefinition) | |||
basedOn | Σ | 0..* | Reference(Resource) {r} | Request fulfilled by this task |
groupIdentifier | Σ | 0..1 | Identifier | Requisition or grouper id |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary (If known) Binding: IdentifierUse (required) |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible) |
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient |
value | Σ | 0..1 | string | The value that is unique Example General: 123456 |
period | Σ | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ | 0..1 | Reference(eHealth Organization) {r} | Organization that issued id (may be just text) |
partOf | Σ | 0..* | Reference(eHealth Task) {r} | Composite task |
status | Σ | 1..1 | code | draft | requested | received | accepted | + Binding: TaskStatus (required) |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: (unbound) (example) |
businessStatus | Σ | 0..1 | CodeableConcept | E.g. "Specimen collected", "IV prepped" Binding: (unbound) (example) |
intent | SΣ | 1..1 | code | proposal | plan | order + Binding: RequestIntent (required) |
priority | S | 1..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required) |
code | Σ | 0..1 | CodeableConcept | Task Type Binding: (unbound) (example) |
description | Σ | 0..1 | string | Human-readable explanation of task |
focus | Σ | 0..1 | Reference(Resource) {r} | What task is acting on |
for | Σ | 0..1 | Reference(Resource) {r} | Beneficiary of the Task |
context | Σ | 1..1 | Reference(Encounter | eHealth EpisodeOfCare) {r} | Healthcare event during which this task originated |
executionPeriod | Σ | 0..1 | Period | Start and end time of execution |
authoredOn | I | 0..1 | dateTime | Task Creation Date |
lastModified | ΣI | 0..1 | dateTime | Task Last Modified Date |
requester | ΣI | 0..1 | BackboneElement | Who is asking for task to be done |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
agent | Σ | 1..1 | Reference(eHealth Device | eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r} | Individual asking for task |
onBehalfOf | 0..1 | Reference(eHealth Organization) {r} | Organization individual is acting for | |
performerType | 0..* | CodeableConcept | requester | dispatcher | scheduler | performer | monitor | manager | acquirer | reviewer Binding: TaskPerformerType (preferred) | |
owner | Σ | 0..1 | Reference(eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r} | Responsible individual |
reason | 0..1 | CodeableConcept | Why task is needed Binding: (unbound) (example) | |
note | 0..* | Annotation | Comments made about the task | |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |
author[x] | Σ | 0..1 | Individual responsible for the annotation | |
authorReference | Reference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson) | |||
authorString | string | |||
time | Σ | 0..1 | dateTime | When the annotation was made |
text | 1..1 | string | The annotation - text content | |
relevantHistory | 0..* | Reference(eHealth Provenance) {r} | Key events in history of the Task | |
restriction | I | 0..1 | BackboneElement | Constraints on fulfillment tasks |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
repetitions | 0..1 | positiveInt | How many times to repeat | |
period | 0..1 | Period | When fulfillment sought | |
recipient | 0..* | Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | Group | eHealth Organization) {r} | For whom is fulfillment sought? | |
input | I | 0..* | BackboneElement | Information used to perform task |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | 1..1 | CodeableConcept | Label for the input Binding: (unbound) (example) | |
value[x] | 1..1 | Content to use in performing the task | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference(Any) | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueMeta | Meta | |||
output | I | 0..* | BackboneElement | Information produced as part of task |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | 1..1 | CodeableConcept | Label for output Binding: (unbound) (example) | |
value[x] | 1..1 | Result of output | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference(Any) | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueMeta | Meta | |||
Documentation for this format |
This structure is derived from Task
Summary
Mandatory: 5 elements
Must-Support: 2 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from Task
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Task | I | 0..* | A task to be performed. | |
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: Common Languages (extensible) Max Binding: All Languages | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ehealth-task-category | I | 1..1 | CodeableConcept | Optional Extensions Element URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-task-category |
ehealth-task-responsible | I | 1..* | Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | eHealth CareTeam) {r} | Responsible entity URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-task-responsible |
ehealth-restriction-category | I | 1..* | CodeableConcept | For certain category of workflow/responsibility only. URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | Task Instance Identifier | |
definition[x] | Σ | 0..1 | Formal definition of task | |
definitionUri | uri | |||
definitionReference | Reference(eHealth ActivityDefinition) | |||
basedOn | Σ | 0..* | Reference(Resource) {r} | Request fulfilled by this task |
groupIdentifier | Σ | 0..1 | Identifier | Requisition or grouper id |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary (If known) Binding: IdentifierUse (required) |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible) |
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient |
value | Σ | 0..1 | string | The value that is unique Example General: 123456 |
period | Σ | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ | 0..1 | Reference(eHealth Organization) {r} | Organization that issued id (may be just text) |
partOf | Σ | 0..* | Reference(eHealth Task) {r} | Composite task |
status | Σ | 1..1 | code | draft | requested | received | accepted | + Binding: TaskStatus (required) |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: (unbound) (example) |
businessStatus | Σ | 0..1 | CodeableConcept | E.g. "Specimen collected", "IV prepped" Binding: (unbound) (example) |
intent | SΣ | 1..1 | code | proposal | plan | order + Binding: RequestIntent (required) |
priority | S | 1..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required) |
code | Σ | 0..1 | CodeableConcept | Task Type Binding: (unbound) (example) |
description | Σ | 0..1 | string | Human-readable explanation of task |
focus | Σ | 0..1 | Reference(Resource) {r} | What task is acting on |
for | Σ | 0..1 | Reference(Resource) {r} | Beneficiary of the Task |
context | Σ | 1..1 | Reference(Encounter | eHealth EpisodeOfCare) {r} | Healthcare event during which this task originated |
executionPeriod | Σ | 0..1 | Period | Start and end time of execution |
authoredOn | I | 0..1 | dateTime | Task Creation Date |
lastModified | ΣI | 0..1 | dateTime | Task Last Modified Date |
requester | ΣI | 0..1 | BackboneElement | Who is asking for task to be done |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
agent | Σ | 1..1 | Reference(eHealth Device | eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r} | Individual asking for task |
onBehalfOf | 0..1 | Reference(eHealth Organization) {r} | Organization individual is acting for | |
performerType | 0..* | CodeableConcept | requester | dispatcher | scheduler | performer | monitor | manager | acquirer | reviewer Binding: TaskPerformerType (preferred) | |
owner | Σ | 0..1 | Reference(eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r} | Responsible individual |
reason | 0..1 | CodeableConcept | Why task is needed Binding: (unbound) (example) | |
note | 0..* | Annotation | Comments made about the task | |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |
author[x] | Σ | 0..1 | Individual responsible for the annotation | |
authorReference | Reference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson) | |||
authorString | string | |||
time | Σ | 0..1 | dateTime | When the annotation was made |
text | 1..1 | string | The annotation - text content | |
relevantHistory | 0..* | Reference(eHealth Provenance) {r} | Key events in history of the Task | |
restriction | I | 0..1 | BackboneElement | Constraints on fulfillment tasks |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
repetitions | 0..1 | positiveInt | How many times to repeat | |
period | 0..1 | Period | When fulfillment sought | |
recipient | 0..* | Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | Group | eHealth Organization) {r} | For whom is fulfillment sought? | |
input | I | 0..* | BackboneElement | Information used to perform task |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | 1..1 | CodeableConcept | Label for the input Binding: (unbound) (example) | |
value[x] | 1..1 | Content to use in performing the task | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference(Any) | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueMeta | Meta | |||
output | I | 0..* | BackboneElement | Information produced as part of task |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | 1..1 | CodeableConcept | Label for output Binding: (unbound) (example) | |
value[x] | 1..1 | Result of output | ||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueReference | Reference(Any) | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueMeta | Meta | |||
Documentation for this format |
Path | Conformance | ValueSet |
Task.language | extensible | Common Languages Max Binding: All Languages |
Task.groupIdentifier.use | required | IdentifierUse |
Task.groupIdentifier.type | extensible | Identifier Type Codes |
Task.status | required | TaskStatus |
Task.statusReason | example | |
Task.businessStatus | example | |
Task.intent | required | RequestIntent |
Task.priority | required | RequestPriority |
Task.code | example | |
Task.performerType | preferred | TaskPerformerType |
Task.reason | example | |
Task.input.type | example | |
Task.output.type | example |
Id | Path | Details | Requirements |
dom-2 | Task | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-1 | Task | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() | |
dom-4 | Task | 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-3 | Task | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource : contained.where(('#'+id in %resource.descendants().reference).not()).empty() | |
inv-1 | Task | Last modified date must be greater than or equal to authored-on date. : lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn | |
ele-1 | Task.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Task.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Task.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Task.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Task.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Task.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Task.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Task.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Task.requester | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | Task.restriction | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | Task.input | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | Task.output | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) |