SMART App Launch
2.2.0 - STU 2.2 International flag

This page is part of the Smart App Launch Implementation Guide (v2.2.0: STU 2.2) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: TaskEhrLaunch

Official URL: http://hl7.org/fhir/smart-app-launch/StructureDefinition/task-ehr-launch Version: 2.2.0
Active as of 2024-04-30 Computable Name: TaskEhrLaunch

Defines a Task that indicates the user should launch an application using the SMART on FHIR EHR launch.

Usage:

Formal Views of Profile Content

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

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task 0..* Task A task to be performed
... code S 1..1 CodeableConcept Task Type
Binding: Launch Types for tasks to application launches (required)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: launch-app-ehr
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by value:type
.... input:launchurl 1..1 BackboneElement Information used to perform task
..... type 1..1 CodeableConcept Label for the input
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-application
..... value[x] 1..1 url Content to use in performing the task
.... input:launchcontext 0..1 BackboneElement Information used to perform task
..... type 1..1 CodeableConcept Label for the input
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-appcontext
..... value[x] 1..1 string Content to use in performing the task

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet / CodeURI
Task.coderequiredPattern: launch-app-ehr
http://hl7.org/fhir/smart-app-launch/ValueSet/smart-launch-types
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C 0..* Task A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.

... code SΣ 1..1 CodeableConcept Task Type
Binding: Launch Types for tasks to application launches (required)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: launch-app-ehr
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by value:type
.... 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: (unbound) (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:launchurl 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-application
..... value[x] 1..1 url Content to use in performing the task
.... input:launchcontext 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-appcontext
..... value[x] 1..1 string Content to use in performing the task

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.intentrequiredTaskIntent
http://hl7.org/fhir/ValueSet/task-intent|4.0.1
from the FHIR Standard
Task.coderequiredPattern: launch-app-ehr
http://hl7.org/fhir/smart-app-launch/ValueSet/smart-launch-types
from this IG
Task.input.typeexample
Task.input:launchurl.typeexamplePattern: smartonfhir-application
Task.input:launchcontext.typeexamplePattern: smartonfhir-appcontext

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().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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C 0..* Task A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier 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 Σ 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 CodeableConcept Reason for current status
Binding: (unbound) (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: (unbound) (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.

... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.

... code SΣ 1..1 CodeableConcept Task Type
Binding: Launch Types for tasks to application launches (required)
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: launch-app-ehr
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... description Σ 0..1 string Human-readable explanation of task
... focus Σ 0..1 Reference(Resource) What task is acting on
... for Σ 0..1 Reference(Resource) Beneficiary of the Task
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... executionPeriod Σ 0..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 Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who is asking for task to be done
... performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.


... owner Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) Responsible individual
... location Σ 0..1 Reference(Location) Where task occurs
... reasonCode 0..1 CodeableConcept Why task is needed
Binding: (unbound) (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?
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by value:type
.... input:All Slices Content/Rules for all slices
..... 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: (unbound) (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:launchurl 1..1 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-application
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] 1..1 url Content to use in performing the task
.... input:launchcontext 0..1 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-appcontext
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] 1..1 string Content to use in performing the task
... 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: (unbound) (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

PathConformanceValueSet / CodeURI
Task.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|4.0.1
from the FHIR Standard
Task.statusReasonexample
Task.businessStatusexample
Task.intentrequiredTaskIntent
http://hl7.org/fhir/ValueSet/task-intent|4.0.1
from the FHIR Standard
Task.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
Task.coderequiredPattern: launch-app-ehr
http://hl7.org/fhir/smart-app-launch/ValueSet/smart-launch-types
from this IG
Task.performerTypepreferredProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Task.reasonCodeexample
Task.input.typeexample
Task.input:launchurl.typeexamplePattern: smartonfhir-application
Task.input:launchcontext.typeexamplePattern: smartonfhir-appcontext
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().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

This structure is derived from Task

Summary

Mandatory: 3 elements
Must-Support: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Task.input

Differential View

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task 0..* Task A task to be performed
... code S 1..1 CodeableConcept Task Type
Binding: Launch Types for tasks to application launches (required)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: launch-app-ehr
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by value:type
.... input:launchurl 1..1 BackboneElement Information used to perform task
..... type 1..1 CodeableConcept Label for the input
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-application
..... value[x] 1..1 url Content to use in performing the task
.... input:launchcontext 0..1 BackboneElement Information used to perform task
..... type 1..1 CodeableConcept Label for the input
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-appcontext
..... value[x] 1..1 string Content to use in performing the task

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet / CodeURI
Task.coderequiredPattern: launch-app-ehr
http://hl7.org/fhir/smart-app-launch/ValueSet/smart-launch-types
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C 0..* Task A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.

... code SΣ 1..1 CodeableConcept Task Type
Binding: Launch Types for tasks to application launches (required)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: launch-app-ehr
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by value:type
.... 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: (unbound) (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:launchurl 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-application
..... value[x] 1..1 url Content to use in performing the task
.... input:launchcontext 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-appcontext
..... value[x] 1..1 string Content to use in performing the task

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.intentrequiredTaskIntent
http://hl7.org/fhir/ValueSet/task-intent|4.0.1
from the FHIR Standard
Task.coderequiredPattern: launch-app-ehr
http://hl7.org/fhir/smart-app-launch/ValueSet/smart-launch-types
from this IG
Task.input.typeexample
Task.input:launchurl.typeexamplePattern: smartonfhir-application
Task.input:launchcontext.typeexamplePattern: smartonfhir-appcontext

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().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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C 0..* Task A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier 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 Σ 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 CodeableConcept Reason for current status
Binding: (unbound) (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: (unbound) (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.

... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.

... code SΣ 1..1 CodeableConcept Task Type
Binding: Launch Types for tasks to application launches (required)
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: launch-app-ehr
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... description Σ 0..1 string Human-readable explanation of task
... focus Σ 0..1 Reference(Resource) What task is acting on
... for Σ 0..1 Reference(Resource) Beneficiary of the Task
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... executionPeriod Σ 0..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 Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who is asking for task to be done
... performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.


... owner Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) Responsible individual
... location Σ 0..1 Reference(Location) Where task occurs
... reasonCode 0..1 CodeableConcept Why task is needed
Binding: (unbound) (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?
... Slices for input 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by value:type
.... input:All Slices Content/Rules for all slices
..... 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: (unbound) (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:launchurl 1..1 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-application
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] 1..1 url Content to use in performing the task
.... input:launchcontext 0..1 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: (unbound) (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.


Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/smart-app-launch/CodeSystem/smart-codes
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: smartonfhir-appcontext
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] 1..1 string Content to use in performing the task
... 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: (unbound) (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

PathConformanceValueSet / CodeURI
Task.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Task.statusrequiredTaskStatus
http://hl7.org/fhir/ValueSet/task-status|4.0.1
from the FHIR Standard
Task.statusReasonexample
Task.businessStatusexample
Task.intentrequiredTaskIntent
http://hl7.org/fhir/ValueSet/task-intent|4.0.1
from the FHIR Standard
Task.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
Task.coderequiredPattern: launch-app-ehr
http://hl7.org/fhir/smart-app-launch/ValueSet/smart-launch-types
from this IG
Task.performerTypepreferredProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Task.reasonCodeexample
Task.input.typeexample
Task.input:launchurl.typeexamplePattern: smartonfhir-application
Task.input:launchcontext.typeexamplePattern: smartonfhir-appcontext
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().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

This structure is derived from Task

Summary

Mandatory: 3 elements
Must-Support: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Task.input

 

Other representations of profile: CSV, Excel, Schematron