DRAFT - The specification is currently in development and subject to significant change. It is not ready for limited roll-out or production level use.

Task (CA:eReC)

Structure Definition: Task Profile

Canonical URL:https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task

Simplifier project page: Task

Derived from: Task (R4)

Formal Views of Profile Content

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

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..1canonical(ActivityDefinition)
instantiatesUriΣ0..1uri
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
groupIdentifierΣ0..1Identifier
partOfΣ I0..*Reference(Task)
statusS Σ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
intentS Σ1..1codeBinding
priority0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
descriptionΣ0..1string
focusΣ I0..1Reference(Resource)
forΣ I0..1Reference(Resource)
encounterΣ I0..1Reference(Encounter)
executionPeriodΣ I0..1Period
authoredOnI0..1dateTime
lastModifiedΣ I0..1dateTime
requesterΣ I0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerType0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
locationΣ I0..1Reference(Location)
reasonCode0..1CodeableConcept
reasonReferenceI0..1Reference(Resource)
insuranceI0..*Reference(Coverage | ClaimResponse)
note0..*Annotation
relevantHistoryI0..*Reference(Provenance)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
repetitions0..1positiveInt
periodI0..1Period
recipientI0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical()
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueMetaMeta
valueReferenceReference()
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical()
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueMetaMeta
valueReferenceReference()
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..1canonical(ActivityDefinition)
instantiatesUriΣ0..1uri
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
groupIdentifierΣ0..1Identifier
partOfΣ I0..*Reference(Task)
statusS Σ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
intentS Σ1..1codeBinding
priority0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
descriptionΣ0..1string
focusΣ I0..1Reference(Resource)
forΣ I0..1Reference(Resource)
encounterΣ I0..1Reference(Encounter)
executionPeriodΣ I0..1Period
authoredOnI0..1dateTime
lastModifiedΣ I0..1dateTime
requesterΣ I0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerType0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
locationΣ I0..1Reference(Location)
reasonCode0..1CodeableConcept
reasonReferenceI0..1Reference(Resource)
insuranceI0..*Reference(Coverage | ClaimResponse)
note0..*Annotation
relevantHistoryI0..*Reference(Provenance)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
repetitions0..1positiveInt
periodI0..1Period
recipientI0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical()
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueMetaMeta
valueReferenceReference()
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical()
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueMetaMeta
valueReferenceReference()
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
instantiatesCanonicalΣ0..1canonical(ActivityDefinition)
instantiatesUriΣ0..1uri
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
groupIdentifierΣ0..1Identifier
partOfΣ I0..*Reference(Task)
statusS Σ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
intentS Σ1..1codeBinding
priority0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
descriptionΣ0..1string
focusΣ I0..1Reference(Resource)
forΣ I0..1Reference(Resource)
encounterΣ I0..1Reference(Encounter)
executionPeriodΣ I0..1Period
authoredOnI0..1dateTime
lastModifiedΣ I0..1dateTime
requesterΣ I0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerType0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
locationΣ I0..1Reference(Location)
reasonCode0..1CodeableConcept
reasonReferenceI0..1Reference(Resource)
insuranceI0..*Reference(Coverage | ClaimResponse)
note0..*Annotation
relevantHistoryI0..*Reference(Provenance)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
repetitions0..1positiveInt
periodI0..1Period
recipientI0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical()
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueMetaMeta
valueReferenceReference()
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical()
valueCodecode
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueIdid
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueOidoid
valuePositiveIntpositiveInt
valueStringstring
valueTimetime
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUuiduuid
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactPointContactPoint
valueCountCount
valueDistanceDistance
valueDurationDuration
valueHumanNameHumanName
valueIdentifierIdentifier
valueMoneyMoney
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueSignatureSignature
valueTimingTiming
valueContactDetailContactDetail
valueContributorContributor
valueDataRequirementDataRequirement
valueExpressionExpression
valueParameterDefinitionParameterDefinition
valueRelatedArtifactRelatedArtifact
valueTriggerDefinitionTriggerDefinition
valueUsageContextUsageContext
valueDosageDosage
valueMetaMeta
valueReferenceReference()
Task..
Task.meta..
Task.identifier..
Task.identifier.system..
Task.identifier.value..
Task.basedOnReference(ServiceRequest)1..1
Task.basedOn.reference..
Task.basedOn.identifier..
Task.basedOn.identifier.system..
Task.basedOn.identifier.value..
Task.status..
Task.businessStatus..
Task.businessStatus.coding..
Task.businessStatus.coding.code..
Task.intent..
Task.code..
Task.code.coding..
Task.code.coding.code..
Task.ownerReference(PractitionerRole)..
Task.owner.reference..
Task.owner.identifier..
Task.owner.identifier.system..
Task.owner.identifier.value..

{
    "resourceType": "StructureDefinition",
    "id": "CA-eReC-Task",
    "url": "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task",
    "version": "0.1.0",
    "name": "Task",
    "title": "Task",
    "status": "draft",
    "description": "A task resource describes an activity that can be performed and tracks the state of completion of that activity. It is a representation that an activity should be or has been initiated, and eventually, represents the successful or unsuccessful completion of that activity.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Task",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Task",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Task.meta",
                "path": "Task.meta",
                "comment": "The MustSupport flag on this element has been relaxed in this version until further confirmation of the use of meta.profile (outside of use for certain validation suites) and impact can be assessed by the working group."
            },
            {
                "id": "Task.identifier.system",
                "path": "Task.identifier.system",
                "mustSupport": true
            },
            {
                "id": "Task.identifier.value",
                "path": "Task.identifier.value",
                "mustSupport": true
            },
            {
                "id": "Task.basedOn",
                "path": "Task.basedOn",
                "min": 1,
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "Task.basedOn.reference",
                "path": "Task.basedOn.reference",
                "mustSupport": true
            },
            {
                "id": "Task.basedOn.identifier",
                "path": "Task.basedOn.identifier",
                "mustSupport": true
            },
            {
                "id": "Task.basedOn.identifier.system",
                "path": "Task.basedOn.identifier.system",
                "mustSupport": true
            },
            {
                "id": "Task.basedOn.identifier.value",
                "path": "Task.basedOn.identifier.value",
                "mustSupport": true
            },
            {
                "id": "Task.status",
                "path": "Task.status",
                "mustSupport": true
            },
            {
                "id": "Task.businessStatus",
                "path": "Task.businessStatus",
                "binding": {
                    "strength": "example",
                    "valueSet": "https://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/task-business-status"
                }
            },
            {
                "id": "Task.businessStatus.coding",
                "path": "Task.businessStatus.coding",
                "mustSupport": true
            },
            {
                "id": "Task.businessStatus.coding.code",
                "path": "Task.businessStatus.coding.code",
                "mustSupport": true,
                "binding": {
                    "strength": "example",
                    "valueSet": "https://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/task-business-status"
                }
            },
            {
                "id": "Task.intent",
                "path": "Task.intent",
                "mustSupport": true
            },
            {
                "id": "Task.code",
                "path": "Task.code",
                "comment": "-",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.infoway-inforoute.ca/io/fhir/ValueSet/CA-eReC/task-code"
                }
            },
            {
                "id": "Task.code.coding",
                "path": "Task.code.coding",
                "mustSupport": true
            },
            {
                "id": "Task.code.coding.code",
                "path": "Task.code.coding.code",
                "mustSupport": true
            },
            {
                "id": "Task.owner",
                "path": "Task.owner",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "Task.owner.reference",
                "path": "Task.owner.reference",
                "mustSupport": true
            },
            {
                "id": "Task.owner.identifier",
                "path": "Task.owner.identifier",
                "mustSupport": true
            },
            {
                "id": "Task.owner.identifier.system",
                "path": "Task.owner.identifier.system",
                "mustSupport": true
            },
            {
                "id": "Task.owner.identifier.value",
                "path": "Task.owner.identifier.value",
                "mustSupport": true
            }
        ]
    }
}

Usage

The Task resource describes the eReferral and eConsult task(s) to be performed and and tracks the state of their completion. Various code for the status of the task are also present within this resource to help properly track and any additional information that needs to be requested for its completion.

Notes

.id

  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)

.basedOn

  • used to associate the Task with the ServiceRequest being performed
  • SHALL be populated with a reference to the ServiceRequest being performed
  • if the Task is being transmitted via messaging, the referenced ServiceRequest resource SHALL be included in the message as a Bundle.entry

.status

  • for a "Process Request" Task, used to track the status of the ServiceRequest being performed as work progresses through to completion
  • for a "Request for Information" Task, used to track the status of the request for information

.intent

  • used mainly to "order" a service

.code

  • identifies the type of task
  • SHALL always be populated with the task code set found at TaskCode

.authoredOn

  • indicates the dateTime that the eReferral was received
  • usually the same as ServiceRequest.authoredOn, except in cases when ServiceRequest.authoredOn is used to record that a request was signed by the requester before the transmission took place

.lastModified

  • indicates the dateTime when an update of note/significance was made to the referral (i.e., related resources such as ServiceRequest, patient, Task, Appointment, etc...)

.owner

  • a reference to the PractitionerRole responsible for handling the referral
  • if the Task is being transmitted via messaging, the referenced PractitionerRole resource SHALL be included in the message as a Bundle.entry