Open Health Hub FHIR Implementation Guide
0.1.0 - v0.1.0

Open Health Hub FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: OHH Questionnaire Task

Official URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/ohh-questionnaire-task Version: 0.1.0
Active as of 2026-10-27 Computable Name: OhhQuestionnaireTask

A participant task of a CarePlan to complete a Questionnaire.

Scope and Usage

A questionnaire task is a task of the patient or a caregiver to complete a questionnaire, form or information module of a CarePlan. It follows the SDC sdc-task profile, so the meta.profile of the Task contains both this profile and sdc-task.

Every questionnaire task is also an activity of its CarePlan. The id of the Task is the same as the activity.detail.id in the CarePlan and the identifier of the QuestionnaireResponse that completes it, so a client can link the three.

Tasks only exist once the patient has joined the program; before that the CarePlan has no activities and there are no Tasks.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from SDCTaskQuestionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Task 0..* SDCTaskQuestionnaire A task to be performed
Task.meta
Task.meta.lastUpdated 0..1 instant When the task was completed, otherwise its start if that has passed, otherwise when it was created
Task.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
Task.basedOn This element must be supported. 1..1 Reference(CarePlan) The CarePlan the task is part of
Task.intent 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Fixed Value: order (no extensions allowed)
Task.code 1..1 CodeableConcept Task Type
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "complete-questionnaire"
    }
  ]
}
Task.description This element must be supported. 0..1 string The name of the task
Task.focus 0..0 What task is acting on
Task.for 1..1 Reference(Patient) The patient, as a contained Patient with only the patient's identifiers
Task.executionPeriod This element must be supported. 0..1 Period Start and end time of execution
Task.executionPeriod.start This element must be supported. 0..1 dateTime When the task starts
Task.executionPeriod.end This element must be supported. 0..1 dateTime When the task was finished, only once it is finished
Task.authoredOn 1..1 dateTime When the task was created
Task.requester 1..1 Reference(Practitioner | Organization) The care provider that created the CarePlan, otherwise its organisation
Task.owner 1..1 Reference(Patient | Practitioner) The patient or the caregiver that should complete the task
Task.restriction This element must be supported. 0..1 BackboneElement Constraints on fulfillment tasks
Task.restriction.period
Task.restriction.period.end This element must be supported. 0..1 dateTime The due date of the task, also after the task is finished
Task.input 1..* BackboneElement Information used to perform task
Task.Slices for input Content/Rules for all slices
Task.Slices for input.input:questionnaire 1..1 BackboneElement The Questionnaire to complete, as a versioned canonical
Task.Slices for input.input:questionnaire.value[x] 1..1 canonical(Ohh Questionnaire Profile) url
Task.Slices for output Content/Rules for all slices
Task.Slices for output.output:response 0..1 BackboneElement The QuestionnaireResponse addressed to your client, once the task is completed

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Task.status Base required OHH Task Status Value Set 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Task C 0..* SDCTaskQuestionnaire A task to be performed
Constraints: inv-1, sdc-t1
Task.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Task.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
Task.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Task.basedOn This element must be supported. This element is included in summaries. 1..1 Reference(CarePlan) The CarePlan the task is part of
Task.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | requested | received | accepted | +
Binding: OHH Task Status Value Set (required)
Task.intent This element must be supported. This element is included in summaries. 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Fixed Value: order (no extensions allowed)
Task.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Task Type
Binding: SDC Task Code (required)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "complete-questionnaire"
    }
  ]
}
Task.description This element must be supported. This element is included in summaries. 0..1 string The name of the task
Task.for This element must be supported. This element is included in summaries. 1..1 Reference(Patient) The patient, as a contained Patient with only the patient's identifiers
Task.executionPeriod This element must be supported. This element is included in summaries. 0..1 Period Start and end time of execution
Task.executionPeriod.start This element must be supported. This element is included in summaries. C 0..1 dateTime When the task starts
Task.executionPeriod.end This element must be supported. This element is included in summaries. C 0..1 dateTime When the task was finished, only once it is finished
Task.authoredOn This element must be supported. C 1..1 dateTime When the task was created
Task.requester This element must be supported. This element is included in summaries. 1..1 Reference(Practitioner | Organization) The care provider that created the CarePlan, otherwise its organisation
Task.owner This element must be supported. This element is included in summaries. 1..1 Reference(Patient | Practitioner) The patient or the caregiver that should complete the task
Task.reasonCode This element must be supported. 0..1 CodeableConcept Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
Task.restriction This element must be supported. 0..1 BackboneElement Constraints on fulfillment tasks
Task.restriction.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.restriction.period 0..1 Period When fulfillment sought
Task.restriction.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime The due date of the task, also after the task is finished
Task.Slices for input This element must be supported. 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for input.input:All Slices Content/Rules for all slices
Task.Slices for input.input:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:All Slices.type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Task.Slices for input.input:All Slices.value[x] 1..1 Content to use in performing the task
Task.Slices for input.input:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for input.input:All Slices.value[x].valueBoolean boolean
Task.Slices for input.input:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for input.input:All Slices.value[x].valueCode code
Task.Slices for input.input:All Slices.value[x].valueDate date
Task.Slices for input.input:All Slices.value[x].valueDateTime dateTime
Task.Slices for input.input:All Slices.value[x].valueDecimal decimal
Task.Slices for input.input:All Slices.value[x].valueId id
Task.Slices for input.input:All Slices.value[x].valueInstant instant
Task.Slices for input.input:All Slices.value[x].valueInteger integer
Task.Slices for input.input:All Slices.value[x].valueMarkdown markdown
Task.Slices for input.input:All Slices.value[x].valueOid oid
Task.Slices for input.input:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for input.input:All Slices.value[x].valueString string
Task.Slices for input.input:All Slices.value[x].valueTime time
Task.Slices for input.input:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for input.input:All Slices.value[x].valueUri uri
Task.Slices for input.input:All Slices.value[x].valueUrl url
Task.Slices for input.input:All Slices.value[x].valueUuid uuid
Task.Slices for input.input:All Slices.value[x].valueAddress Address
Task.Slices for input.input:All Slices.value[x].valueAge Age
Task.Slices for input.input:All Slices.value[x].valueAnnotation Annotation
Task.Slices for input.input:All Slices.value[x].valueAttachment Attachment
Task.Slices for input.input:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for input.input:All Slices.value[x].valueCoding Coding
Task.Slices for input.input:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for input.input:All Slices.value[x].valueCount Count
Task.Slices for input.input:All Slices.value[x].valueDistance Distance
Task.Slices for input.input:All Slices.value[x].valueDuration Duration
Task.Slices for input.input:All Slices.value[x].valueHumanName HumanName
Task.Slices for input.input:All Slices.value[x].valueIdentifier Identifier
Task.Slices for input.input:All Slices.value[x].valueMoney Money
Task.Slices for input.input:All Slices.value[x].valuePeriod Period
Task.Slices for input.input:All Slices.value[x].valueQuantity Quantity
Task.Slices for input.input:All Slices.value[x].valueRange Range
Task.Slices for input.input:All Slices.value[x].valueRatio Ratio
Task.Slices for input.input:All Slices.value[x].valueReference Reference(Any)
Task.Slices for input.input:All Slices.value[x].valueSampledData SampledData
Task.Slices for input.input:All Slices.value[x].valueSignature Signature
Task.Slices for input.input:All Slices.value[x].valueTiming Timing
Task.Slices for input.input:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for input.input:All Slices.value[x].valueContributor Contributor
Task.Slices for input.input:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for input.input:All Slices.value[x].valueExpression Expression
Task.Slices for input.input:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for input.input:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for input.input:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for input.input:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for input.input:All Slices.value[x].valueDosage Dosage
Task.Slices for input.input:All Slices.value[x].valueMeta Meta
Task.Slices for input.input:questionnaire This element must be supported. C 1..1 BackboneElement The Questionnaire to complete, as a versioned canonical
Task.Slices for input.input:questionnaire.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:questionnaire.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire"
    }
  ]
}
Task.Slices for input.input:questionnaire.value[x] This element must be supported. 1..1 canonical(Ohh Questionnaire Profile) url
Task.Slices for input.input:responseEndpoint This element must be supported. 0..* BackboneElement Information used to perform task
Task.Slices for input.input:responseEndpoint.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:responseEndpoint.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "response-endpoint"
    }
  ]
}
Task.Slices for input.input:responseEndpoint.value[x] This element must be supported. 1..1 url url
Task.Slices for output This element must be supported. 0..* BackboneElement Information produced as part of task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for output.output:All Slices Content/Rules for all slices
Task.Slices for output.output:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:All Slices.type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Task.Slices for output.output:All Slices.value[x] 1..1 Result of output
Task.Slices for output.output:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for output.output:All Slices.value[x].valueBoolean boolean
Task.Slices for output.output:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for output.output:All Slices.value[x].valueCode code
Task.Slices for output.output:All Slices.value[x].valueDate date
Task.Slices for output.output:All Slices.value[x].valueDateTime dateTime
Task.Slices for output.output:All Slices.value[x].valueDecimal decimal
Task.Slices for output.output:All Slices.value[x].valueId id
Task.Slices for output.output:All Slices.value[x].valueInstant instant
Task.Slices for output.output:All Slices.value[x].valueInteger integer
Task.Slices for output.output:All Slices.value[x].valueMarkdown markdown
Task.Slices for output.output:All Slices.value[x].valueOid oid
Task.Slices for output.output:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for output.output:All Slices.value[x].valueString string
Task.Slices for output.output:All Slices.value[x].valueTime time
Task.Slices for output.output:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for output.output:All Slices.value[x].valueUri uri
Task.Slices for output.output:All Slices.value[x].valueUrl url
Task.Slices for output.output:All Slices.value[x].valueUuid uuid
Task.Slices for output.output:All Slices.value[x].valueAddress Address
Task.Slices for output.output:All Slices.value[x].valueAge Age
Task.Slices for output.output:All Slices.value[x].valueAnnotation Annotation
Task.Slices for output.output:All Slices.value[x].valueAttachment Attachment
Task.Slices for output.output:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for output.output:All Slices.value[x].valueCoding Coding
Task.Slices for output.output:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for output.output:All Slices.value[x].valueCount Count
Task.Slices for output.output:All Slices.value[x].valueDistance Distance
Task.Slices for output.output:All Slices.value[x].valueDuration Duration
Task.Slices for output.output:All Slices.value[x].valueHumanName HumanName
Task.Slices for output.output:All Slices.value[x].valueIdentifier Identifier
Task.Slices for output.output:All Slices.value[x].valueMoney Money
Task.Slices for output.output:All Slices.value[x].valuePeriod Period
Task.Slices for output.output:All Slices.value[x].valueQuantity Quantity
Task.Slices for output.output:All Slices.value[x].valueRange Range
Task.Slices for output.output:All Slices.value[x].valueRatio Ratio
Task.Slices for output.output:All Slices.value[x].valueReference Reference(Any)
Task.Slices for output.output:All Slices.value[x].valueSampledData SampledData
Task.Slices for output.output:All Slices.value[x].valueSignature Signature
Task.Slices for output.output:All Slices.value[x].valueTiming Timing
Task.Slices for output.output:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for output.output:All Slices.value[x].valueContributor Contributor
Task.Slices for output.output:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for output.output:All Slices.value[x].valueExpression Expression
Task.Slices for output.output:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for output.output:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for output.output:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for output.output:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for output.output:All Slices.value[x].valueDosage Dosage
Task.Slices for output.output:All Slices.value[x].valueMeta Meta
Task.Slices for output.output:response This element must be supported. 0..1 BackboneElement The QuestionnaireResponse addressed to your client, once the task is completed
Task.Slices for output.output:response.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:response.type This element must be supported. 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire-response"
    }
  ]
}
Task.Slices for output.output:response.value[x] This element must be supported. 1..1 Reference(QuestionnaireResponse) url

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.status Base required OHH Task Status Value Set 📦0.1.0 This IG
Task.intent Base required TaskIntent 📍4.0.1 FHIR Std.
Task.code Base required SDC Task Code 📦3.0.0 Structured Data Capture v3.0
Task.reasonCode Base example Not State Unknown
Task.input.type Base example Not State Unknown
Task.input:questionnaire.​type Base example Not State Unknown
Task.input:responseEndpoint.​type Base example Not State Unknown
Task.output.type Base example Not State Unknown
Task.output:response.​type Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
sdc-t1 error Task Either code is 'fulfill', focus is ServiceRequest and no 'questionnaire' input; or code is 'complete-questionnaire', focus is omitted and 'questionnaire' input is present (code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and (focus.resolve() is ServiceRequest) and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists().not()) or (code.coding.where(code='complete-questionnaire' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp').exists() and focus.exists().not() and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists())
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Task C 0..* SDCTaskQuestionnaire A task to be performed
Constraints: inv-1, sdc-t1
Task.id This element is included in summaries. 0..1 id Logical id of this artifact
Task.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Task.meta.id 0..1 string Unique id for inter-element referencing
Task.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Task.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Task.meta.lastUpdated This element is included in summaries. 0..1 instant When the task was completed, otherwise its start if that has passed, otherwise when it was created
Task.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Task.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Task.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Task.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Task.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Task.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Task.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Task.contained 0..* Resource Contained, inline Resources
Task.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
Task.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Task.identifier 0..* Identifier Task Instance Identifier
Task.instantiatesCanonical This element is included in summaries. 0..1 canonical(ActivityDefinition) Formal definition of task
Task.instantiatesUri This element is included in summaries. 0..1 uri Formal definition of task
Task.basedOn This element must be supported. This element is included in summaries. 1..1 Reference(CarePlan) The CarePlan the task is part of
Task.groupIdentifier This element is included in summaries. 0..1 Identifier Requisition or grouper id
Task.partOf This element is included in summaries. 0..* Reference(Task) Composite task
Task.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | requested | received | accepted | +
Binding: OHH Task Status Value Set (required)
Task.statusReason This element is included in summaries. 0..1 CodeableConcept Reason for current status
Binding Description: (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
Task.businessStatus This element is included in summaries. 0..1 CodeableConcept E.g. "Specimen collected", "IV prepped"
Binding Description: (example): The domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc.
Task.intent This element must be supported. This element is included in summaries. 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Fixed Value: order (no extensions allowed)
Task.priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.
Task.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Task Type
Binding: SDC Task Code (required)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "complete-questionnaire"
    }
  ]
}
Task.description This element must be supported. This element is included in summaries. 0..1 string The name of the task
Task.for This element must be supported. This element is included in summaries. 1..1 Reference(Patient) The patient, as a contained Patient with only the patient's identifiers
Task.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this task originated
Task.executionPeriod This element must be supported. This element is included in summaries. 0..1 Period Start and end time of execution
Task.executionPeriod.id 0..1 string Unique id for inter-element referencing
Task.executionPeriod.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Task.executionPeriod.start This element must be supported. This element is included in summaries. C 0..1 dateTime When the task starts
Task.executionPeriod.end This element must be supported. This element is included in summaries. C 0..1 dateTime When the task was finished, only once it is finished
Task.authoredOn This element must be supported. C 1..1 dateTime When the task was created
Task.lastModified This element is included in summaries. C 0..1 dateTime Task Last Modified Date
Task.requester This element must be supported. This element is included in summaries. 1..1 Reference(Practitioner | Organization) The care provider that created the CarePlan, otherwise its organisation
Task.performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
Task.owner This element must be supported. This element is included in summaries. 1..1 Reference(Patient | Practitioner) The patient or the caregiver that should complete the task
Task.location This element is included in summaries. 0..1 Reference(Location) Where task occurs
Task.reasonCode This element must be supported. 0..1 CodeableConcept Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
Task.reasonReference 0..1 Reference(Resource) Why task is needed
Task.insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
Task.note 0..* Annotation Comments made about the task
Task.relevantHistory 0..* Reference(Provenance) Key events in history of the Task
Task.restriction This element must be supported. 0..1 BackboneElement Constraints on fulfillment tasks
Task.restriction.id 0..1 string Unique id for inter-element referencing
Task.restriction.extension 0..* Extension Additional content defined by implementations
Task.restriction.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.restriction.repetitions 0..1 positiveInt How many times to repeat
Task.restriction.period 0..1 Period When fulfillment sought
Task.restriction.period.id 0..1 string Unique id for inter-element referencing
Task.restriction.period.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Task.restriction.period.start This element is included in summaries. C 0..1 dateTime Starting time with inclusive boundary
Task.restriction.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime The due date of the task, also after the task is finished
Task.restriction.recipient 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) For whom is fulfillment sought?
Task.Slices for input This element must be supported. 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for input.input:All Slices Content/Rules for all slices
Task.Slices for input.input:All Slices.id 0..1 string Unique id for inter-element referencing
Task.Slices for input.input:All Slices.extension 0..* Extension Additional content defined by implementations
Task.Slices for input.input:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:All Slices.type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Task.Slices for input.input:All Slices.value[x] 1..1 Content to use in performing the task
Task.Slices for input.input:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for input.input:All Slices.value[x].valueBoolean boolean
Task.Slices for input.input:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for input.input:All Slices.value[x].valueCode code
Task.Slices for input.input:All Slices.value[x].valueDate date
Task.Slices for input.input:All Slices.value[x].valueDateTime dateTime
Task.Slices for input.input:All Slices.value[x].valueDecimal decimal
Task.Slices for input.input:All Slices.value[x].valueId id
Task.Slices for input.input:All Slices.value[x].valueInstant instant
Task.Slices for input.input:All Slices.value[x].valueInteger integer
Task.Slices for input.input:All Slices.value[x].valueMarkdown markdown
Task.Slices for input.input:All Slices.value[x].valueOid oid
Task.Slices for input.input:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for input.input:All Slices.value[x].valueString string
Task.Slices for input.input:All Slices.value[x].valueTime time
Task.Slices for input.input:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for input.input:All Slices.value[x].valueUri uri
Task.Slices for input.input:All Slices.value[x].valueUrl url
Task.Slices for input.input:All Slices.value[x].valueUuid uuid
Task.Slices for input.input:All Slices.value[x].valueAddress Address
Task.Slices for input.input:All Slices.value[x].valueAge Age
Task.Slices for input.input:All Slices.value[x].valueAnnotation Annotation
Task.Slices for input.input:All Slices.value[x].valueAttachment Attachment
Task.Slices for input.input:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for input.input:All Slices.value[x].valueCoding Coding
Task.Slices for input.input:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for input.input:All Slices.value[x].valueCount Count
Task.Slices for input.input:All Slices.value[x].valueDistance Distance
Task.Slices for input.input:All Slices.value[x].valueDuration Duration
Task.Slices for input.input:All Slices.value[x].valueHumanName HumanName
Task.Slices for input.input:All Slices.value[x].valueIdentifier Identifier
Task.Slices for input.input:All Slices.value[x].valueMoney Money
Task.Slices for input.input:All Slices.value[x].valuePeriod Period
Task.Slices for input.input:All Slices.value[x].valueQuantity Quantity
Task.Slices for input.input:All Slices.value[x].valueRange Range
Task.Slices for input.input:All Slices.value[x].valueRatio Ratio
Task.Slices for input.input:All Slices.value[x].valueReference Reference(Any)
Task.Slices for input.input:All Slices.value[x].valueSampledData SampledData
Task.Slices for input.input:All Slices.value[x].valueSignature Signature
Task.Slices for input.input:All Slices.value[x].valueTiming Timing
Task.Slices for input.input:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for input.input:All Slices.value[x].valueContributor Contributor
Task.Slices for input.input:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for input.input:All Slices.value[x].valueExpression Expression
Task.Slices for input.input:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for input.input:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for input.input:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for input.input:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for input.input:All Slices.value[x].valueDosage Dosage
Task.Slices for input.input:All Slices.value[x].valueMeta Meta
Task.Slices for input.input:questionnaire This element must be supported. C 1..1 BackboneElement The Questionnaire to complete, as a versioned canonical
Task.Slices for input.input:questionnaire.id 0..1 string Unique id for inter-element referencing
Task.Slices for input.input:questionnaire.extension 0..* Extension Additional content defined by implementations
Task.Slices for input.input:questionnaire.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:questionnaire.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire"
    }
  ]
}
Task.Slices for input.input:questionnaire.value[x] This element must be supported. 1..1 canonical(Ohh Questionnaire Profile) url
Task.Slices for input.input:responseEndpoint This element must be supported. 0..* BackboneElement Information used to perform task
Task.Slices for input.input:responseEndpoint.id 0..1 string Unique id for inter-element referencing
Task.Slices for input.input:responseEndpoint.extension 0..* Extension Additional content defined by implementations
Task.Slices for input.input:responseEndpoint.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:responseEndpoint.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "response-endpoint"
    }
  ]
}
Task.Slices for input.input:responseEndpoint.value[x] This element must be supported. 1..1 url url
Task.Slices for output This element must be supported. 0..* BackboneElement Information produced as part of task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for output.output:All Slices Content/Rules for all slices
Task.Slices for output.output:All Slices.id 0..1 string Unique id for inter-element referencing
Task.Slices for output.output:All Slices.extension 0..* Extension Additional content defined by implementations
Task.Slices for output.output:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:All Slices.type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Task.Slices for output.output:All Slices.value[x] 1..1 Result of output
Task.Slices for output.output:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for output.output:All Slices.value[x].valueBoolean boolean
Task.Slices for output.output:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for output.output:All Slices.value[x].valueCode code
Task.Slices for output.output:All Slices.value[x].valueDate date
Task.Slices for output.output:All Slices.value[x].valueDateTime dateTime
Task.Slices for output.output:All Slices.value[x].valueDecimal decimal
Task.Slices for output.output:All Slices.value[x].valueId id
Task.Slices for output.output:All Slices.value[x].valueInstant instant
Task.Slices for output.output:All Slices.value[x].valueInteger integer
Task.Slices for output.output:All Slices.value[x].valueMarkdown markdown
Task.Slices for output.output:All Slices.value[x].valueOid oid
Task.Slices for output.output:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for output.output:All Slices.value[x].valueString string
Task.Slices for output.output:All Slices.value[x].valueTime time
Task.Slices for output.output:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for output.output:All Slices.value[x].valueUri uri
Task.Slices for output.output:All Slices.value[x].valueUrl url
Task.Slices for output.output:All Slices.value[x].valueUuid uuid
Task.Slices for output.output:All Slices.value[x].valueAddress Address
Task.Slices for output.output:All Slices.value[x].valueAge Age
Task.Slices for output.output:All Slices.value[x].valueAnnotation Annotation
Task.Slices for output.output:All Slices.value[x].valueAttachment Attachment
Task.Slices for output.output:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for output.output:All Slices.value[x].valueCoding Coding
Task.Slices for output.output:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for output.output:All Slices.value[x].valueCount Count
Task.Slices for output.output:All Slices.value[x].valueDistance Distance
Task.Slices for output.output:All Slices.value[x].valueDuration Duration
Task.Slices for output.output:All Slices.value[x].valueHumanName HumanName
Task.Slices for output.output:All Slices.value[x].valueIdentifier Identifier
Task.Slices for output.output:All Slices.value[x].valueMoney Money
Task.Slices for output.output:All Slices.value[x].valuePeriod Period
Task.Slices for output.output:All Slices.value[x].valueQuantity Quantity
Task.Slices for output.output:All Slices.value[x].valueRange Range
Task.Slices for output.output:All Slices.value[x].valueRatio Ratio
Task.Slices for output.output:All Slices.value[x].valueReference Reference(Any)
Task.Slices for output.output:All Slices.value[x].valueSampledData SampledData
Task.Slices for output.output:All Slices.value[x].valueSignature Signature
Task.Slices for output.output:All Slices.value[x].valueTiming Timing
Task.Slices for output.output:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for output.output:All Slices.value[x].valueContributor Contributor
Task.Slices for output.output:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for output.output:All Slices.value[x].valueExpression Expression
Task.Slices for output.output:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for output.output:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for output.output:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for output.output:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for output.output:All Slices.value[x].valueDosage Dosage
Task.Slices for output.output:All Slices.value[x].valueMeta Meta
Task.Slices for output.output:response This element must be supported. 0..1 BackboneElement The QuestionnaireResponse addressed to your client, once the task is completed
Task.Slices for output.output:response.id 0..1 string Unique id for inter-element referencing
Task.Slices for output.output:response.extension 0..* Extension Additional content defined by implementations
Task.Slices for output.output:response.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:response.type This element must be supported. 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire-response"
    }
  ]
}
Task.Slices for output.output:response.value[x] This element must be supported. 1..1 Reference(QuestionnaireResponse) url

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Task.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Task.language Base preferred Common Languages 📦4.0.1 FHIR Std.
Task.status Base required OHH Task Status Value Set 📦0.1.0 This IG
Task.statusReason Base example Not State Unknown
Task.businessStatus Base example Not State Unknown
Task.intent Base required TaskIntent 📍4.0.1 FHIR Std.
Task.priority Base required Request priority 📍4.0.1 FHIR Std.
Task.code Base required SDC Task Code 📦3.0.0 Structured Data Capture v3.0
Task.performerType Base preferred Procedure Performer Role Codes 📦4.0.1 FHIR Std.
Task.reasonCode Base example Not State Unknown
Task.input.type Base example Not State Unknown
Task.input:questionnaire.​type Base example Not State Unknown
Task.input:responseEndpoint.​type Base example Not State Unknown
Task.output.type Base example Not State Unknown
Task.output:response.​type Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
sdc-t1 error Task Either code is 'fulfill', focus is ServiceRequest and no 'questionnaire' input; or code is 'complete-questionnaire', focus is omitted and 'questionnaire' input is present (code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and (focus.resolve() is ServiceRequest) and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists().not()) or (code.coding.where(code='complete-questionnaire' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp').exists() and focus.exists().not() and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists())

This structure is derived from SDCTaskQuestionnaire

Summary

Mandatory: 5 elements
Must-Support: 8 elements
Fixed: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from SDCTaskQuestionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Task 0..* SDCTaskQuestionnaire A task to be performed
Task.meta
Task.meta.lastUpdated 0..1 instant When the task was completed, otherwise its start if that has passed, otherwise when it was created
Task.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
Task.basedOn This element must be supported. 1..1 Reference(CarePlan) The CarePlan the task is part of
Task.status 1..1 code draft | requested | received | accepted | +
Binding: OHH Task Status Value Set (required)
Task.intent 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Fixed Value: order (no extensions allowed)
Task.code 1..1 CodeableConcept Task Type
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "complete-questionnaire"
    }
  ]
}
Task.description This element must be supported. 0..1 string The name of the task
Task.focus 0..0 What task is acting on
Task.for 1..1 Reference(Patient) The patient, as a contained Patient with only the patient's identifiers
Task.executionPeriod This element must be supported. 0..1 Period Start and end time of execution
Task.executionPeriod.start This element must be supported. 0..1 dateTime When the task starts
Task.executionPeriod.end This element must be supported. 0..1 dateTime When the task was finished, only once it is finished
Task.authoredOn 1..1 dateTime When the task was created
Task.requester 1..1 Reference(Practitioner | Organization) The care provider that created the CarePlan, otherwise its organisation
Task.owner 1..1 Reference(Patient | Practitioner) The patient or the caregiver that should complete the task
Task.restriction This element must be supported. 0..1 BackboneElement Constraints on fulfillment tasks
Task.restriction.period
Task.restriction.period.end This element must be supported. 0..1 dateTime The due date of the task, also after the task is finished
Task.input 1..* BackboneElement Information used to perform task
Task.Slices for input Content/Rules for all slices
Task.Slices for input.input:questionnaire 1..1 BackboneElement The Questionnaire to complete, as a versioned canonical
Task.Slices for input.input:questionnaire.value[x] 1..1 canonical(Ohh Questionnaire Profile) url
Task.Slices for output Content/Rules for all slices
Task.Slices for output.output:response 0..1 BackboneElement The QuestionnaireResponse addressed to your client, once the task is completed

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Task.status Base required OHH Task Status Value Set 📦0.1.0 This IG

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Task C 0..* SDCTaskQuestionnaire A task to be performed
Constraints: inv-1, sdc-t1
Task.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Task.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
Task.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Task.basedOn This element must be supported. This element is included in summaries. 1..1 Reference(CarePlan) The CarePlan the task is part of
Task.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | requested | received | accepted | +
Binding: OHH Task Status Value Set (required)
Task.intent This element must be supported. This element is included in summaries. 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Fixed Value: order (no extensions allowed)
Task.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Task Type
Binding: SDC Task Code (required)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "complete-questionnaire"
    }
  ]
}
Task.description This element must be supported. This element is included in summaries. 0..1 string The name of the task
Task.for This element must be supported. This element is included in summaries. 1..1 Reference(Patient) The patient, as a contained Patient with only the patient's identifiers
Task.executionPeriod This element must be supported. This element is included in summaries. 0..1 Period Start and end time of execution
Task.executionPeriod.start This element must be supported. This element is included in summaries. C 0..1 dateTime When the task starts
Task.executionPeriod.end This element must be supported. This element is included in summaries. C 0..1 dateTime When the task was finished, only once it is finished
Task.authoredOn This element must be supported. C 1..1 dateTime When the task was created
Task.requester This element must be supported. This element is included in summaries. 1..1 Reference(Practitioner | Organization) The care provider that created the CarePlan, otherwise its organisation
Task.owner This element must be supported. This element is included in summaries. 1..1 Reference(Patient | Practitioner) The patient or the caregiver that should complete the task
Task.reasonCode This element must be supported. 0..1 CodeableConcept Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
Task.restriction This element must be supported. 0..1 BackboneElement Constraints on fulfillment tasks
Task.restriction.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.restriction.period 0..1 Period When fulfillment sought
Task.restriction.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime The due date of the task, also after the task is finished
Task.Slices for input This element must be supported. 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for input.input:All Slices Content/Rules for all slices
Task.Slices for input.input:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:All Slices.type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Task.Slices for input.input:All Slices.value[x] 1..1 Content to use in performing the task
Task.Slices for input.input:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for input.input:All Slices.value[x].valueBoolean boolean
Task.Slices for input.input:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for input.input:All Slices.value[x].valueCode code
Task.Slices for input.input:All Slices.value[x].valueDate date
Task.Slices for input.input:All Slices.value[x].valueDateTime dateTime
Task.Slices for input.input:All Slices.value[x].valueDecimal decimal
Task.Slices for input.input:All Slices.value[x].valueId id
Task.Slices for input.input:All Slices.value[x].valueInstant instant
Task.Slices for input.input:All Slices.value[x].valueInteger integer
Task.Slices for input.input:All Slices.value[x].valueMarkdown markdown
Task.Slices for input.input:All Slices.value[x].valueOid oid
Task.Slices for input.input:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for input.input:All Slices.value[x].valueString string
Task.Slices for input.input:All Slices.value[x].valueTime time
Task.Slices for input.input:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for input.input:All Slices.value[x].valueUri uri
Task.Slices for input.input:All Slices.value[x].valueUrl url
Task.Slices for input.input:All Slices.value[x].valueUuid uuid
Task.Slices for input.input:All Slices.value[x].valueAddress Address
Task.Slices for input.input:All Slices.value[x].valueAge Age
Task.Slices for input.input:All Slices.value[x].valueAnnotation Annotation
Task.Slices for input.input:All Slices.value[x].valueAttachment Attachment
Task.Slices for input.input:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for input.input:All Slices.value[x].valueCoding Coding
Task.Slices for input.input:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for input.input:All Slices.value[x].valueCount Count
Task.Slices for input.input:All Slices.value[x].valueDistance Distance
Task.Slices for input.input:All Slices.value[x].valueDuration Duration
Task.Slices for input.input:All Slices.value[x].valueHumanName HumanName
Task.Slices for input.input:All Slices.value[x].valueIdentifier Identifier
Task.Slices for input.input:All Slices.value[x].valueMoney Money
Task.Slices for input.input:All Slices.value[x].valuePeriod Period
Task.Slices for input.input:All Slices.value[x].valueQuantity Quantity
Task.Slices for input.input:All Slices.value[x].valueRange Range
Task.Slices for input.input:All Slices.value[x].valueRatio Ratio
Task.Slices for input.input:All Slices.value[x].valueReference Reference(Any)
Task.Slices for input.input:All Slices.value[x].valueSampledData SampledData
Task.Slices for input.input:All Slices.value[x].valueSignature Signature
Task.Slices for input.input:All Slices.value[x].valueTiming Timing
Task.Slices for input.input:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for input.input:All Slices.value[x].valueContributor Contributor
Task.Slices for input.input:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for input.input:All Slices.value[x].valueExpression Expression
Task.Slices for input.input:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for input.input:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for input.input:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for input.input:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for input.input:All Slices.value[x].valueDosage Dosage
Task.Slices for input.input:All Slices.value[x].valueMeta Meta
Task.Slices for input.input:questionnaire This element must be supported. C 1..1 BackboneElement The Questionnaire to complete, as a versioned canonical
Task.Slices for input.input:questionnaire.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:questionnaire.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire"
    }
  ]
}
Task.Slices for input.input:questionnaire.value[x] This element must be supported. 1..1 canonical(Ohh Questionnaire Profile) url
Task.Slices for input.input:responseEndpoint This element must be supported. 0..* BackboneElement Information used to perform task
Task.Slices for input.input:responseEndpoint.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:responseEndpoint.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "response-endpoint"
    }
  ]
}
Task.Slices for input.input:responseEndpoint.value[x] This element must be supported. 1..1 url url
Task.Slices for output This element must be supported. 0..* BackboneElement Information produced as part of task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for output.output:All Slices Content/Rules for all slices
Task.Slices for output.output:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:All Slices.type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Task.Slices for output.output:All Slices.value[x] 1..1 Result of output
Task.Slices for output.output:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for output.output:All Slices.value[x].valueBoolean boolean
Task.Slices for output.output:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for output.output:All Slices.value[x].valueCode code
Task.Slices for output.output:All Slices.value[x].valueDate date
Task.Slices for output.output:All Slices.value[x].valueDateTime dateTime
Task.Slices for output.output:All Slices.value[x].valueDecimal decimal
Task.Slices for output.output:All Slices.value[x].valueId id
Task.Slices for output.output:All Slices.value[x].valueInstant instant
Task.Slices for output.output:All Slices.value[x].valueInteger integer
Task.Slices for output.output:All Slices.value[x].valueMarkdown markdown
Task.Slices for output.output:All Slices.value[x].valueOid oid
Task.Slices for output.output:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for output.output:All Slices.value[x].valueString string
Task.Slices for output.output:All Slices.value[x].valueTime time
Task.Slices for output.output:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for output.output:All Slices.value[x].valueUri uri
Task.Slices for output.output:All Slices.value[x].valueUrl url
Task.Slices for output.output:All Slices.value[x].valueUuid uuid
Task.Slices for output.output:All Slices.value[x].valueAddress Address
Task.Slices for output.output:All Slices.value[x].valueAge Age
Task.Slices for output.output:All Slices.value[x].valueAnnotation Annotation
Task.Slices for output.output:All Slices.value[x].valueAttachment Attachment
Task.Slices for output.output:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for output.output:All Slices.value[x].valueCoding Coding
Task.Slices for output.output:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for output.output:All Slices.value[x].valueCount Count
Task.Slices for output.output:All Slices.value[x].valueDistance Distance
Task.Slices for output.output:All Slices.value[x].valueDuration Duration
Task.Slices for output.output:All Slices.value[x].valueHumanName HumanName
Task.Slices for output.output:All Slices.value[x].valueIdentifier Identifier
Task.Slices for output.output:All Slices.value[x].valueMoney Money
Task.Slices for output.output:All Slices.value[x].valuePeriod Period
Task.Slices for output.output:All Slices.value[x].valueQuantity Quantity
Task.Slices for output.output:All Slices.value[x].valueRange Range
Task.Slices for output.output:All Slices.value[x].valueRatio Ratio
Task.Slices for output.output:All Slices.value[x].valueReference Reference(Any)
Task.Slices for output.output:All Slices.value[x].valueSampledData SampledData
Task.Slices for output.output:All Slices.value[x].valueSignature Signature
Task.Slices for output.output:All Slices.value[x].valueTiming Timing
Task.Slices for output.output:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for output.output:All Slices.value[x].valueContributor Contributor
Task.Slices for output.output:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for output.output:All Slices.value[x].valueExpression Expression
Task.Slices for output.output:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for output.output:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for output.output:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for output.output:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for output.output:All Slices.value[x].valueDosage Dosage
Task.Slices for output.output:All Slices.value[x].valueMeta Meta
Task.Slices for output.output:response This element must be supported. 0..1 BackboneElement The QuestionnaireResponse addressed to your client, once the task is completed
Task.Slices for output.output:response.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:response.type This element must be supported. 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire-response"
    }
  ]
}
Task.Slices for output.output:response.value[x] This element must be supported. 1..1 Reference(QuestionnaireResponse) url

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.status Base required OHH Task Status Value Set 📦0.1.0 This IG
Task.intent Base required TaskIntent 📍4.0.1 FHIR Std.
Task.code Base required SDC Task Code 📦3.0.0 Structured Data Capture v3.0
Task.reasonCode Base example Not State Unknown
Task.input.type Base example Not State Unknown
Task.input:questionnaire.​type Base example Not State Unknown
Task.input:responseEndpoint.​type Base example Not State Unknown
Task.output.type Base example Not State Unknown
Task.output:response.​type Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
sdc-t1 error Task Either code is 'fulfill', focus is ServiceRequest and no 'questionnaire' input; or code is 'complete-questionnaire', focus is omitted and 'questionnaire' input is present (code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and (focus.resolve() is ServiceRequest) and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists().not()) or (code.coding.where(code='complete-questionnaire' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp').exists() and focus.exists().not() and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists())

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Task C 0..* SDCTaskQuestionnaire A task to be performed
Constraints: inv-1, sdc-t1
Task.id This element is included in summaries. 0..1 id Logical id of this artifact
Task.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Task.meta.id 0..1 string Unique id for inter-element referencing
Task.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Task.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Task.meta.lastUpdated This element is included in summaries. 0..1 instant When the task was completed, otherwise its start if that has passed, otherwise when it was created
Task.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Task.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Task.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Task.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Task.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Task.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Task.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Task.contained 0..* Resource Contained, inline Resources
Task.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
Task.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Task.identifier 0..* Identifier Task Instance Identifier
Task.instantiatesCanonical This element is included in summaries. 0..1 canonical(ActivityDefinition) Formal definition of task
Task.instantiatesUri This element is included in summaries. 0..1 uri Formal definition of task
Task.basedOn This element must be supported. This element is included in summaries. 1..1 Reference(CarePlan) The CarePlan the task is part of
Task.groupIdentifier This element is included in summaries. 0..1 Identifier Requisition or grouper id
Task.partOf This element is included in summaries. 0..* Reference(Task) Composite task
Task.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | requested | received | accepted | +
Binding: OHH Task Status Value Set (required)
Task.statusReason This element is included in summaries. 0..1 CodeableConcept Reason for current status
Binding Description: (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
Task.businessStatus This element is included in summaries. 0..1 CodeableConcept E.g. "Specimen collected", "IV prepped"
Binding Description: (example): The domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc.
Task.intent This element must be supported. This element is included in summaries. 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Fixed Value: order (no extensions allowed)
Task.priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.
Task.code This element must be supported. This element is included in summaries. 1..1 CodeableConcept Task Type
Binding: SDC Task Code (required)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "complete-questionnaire"
    }
  ]
}
Task.description This element must be supported. This element is included in summaries. 0..1 string The name of the task
Task.for This element must be supported. This element is included in summaries. 1..1 Reference(Patient) The patient, as a contained Patient with only the patient's identifiers
Task.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this task originated
Task.executionPeriod This element must be supported. This element is included in summaries. 0..1 Period Start and end time of execution
Task.executionPeriod.id 0..1 string Unique id for inter-element referencing
Task.executionPeriod.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Task.executionPeriod.start This element must be supported. This element is included in summaries. C 0..1 dateTime When the task starts
Task.executionPeriod.end This element must be supported. This element is included in summaries. C 0..1 dateTime When the task was finished, only once it is finished
Task.authoredOn This element must be supported. C 1..1 dateTime When the task was created
Task.lastModified This element is included in summaries. C 0..1 dateTime Task Last Modified Date
Task.requester This element must be supported. This element is included in summaries. 1..1 Reference(Practitioner | Organization) The care provider that created the CarePlan, otherwise its organisation
Task.performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
Task.owner This element must be supported. This element is included in summaries. 1..1 Reference(Patient | Practitioner) The patient or the caregiver that should complete the task
Task.location This element is included in summaries. 0..1 Reference(Location) Where task occurs
Task.reasonCode This element must be supported. 0..1 CodeableConcept Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
Task.reasonReference 0..1 Reference(Resource) Why task is needed
Task.insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
Task.note 0..* Annotation Comments made about the task
Task.relevantHistory 0..* Reference(Provenance) Key events in history of the Task
Task.restriction This element must be supported. 0..1 BackboneElement Constraints on fulfillment tasks
Task.restriction.id 0..1 string Unique id for inter-element referencing
Task.restriction.extension 0..* Extension Additional content defined by implementations
Task.restriction.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.restriction.repetitions 0..1 positiveInt How many times to repeat
Task.restriction.period 0..1 Period When fulfillment sought
Task.restriction.period.id 0..1 string Unique id for inter-element referencing
Task.restriction.period.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Task.restriction.period.start This element is included in summaries. C 0..1 dateTime Starting time with inclusive boundary
Task.restriction.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime The due date of the task, also after the task is finished
Task.restriction.recipient 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) For whom is fulfillment sought?
Task.Slices for input This element must be supported. 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for input.input:All Slices Content/Rules for all slices
Task.Slices for input.input:All Slices.id 0..1 string Unique id for inter-element referencing
Task.Slices for input.input:All Slices.extension 0..* Extension Additional content defined by implementations
Task.Slices for input.input:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:All Slices.type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Task.Slices for input.input:All Slices.value[x] 1..1 Content to use in performing the task
Task.Slices for input.input:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for input.input:All Slices.value[x].valueBoolean boolean
Task.Slices for input.input:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for input.input:All Slices.value[x].valueCode code
Task.Slices for input.input:All Slices.value[x].valueDate date
Task.Slices for input.input:All Slices.value[x].valueDateTime dateTime
Task.Slices for input.input:All Slices.value[x].valueDecimal decimal
Task.Slices for input.input:All Slices.value[x].valueId id
Task.Slices for input.input:All Slices.value[x].valueInstant instant
Task.Slices for input.input:All Slices.value[x].valueInteger integer
Task.Slices for input.input:All Slices.value[x].valueMarkdown markdown
Task.Slices for input.input:All Slices.value[x].valueOid oid
Task.Slices for input.input:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for input.input:All Slices.value[x].valueString string
Task.Slices for input.input:All Slices.value[x].valueTime time
Task.Slices for input.input:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for input.input:All Slices.value[x].valueUri uri
Task.Slices for input.input:All Slices.value[x].valueUrl url
Task.Slices for input.input:All Slices.value[x].valueUuid uuid
Task.Slices for input.input:All Slices.value[x].valueAddress Address
Task.Slices for input.input:All Slices.value[x].valueAge Age
Task.Slices for input.input:All Slices.value[x].valueAnnotation Annotation
Task.Slices for input.input:All Slices.value[x].valueAttachment Attachment
Task.Slices for input.input:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for input.input:All Slices.value[x].valueCoding Coding
Task.Slices for input.input:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for input.input:All Slices.value[x].valueCount Count
Task.Slices for input.input:All Slices.value[x].valueDistance Distance
Task.Slices for input.input:All Slices.value[x].valueDuration Duration
Task.Slices for input.input:All Slices.value[x].valueHumanName HumanName
Task.Slices for input.input:All Slices.value[x].valueIdentifier Identifier
Task.Slices for input.input:All Slices.value[x].valueMoney Money
Task.Slices for input.input:All Slices.value[x].valuePeriod Period
Task.Slices for input.input:All Slices.value[x].valueQuantity Quantity
Task.Slices for input.input:All Slices.value[x].valueRange Range
Task.Slices for input.input:All Slices.value[x].valueRatio Ratio
Task.Slices for input.input:All Slices.value[x].valueReference Reference(Any)
Task.Slices for input.input:All Slices.value[x].valueSampledData SampledData
Task.Slices for input.input:All Slices.value[x].valueSignature Signature
Task.Slices for input.input:All Slices.value[x].valueTiming Timing
Task.Slices for input.input:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for input.input:All Slices.value[x].valueContributor Contributor
Task.Slices for input.input:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for input.input:All Slices.value[x].valueExpression Expression
Task.Slices for input.input:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for input.input:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for input.input:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for input.input:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for input.input:All Slices.value[x].valueDosage Dosage
Task.Slices for input.input:All Slices.value[x].valueMeta Meta
Task.Slices for input.input:questionnaire This element must be supported. C 1..1 BackboneElement The Questionnaire to complete, as a versioned canonical
Task.Slices for input.input:questionnaire.id 0..1 string Unique id for inter-element referencing
Task.Slices for input.input:questionnaire.extension 0..* Extension Additional content defined by implementations
Task.Slices for input.input:questionnaire.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:questionnaire.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire"
    }
  ]
}
Task.Slices for input.input:questionnaire.value[x] This element must be supported. 1..1 canonical(Ohh Questionnaire Profile) url
Task.Slices for input.input:responseEndpoint This element must be supported. 0..* BackboneElement Information used to perform task
Task.Slices for input.input:responseEndpoint.id 0..1 string Unique id for inter-element referencing
Task.Slices for input.input:responseEndpoint.extension 0..* Extension Additional content defined by implementations
Task.Slices for input.input:responseEndpoint.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for input.input:responseEndpoint.type This element must be supported. 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "response-endpoint"
    }
  ]
}
Task.Slices for input.input:responseEndpoint.value[x] This element must be supported. 1..1 url url
Task.Slices for output This element must be supported. 0..* BackboneElement Information produced as part of task
Slice: Unordered, Open by pattern:type

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Task.Slices for output.output:All Slices Content/Rules for all slices
Task.Slices for output.output:All Slices.id 0..1 string Unique id for inter-element referencing
Task.Slices for output.output:All Slices.extension 0..* Extension Additional content defined by implementations
Task.Slices for output.output:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:All Slices.type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Task.Slices for output.output:All Slices.value[x] 1..1 Result of output
Task.Slices for output.output:All Slices.value[x].valueBase64Binary base64Binary
Task.Slices for output.output:All Slices.value[x].valueBoolean boolean
Task.Slices for output.output:All Slices.value[x].valueCanonical canonical(Any)
Task.Slices for output.output:All Slices.value[x].valueCode code
Task.Slices for output.output:All Slices.value[x].valueDate date
Task.Slices for output.output:All Slices.value[x].valueDateTime dateTime
Task.Slices for output.output:All Slices.value[x].valueDecimal decimal
Task.Slices for output.output:All Slices.value[x].valueId id
Task.Slices for output.output:All Slices.value[x].valueInstant instant
Task.Slices for output.output:All Slices.value[x].valueInteger integer
Task.Slices for output.output:All Slices.value[x].valueMarkdown markdown
Task.Slices for output.output:All Slices.value[x].valueOid oid
Task.Slices for output.output:All Slices.value[x].valuePositiveInt positiveInt
Task.Slices for output.output:All Slices.value[x].valueString string
Task.Slices for output.output:All Slices.value[x].valueTime time
Task.Slices for output.output:All Slices.value[x].valueUnsignedInt unsignedInt
Task.Slices for output.output:All Slices.value[x].valueUri uri
Task.Slices for output.output:All Slices.value[x].valueUrl url
Task.Slices for output.output:All Slices.value[x].valueUuid uuid
Task.Slices for output.output:All Slices.value[x].valueAddress Address
Task.Slices for output.output:All Slices.value[x].valueAge Age
Task.Slices for output.output:All Slices.value[x].valueAnnotation Annotation
Task.Slices for output.output:All Slices.value[x].valueAttachment Attachment
Task.Slices for output.output:All Slices.value[x].valueCodeableConcept CodeableConcept
Task.Slices for output.output:All Slices.value[x].valueCoding Coding
Task.Slices for output.output:All Slices.value[x].valueContactPoint ContactPoint
Task.Slices for output.output:All Slices.value[x].valueCount Count
Task.Slices for output.output:All Slices.value[x].valueDistance Distance
Task.Slices for output.output:All Slices.value[x].valueDuration Duration
Task.Slices for output.output:All Slices.value[x].valueHumanName HumanName
Task.Slices for output.output:All Slices.value[x].valueIdentifier Identifier
Task.Slices for output.output:All Slices.value[x].valueMoney Money
Task.Slices for output.output:All Slices.value[x].valuePeriod Period
Task.Slices for output.output:All Slices.value[x].valueQuantity Quantity
Task.Slices for output.output:All Slices.value[x].valueRange Range
Task.Slices for output.output:All Slices.value[x].valueRatio Ratio
Task.Slices for output.output:All Slices.value[x].valueReference Reference(Any)
Task.Slices for output.output:All Slices.value[x].valueSampledData SampledData
Task.Slices for output.output:All Slices.value[x].valueSignature Signature
Task.Slices for output.output:All Slices.value[x].valueTiming Timing
Task.Slices for output.output:All Slices.value[x].valueContactDetail ContactDetail
Task.Slices for output.output:All Slices.value[x].valueContributor Contributor
Task.Slices for output.output:All Slices.value[x].valueDataRequirement DataRequirement
Task.Slices for output.output:All Slices.value[x].valueExpression Expression
Task.Slices for output.output:All Slices.value[x].valueParameterDefinition ParameterDefinition
Task.Slices for output.output:All Slices.value[x].valueRelatedArtifact RelatedArtifact
Task.Slices for output.output:All Slices.value[x].valueTriggerDefinition TriggerDefinition
Task.Slices for output.output:All Slices.value[x].valueUsageContext UsageContext
Task.Slices for output.output:All Slices.value[x].valueDosage Dosage
Task.Slices for output.output:All Slices.value[x].valueMeta Meta
Task.Slices for output.output:response This element must be supported. 0..1 BackboneElement The QuestionnaireResponse addressed to your client, once the task is completed
Task.Slices for output.output:response.id 0..1 string Unique id for inter-element referencing
Task.Slices for output.output:response.extension 0..* Extension Additional content defined by implementations
Task.Slices for output.output:response.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Task.Slices for output.output:response.type This element must be supported. 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
      "code" : "questionnaire-response"
    }
  ]
}
Task.Slices for output.output:response.value[x] This element must be supported. 1..1 Reference(QuestionnaireResponse) url

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Task.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Task.language Base preferred Common Languages 📦4.0.1 FHIR Std.
Task.status Base required OHH Task Status Value Set 📦0.1.0 This IG
Task.statusReason Base example Not State Unknown
Task.businessStatus Base example Not State Unknown
Task.intent Base required TaskIntent 📍4.0.1 FHIR Std.
Task.priority Base required Request priority 📍4.0.1 FHIR Std.
Task.code Base required SDC Task Code 📦3.0.0 Structured Data Capture v3.0
Task.performerType Base preferred Procedure Performer Role Codes 📦4.0.1 FHIR Std.
Task.reasonCode Base example Not State Unknown
Task.input.type Base example Not State Unknown
Task.input:questionnaire.​type Base example Not State Unknown
Task.input:responseEndpoint.​type Base example Not State Unknown
Task.output.type Base example Not State Unknown
Task.output:response.​type Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
sdc-t1 error Task Either code is 'fulfill', focus is ServiceRequest and no 'questionnaire' input; or code is 'complete-questionnaire', focus is omitted and 'questionnaire' input is present (code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and (focus.resolve() is ServiceRequest) and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists().not()) or (code.coding.where(code='complete-questionnaire' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp').exists() and focus.exists().not() and input.where(type.coding.where(system='http://hl7.org/fhir/uv/sdc/CodeSystem/temp' and code='questionnaire')).exists())

This structure is derived from SDCTaskQuestionnaire

Summary

Mandatory: 5 elements
Must-Support: 8 elements
Fixed: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Retrieving a Task

A Task can be retrieved by its id: GET Task/<id>. A Task of a deleted CarePlan returns 410 Gone, an unknown Task returns 404 Not Found and a Task of a CarePlan your client has no access to returns 403 Forbidden.

Searching Tasks

Multiple Tasks can be retrieved by searching for them using a GET request on the search parameters of the CapabilityStatement, which can be combined. This returns a Bundle with links to the current, previous and next pages (if any). Searching on a CarePlan your client has no access to returns 403 Forbidden; an unknown status or code returns 400 Bad Request. Results are sorted newest first, _sort=authored-on sorts them oldest first. Pages contain 25 Tasks by default and at most 50.

Updating a Task

The status of a questionnaire task cannot be updated: it is completed by submitting a QuestionnaireResponse and fails automatically when the due date passes. An update returns 422 Unprocessable Entity. Only the status of a notification task can be updated.

Getting notified of Task changes

Instead of polling for changes, you can create a Subscription on Task to be notified when a Task is created or its status changes.