Botswana FHIR Implementation Guide
1.0.0 - ci-build Botswana flag

Botswana FHIR Implementation Guide, published by Jembi Health Systems. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/jembi/botswana-hie-fhir-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Task - Lab Orders

Official URL: http://moh.bw.org/StructureDefinition/lab-order-task Version: 1.0.0
Active as of 2025-08-20 Computable Name: LabOrderTask

Assists with tracking the state of the lab order and its completion status.

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, tsk-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... identifier:FILL 1..1 Identifier Task Instance Identifier
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://moh.bw.org/identifier/task-id
..... value ΣC 1..1 string The value that is unique
Example General: 123456
... basedOn Σ 1..* Reference(ServiceRequest - Lab Orders) Request fulfilled by this task
... status ?!Σ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... intent Σ 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.
Required Pattern: order
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
... for Σ 1..1 Reference(Patient - Botswana Patient) Beneficiary of the Task
... executionPeriod Σ 1..1 Period Start and end time of execution
... requester Σ 1..1 Reference(Practitioner | Service Provider) Who is asking for task to be done
... owner Σ 1..1 Reference(Practitioner | Service Provider) Responsible individual
... output S 0..* BackboneElement Information produced as part of task
.... 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.
..... text Σ 1..1 string Plain text representation of the concept
.... Slices for value[x] 1..1 Reference() Result of output
Slice: Unordered, Closed by type:$this
..... value[x]:valueReference 1..1 Reference(DiagnosticReport - Lab Order) Result of output

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Task.identifier:FILL.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|5.0.0
From the FHIR Standard
Task.intentrequiredPattern Value: order
http://hl7.org/fhir/ValueSet/task-intent|5.0.0
From the FHIR Standard
Task.output.typeexample

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorTaskIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorTaskIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorTaskIf 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-5errorTaskIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceTaskA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-1errorTaskLast modified date must be greater than or equal to authored-on date.
: lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
tsk-1errorTaskTask.restriction is only allowed if the Task is seeking fulfillment and a focus is specified.
: restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task 0..* Task A task to be performed
... Slices for identifier 1..* Identifier Task Instance Identifier
Slice: Unordered, Open by value:system
.... identifier:FILL 1..1 Identifier Task Instance Identifier
..... system 1..1 uri The namespace for the identifier value
Required Pattern: http://moh.bw.org/identifier/task-id
..... value 1..1 string The value that is unique
... basedOn 1..* Reference(ServiceRequest - Lab Orders) Request fulfilled by this task
... intent 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
... executionPeriod 1..1 Period Start and end time of execution
... requester 1..1 Reference(Practitioner | Service Provider) Who is asking for task to be done
... owner 1..1 Reference(Practitioner | Service Provider) Responsible individual
... output S 0..* BackboneElement Information produced as part of task
.... type
..... text 1..1 string Plain text representation of the concept
.... Slices for value[x] 1..1 Reference() Result of output
Slice: Unordered, Open by type:$this
..... value[x]:valueReference 1..1 Reference(DiagnosticReport - Lab Order) Result of output

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-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: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... 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
... Slices for identifier 1..* Identifier Task Instance Identifier
Slice: Unordered, Open by value:system
.... identifier:FILL 1..1 Identifier Task Instance Identifier
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://moh.bw.org/identifier/task-id
..... value ΣC 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Formal definition of task
... instantiatesUri Σ 0..1 uri Formal definition of task
... basedOn Σ 1..* Reference(ServiceRequest - Lab Orders) Request fulfilled by this task
... groupIdentifier Σ 0..1 Identifier Requisition or grouper id
... partOf Σ 0..* Reference(Task) Composite task
... status ?!Σ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... statusReason Σ 0..1 CodeableReference() Reason for current status
Binding: TaskStatusReason (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 Σ 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.
Required Pattern: order
... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The priority of a task (may affect service level applied to the task).
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
... code ΣC 0..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 ΣC 0..1 Reference(Resource) What task is acting on
... for Σ 1..1 Reference(Patient - Botswana Patient) Beneficiary of the Task
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... requestedPeriod Σ 0..1 Period When the task should be performed
... executionPeriod Σ 1..1 Period Start and end time of execution
... authoredOn C 0..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester Σ 1..1 Reference(Practitioner | Service Provider) Who is asking for task to be done
... requestedPerformer 0..* CodeableReference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) Who should perform Task
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... owner Σ 1..1 Reference(Practitioner | Service Provider) Responsible individual
... performer Σ 0..* BackboneElement Who or what performed the 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
.... function Σ 0..1 CodeableConcept Type of performance
Binding Description: (example): Codes to identify types of task performers.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who performed the task
... location Σ 0..1 Reference(Location) Where task occurs
... reason 0..* CodeableReference() Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
... 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 C 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 is 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
..... valueInteger64 integer64
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCodeableReference CodeableReference
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueRatioRange RatioRange
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueAvailability Availability
..... valueExtendedContactDetail ExtendedContactDetail
..... valueDosage Dosage
..... valueMeta Meta
... output S 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.
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 1..1 string Plain text representation of the concept
.... Slices for value[x] 1..1 Reference() Result of output
Slice: Unordered, Closed by type:$this
..... value[x]:valueReference 1..1 Reference(DiagnosticReport - Lab Order) Result of output

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Task.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Task.identifier:FILL.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Task.identifier:FILL.typeextensibleIdentifierTypeCodes
http://hl7.org/fhir/ValueSet/identifier-type
From the FHIR Standard
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|5.0.0
From the FHIR Standard
Task.statusReasonexampleTaskStatusReason
http://hl7.org/fhir/ValueSet/task-status-reason
From the FHIR Standard
Task.businessStatusexample
Task.intentrequiredPattern Value: order
http://hl7.org/fhir/ValueSet/task-intent|5.0.0
From the FHIR Standard
Task.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|5.0.0
From the FHIR Standard
Task.codeexampleTaskCode
http://hl7.org/fhir/ValueSet/task-code
From the FHIR Standard
Task.requestedPerformerpreferredProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
From the FHIR Standard
Task.performer.functionexample
Task.reasonexample
Task.input.typeexample
Task.output.typeexample

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorTaskIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorTaskIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorTaskIf 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-5errorTaskIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceTaskA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-1errorTaskLast modified date must be greater than or equal to authored-on date.
: lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
tsk-1errorTaskTask.restriction is only allowed if the Task is seeking fulfillment and a focus is specified.
: restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

This structure is derived from Task

Summary

Mandatory: 9 elements(2 nested mandatory elements)
Must-Support: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Task.identifier
  • The element 1 is sliced based on the value of Task.output.value[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... identifier:FILL 1..1 Identifier Task Instance Identifier
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://moh.bw.org/identifier/task-id
..... value ΣC 1..1 string The value that is unique
Example General: 123456
... basedOn Σ 1..* Reference(ServiceRequest - Lab Orders) Request fulfilled by this task
... status ?!Σ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... intent Σ 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.
Required Pattern: order
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
... for Σ 1..1 Reference(Patient - Botswana Patient) Beneficiary of the Task
... executionPeriod Σ 1..1 Period Start and end time of execution
... requester Σ 1..1 Reference(Practitioner | Service Provider) Who is asking for task to be done
... owner Σ 1..1 Reference(Practitioner | Service Provider) Responsible individual
... output S 0..* BackboneElement Information produced as part of task
.... 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.
..... text Σ 1..1 string Plain text representation of the concept
.... Slices for value[x] 1..1 Reference() Result of output
Slice: Unordered, Closed by type:$this
..... value[x]:valueReference 1..1 Reference(DiagnosticReport - Lab Order) Result of output

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Task.identifier:FILL.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|5.0.0
From the FHIR Standard
Task.intentrequiredPattern Value: order
http://hl7.org/fhir/ValueSet/task-intent|5.0.0
From the FHIR Standard
Task.output.typeexample

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorTaskIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorTaskIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorTaskIf 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-5errorTaskIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceTaskA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-1errorTaskLast modified date must be greater than or equal to authored-on date.
: lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
tsk-1errorTaskTask.restriction is only allowed if the Task is seeking fulfillment and a focus is specified.
: restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

Differential View

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task 0..* Task A task to be performed
... Slices for identifier 1..* Identifier Task Instance Identifier
Slice: Unordered, Open by value:system
.... identifier:FILL 1..1 Identifier Task Instance Identifier
..... system 1..1 uri The namespace for the identifier value
Required Pattern: http://moh.bw.org/identifier/task-id
..... value 1..1 string The value that is unique
... basedOn 1..* Reference(ServiceRequest - Lab Orders) Request fulfilled by this task
... intent 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
... executionPeriod 1..1 Period Start and end time of execution
... requester 1..1 Reference(Practitioner | Service Provider) Who is asking for task to be done
... owner 1..1 Reference(Practitioner | Service Provider) Responsible individual
... output S 0..* BackboneElement Information produced as part of task
.... type
..... text 1..1 string Plain text representation of the concept
.... Slices for value[x] 1..1 Reference() Result of output
Slice: Unordered, Open by type:$this
..... value[x]:valueReference 1..1 Reference(DiagnosticReport - Lab Order) Result of output

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-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: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... 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
... Slices for identifier 1..* Identifier Task Instance Identifier
Slice: Unordered, Open by value:system
.... identifier:FILL 1..1 Identifier Task Instance Identifier
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: http://moh.bw.org/identifier/task-id
..... value ΣC 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Formal definition of task
... instantiatesUri Σ 0..1 uri Formal definition of task
... basedOn Σ 1..* Reference(ServiceRequest - Lab Orders) Request fulfilled by this task
... groupIdentifier Σ 0..1 Identifier Requisition or grouper id
... partOf Σ 0..* Reference(Task) Composite task
... status ?!Σ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... statusReason Σ 0..1 CodeableReference() Reason for current status
Binding: TaskStatusReason (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 Σ 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.
Required Pattern: order
... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The priority of a task (may affect service level applied to the task).
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
... code ΣC 0..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 ΣC 0..1 Reference(Resource) What task is acting on
... for Σ 1..1 Reference(Patient - Botswana Patient) Beneficiary of the Task
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... requestedPeriod Σ 0..1 Period When the task should be performed
... executionPeriod Σ 1..1 Period Start and end time of execution
... authoredOn C 0..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester Σ 1..1 Reference(Practitioner | Service Provider) Who is asking for task to be done
... requestedPerformer 0..* CodeableReference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) Who should perform Task
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... owner Σ 1..1 Reference(Practitioner | Service Provider) Responsible individual
... performer Σ 0..* BackboneElement Who or what performed the 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
.... function Σ 0..1 CodeableConcept Type of performance
Binding Description: (example): Codes to identify types of task performers.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who performed the task
... location Σ 0..1 Reference(Location) Where task occurs
... reason 0..* CodeableReference() Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
... 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 C 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 is 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
..... valueInteger64 integer64
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCodeableReference CodeableReference
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueRatioRange RatioRange
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueAvailability Availability
..... valueExtendedContactDetail ExtendedContactDetail
..... valueDosage Dosage
..... valueMeta Meta
... output S 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.
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 1..1 string Plain text representation of the concept
.... Slices for value[x] 1..1 Reference() Result of output
Slice: Unordered, Closed by type:$this
..... value[x]:valueReference 1..1 Reference(DiagnosticReport - Lab Order) Result of output

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Task.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Task.identifier:FILL.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Task.identifier:FILL.typeextensibleIdentifierTypeCodes
http://hl7.org/fhir/ValueSet/identifier-type
From the FHIR Standard
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|5.0.0
From the FHIR Standard
Task.statusReasonexampleTaskStatusReason
http://hl7.org/fhir/ValueSet/task-status-reason
From the FHIR Standard
Task.businessStatusexample
Task.intentrequiredPattern Value: order
http://hl7.org/fhir/ValueSet/task-intent|5.0.0
From the FHIR Standard
Task.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|5.0.0
From the FHIR Standard
Task.codeexampleTaskCode
http://hl7.org/fhir/ValueSet/task-code
From the FHIR Standard
Task.requestedPerformerpreferredProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
From the FHIR Standard
Task.performer.functionexample
Task.reasonexample
Task.input.typeexample
Task.output.typeexample

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorTaskIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorTaskIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorTaskIf 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-5errorTaskIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceTaskA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-1errorTaskLast modified date must be greater than or equal to authored-on date.
: lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
tsk-1errorTaskTask.restriction is only allowed if the Task is seeking fulfillment and a focus is specified.
: restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

This structure is derived from Task

Summary

Mandatory: 9 elements(2 nested mandatory elements)
Must-Support: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Task.identifier
  • The element 1 is sliced based on the value of Task.output.value[x]

 

Other representations of profile: CSV, Excel, Schematron