Data Sharing Framework (DSF) Implementation Guide
2.0.0 - ci-build

Data Sharing Framework (DSF) Implementation Guide - Local Development build (v2.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: DSF Base Task ( Abstract )

Official URL: http://dsf.dev/fhir/StructureDefinition/task-base Version: 2.0.0
Active as of 2025-05-26 Computable Name: DSF Base Task

The abstract Task resource the Tasks for individual DSF processes should be based on.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

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 This is an abstract profile.
A task to be performed
Constraints: inv-1, business-key-if-status-inprogress-completed-failed
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... instantiatesCanonical Σ 1..1 canonical(ActivityDefinition) Formal definition of 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.
Fixed Value: order
... authoredOn C 1..1 dateTime Task Creation Date
... requester Σ 1..1 Reference(DSF Organization(2.0.0)) Who is asking for task to be done
.... identifier Σ 1..1 Identifier Logical reference, when literal reference is not known
..... 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
Fixed Value: http://dsf.dev/sid/organization-identifier
..... value Σ 1..1 string The value that is unique
Example General: 123456
... restriction 1..1 BackboneElement Constraints on fulfillment tasks
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... recipient 1..1 Reference(DSF Organization(2.0.0)) For whom is fulfillment sought?
..... identifier Σ 1..1 Identifier Logical reference, when literal reference is not known
...... 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
Fixed Value: http://dsf.dev/sid/organization-identifier
...... value Σ 1..1 string The value that is unique
Example General: 123456
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open At End by value:type.coding.system, value:type.coding.code
.... input:All Slices Content/Rules for all slices
..... 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
.... input:message-name 1..1 BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding: DsfBpmnMessage (1.0.0) (required)
...... coding Σ 1..1 Coding Code defined by a terminology system
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://dsf.dev/fhir/CodeSystem/bpmn-message
....... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: message-name
..... value[x] 1..1 string Content to use in performing the task
.... input:business-key 0..1 BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding: DsfBpmnMessage (1.0.0) (required)
...... coding Σ 1..1 Coding Code defined by a terminology system
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://dsf.dev/fhir/CodeSystem/bpmn-message
....... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: business-key
..... value[x] 1..1 string Content to use in performing the task
.... input:correlation-key 0..1 BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding: DsfBpmnMessage (1.0.0) (required)
...... coding Σ 1..1 Coding Code defined by a terminology system
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://dsf.dev/fhir/CodeSystem/bpmn-message
....... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: correlation-key
..... value[x] 1..1 string Content to use in performing the task
... Slices for output 0..* BackboneElement Information produced as part of task
Slice: Unordered, Open At End by value:type.coding.system, value:type.coding.code
.... output:All Slices Content/Rules for all slices
..... 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
.... output:error 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: DsfBpmnMessage (1.0.0) (required)
...... coding Σ 1..1 Coding Code defined by a terminology system
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://dsf.dev/fhir/CodeSystem/bpmn-message
....... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: error
..... value[x] 1..1 string Result of output

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|4.0.1
From the FHIR Standard
Task.intentrequiredFixed Value: order
http://hl7.org/fhir/ValueSet/task-intent|4.0.1
From the FHIR Standard
Task.requester.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Task.restriction.recipient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Task.input.typeexample
Task.input:message-name.typerequiredDsfBpmnMessage(a valid code from DSF BPMN message values)
http://dsf.dev/fhir/ValueSet/bpmn-message|1.0.0
From this IG
Task.input:business-key.typerequiredDsfBpmnMessage(a valid code from DSF BPMN message values)
http://dsf.dev/fhir/ValueSet/bpmn-message|1.0.0
From this IG
Task.input:correlation-key.typerequiredDsfBpmnMessage(a valid code from DSF BPMN message values)
http://dsf.dev/fhir/ValueSet/bpmn-message|1.0.0
From this IG
Task.output.typeexample
Task.output:error.typerequiredDsfBpmnMessage(a valid code from DSF BPMN message values)
http://dsf.dev/fhir/ValueSet/bpmn-message|1.0.0
From this IG

Constraints

IdGradePath(s)DetailsRequirements
business-key-if-status-inprogress-completed-failederrorTaskBusiness key must be set if Task.status = {in-progress, completed, failed}
: ((%resource.status = 'in-progress') or (%resource.status = 'completed') or (%resource.status = 'failed')) implies input.type.coding.where( system = 'http://dsf.dev/fhir/CodeSystem/bpmn-message' and code = 'business-key') .exists()
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().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-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

 

Other representations of profile: CSV, Excel, Schematron