This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
v6.0.0-ballot4:
Release
6
Ballot
(1st
Full
Ballot)
(see
Ballot
Notes
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
for
published
versions
.
Page
versions:
R5
R4B
R4
R3
Responsible
Owner:
Orders
and
Observations
Work
Group
|
|
Security Category : Not Classified |
Compartments
:
|
A
task
to
be
performed.
performed
as
a
part
of
a
workflow
and
the
related
informations
like
inputs,
outputs
and
execution
progress.
While
very
simple
workflows
can
be
implemented
with
Request
alone,
most
workflows
would
require
a
Task
(explicit
or
contained)
as
a
means
to
track
the
execution
progress
(i.e.
inputs,
outputs,
status).
Please
refer
to
Fulfillment/Execution
.
Note to Balloters: To ensure this resource is ready for Normative status, we are seeking ballot comment on the substantive content. The key changes made since R5 include:
- Removed the Task.instantiatesCanonical and Task.instantiatesURI; and advise implementers to use the workflow instantiates extensions
- Made the Task.focus element a new backbone
- Consolidated the Task State Machine sections to the Notes section: task.html#statemachine
A
task
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.
Concretely the Task resource could be used in FHIR to serve different purposes like:
),
).
Note
that
there
are
a
variety
of
processes
associated
with
making
and
processing
orders.
Some
orders
may
be
handled
immediately
by
automated
systems
but
most
require
real
world
real-world
actions
by
one
or
more
humans.
Some
orders
can
only
be
processed
when
other
real
world
real-world
actions
happen,
such
as
a
patient
presenting
themselves
so
that
the
action
to
be
performed
can
actually
be
performed.
Often
these
real
world
real-world
dependencies
are
only
implicit
in
the
order
details.
If a Task is seeking to instantiate or modify something, the entity to be instantiated or modified SHALL be pointed to by the Task.focus.
Note to Implementers:
Task.instantiatesCanonicalandTask.instantiatesURIhave been removed from the core elements. Instead, use the following workflow extensions:
In
a
RESTful
context,
a
server
functions
as
a
repository
of
tasks.
The
server
itself,
or
other
agents
are
expected
to
monitor
task
activity
and
initiate
appropriate
actions
to
ensure
task
completion,
updating
the
status
of
the
task
as
it
proceeds
through
its
various
stages
of
completion.
These
agents
can
be
coordinated,
following
well
choreographed
business
logic
to
ensure
that
tasks
are
completed.
Task
management
may
also
be
centrally
controlled
using
some
form
of
a
workflow
engine,
in
which
case,
the
workflow
engine
itself
may
update
and
maintain
the
task
Task
resources
in
the
server,
and
through
its
orchestration
activities
ensure
that
tasks
are
completed.
The
task
Task
resource
enables
either
model
of
task
management
yet
provides
a
consistent
view
of
the
status
of
tasks
being
executed
in
support
of
healthcare
workflows.
The assignment of tasks into categories by type of task, type of performer and task status enable the server to function as a queue of work items. This queue can be polled or subscribed to by various agents, enabling automation of workflows in FHIR using existing search and subscription mechanisms. Owners, requesters, other agents (e.g. workflow managers) can thus be ready to initiate the next steps in a complex workflow.
Note:Note to Implementers: Currently, task pre-requisites can be represented using Task's `description` element or theRequestGroupRequestOrchestration resource. We are seeking input from the implementer community in evaluating whether there is need for adding another mechanism to this resource for this purpose.Feedback here.
Task
spans
both
intent
and
event
and
tracks
the
execution
through
to
completion.
A
Task
is
a
workflow
step
such
as
cancelling
an
order,
fulfilling
an
order,
signing
an
order,
merging
a
set
of
records,
admitting
a
patient.
In
contrast,
Procedures
are
actions
that
are
intended
to
result
in
a
physical
or
mental
change
to
or
for
the
subject
(for
example,
surgery,
physiotherapy,
training,
counseling).
A
Task
resource
often
exists
in
parallel
with
clinical
resources.
For
example,
a
Task
could
request
fulfillment
of
a
ServiceRequest
ordering
a
Procedure
procedure
that
would
result
in
a
Procedure,
Observation
,
DiagnosticReport
,
ImagingStudy
or
similar
resource.
Another
example
would
be
a
Task
that
requests
fulfillment
of
a
CommunicationRequest
to
be
performed
between
various
actors.
As
stated
above,
the
The
task
resource
tracks
the
state
of
a
task,
enabling
systems
to
ensure
that
tasks
are
completed.
This
information
is
kept
separate
from
the
operational
details
necessary
to
complete
the
task,
as
those
details
vary
across
and
even
within
workflows.
That
detail
is
expected
to
be
carried
in
the
referenced
`focus`
.focus
of
the
task.
The Task resource can represent an authorization for a service to be provided or the fulfillment of an authorization (by another Task or resource type that implements the Request pattern). For further information about the separation of responsibilities, refer to the Fulfillment/Execution section of the Request pattern. Information about the details of the fulfillment of an authorization may be handled by additional Task resource instances.
Tasks
may
have
named
inputs
and
outputs.
Inputs
represent
information
that
may
or
must
be
present
is
provided
in
order
for
a
task
to
complete.
be
completed.
Outputs
represent
intermediate
or
final
results
produced
by
while
performing
a
task.
For
example,
in
a
task
supporting
reading
of
radiology
image,
images,
the
inputs
might
include
both
the
imaging
study
to
be
read,
as
well
as
relevant
prior
images.
Outputs
could
represent
radiology
measurements
as
well
as
the
Radiologist's
diagnostic
report.
Inputs and outputs are tracked by the task because workflow management activity may automate the transfer of outputs from one task to inputs to a subsequent task.
To
facilitate
the
integration
of
off
the
shelf
workflow
applications
with
FHIR,
the
task
Task
resource
may
reference
a
definition.
This
definition
can
represent
a
description
of
the
workflow
activity
to
be
performed,
using
a
standard
workflow
description
language
such
as
BPEL,
BPMN,
or
XPDL,
a
workflow
definition
such
as
those
defined
in
IHE
profiles,
or
even
simple
written
instructions
explaining
a
process
to
be
performed.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
A
task
to
be
performed
+ Rule: Last modified date must be greater than or equal to authored-on date. + Rule: Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
0..* | Identifier |
Task
Instance
Identifier
|
|
|
Σ | 0..* | Reference ( Any ) |
Request
fulfilled
by
this
task
|
|
Σ | 0..1 | Identifier |
Requisition
or
grouper
id
|
|
Σ | 0..* | Reference ( Task ) |
Composite
task
|
|
?! Σ | 1..1 | code |
draft
|
requested
|
received
|
accepted
|
+
|
|
Σ | 0..* |
|
Reason
for
current
status
Binding: Task Status Reason ( Example ) |
|
Σ | 0..1 | CodeableConcept |
E.g.
"Specimen
collected",
"IV
prepped"
Binding: Task Business Status ( Example ) |
|
Σ | 1..1 | code |
unknown
|
proposal
|
plan
|
order
|
original-order
|
reflex-order
|
filler-order
|
instance-order
|
option
|
|
0..1 | code |
routine
|
urgent
|
asap
|
stat
Binding: |
|
|
?! Σ | 0..1 | boolean |
True
if
Task
is
prohibiting
action
|
![]() ![]() | Σ C | 0..1 | CodeableConcept |
Task
Type
Binding: Task Codes ( |
|
Σ | 0..1 |
|
Human-readable
explanation
of
task
|
|
Σ C | 0..* | BackboneElement |
What
task
is
acting
on
|
![]() ![]() ![]() | Σ | 1..1 |
|
What
task
is
acting
on
|
| Reference ( Any ) |
|
||
| canonical ( CanonicalResource ) | |||
|
Σ | 0..1 | Reference ( Any ) |
Beneficiary
of
the
Task
|
|
Σ | 0..1 | Reference ( Encounter ) |
Healthcare
event
during
which
this
task
originated
|
|
Σ | 0..1 | Period |
When
the
task
should
be
performed
|
| Σ | 0..1 | Period |
Start
and
end
time
of
execution
|
|
0..1 | dateTime |
Task
Creation
Date
|
|
|
Σ
|
0..1 | dateTime |
Task
Last
Modified
Date
|
|
Σ | 0..1 | Reference ( Device | Group | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson ) |
Who
is
asking
for
task
to
be
done
|
|
0..* |
|
Who
should
perform
the
Task
Binding: Procedure Performer Role Codes ( Preferred ) |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
PractitionerRole
|
Organization
|
CareTeam
|
|
Responsible
individual
|
|
Σ | 0..* |
|
Who
or
what
performed
the
task
|
|
Σ | 0..1 | CodeableConcept |
Type
of
performance
Binding: Task Performer Function Code ( Example ) |
| Σ | 1..1 | Reference ( Practitioner | Device | Organization | PractitionerRole | CareTeam | Patient | RelatedPerson | Group ) |
Who
performed
the
task
|
|
Σ | 0..1 | Reference ( Location ) |
Where
task
occurs
|
![]() ![]() | 0..* | CodeableReference ( Any ) |
Why
task
is
needed
Binding: Task Reason ( Example ) |
|
|
0..* | Reference ( Coverage | ClaimResponse ) |
Associated
insurance
coverage
|
|
|
0..* | Annotation |
Comments
made
about
the
task
|
|
|
0..* | Reference ( Provenance ) |
Key
events
in
history
of
the
Task
|
|
|
C | 0..1 | BackboneElement |
Constraints
on
fulfillment
tasks
|
|
0..1 | positiveInt |
How
many
times
to
repeat
|
|
|
0..1 | Period |
When
fulfillment
is
sought
|
|
|
0..* | Reference ( Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization | Device ) |
Individual
or
entity
from
whom
|
|
|
0..* | BackboneElement |
Information
used
to
perform
task
|
|
|
1..1 | CodeableConcept |
Label
for
the
input
Binding: Task Input/Output Parameter Type ( Example ) |
|
|
1..1 | * |
Content
to
use
in
performing
the
task
|
|
|
0..* | BackboneElement |
Information
produced
as
part
of
task
|
|
|
1..1 | CodeableConcept |
Label
for
output
Binding: Task Input/Output Parameter Type ( Example ) |
|
|
1..1 | * |
Result
of
output
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<<Task xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Task Instance Identifier --></identifier>
<</instantiatesCanonical> < <</basedOn> <</groupIdentifier><basedOn><!-- 0..* Reference(Any) Request fulfilled by this task --></basedOn> <groupIdentifier><!-- 0..1 Identifier Requisition or grouper id --></groupIdentifier> <partOf><!-- 0..* Reference(Task) Composite task --></partOf> <status value="[code]"/><!-- 1..1 draft | requested | received | accepted | + --><</statusReason> <</businessStatus> <<statusReason><!-- 0..* CodeableReference Reason for current status --></statusReason> <businessStatus><!-- 0..1 CodeableConcept E.g. "Specimen collected", "IV prepped" --></businessStatus> <intent value="[code]"/><!-- 1..1 unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option --> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --><</code> < <</focus><doNotPerform value="[boolean]"/><!-- 0..1 True if Task is prohibiting action --> <code><!-- I 0..1 CodeableConcept Task Type --></code> <description value="[markdown]"/><!-- 0..1 Human-readable explanation of task --> <focus> <!-- I 0..* What task is acting on --> <value[x]><!-- 1..1 Reference(Any)|canonical(CanonicalResource) What task is acting on --></value[x]> </focus> <for><!-- 0..1 Reference(Any) Beneficiary of the Task --></for> <encounter><!-- 0..1 Reference(Encounter) Healthcare event during which this task originated --></encounter> <requestedPeriod><!-- 0..1 Period When the task should be performed --></requestedPeriod> <executionPeriod><!-- 0..1 Period Start and end time of execution --></executionPeriod>< < <|<authoredOn value="[dateTime]"/><!-- 0..1 Task Creation Date --> <lastModified value="[dateTime]"/><!-- 0..1 Task Last Modified Date --> <requester><!-- 0..1 Reference(Device|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who is asking for task to be done --></requester><</performerType> <| </owner> <</location> <</reasonCode> <</reasonReference> <</insurance> <</note><requestedPerformer><!-- 0..* CodeableReference(CareTeam|Device|Group| HealthcareService|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson) Who should perform the Task --></requestedPerformer> <owner><!-- 0..1 Reference(CareTeam|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Responsible individual --></owner> <performer> <!-- 0..* Who or what performed the task --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- 1..1 Reference(CareTeam|Device|Group|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) Who performed the task --></actor> </performer> <location><!-- 0..1 Reference(Location) Where task occurs --></location> <reason><!-- 0..* CodeableReference(Any) Why task is needed --></reason> <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance> <note><!-- 0..* Annotation Comments made about the task --></note> <relevantHistory><!-- 0..* Reference(Provenance) Key events in history of the Task --></relevantHistory><<restriction> <!-- I 0..1 Constraints on fulfillment tasks --> <repetitions value="[positiveInt]"/><!-- 0..1 How many times to repeat --><</period> <| </recipient><period><!-- 0..1 Period When fulfillment is sought --></period> <recipient><!-- 0..* Reference(Device|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual or entity from whom fulfillment is being sought --></recipient> </restriction> <input> <!-- 0..* Information used to perform task --><</type><type><!-- 1..1 CodeableConcept Label for the input --></type> <value[x]><!-- 1..1 * Content to use in performing the task --></value[x]> </input> <output> <!-- 0..* Information produced as part of task --><</type><type><!-- 1..1 CodeableConcept Label for output --></type> <value[x]><!-- 1..1 * Result of output --></value[x]> </output> </Task>
JSON Template
{
"resourceType" : "",
"resourceType" : "Task",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // Task Instance Identifier
"
"
"
"
"basedOn" : [{ Reference(Any) }], // Request fulfilled by this task
"groupIdentifier" : { Identifier }, // Requisition or grouper id
"partOf" : [{ Reference(Task) }], // Composite task
"status" : "<code>", // R! draft | requested | received | accepted | +
"
"
"
"statusReason" : [{ CodeableReference }], // Reason for current status
"businessStatus" : { CodeableConcept }, // E.g. "Specimen collected", "IV prepped"
"intent" : "<code>", // R! unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
"priority" : "<code>", // routine | urgent | asap | stat
"
"
"
"doNotPerform" : <boolean>, // True if Task is prohibiting action
"code" : { CodeableConcept }, // I Task Type
"description" : "<markdown>", // Human-readable explanation of task
"focus" : [{ // I What task is acting on
// value[x]: What task is acting on. One of these 2:
"valueReference" : { Reference(Any) },
"valueCanonical" : "<canonical(CanonicalResource)>"
}],
"for" : { Reference(Any) }, // Beneficiary of the Task
"encounter" : { Reference(Encounter) }, // Healthcare event during which this task originated
"requestedPeriod" : { Period }, // When the task should be performed
"executionPeriod" : { Period }, // Start and end time of execution
"
"
"|
"authoredOn" : "<dateTime>", // Task Creation Date
"lastModified" : "<dateTime>", // Task Last Modified Date
"requester" : { Reference(Device|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) }, // Who is asking for task to be done
"
"|
"
"
"
"
"
"requestedPerformer" : [{ CodeableReference(CareTeam|Device|Group|
HealthcareService|Organization|Patient|Practitioner|PractitionerRole|
RelatedPerson) }], // Who should perform the Task
"owner" : { Reference(CareTeam|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) }, // Responsible individual
"performer" : [{ // Who or what performed the task
"function" : { CodeableConcept }, // Type of performance
"actor" : { Reference(CareTeam|Device|Group|Organization|Patient|
Practitioner|PractitionerRole|RelatedPerson) } // R! Who performed the task
}],
"location" : { Reference(Location) }, // Where task occurs
"reason" : [{ CodeableReference(Any) }], // Why task is needed
"insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage
"note" : [{ Annotation }], // Comments made about the task
"relevantHistory" : [{ Reference(Provenance) }], // Key events in history of the Task
"
"restriction" : { // I Constraints on fulfillment tasks
"repetitions" : "<positiveInt>", // How many times to repeat
"
"|
"period" : { Period }, // When fulfillment is sought
"recipient" : [{ Reference(Device|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) }] // Individual or entity from whom fulfillment is being sought
},
"input" : [{ // Information used to perform task
"
"type" : { CodeableConcept }, // R! Label for the input
// value[x]: Content to use in performing the task. One of these 55:
"valueBase64Binary" : "<base64Binary>"
">
">"
">"
">"
">"
">
">"
">"
">
">"
">"
">"
">"
">"
">"
">"
">"
">"
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
"valueBoolean" : <boolean>,
"valueCanonical" : "<canonical>",
"valueCode" : "<code>",
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"valueId" : "<id>",
"valueInstant" : "<instant>",
"valueInteger" : <integer>,
"valueInteger64" : "<integer64>",
"valueMarkdown" : "<markdown>",
"valueOid" : "<oid>",
"valuePositiveInt" : "<positiveInt>",
"valueString" : "<string>",
"valueTime" : "<time>",
"valueUnsignedInt" : "<unsignedInt>",
"valueUri" : "<uri>",
"valueUrl" : "<url>",
"valueUuid" : "<uuid>",
"valueAddress" : { Address },
"valueAge" : { Age },
"valueAnnotation" : { Annotation },
"valueAttachment" : { Attachment },
"valueCodeableConcept" : { CodeableConcept },
"valueCodeableReference" : { CodeableReference },
"valueCoding" : { Coding },
"valueContactPoint" : { ContactPoint },
"valueCount" : { Count },
"valueDistance" : { Distance },
"valueDuration" : { Duration },
"valueHumanName" : { HumanName },
"valueIdentifier" : { Identifier },
"valueMoney" : { Money },
"valuePeriod" : { Period },
"valueQuantity" : { Quantity },
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueRatioRange" : { RatioRange },
"valueReference" : { Reference },
"valueSampledData" : { SampledData },
"valueSignature" : { Signature },
"valueTiming" : { Timing },
"valueContactDetail" : { ContactDetail },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueAvailability" : { Availability },
"valueExtendedContactDetail" : { ExtendedContactDetail },
"valueVirtualServiceDetail" : { VirtualServiceDetail },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
}],
"output" : [{ // Information produced as part of task
"
"type" : { CodeableConcept }, // R! Label for output
// value[x]: Result of output. One of these 55:
"valueBase64Binary" : "<base64Binary>"
">
">"
">"
">"
">"
">
">"
">"
">
">"
">"
">"
">"
">"
">"
">"
">"
">"
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
"valueBoolean" : <boolean>,
"valueCanonical" : "<canonical>",
"valueCode" : "<code>",
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"valueId" : "<id>",
"valueInstant" : "<instant>",
"valueInteger" : <integer>,
"valueInteger64" : "<integer64>",
"valueMarkdown" : "<markdown>",
"valueOid" : "<oid>",
"valuePositiveInt" : "<positiveInt>",
"valueString" : "<string>",
"valueTime" : "<time>",
"valueUnsignedInt" : "<unsignedInt>",
"valueUri" : "<uri>",
"valueUrl" : "<url>",
"valueUuid" : "<uuid>",
"valueAddress" : { Address },
"valueAge" : { Age },
"valueAnnotation" : { Annotation },
"valueAttachment" : { Attachment },
"valueCodeableConcept" : { CodeableConcept },
"valueCodeableReference" : { CodeableReference },
"valueCoding" : { Coding },
"valueContactPoint" : { ContactPoint },
"valueCount" : { Count },
"valueDistance" : { Distance },
"valueDuration" : { Duration },
"valueHumanName" : { HumanName },
"valueIdentifier" : { Identifier },
"valueMoney" : { Money },
"valuePeriod" : { Period },
"valueQuantity" : { Quantity },
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueRatioRange" : { RatioRange },
"valueReference" : { Reference },
"valueSampledData" : { SampledData },
"valueSignature" : { Signature },
"valueTiming" : { Timing },
"valueContactDetail" : { ContactDetail },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueAvailability" : { Availability },
"valueExtendedContactDetail" : { ExtendedContactDetail },
"valueVirtualServiceDetail" : { VirtualServiceDetail },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:Task; fhir:nodeRole fhir:treeRoot; # if this is the parser root# from # from fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir:| fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ]; fhir: fhir: # . One of these 50 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] ], ...; fhir: fhir: # . One of these 50 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] ], ...;# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Task Instance Identifier fhir:basedOn ( [ Reference(Any) ] ... ) ; # 0..* Request fulfilled by this task fhir:groupIdentifier [ Identifier ] ; # 0..1 Requisition or grouper id fhir:partOf ( [ Reference(Task) ] ... ) ; # 0..* Composite task fhir:status [ code ] ; # 1..1 draft | requested | received | accepted | + fhir:statusReason ( [ CodeableReference ] ... ) ; # 0..* Reason for current status fhir:businessStatus [ CodeableConcept ] ; # 0..1 E.g. "Specimen collected", "IV prepped" fhir:intent [ code ] ; # 1..1 unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:doNotPerform [ boolean ] ; # 0..1 True if Task is prohibiting action fhir:code [ CodeableConcept ] ; # 0..1 I Task Type fhir:description [ markdown ] ; # 0..1 Human-readable explanation of task fhir:focus ( [ # 0..* I What task is acting on # value[x] : 1..1 What task is acting on. One of these 2 fhir:value [ a fhir:Reference ; Reference(Any) ] fhir:value [ a fhir:Canonical ; canonical(CanonicalResource) ] ] ... ) ; fhir:for [ Reference(Any) ] ; # 0..1 Beneficiary of the Task fhir:encounter [ Reference(Encounter) ] ; # 0..1 Healthcare event during which this task originated fhir:requestedPeriod [ Period ] ; # 0..1 When the task should be performed fhir:executionPeriod [ Period ] ; # 0..1 Start and end time of execution fhir:authoredOn [ dateTime ] ; # 0..1 Task Creation Date fhir:lastModified [ dateTime ] ; # 0..1 Task Last Modified Date fhir:requester [ Reference(Device|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who is asking for task to be done fhir:requestedPerformer ( [ CodeableReference(CareTeam|Device|Group|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who should perform the Task fhir:owner [ Reference(CareTeam|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Responsible individual fhir:performer ( [ # 0..* Who or what performed the task fhir:function [ CodeableConcept ] ; # 0..1 Type of performance fhir:actor [ Reference(CareTeam|Device|Group|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson) ] ; # 1..1 Who performed the task ] ... ) ; fhir:location [ Reference(Location) ] ; # 0..1 Where task occurs fhir:reason ( [ CodeableReference(Any) ] ... ) ; # 0..* Why task is needed fhir:insurance ( [ Reference(ClaimResponse|Coverage) ] ... ) ; # 0..* Associated insurance coverage fhir:note ( [ Annotation ] ... ) ; # 0..* Comments made about the task fhir:relevantHistory ( [ Reference(Provenance) ] ... ) ; # 0..* Key events in history of the Task fhir:restriction [ # 0..1 I Constraints on fulfillment tasks fhir:repetitions [ positiveInt ] ; # 0..1 How many times to repeat fhir:period [ Period ] ; # 0..1 When fulfillment is sought fhir:recipient ( [ Reference(Device|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Individual or entity from whom fulfillment is being sought ] ; fhir:input ( [ # 0..* Information used to perform task fhir:type [ CodeableConcept ] ; # 1..1 Label for the input # value[x] : 1..1 Content to use in performing the task. One of these 55 fhir:value [ a fhir:Base64Binary ; base64Binary ] fhir:value [ a fhir:Boolean ; boolean ] fhir:value [ a fhir:Canonical ; canonical ] fhir:value [ a fhir:Code ; code ] fhir:value [ a fhir:Date ; date ] fhir:value [ a fhir:DateTime ; dateTime ] fhir:value [ a fhir:Decimal ; decimal ] fhir:value [ a fhir:Id ; id ] fhir:value [ a fhir:Instant ; instant ] fhir:value [ a fhir:Integer ; integer ] fhir:value [ a fhir:Integer64 ; integer64 ] fhir:value [ a fhir:Markdown ; markdown ] fhir:value [ a fhir:Oid ; oid ] fhir:value [ a fhir:PositiveInt ; positiveInt ] fhir:value [ a fhir:String ; string ] fhir:value [ a fhir:Time ; time ] fhir:value [ a fhir:UnsignedInt ; unsignedInt ] fhir:value [ a fhir:Uri ; uri ] fhir:value [ a fhir:Url ; url ] fhir:value [ a fhir:Uuid ; uuid ] fhir:value [ a fhir:Address ; Address ] fhir:value [ a fhir:Age ; Age ] fhir:value [ a fhir:Annotation ; Annotation ] fhir:value [ a fhir:Attachment ; Attachment ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:CodeableReference ; CodeableReference ] fhir:value [ a fhir:Coding ; Coding ] fhir:value [ a fhir:ContactPoint ; ContactPoint ] fhir:value [ a fhir:Count ; Count ] fhir:value [ a fhir:Distance ; Distance ] fhir:value [ a fhir:Duration ; Duration ] fhir:value [ a fhir:HumanName ; HumanName ] fhir:value [ a fhir:Identifier ; Identifier ] fhir:value [ a fhir:Money ; Money ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:RatioRange ; RatioRange ] fhir:value [ a fhir:Reference ; Reference ] fhir:value [ a fhir:SampledData ; SampledData ] fhir:value [ a fhir:Signature ; Signature ] fhir:value [ a fhir:Timing ; Timing ] fhir:value [ a fhir:ContactDetail ; ContactDetail ] fhir:value [ a fhir:DataRequirement ; DataRequirement ] fhir:value [ a fhir:Expression ; Expression ] fhir:value [ a fhir:ParameterDefinition ; ParameterDefinition ] fhir:value [ a fhir:RelatedArtifact ; RelatedArtifact ] fhir:value [ a fhir:TriggerDefinition ; TriggerDefinition ] fhir:value [ a fhir:UsageContext ; UsageContext ] fhir:value [ a fhir:Availability ; Availability ] fhir:value [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:value [ a fhir:VirtualServiceDetail ; VirtualServiceDetail ] fhir:value [ a fhir:Dosage ; Dosage ] fhir:value [ a fhir:Meta ; Meta ] ] ... ) ; fhir:output ( [ # 0..* Information produced as part of task fhir:type [ CodeableConcept ] ; # 1..1 Label for output # value[x] : 1..1 Result of output. One of these 55 fhir:value [ a fhir:Base64Binary ; base64Binary ] fhir:value [ a fhir:Boolean ; boolean ] fhir:value [ a fhir:Canonical ; canonical ] fhir:value [ a fhir:Code ; code ] fhir:value [ a fhir:Date ; date ] fhir:value [ a fhir:DateTime ; dateTime ] fhir:value [ a fhir:Decimal ; decimal ] fhir:value [ a fhir:Id ; id ] fhir:value [ a fhir:Instant ; instant ] fhir:value [ a fhir:Integer ; integer ] fhir:value [ a fhir:Integer64 ; integer64 ] fhir:value [ a fhir:Markdown ; markdown ] fhir:value [ a fhir:Oid ; oid ] fhir:value [ a fhir:PositiveInt ; positiveInt ] fhir:value [ a fhir:String ; string ] fhir:value [ a fhir:Time ; time ] fhir:value [ a fhir:UnsignedInt ; unsignedInt ] fhir:value [ a fhir:Uri ; uri ] fhir:value [ a fhir:Url ; url ] fhir:value [ a fhir:Uuid ; uuid ] fhir:value [ a fhir:Address ; Address ] fhir:value [ a fhir:Age ; Age ] fhir:value [ a fhir:Annotation ; Annotation ] fhir:value [ a fhir:Attachment ; Attachment ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:CodeableReference ; CodeableReference ] fhir:value [ a fhir:Coding ; Coding ] fhir:value [ a fhir:ContactPoint ; ContactPoint ] fhir:value [ a fhir:Count ; Count ] fhir:value [ a fhir:Distance ; Distance ] fhir:value [ a fhir:Duration ; Duration ] fhir:value [ a fhir:HumanName ; HumanName ] fhir:value [ a fhir:Identifier ; Identifier ] fhir:value [ a fhir:Money ; Money ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:RatioRange ; RatioRange ] fhir:value [ a fhir:Reference ; Reference ] fhir:value [ a fhir:SampledData ; SampledData ] fhir:value [ a fhir:Signature ; Signature ] fhir:value [ a fhir:Timing ; Timing ] fhir:value [ a fhir:ContactDetail ; ContactDetail ] fhir:value [ a fhir:DataRequirement ; DataRequirement ] fhir:value [ a fhir:Expression ; Expression ] fhir:value [ a fhir:ParameterDefinition ; ParameterDefinition ] fhir:value [ a fhir:RelatedArtifact ; RelatedArtifact ] fhir:value [ a fhir:TriggerDefinition ; TriggerDefinition ] fhir:value [ a fhir:UsageContext ; UsageContext ] fhir:value [ a fhir:Availability ; Availability ] fhir:value [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:value [ a fhir:VirtualServiceDetail ; VirtualServiceDetail ] fhir:value [ a fhir:Dosage ; Dosage ] fhir:value [ a fhir:Meta ; Meta ] ] ... ) ; ]
Changes
since
R3
from
R5
to
R6
| Task | |
| Task.statusReason |
|
| Task.code |
|
| Task.description |
|
| Task.focus |
|
|
|
|
|
|
|
|
|
|
| Task.performer.actor |
|
| Task.restriction.recipient |
|
| Task.input.value[x] |
|
| Task.output.value[x] |
|
| Task.instantiatesCanonical |
|
| Task.instantiatesUri |
|
Changes
from
http://hl7.org/fhir/ValueSet/task-status
R4B
to
http://hl7.org/fhir/ValueSet/task-status|4.0.1
R6
| Task | |
| Task.statusReason |
|
| Task.doNotPerform |
|
|
|
|
| Task.description |
|
|
|
|
|
|
|
| Task.requestedPeriod |
|
| Task.requester |
|
| Task.requestedPerformer |
|
| Task.owner |
|
| Task.performer |
|
| Task.performer.function |
|
| Task.performer.actor |
|
| Task.reason |
|
| Task.restriction.recipient |
|
| Task.input.value[x] |
|
| Task.output.value[x] |
|
| Task.instantiatesCanonical |
|
| Task.instantiatesUri |
|
| Task.performerType |
|
| Task.reasonCode |
|
| Task.reasonReference |
|
Changes from R4 to R6
| Task | |
| Task.statusReason |
|
| Task.doNotPerform |
|
| Task.code |
|
| Task.description |
|
| Task.focus |
|
| Task.focus.value[x] |
|
| Task.requestedPeriod |
|
| Task.requester |
|
| Task.requestedPerformer |
|
| Task.owner |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Task.restriction.recipient |
|
| Task.input.value[x] |
|
| Task.output.value[x] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the Full Difference for further information
This
analysis
is
available
for
R4
as
XML
or
JSON
.
See
R3
<-->
R4
Conversion
Maps
(status
=
6
tests
that
all
execute
ok.
3
fail
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
for
R4B
as
XML
or
JSON
.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
A
task
to
be
performed
+ Rule: Last modified date must be greater than or equal to authored-on date. + Rule: Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
0..* | Identifier |
Task
Instance
Identifier
|
|
|
Σ | 0..* | Reference ( Any ) |
Request
fulfilled
by
this
task
|
|
Σ | 0..1 | Identifier |
Requisition
or
grouper
id
|
|
Σ | 0..* | Reference ( Task ) |
Composite
task
|
|
?! Σ | 1..1 | code |
draft
|
requested
|
received
|
accepted
|
+
|
|
Σ | 0..* |
|
Reason
for
current
status
Binding: Task Status Reason ( Example ) |
|
Σ | 0..1 | CodeableConcept |
E.g.
"Specimen
collected",
"IV
prepped"
Binding: Task Business Status ( Example ) |
|
Σ | 1..1 | code |
unknown
|
proposal
|
plan
|
order
|
original-order
|
reflex-order
|
filler-order
|
instance-order
|
option
|
|
0..1 | code |
routine
|
urgent
|
asap
|
stat
Binding: |
|
|
?! Σ | 0..1 | boolean |
True
if
Task
is
prohibiting
action
|
![]() ![]() | Σ C | 0..1 | CodeableConcept |
Task
Type
Binding: Task Codes ( |
|
Σ | 0..1 |
|
Human-readable
explanation
of
task
|
|
Σ C | 0..* | BackboneElement |
What
task
is
acting
on
|
![]() ![]() ![]() | Σ | 1..1 |
|
What
task
is
acting
on
|
| Reference ( Any ) |
|
||
| canonical ( CanonicalResource ) | |||
|
Σ | 0..1 | Reference ( Any ) |
Beneficiary
of
the
Task
|
|
Σ | 0..1 | Reference ( Encounter ) |
Healthcare
event
during
which
this
task
originated
|
|
Σ | 0..1 | Period |
When
the
task
should
be
performed
|
| Σ | 0..1 | Period |
Start
and
end
time
of
execution
|
|
0..1 | dateTime |
Task
Creation
Date
|
|
|
Σ
|
0..1 | dateTime |
Task
Last
Modified
Date
|
|
Σ | 0..1 | Reference ( Device | Group | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson ) |
Who
is
asking
for
task
to
be
done
|
|
0..* |
|
Who
should
perform
the
Task
Binding: Procedure Performer Role Codes ( Preferred ) |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
PractitionerRole
|
Organization
|
CareTeam
|
|
Responsible
individual
|
|
Σ | 0..* |
|
Who
or
what
performed
the
task
|
|
Σ | 0..1 | CodeableConcept |
Type
of
performance
Binding: Task Performer Function Code ( Example ) |
| Σ | 1..1 | Reference ( Practitioner | Device | Organization | PractitionerRole | CareTeam | Patient | RelatedPerson | Group ) |
Who
performed
the
task
|
|
Σ | 0..1 | Reference ( Location ) |
Where
task
occurs
|
![]() ![]() | 0..* | CodeableReference ( Any ) |
Why
task
is
needed
Binding: Task Reason ( Example ) |
|
|
0..* | Reference ( Coverage | ClaimResponse ) |
Associated
insurance
coverage
|
|
|
0..* | Annotation |
Comments
made
about
the
task
|
|
|
0..* | Reference ( Provenance ) |
Key
events
in
history
of
the
Task
|
|
|
C | 0..1 | BackboneElement |
Constraints
on
fulfillment
tasks
|
|
0..1 | positiveInt |
How
many
times
to
repeat
|
|
|
0..1 | Period |
When
fulfillment
is
sought
|
|
|
0..* | Reference ( Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization | Device ) |
Individual
or
entity
from
whom
|
|
|
0..* | BackboneElement |
Information
used
to
perform
task
|
|
|
1..1 | CodeableConcept |
Label
for
the
input
Binding: Task Input/Output Parameter Type ( Example ) |
|
|
1..1 | * |
Content
to
use
in
performing
the
task
|
|
|
0..* | BackboneElement |
Information
produced
as
part
of
task
|
|
|
1..1 | CodeableConcept |
Label
for
output
Binding: Task Input/Output Parameter Type ( Example ) |
|
|
1..1 | * |
Result
of
output
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<<Task xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Task Instance Identifier --></identifier>
<</instantiatesCanonical> < <</basedOn> <</groupIdentifier><basedOn><!-- 0..* Reference(Any) Request fulfilled by this task --></basedOn> <groupIdentifier><!-- 0..1 Identifier Requisition or grouper id --></groupIdentifier> <partOf><!-- 0..* Reference(Task) Composite task --></partOf> <status value="[code]"/><!-- 1..1 draft | requested | received | accepted | + --><</statusReason> <</businessStatus> <<statusReason><!-- 0..* CodeableReference Reason for current status --></statusReason> <businessStatus><!-- 0..1 CodeableConcept E.g. "Specimen collected", "IV prepped" --></businessStatus> <intent value="[code]"/><!-- 1..1 unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option --> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --><</code> < <</focus><doNotPerform value="[boolean]"/><!-- 0..1 True if Task is prohibiting action --> <code><!-- I 0..1 CodeableConcept Task Type --></code> <description value="[markdown]"/><!-- 0..1 Human-readable explanation of task --> <focus> <!-- I 0..* What task is acting on --> <value[x]><!-- 1..1 Reference(Any)|canonical(CanonicalResource) What task is acting on --></value[x]> </focus> <for><!-- 0..1 Reference(Any) Beneficiary of the Task --></for> <encounter><!-- 0..1 Reference(Encounter) Healthcare event during which this task originated --></encounter> <requestedPeriod><!-- 0..1 Period When the task should be performed --></requestedPeriod> <executionPeriod><!-- 0..1 Period Start and end time of execution --></executionPeriod>< < <|<authoredOn value="[dateTime]"/><!-- 0..1 Task Creation Date --> <lastModified value="[dateTime]"/><!-- 0..1 Task Last Modified Date --> <requester><!-- 0..1 Reference(Device|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who is asking for task to be done --></requester><</performerType> <| </owner> <</location> <</reasonCode> <</reasonReference> <</insurance> <</note><requestedPerformer><!-- 0..* CodeableReference(CareTeam|Device|Group| HealthcareService|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson) Who should perform the Task --></requestedPerformer> <owner><!-- 0..1 Reference(CareTeam|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Responsible individual --></owner> <performer> <!-- 0..* Who or what performed the task --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- 1..1 Reference(CareTeam|Device|Group|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) Who performed the task --></actor> </performer> <location><!-- 0..1 Reference(Location) Where task occurs --></location> <reason><!-- 0..* CodeableReference(Any) Why task is needed --></reason> <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance> <note><!-- 0..* Annotation Comments made about the task --></note> <relevantHistory><!-- 0..* Reference(Provenance) Key events in history of the Task --></relevantHistory><<restriction> <!-- I 0..1 Constraints on fulfillment tasks --> <repetitions value="[positiveInt]"/><!-- 0..1 How many times to repeat --><</period> <| </recipient><period><!-- 0..1 Period When fulfillment is sought --></period> <recipient><!-- 0..* Reference(Device|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual or entity from whom fulfillment is being sought --></recipient> </restriction> <input> <!-- 0..* Information used to perform task --><</type><type><!-- 1..1 CodeableConcept Label for the input --></type> <value[x]><!-- 1..1 * Content to use in performing the task --></value[x]> </input> <output> <!-- 0..* Information produced as part of task --><</type><type><!-- 1..1 CodeableConcept Label for output --></type> <value[x]><!-- 1..1 * Result of output --></value[x]> </output> </Task>
JSON Template
{
"resourceType" : "",
"resourceType" : "Task",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // Task Instance Identifier
"
"
"
"
"basedOn" : [{ Reference(Any) }], // Request fulfilled by this task
"groupIdentifier" : { Identifier }, // Requisition or grouper id
"partOf" : [{ Reference(Task) }], // Composite task
"status" : "<code>", // R! draft | requested | received | accepted | +
"
"
"
"statusReason" : [{ CodeableReference }], // Reason for current status
"businessStatus" : { CodeableConcept }, // E.g. "Specimen collected", "IV prepped"
"intent" : "<code>", // R! unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
"priority" : "<code>", // routine | urgent | asap | stat
"
"
"
"doNotPerform" : <boolean>, // True if Task is prohibiting action
"code" : { CodeableConcept }, // I Task Type
"description" : "<markdown>", // Human-readable explanation of task
"focus" : [{ // I What task is acting on
// value[x]: What task is acting on. One of these 2:
"valueReference" : { Reference(Any) },
"valueCanonical" : "<canonical(CanonicalResource)>"
}],
"for" : { Reference(Any) }, // Beneficiary of the Task
"encounter" : { Reference(Encounter) }, // Healthcare event during which this task originated
"requestedPeriod" : { Period }, // When the task should be performed
"executionPeriod" : { Period }, // Start and end time of execution
"
"
"|
"authoredOn" : "<dateTime>", // Task Creation Date
"lastModified" : "<dateTime>", // Task Last Modified Date
"requester" : { Reference(Device|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) }, // Who is asking for task to be done
"
"|
"
"
"
"
"
"requestedPerformer" : [{ CodeableReference(CareTeam|Device|Group|
HealthcareService|Organization|Patient|Practitioner|PractitionerRole|
RelatedPerson) }], // Who should perform the Task
"owner" : { Reference(CareTeam|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) }, // Responsible individual
"performer" : [{ // Who or what performed the task
"function" : { CodeableConcept }, // Type of performance
"actor" : { Reference(CareTeam|Device|Group|Organization|Patient|
Practitioner|PractitionerRole|RelatedPerson) } // R! Who performed the task
}],
"location" : { Reference(Location) }, // Where task occurs
"reason" : [{ CodeableReference(Any) }], // Why task is needed
"insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage
"note" : [{ Annotation }], // Comments made about the task
"relevantHistory" : [{ Reference(Provenance) }], // Key events in history of the Task
"
"restriction" : { // I Constraints on fulfillment tasks
"repetitions" : "<positiveInt>", // How many times to repeat
"
"|
"period" : { Period }, // When fulfillment is sought
"recipient" : [{ Reference(Device|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) }] // Individual or entity from whom fulfillment is being sought
},
"input" : [{ // Information used to perform task
"
"type" : { CodeableConcept }, // R! Label for the input
// value[x]: Content to use in performing the task. One of these 55:
"valueBase64Binary" : "<base64Binary>"
">
">"
">"
">"
">"
">
">"
">"
">
">"
">"
">"
">"
">"
">"
">"
">"
">"
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
"valueBoolean" : <boolean>,
"valueCanonical" : "<canonical>",
"valueCode" : "<code>",
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"valueId" : "<id>",
"valueInstant" : "<instant>",
"valueInteger" : <integer>,
"valueInteger64" : "<integer64>",
"valueMarkdown" : "<markdown>",
"valueOid" : "<oid>",
"valuePositiveInt" : "<positiveInt>",
"valueString" : "<string>",
"valueTime" : "<time>",
"valueUnsignedInt" : "<unsignedInt>",
"valueUri" : "<uri>",
"valueUrl" : "<url>",
"valueUuid" : "<uuid>",
"valueAddress" : { Address },
"valueAge" : { Age },
"valueAnnotation" : { Annotation },
"valueAttachment" : { Attachment },
"valueCodeableConcept" : { CodeableConcept },
"valueCodeableReference" : { CodeableReference },
"valueCoding" : { Coding },
"valueContactPoint" : { ContactPoint },
"valueCount" : { Count },
"valueDistance" : { Distance },
"valueDuration" : { Duration },
"valueHumanName" : { HumanName },
"valueIdentifier" : { Identifier },
"valueMoney" : { Money },
"valuePeriod" : { Period },
"valueQuantity" : { Quantity },
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueRatioRange" : { RatioRange },
"valueReference" : { Reference },
"valueSampledData" : { SampledData },
"valueSignature" : { Signature },
"valueTiming" : { Timing },
"valueContactDetail" : { ContactDetail },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueAvailability" : { Availability },
"valueExtendedContactDetail" : { ExtendedContactDetail },
"valueVirtualServiceDetail" : { VirtualServiceDetail },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
}],
"output" : [{ // Information produced as part of task
"
"type" : { CodeableConcept }, // R! Label for output
// value[x]: Result of output. One of these 55:
"valueBase64Binary" : "<base64Binary>"
">
">"
">"
">"
">"
">
">"
">"
">
">"
">"
">"
">"
">"
">"
">"
">"
">"
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
" }
"valueBoolean" : <boolean>,
"valueCanonical" : "<canonical>",
"valueCode" : "<code>",
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"valueId" : "<id>",
"valueInstant" : "<instant>",
"valueInteger" : <integer>,
"valueInteger64" : "<integer64>",
"valueMarkdown" : "<markdown>",
"valueOid" : "<oid>",
"valuePositiveInt" : "<positiveInt>",
"valueString" : "<string>",
"valueTime" : "<time>",
"valueUnsignedInt" : "<unsignedInt>",
"valueUri" : "<uri>",
"valueUrl" : "<url>",
"valueUuid" : "<uuid>",
"valueAddress" : { Address },
"valueAge" : { Age },
"valueAnnotation" : { Annotation },
"valueAttachment" : { Attachment },
"valueCodeableConcept" : { CodeableConcept },
"valueCodeableReference" : { CodeableReference },
"valueCoding" : { Coding },
"valueContactPoint" : { ContactPoint },
"valueCount" : { Count },
"valueDistance" : { Distance },
"valueDuration" : { Duration },
"valueHumanName" : { HumanName },
"valueIdentifier" : { Identifier },
"valueMoney" : { Money },
"valuePeriod" : { Period },
"valueQuantity" : { Quantity },
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueRatioRange" : { RatioRange },
"valueReference" : { Reference },
"valueSampledData" : { SampledData },
"valueSignature" : { Signature },
"valueTiming" : { Timing },
"valueContactDetail" : { ContactDetail },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueAvailability" : { Availability },
"valueExtendedContactDetail" : { ExtendedContactDetail },
"valueVirtualServiceDetail" : { VirtualServiceDetail },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:Task; fhir:nodeRole fhir:treeRoot; # if this is the parser root# from # from fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir:| fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ]; fhir: fhir: # . One of these 50 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] ], ...; fhir: fhir: # . One of these 50 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] ], ...;# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Task Instance Identifier fhir:basedOn ( [ Reference(Any) ] ... ) ; # 0..* Request fulfilled by this task fhir:groupIdentifier [ Identifier ] ; # 0..1 Requisition or grouper id fhir:partOf ( [ Reference(Task) ] ... ) ; # 0..* Composite task fhir:status [ code ] ; # 1..1 draft | requested | received | accepted | + fhir:statusReason ( [ CodeableReference ] ... ) ; # 0..* Reason for current status fhir:businessStatus [ CodeableConcept ] ; # 0..1 E.g. "Specimen collected", "IV prepped" fhir:intent [ code ] ; # 1..1 unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:doNotPerform [ boolean ] ; # 0..1 True if Task is prohibiting action fhir:code [ CodeableConcept ] ; # 0..1 I Task Type fhir:description [ markdown ] ; # 0..1 Human-readable explanation of task fhir:focus ( [ # 0..* I What task is acting on # value[x] : 1..1 What task is acting on. One of these 2 fhir:value [ a fhir:Reference ; Reference(Any) ] fhir:value [ a fhir:Canonical ; canonical(CanonicalResource) ] ] ... ) ; fhir:for [ Reference(Any) ] ; # 0..1 Beneficiary of the Task fhir:encounter [ Reference(Encounter) ] ; # 0..1 Healthcare event during which this task originated fhir:requestedPeriod [ Period ] ; # 0..1 When the task should be performed fhir:executionPeriod [ Period ] ; # 0..1 Start and end time of execution fhir:authoredOn [ dateTime ] ; # 0..1 Task Creation Date fhir:lastModified [ dateTime ] ; # 0..1 Task Last Modified Date fhir:requester [ Reference(Device|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who is asking for task to be done fhir:requestedPerformer ( [ CodeableReference(CareTeam|Device|Group|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who should perform the Task fhir:owner [ Reference(CareTeam|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Responsible individual fhir:performer ( [ # 0..* Who or what performed the task fhir:function [ CodeableConcept ] ; # 0..1 Type of performance fhir:actor [ Reference(CareTeam|Device|Group|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson) ] ; # 1..1 Who performed the task ] ... ) ; fhir:location [ Reference(Location) ] ; # 0..1 Where task occurs fhir:reason ( [ CodeableReference(Any) ] ... ) ; # 0..* Why task is needed fhir:insurance ( [ Reference(ClaimResponse|Coverage) ] ... ) ; # 0..* Associated insurance coverage fhir:note ( [ Annotation ] ... ) ; # 0..* Comments made about the task fhir:relevantHistory ( [ Reference(Provenance) ] ... ) ; # 0..* Key events in history of the Task fhir:restriction [ # 0..1 I Constraints on fulfillment tasks fhir:repetitions [ positiveInt ] ; # 0..1 How many times to repeat fhir:period [ Period ] ; # 0..1 When fulfillment is sought fhir:recipient ( [ Reference(Device|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Individual or entity from whom fulfillment is being sought ] ; fhir:input ( [ # 0..* Information used to perform task fhir:type [ CodeableConcept ] ; # 1..1 Label for the input # value[x] : 1..1 Content to use in performing the task. One of these 55 fhir:value [ a fhir:Base64Binary ; base64Binary ] fhir:value [ a fhir:Boolean ; boolean ] fhir:value [ a fhir:Canonical ; canonical ] fhir:value [ a fhir:Code ; code ] fhir:value [ a fhir:Date ; date ] fhir:value [ a fhir:DateTime ; dateTime ] fhir:value [ a fhir:Decimal ; decimal ] fhir:value [ a fhir:Id ; id ] fhir:value [ a fhir:Instant ; instant ] fhir:value [ a fhir:Integer ; integer ] fhir:value [ a fhir:Integer64 ; integer64 ] fhir:value [ a fhir:Markdown ; markdown ] fhir:value [ a fhir:Oid ; oid ] fhir:value [ a fhir:PositiveInt ; positiveInt ] fhir:value [ a fhir:String ; string ] fhir:value [ a fhir:Time ; time ] fhir:value [ a fhir:UnsignedInt ; unsignedInt ] fhir:value [ a fhir:Uri ; uri ] fhir:value [ a fhir:Url ; url ] fhir:value [ a fhir:Uuid ; uuid ] fhir:value [ a fhir:Address ; Address ] fhir:value [ a fhir:Age ; Age ] fhir:value [ a fhir:Annotation ; Annotation ] fhir:value [ a fhir:Attachment ; Attachment ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:CodeableReference ; CodeableReference ] fhir:value [ a fhir:Coding ; Coding ] fhir:value [ a fhir:ContactPoint ; ContactPoint ] fhir:value [ a fhir:Count ; Count ] fhir:value [ a fhir:Distance ; Distance ] fhir:value [ a fhir:Duration ; Duration ] fhir:value [ a fhir:HumanName ; HumanName ] fhir:value [ a fhir:Identifier ; Identifier ] fhir:value [ a fhir:Money ; Money ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:RatioRange ; RatioRange ] fhir:value [ a fhir:Reference ; Reference ] fhir:value [ a fhir:SampledData ; SampledData ] fhir:value [ a fhir:Signature ; Signature ] fhir:value [ a fhir:Timing ; Timing ] fhir:value [ a fhir:ContactDetail ; ContactDetail ] fhir:value [ a fhir:DataRequirement ; DataRequirement ] fhir:value [ a fhir:Expression ; Expression ] fhir:value [ a fhir:ParameterDefinition ; ParameterDefinition ] fhir:value [ a fhir:RelatedArtifact ; RelatedArtifact ] fhir:value [ a fhir:TriggerDefinition ; TriggerDefinition ] fhir:value [ a fhir:UsageContext ; UsageContext ] fhir:value [ a fhir:Availability ; Availability ] fhir:value [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:value [ a fhir:VirtualServiceDetail ; VirtualServiceDetail ] fhir:value [ a fhir:Dosage ; Dosage ] fhir:value [ a fhir:Meta ; Meta ] ] ... ) ; fhir:output ( [ # 0..* Information produced as part of task fhir:type [ CodeableConcept ] ; # 1..1 Label for output # value[x] : 1..1 Result of output. One of these 55 fhir:value [ a fhir:Base64Binary ; base64Binary ] fhir:value [ a fhir:Boolean ; boolean ] fhir:value [ a fhir:Canonical ; canonical ] fhir:value [ a fhir:Code ; code ] fhir:value [ a fhir:Date ; date ] fhir:value [ a fhir:DateTime ; dateTime ] fhir:value [ a fhir:Decimal ; decimal ] fhir:value [ a fhir:Id ; id ] fhir:value [ a fhir:Instant ; instant ] fhir:value [ a fhir:Integer ; integer ] fhir:value [ a fhir:Integer64 ; integer64 ] fhir:value [ a fhir:Markdown ; markdown ] fhir:value [ a fhir:Oid ; oid ] fhir:value [ a fhir:PositiveInt ; positiveInt ] fhir:value [ a fhir:String ; string ] fhir:value [ a fhir:Time ; time ] fhir:value [ a fhir:UnsignedInt ; unsignedInt ] fhir:value [ a fhir:Uri ; uri ] fhir:value [ a fhir:Url ; url ] fhir:value [ a fhir:Uuid ; uuid ] fhir:value [ a fhir:Address ; Address ] fhir:value [ a fhir:Age ; Age ] fhir:value [ a fhir:Annotation ; Annotation ] fhir:value [ a fhir:Attachment ; Attachment ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:CodeableReference ; CodeableReference ] fhir:value [ a fhir:Coding ; Coding ] fhir:value [ a fhir:ContactPoint ; ContactPoint ] fhir:value [ a fhir:Count ; Count ] fhir:value [ a fhir:Distance ; Distance ] fhir:value [ a fhir:Duration ; Duration ] fhir:value [ a fhir:HumanName ; HumanName ] fhir:value [ a fhir:Identifier ; Identifier ] fhir:value [ a fhir:Money ; Money ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:RatioRange ; RatioRange ] fhir:value [ a fhir:Reference ; Reference ] fhir:value [ a fhir:SampledData ; SampledData ] fhir:value [ a fhir:Signature ; Signature ] fhir:value [ a fhir:Timing ; Timing ] fhir:value [ a fhir:ContactDetail ; ContactDetail ] fhir:value [ a fhir:DataRequirement ; DataRequirement ] fhir:value [ a fhir:Expression ; Expression ] fhir:value [ a fhir:ParameterDefinition ; ParameterDefinition ] fhir:value [ a fhir:RelatedArtifact ; RelatedArtifact ] fhir:value [ a fhir:TriggerDefinition ; TriggerDefinition ] fhir:value [ a fhir:UsageContext ; UsageContext ] fhir:value [ a fhir:Availability ; Availability ] fhir:value [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:value [ a fhir:VirtualServiceDetail ; VirtualServiceDetail ] fhir:value [ a fhir:Dosage ; Dosage ] fhir:value [ a fhir:Meta ; Meta ] ] ... ) ; ]
Changes
since
Release
3
from
R5
to
R6
| Task | |
| Task.statusReason |
|
| Task.code |
|
| Task.description |
|
| Task.focus |
|
|
|
|
|
|
|
|
|
|
| Task.performer.actor |
|
| Task.restriction.recipient |
|
| Task.input.value[x] |
|
| Task.output.value[x] |
|
| Task.instantiatesCanonical |
|
| Task.instantiatesUri |
|
Changes
from
http://hl7.org/fhir/ValueSet/task-status
R4B
to
http://hl7.org/fhir/ValueSet/task-status|4.0.1
R6
| Task | |
| Task.statusReason |
|
| Task.doNotPerform |
|
|
|
|
| Task.description |
|
|
|
|
|
|
|
| Task.requestedPeriod |
|
| Task.requester |
|
| Task.requestedPerformer |
|
| Task.owner |
|
| Task.performer |
|
| Task.performer.function |
|
| Task.performer.actor |
|
| Task.reason |
|
| Task.restriction.recipient |
|
| Task.input.value[x] |
|
| Task.output.value[x] |
|
| Task.instantiatesCanonical |
|
| Task.instantiatesUri |
|
| Task.performerType |
|
| Task.reasonCode |
|
| Task.reasonReference |
|
Changes from R4 to R6
| Task | |
| Task.statusReason |
|
| Task.doNotPerform |
|
| Task.code |
|
| Task.description |
|
| Task.focus |
|
| Task.focus.value[x] |
|
| Task.requestedPeriod |
|
| Task.requester |
|
| Task.requestedPerformer |
|
| Task.owner |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Task.restriction.recipient |
|
| Task.input.value[x] |
|
| Task.output.value[x] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the Full Difference for further information
This
analysis
is
available
for
R4
as
XML
or
JSON
.
See
R3
<-->
R4
Conversion
Maps
(status
=
6
tests
that
all
execute
ok.
3
fail
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
for
R4B
as
XML
or
JSON
.
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
,
the
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| Task.status |
|
Required |
The current status of the task. |
| Task.statusReason |
|
Example |
The current status reason of the task. |
| Task.businessStatus | TaskBusinessStatus | Example |
The
|
| Task.intent | TaskIntent | Required |
Distinguishes
whether
the
task
is
a
proposal,
plan
or
full
order.
|
| Task.priority |
|
Required |
Identifies the level of importance to be assigned to actioning the request. |
| Task.code |
TaskCode
(a
valid
code
from
Task
Codes
|
|
Codes indicating the type of action that is expected to be performed |
|
|
|
Preferred |
This example value set defines the set of codes that can be used to indicate a role of a procedure performer. |
| Task.performer.function | TaskPerformerFunctionCode | Example |
The
performer
of
the
|
| Task.reason | TaskReason | Example |
The reason for the task being performed. |
| Task.input.type |
|
Example |
The input and output types for the task. |
| Task.output.type |
|
Example |
The input and output types for the task. |
|
|
Level | Location | Description | Expression |
tsk-0
|
Rule | (base) | Last modified date must be greater than or equal to authored-on date. | lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn |
tsk-1
| Rule | (base) | Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. | restriction.exists() implies (code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists() and focus.value.ofType(Reference).exists()) |
While Task can be used to seek fulfillment of other authorizations such as ServiceRequests , MedicationRequests , etc., Task can also be used on its own to solicit action without any prior authorization. However, such requests for action should be tightly time-bound and be satisfied with a single 'event'. I.e. they should ask as a task-list checkbox that can easily be marked as complete. Any action that requires ongoing repeated performance should be captured using a different type of resource, not Task.
Tasks often have titles (eg "My Tasks", "Outstanding Tasks for Patient X") which can be presented in a list. The task title should go into the Task.code as a coded concept and/or text.
Tasks start in a Draft state. Once they have been assigned to an owner they transition to the Ready state, indicating that they are ready to be performed. Once the owner initiates activity on the task, the task transitions to the In Progress state, indicating that work is being performed. Upon normal completion, the task enters the Completed state. If there is a failure during the task execution that prevents the task from being completed, it can also enter a Failed state, indicating an abnormal termination of the task. A task in any non-terminal state may also be Cancelled, representing an abnormal termination of the task due to external forces, rather than an error condition.
Tasks in any non-terminal state (Draft, Ready, In Progress) can be suspended and resumed. When a task is suspended, it is typically resumed in the state it was in when it was originally suspended. Suspending a task suspends all of its children as well. Resuming a task resumes all of its children.
An In-progress task can also be stopped, returning it to a Ready state. This may be in preparation for delegation or reassignment (e.g., because it cannot be completed by the current owner), to restart a task due to a temporary failure (e.g., to reattempt completion of the activity), or in preparation to allow others to claim the task.
The task history allows applications monitoring the state of a workflow to identify tasks that are long running, perhaps stuck in some queue, to enable management activities that could ensure completion. It also enables tracking of task statistics such as wait time, or time in progress, or time to completion, enabling capture of important task metrics in support of optimization and quality improvement.
The following diagram reflects the "typical" state machine for Task. Note that not all states will be supported by all workflows and that some workflows may support additional transitions, including transitions from terminal states (e.g. back to "in-progress" from "failed" or "completed").
While the intention of a "cancelled" task is that all work authorized by the task should cease, this might not always be possible practice. It is possible that the originally requested action could still be completed and still attached to the Task but this would not change the status of the task. If the placer cancels a task, it signals they no longer care about the outcome of the task.
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| actor | reference | Search by specific performer. |
Task.performer.actor
( Practitioner , Group , Organization , CareTeam , Device , Patient , PractitionerRole , RelatedPerson ) | |
| authored-on | date | Search by creation date | Task.authoredOn | |
| based-on | reference | Search by requests this task is based on |
Task.basedOn
(Any) |
|
| business-status | token | Search by business status | Task.businessStatus | |
| code | token | Search by task code | Task.code | 19 Resources |
| encounter | reference | Search by encounter |
Task.encounter
( Encounter ) |
26 Resources |
| focus-canonical | uri | Search by task focus - canonical | Task.focus.value.ofType(canonical) | |
| focus-reference | reference | Search by task focus - reference |
|
|
| group-identifier | token | Search by group identifier | Task.groupIdentifier | |
| identifier | token | Search for a task instance by its business identifier | Task.identifier | 58 Resources |
| input | reference | Search by task input | Task.input.value.ofType(Reference) | |
| intent | token | Search by task intent | Task.intent | |
| modified | date | Search by last modification date | Task.lastModified | |
| output | reference | Search by task output | Task.output.value.ofType(Reference) | |
| owner | reference | Search by task owner |
Task.owner
( Practitioner , Group , Organization , CareTeam , |
|
| part-of | reference | Search by task this task is part of |
Task.partOf
( Task ) |
|
| patient | reference | Search by patient |
Task.for.where(resolve()
is
Patient)
( Patient ) |
60 Resources |
| performer | token | Search by recommended type of performer (e.g., Requester, Performer, Scheduler). |
|
|
| period | date | Search by period Task is/was underway | Task.executionPeriod | |
| priority | token | Search by task priority | Task.priority | |
| requestedperformer-reference | reference | Search by specific requested performer. | Task.requestedPerformer.reference | |
| requester | reference | Search by task requester |
Task.requester
( Practitioner , Group , Organization , Device , Patient , PractitionerRole , RelatedPerson ) |
|
| status | token | Search by task status | Task.status | |
| subject | reference | Search by subject |
Task.for
(Any) |