US Medication Risk Evaluation and Mitigation Strategies (REMS) FHIR IG
1.0.0-ballot - STU1 Ballot United States of America flag

US Medication Risk Evaluation and Mitigation Strategies (REMS) FHIR IG, published by HL7 International / Pharmacy. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-medication-rems-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Medication REMS Task - SMART Launch

Official URL: http://hl7.org/fhir/us/medication-rems/StructureDefinition/medication-rems-task-smart-launch Version: 1.0.0-ballot
Active as of 2024-03-10 Computable Name: MedicationRemsTaskSmartLaunch

This profile defines a Task to be returned in a REMS Administrator’s CDS Hooks response - enabling the provider or staff to launch a SMART app from their work queue.

Important elements in this profile:

  • Task.code
    • The value, launch-app-ehr defines this task as one that places the specified SMART app in the provider’s work queue
  • Task.for
    • Patient reference that SHOULD be populated if the requested use of the SMART app is related to a particular patient
  • Task.requester
    • The organization requesting that this task be performed SHOULD be provided
  • Task.owner
    • A reference to the provider in whose work queue to add the SMART app launch task SHOULD be populated
  • Task.reasonReference
    • The medication request for the REMS drug that this task relates to SHOULD be populated if this task is related to a specific prescription
  • Input.type = smartonfhir-application
    • Indicates that this input holds the URL of the SMART app to be launched
  • Input.type = smartonfhir-appcontext
    • Indicates that this input holds app context information to be used by the SMART application. This content will be included as appContext in the token response as is specified here in the CDS Hooks specification

Usage:

Formal Views of Profile Content

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

This structure is derived from TaskEhrLaunch

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task 0..* TaskEhrLaunch A task to be performed
... id S 1..1 id Logical id of this artifact
... intent S 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Fixed Value: proposal
... for S 0..1 Reference(Resource) Related Patient in the provider system
... requester S 0..1 Reference(Organization) Who is asking for task to be done
... owner S 0..1 Reference(Practitioner) Provider
... reasonReference S 0..1 Reference(MedicationRequest) Related medication request
.... reference S 1..1 string MedicationRequest reference

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C 0..* TaskEhrLaunch A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... id SΣ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... intent SΣ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.


Fixed Value: proposal
... 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
... for SΣ 0..1 Reference(Resource) Related Patient in the provider system
... authoredOn SC 1..1 dateTime Task Creation Date
... requester SΣ 0..1 Reference(Organization) Who is asking for task to be done
... owner SΣ 0..1 Reference(Practitioner) Provider
... reasonReference S 0..1 Reference(MedicationRequest) Related medication request
.... reference SΣC 1..1 string MedicationRequest reference
... 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
..... Slices for value[x] 1..1 url Content to use in performing the task
Slice: Unordered, Closed by type:$this
...... value[x]:valueUrl 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.intentrequiredFixed Value: proposal
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
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..* TaskEhrLaunch A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... id SΣ 1..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 SΣ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.


Fixed Value: proposal
... 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 SΣ 0..1 Reference(Resource) Related Patient in the provider system
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... executionPeriod Σ 0..1 Period Start and end time of execution
... authoredOn SC 1..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester SΣ 0..1 Reference(Organization) Who is asking for task to be done
... performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.


... owner SΣ 0..1 Reference(Practitioner) Provider
... 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 S 0..1 Reference(MedicationRequest) Related medication request
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 1..1 string MedicationRequest reference
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... 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
..... Slices for value[x] 1..1 url Content to use in performing the task
Slice: Unordered, Closed by type:$this
...... value[x]:valueUrl 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.intentrequiredFixed Value: proposal
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
Task.performerTypepreferredProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
Task.reasonCodeexample
Task.reasonReference.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
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 TaskEhrLaunch

Summary

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

Differential View

This structure is derived from TaskEhrLaunch

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task 0..* TaskEhrLaunch A task to be performed
... id S 1..1 id Logical id of this artifact
... intent S 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Fixed Value: proposal
... for S 0..1 Reference(Resource) Related Patient in the provider system
... requester S 0..1 Reference(Organization) Who is asking for task to be done
... owner S 0..1 Reference(Practitioner) Provider
... reasonReference S 0..1 Reference(MedicationRequest) Related medication request
.... reference S 1..1 string MedicationRequest reference

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C 0..* TaskEhrLaunch A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... id SΣ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... intent SΣ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.


Fixed Value: proposal
... 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
... for SΣ 0..1 Reference(Resource) Related Patient in the provider system
... authoredOn SC 1..1 dateTime Task Creation Date
... requester SΣ 0..1 Reference(Organization) Who is asking for task to be done
... owner SΣ 0..1 Reference(Practitioner) Provider
... reasonReference S 0..1 Reference(MedicationRequest) Related medication request
.... reference SΣC 1..1 string MedicationRequest reference
... 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
..... Slices for value[x] 1..1 url Content to use in performing the task
Slice: Unordered, Closed by type:$this
...... value[x]:valueUrl 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.intentrequiredFixed Value: proposal
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
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..* TaskEhrLaunch A task to be performed
inv-1: Last modified date must be greater than or equal to authored-on date.
... id SΣ 1..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 SΣ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.


Fixed Value: proposal
... 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 SΣ 0..1 Reference(Resource) Related Patient in the provider system
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... executionPeriod Σ 0..1 Period Start and end time of execution
... authoredOn SC 1..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester SΣ 0..1 Reference(Organization) Who is asking for task to be done
... performerType 0..* CodeableConcept Requested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.


... owner SΣ 0..1 Reference(Practitioner) Provider
... 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 S 0..1 Reference(MedicationRequest) Related medication request
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 1..1 string MedicationRequest reference
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... 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