NHS North West Genomics
0.1.0 - ci-build United Kingdom flag

NHS North West Genomics, published by NHS North West Genomics. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/nw-gmsa/nw-gmsa.github.com/ and changes regularly. See the Directory of published versions

Resource Profile: Task

Official URL: https://fhir.nwgenomics.nhs.uk/StructureDefinition/Task Version: 0.1.0
Draft as of 2026-02-04 Computable Name: Task
Keywords: Core, Patient Care Workflow

Diagnostic Workflow Based on FHIR Workflow

References

Laboratory Order Management

A single laboratory order may generate multiple reports. Throughout the process, the order placer needs to be informed of the order’s progress—particularly when the laboratory has fully completed it.

The overall status of the order is tracked using a Task, which is updated as work progresses.

graph TD
    LaboratoryOrder --> CreateTask[Create Task]
    CreateTask --> |"'Process Genomic Test Request'<br/> Task (accepted)"| AutomationMananger[Automation Mananger] 

    UpdateTask --> |"'Process Genomic Test Request'<br/>Task (in-progress)"| AutomationMananger
    LaboratoryReport --> IsOrderComplete{Is Order Complete?}
    IsOrderComplete --> |Yes| CompleteTask
    IsOrderComplete -->  |No| UpdateTask[Update Task]
    CompleteTask -->  |"'Process Genomic Test Request'<br/>Task (completed)"| AutomationMananger
  • When the order is first received, a Task is created to represent it, and its status is set to accepted.
  • As each report arrives, the Task is updated to reflect progress, moving to in-progress.
  • The order is considered complete once all expected reports have been received, at which point the Task moves to completed.

Data Model

This model is based on a merge of NHS England Genomcis and AU eRequesting Task Diagnostic Request.

FHIR Task element Value Set / Data Type Cardinality Reference
status Task Status 1..1  
businessStatus (NHS England Genomics) Business Status Genomics 0..1  
intent Task Intent 1..1  
identifier Placer Order Number 0..1  
groupIdentifier Placer Group Number 1..1  
code (generic) fulfill (http://hl7.org/fhir/CodeSystem/task-code) 1..1  
code (NHS England Genomics) Process Genomic Test Request (https://fhir.nhs.uk/CodeSystem/task-code-genomics) 1..1  
focus   1..1 ServiceRequest
for identifier NHS Number 1..1 Patient
requester identifier Organisation Code 1..1 Preferred [Organization][StructureDefinition-Organization.html]
owner identifier Organisation Code 0..1 Preferred [Organization][StructureDefinition-Organization.html]

No SNOMED codes for genomic diagnostic testing found, codes are potentially children of 386053000 Evaluation procedure

Caveats

The logic for determining when an order is complete may not always be accurate. For example, the laboratory may decide to perform additional or follow-up tests on the same specimen.

For this reason, it is advisable that the laboratory emit explicit events indicating that:

  • the order is complete,
  • new tests have been initiated, or
  • existing tests have been modified.

IHE Pathology and Laboratory Medicine (PaLM) Volume 2 - LAB-4 from the LIMS, offers a potential approach to handling this.

Specimen Collection

Testing cannot begin until a specimen has been collected. Activities such as biopsies or sample collection occur outside the core diagnostic workflow. Monitoring the progress of specimen collection is important for supporting timely diagnostic processing.

graph TD
    LaboratoryOrder[Laboratory Order] --> CreateTask[Create Task]
    CreateTask --> |"'Specimen Collection'<br/> Task (requested)"| AutomationMananger[Automation Mananger] 
    Facility[Specimen Collection/Laboratory Facility] --> UpdateTask
    UpdateTask[Update Task] --> |"'Specimen Collection'<br/>Task(as indicated by event)"| AutomationMananger
    LaboratoryReport[Laboratory Report] --> CompleteTask
    CompleteTask --> |"'Specimen Collection'<br/>Task (completed)"| AutomationMananger
  • When an order is received with Specimen Collection, a Task is created to represent it.
  • When a report is received, the Task is updated to reflect progress.

Data Model

This model is based on a merge of NHS England Genomcis and AU eRequesting.

FHIR Task element Value Set / Data Type Cardinality Reference
status Task Status 1..1  
businessStatus (IHE Specimen Event Tracking) Specimen Tracking Events 0..1  
businessStatus (NHS England Genomics) Business Status Genomics 0..1  
intent Task Intent 1..1  
identifier Placer Specimen Number 0..1  
groupIdentifier Accession Number 1..1  
code (generic) fulfill (http://hl7.org/fhir/CodeSystem/task-code). Probably not required (HL7 advice) 1..1  
code (NHS England Genomics) Sample Processing (https://fhir.nhs.uk/CodeSystem/task-code-genomics). See note below about SNOMED code 1..1  
focus   1..1 Specimen
for identifier NHS Number 1..1 Patient
requester identifier Organisation Code 1..1 Preferred [Organization][StructureDefinition-Organization.html]
owner identifier Organisation Code 0..1 Preferred [Organization][StructureDefinition-Organization.html]

SNOMED codes for specimen collection exist, e.g. 2620001000004108 Specimen collection procedure.

Caveats

Specimen-related information may be limited in both laboratory orders and reports. In some older HL7 implementations, the SPM segment may not be included at all.

To address these gaps, the following approaches can be used:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier S 0..* CorrelationIdentifier Task Instance Identifier
... groupIdentifier SΣ 0..1 CorrelationIdentifier Requisition or grouper id
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... intent SΣ 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.
... code Σ 1..1 CodeableConcept Task Type
Binding: TaskCode (example): Codes to identify what the task involves. These will typically be specific to a particular workflow.
... focus SΣ 1..1 Reference(ServiceRequest | Specimen) What task is acting on
... for SΣ 1..1 Reference(Patient) Beneficiary of the Task
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known
... authoredOn C 1..1 dateTime Task Creation Date
... requester SΣ 1..1 Reference(PractitionerRole | Organization) Who is asking for task to be done
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known
... owner SΣ 1..1 Reference(PractitionerRole | Organization) Responsible individual
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.status Base required TaskStatus 📍4.0.1 FHIR Std.
Task.intent Base required TaskIntent 📍4.0.1 FHIR Std.
Task.code Base example Task Codes 📍4.0.1 FHIR Std.

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

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task 0..* Task A task to be performed
... identifier S 0..* CorrelationIdentifier Task Instance Identifier
... groupIdentifier S 0..1 CorrelationIdentifier Requisition or grouper id
... status S 1..1 code draft | requested | received | accepted | +
... intent S 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
... code 1..1 CodeableConcept Task Type
... focus S 1..1 Reference(ServiceRequest | Specimen) What task is acting on
... for S 1..1 Reference(Patient) Beneficiary of the Task
.... identifier 0..1 NHSNumber Logical reference, when literal reference is not known
... authoredOn 1..1 dateTime Task Creation Date
... requester S 1..1 Reference(PractitionerRole | Organization) Who is asking for task to be done
.... identifier 0..1 OrganisationCode Logical reference, when literal reference is not known
... owner S 1..1 Reference(PractitionerRole | Organization) Responsible individual
.... identifier 0..1 OrganisationCode Logical reference, when literal reference is not known

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier S 0..* CorrelationIdentifier Task Instance Identifier
... instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Formal definition of task
... instantiatesUri Σ 0..1 uri Formal definition of task
... basedOn Σ 0..* Reference(Resource) Request fulfilled by this task
... groupIdentifier SΣ 0..1 CorrelationIdentifier Requisition or grouper id
... partOf Σ 0..* Reference(Task) Composite task
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... statusReason Σ 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.
... businessStatus Σ 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.
... intent SΣ 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.
... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.
... code Σ 1..1 CodeableConcept Task Type
Binding: TaskCode (example): Codes to identify what the task involves. These will typically be specific to a particular workflow.
... description Σ 0..1 string Human-readable explanation of task
... focus SΣ 1..1 Reference(ServiceRequest | Specimen) What task is acting on
... for SΣ 1..1 Reference(Patient) Beneficiary of the Task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... executionPeriod Σ 0..1 Period Start and end time of execution
... authoredOn C 1..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester SΣ 1..1 Reference(PractitionerRole | Organization) Who is asking for task to be done
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... owner SΣ 1..1 Reference(PractitionerRole | Organization) Responsible individual
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... location Σ 0..1 Reference(Location) Where task occurs
... reasonCode 0..1 CodeableConcept Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
... reasonReference 0..1 Reference(Resource) Why task is needed
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... note 0..* Annotation Comments made about the task
... relevantHistory 0..* Reference(Provenance) Key events in history of the Task
... restriction 0..1 BackboneElement Constraints on fulfillment tasks
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repetitions 0..1 positiveInt How many times to repeat
.... period 0..1 Period When fulfillment sought
.... recipient 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) For whom is fulfillment sought?
... input 0..* BackboneElement Information used to perform task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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.
.... value[x] 1..1 Content to use in performing the task
..... valueBase64Binary base64Binary
..... valueBoolean boolean
..... valueCanonical canonical(Any)
..... valueCode code
..... valueDate date
..... valueDateTime dateTime
..... valueDecimal decimal
..... valueId id
..... valueInstant instant
..... valueInteger integer
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueContributor Contributor
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueDosage Dosage
..... valueMeta Meta
... output 0..* BackboneElement Information produced as part of task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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.
.... value[x] 1..1 Result of output
..... valueBase64Binary base64Binary
..... valueBoolean boolean
..... valueCanonical canonical(Any)
..... valueCode code
..... valueDate date
..... valueDateTime dateTime
..... valueDecimal decimal
..... valueId id
..... valueInstant instant
..... valueInteger integer
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueContributor Contributor
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueDosage Dosage
..... valueMeta Meta

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Task.status Base required TaskStatus 📍4.0.1 FHIR Std.
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 example Task Codes 📍4.0.1 FHIR Std.
Task.for.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Task.requester.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Task.performerType Base preferred Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Task.owner.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Task.reasonCode Base example Not State Unknown
Task.input.type Base example Not State Unknown
Task.output.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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier S 0..* CorrelationIdentifier Task Instance Identifier
... groupIdentifier SΣ 0..1 CorrelationIdentifier Requisition or grouper id
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... intent SΣ 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.
... code Σ 1..1 CodeableConcept Task Type
Binding: TaskCode (example): Codes to identify what the task involves. These will typically be specific to a particular workflow.
... focus SΣ 1..1 Reference(ServiceRequest | Specimen) What task is acting on
... for SΣ 1..1 Reference(Patient) Beneficiary of the Task
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known
... authoredOn C 1..1 dateTime Task Creation Date
... requester SΣ 1..1 Reference(PractitionerRole | Organization) Who is asking for task to be done
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known
... owner SΣ 1..1 Reference(PractitionerRole | Organization) Responsible individual
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.status Base required TaskStatus 📍4.0.1 FHIR Std.
Task.intent Base required TaskIntent 📍4.0.1 FHIR Std.
Task.code Base example Task Codes 📍4.0.1 FHIR Std.

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

Differential View

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task 0..* Task A task to be performed
... identifier S 0..* CorrelationIdentifier Task Instance Identifier
... groupIdentifier S 0..1 CorrelationIdentifier Requisition or grouper id
... status S 1..1 code draft | requested | received | accepted | +
... intent S 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
... code 1..1 CodeableConcept Task Type
... focus S 1..1 Reference(ServiceRequest | Specimen) What task is acting on
... for S 1..1 Reference(Patient) Beneficiary of the Task
.... identifier 0..1 NHSNumber Logical reference, when literal reference is not known
... authoredOn 1..1 dateTime Task Creation Date
... requester S 1..1 Reference(PractitionerRole | Organization) Who is asking for task to be done
.... identifier 0..1 OrganisationCode Logical reference, when literal reference is not known
... owner S 1..1 Reference(PractitionerRole | Organization) Responsible individual
.... identifier 0..1 OrganisationCode Logical reference, when literal reference is not known

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier S 0..* CorrelationIdentifier Task Instance Identifier
... instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Formal definition of task
... instantiatesUri Σ 0..1 uri Formal definition of task
... basedOn Σ 0..* Reference(Resource) Request fulfilled by this task
... groupIdentifier SΣ 0..1 CorrelationIdentifier Requisition or grouper id
... partOf Σ 0..* Reference(Task) Composite task
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... statusReason Σ 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.
... businessStatus Σ 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.
... intent SΣ 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.
... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.
... code Σ 1..1 CodeableConcept Task Type
Binding: TaskCode (example): Codes to identify what the task involves. These will typically be specific to a particular workflow.
... description Σ 0..1 string Human-readable explanation of task
... focus SΣ 1..1 Reference(ServiceRequest | Specimen) What task is acting on
... for SΣ 1..1 Reference(Patient) Beneficiary of the Task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... executionPeriod Σ 0..1 Period Start and end time of execution
... authoredOn C 1..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester SΣ 1..1 Reference(PractitionerRole | Organization) Who is asking for task to be done
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... owner SΣ 1..1 Reference(PractitionerRole | Organization) Responsible individual
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 OrganisationCode Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... location Σ 0..1 Reference(Location) Where task occurs
... reasonCode 0..1 CodeableConcept Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
... reasonReference 0..1 Reference(Resource) Why task is needed
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... note 0..* Annotation Comments made about the task
... relevantHistory 0..* Reference(Provenance) Key events in history of the Task
... restriction 0..1 BackboneElement Constraints on fulfillment tasks
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repetitions 0..1 positiveInt How many times to repeat
.... period 0..1 Period When fulfillment sought
.... recipient 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) For whom is fulfillment sought?
... input 0..* BackboneElement Information used to perform task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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.
.... value[x] 1..1 Content to use in performing the task
..... valueBase64Binary base64Binary
..... valueBoolean boolean
..... valueCanonical canonical(Any)
..... valueCode code
..... valueDate date
..... valueDateTime dateTime
..... valueDecimal decimal
..... valueId id
..... valueInstant instant
..... valueInteger integer
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueContributor Contributor
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueDosage Dosage
..... valueMeta Meta
... output 0..* BackboneElement Information produced as part of task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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.
.... value[x] 1..1 Result of output
..... valueBase64Binary base64Binary
..... valueBoolean boolean
..... valueCanonical canonical(Any)
..... valueCode code
..... valueDate date
..... valueDateTime dateTime
..... valueDecimal decimal
..... valueId id
..... valueInstant instant
..... valueInteger integer
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueContributor Contributor
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueDosage Dosage
..... valueMeta Meta

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Task.status Base required TaskStatus 📍4.0.1 FHIR Std.
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 example Task Codes 📍4.0.1 FHIR Std.
Task.for.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Task.requester.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Task.performerType Base preferred Procedure Performer Role Codes 📍4.0.1 FHIR Std.
Task.owner.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Task.reasonCode Base example Not State Unknown
Task.input.type Base example Not State Unknown
Task.output.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

 

Other representations of profile: CSV, Excel, Schematron