Specialty Medication Enrollment
2.0.0 - STU2 US United States of America flag

This page is part of the Specialty Medication Enrollment (v2.0.0: STU2) based on FHIR 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: Specialty Rx Task - SMART Launch

Official URL: http://hl7.org/fhir/us/specialty-rx/StructureDefinition/specialty-rx-task-smart-launch Version: 2.0.0
Active as of 2021-03-02 Computable Name: SpecialtyRxTaskSmartLaunch

This profile defines Task content enabling a pharmacy or other external party to prompt clinic staff to launch a SMART app and answer prescription-related questions.

This profile ensures that the Task conveys the information that the EHR needs to…

  • recognize the pharmacy or other party submitting the request
  • associate the request with the patient and prescription
  • place the task into the appropriate work queue
  • display a description of the task to the user, and
  • launch the requested SMART application into the appropriate context (e.g., the questions staff need to answer)

Important elements in this profile

  • Task.identifier
    • Represents the application context that the SMART app should launch into. It is conveyed during launch of the referenced SMART app in the __appContext parameter
  • Task.code
    • Characterizes the requested user action (and directs the EHR to make the specified SMART application available for the user to launch)
  • Task.description
    • User-directed text describing the task to be performed
  • Task.for
    • Reference to the patient resource that resides in the Data Source system
  • Task.requester
    • The organization submitting the Task
  • Task.owner
    • The prescriber
  • Task.reasonReference
    • The prescription to which the task pertains
  • Task.input
    • The client ID of the SMART app to be launched
    • Task.input.type: “smart-app-client-id”
    • Task.input.valueIdentifier: (the SMART app’s identifier)

Using Task elements when launching the SMART application

The Task.identifier value (representing application context associated with the Task) is shared during SMART app launch within the __appContext parameter of the OAuth 2.0 access token response. It is conveyed in the __appContext parameter.

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..*TaskA task to be performed
... id S1..1idLogical id of this artifact
... Slices for identifier S1..*IdentifierTask Instance Identifier
Slice: Unordered, Open by pattern:$this
.... identifier:appContext S1..1IdentifierSMART App Context ID
Required Pattern: At least the following
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: app-context
..... type S1..1CodeableConceptDescription of identifier
..... system S1..1uriThe namespace for the identifier value
..... value S1..1stringThe value that is unique
... intent S1..1codeunknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Fixed Value: plan
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: complete-app-questionnaire
..... display1..1stringRepresentation defined by the system
Fixed Value: Complete Questionnaire in SMART App
... description S1..1stringHuman-readable explanation of task
... for S1..1Reference(US Core Patient Profile)Related Patient in Data Source
... authoredOn S1..1dateTimeTask Creation Date
... requester SC1..1Reference(US Core Organization Profile)Who is asking for task to be done
srx-2: Either requester.reference or requester.identifier SHALL be present
.... reference S0..1stringLiteral reference, Relative, internal or absolute URL
.... Slices for identifier S0..1IdentifierLogical reference, when literal reference is not known
Slice: Unordered, Open by pattern:$this
..... identifier:pharmacyNcpdpId S0..1IdentifierThe pharmacy's NCPDP Provider ID
Required Pattern: At least the following
...... system1..1uriThe namespace for the identifier value
Fixed Value: http://terminology.hl7.org/CodeSystem/NCPDPProviderIdentificationNumber
...... value S1..1stringThe value that is unique
..... identifier:NPI S0..1IdentifierNational Provider Identifier (NPI)
Required Pattern: At least the following
...... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
...... value S1..1stringThe value that is unique
... owner SC1..1Reference(Practitioner)Prescriber
srx-3: Either owner.reference or owner.identifier SHALL be present
.... reference S0..1stringPrescriber Reference
.... identifier S0..1IdentifierLogical reference, when literal reference is not known
Required Pattern: At least the following
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
..... value S1..1stringThe value that is unique
... reasonReference SC0..1Reference(MedicationRequest)Related Prescription
srx-1: If Task.reasonReference is present, either reference or identifier SHOULD be present. If reasonReference.identifier is present, it SHALL be the placer order ID
.... reference S0..1stringPrescription Reference
.... identifier S0..1IdentifierPlacer Order Number
Required Pattern: At least the following
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PLAC
..... value S1..1stringThe value that is unique
.... display S0..1stringText alternative for the resource
... Slices for input S1..*BackboneElementInformation used to perform task
Slice: Unordered, Open by pattern:type
.... input:SmartClientId S1..1BackboneElementSMART App Client ID
..... type S1..1CodeableConceptLabel for the input
Binding: Specialty Rx Value Set - Task Input Type (required): This value set contains Task.input types used in the Specialty Rx Task profiles


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: smart-app-client-id
....... display1..1stringRepresentation defined by the system
Fixed Value: SMART Application Client ID
..... valueIdentifier S1..1IdentifierSMART App Client ID
.... input:SmartLaunchUrl S0..1BackboneElementSmart App Launch URL
..... type S1..1CodeableConceptLabel for the input
Binding: Specialty Rx Value Set - Task Input Type (required): This value set contains Task.input types used in the Specialty Rx Task profiles


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: smart-app-launch-url
....... display1..1stringRepresentation defined by the system
Fixed Value: SMART Application Launch URL
..... valueUrl S1..1urlSMART launch URL

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet / Code
Task.coderequiredPattern: complete-app-questionnaire("Complete Questionnaire in SMART App")
Task.input:SmartClientId.typerequiredPattern: smart-app-client-id("SMART Application Client ID")
Task.input:SmartLaunchUrl.typerequiredPattern: smart-app-launch-url("SMART Application Launch URL")

Constraints

IdGradePath(s)DetailsRequirements
srx-1warningTask.reasonReferenceIf Task.reasonReference is present, either reference or identifier SHOULD be present. If reasonReference.identifier is present, it SHALL be the placer order ID
: reference.exists() or identifier.exists()
srx-2errorTask.requesterEither requester.reference or requester.identifier SHALL be present
: reference.exists() or identifier.exists()
srx-3errorTask.ownerEither owner.reference or owner.identifier SHALL be present
: reference.exists() or identifier.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C0..*TaskA task to be performed
... id SΣ1..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... identifier:appContext S1..1IdentifierSMART App Context ID

Required Pattern: At least the following
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: app-context
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣ1..1stringThe value that is unique
Example General: 123456
... status ?!Σ1..1codedraft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.

... intent SΣ1..1codeunknown | 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: plan
... code SΣ1..1CodeableConceptTask Type
Binding: Specialty Rx Value Set - Task Type (required): Task types used in the Specialty Rx workflow


Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: complete-app-questionnaire
..... display1..1stringRepresentation defined by the system
Fixed Value: Complete Questionnaire in SMART App
... description SΣ1..1stringHuman-readable explanation of task
... for SΣ1..1Reference(US Core Patient Profile)Related Patient in Data Source
... authoredOn SC1..1dateTimeTask Creation Date
... requester SΣC1..1Reference(US Core Organization Profile)Who is asking for task to be done
srx-2: Either requester.reference or requester.identifier SHALL be present
.... reference SΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... Slices for identifier SΣ0..1IdentifierLogical reference, when literal reference is not known
Slice: Unordered, Open by pattern:$this
..... identifier:pharmacyNcpdpId SΣ0..1IdentifierThe pharmacy's NCPDP Provider ID
Required Pattern: At least the following
...... system1..1uriThe namespace for the identifier value
Fixed Value: http://terminology.hl7.org/CodeSystem/NCPDPProviderIdentificationNumber
...... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

...... value SΣ1..1stringThe value that is unique
Example General: 123456
..... identifier:NPI SΣ0..1IdentifierNational Provider Identifier (NPI)
Required Pattern: At least the following
...... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
...... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

...... value SΣ1..1stringThe value that is unique
Example General: 123456
... owner SΣC1..1Reference(Practitioner)Prescriber
srx-3: Either owner.reference or owner.identifier SHALL be present
.... reference SΣC0..1stringPrescriber Reference
.... identifier SΣ0..1IdentifierLogical reference, when literal reference is not known
Required Pattern: At least the following
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value SΣ1..1stringThe value that is unique
Example General: 123456
... reasonReference SC0..1Reference(MedicationRequest)Related Prescription
srx-1: If Task.reasonReference is present, either reference or identifier SHOULD be present. If reasonReference.identifier is present, it SHALL be the placer order ID
.... reference SΣC0..1stringPrescription Reference
.... identifier SΣ0..1IdentifierPlacer Order Number
Required Pattern: At least the following
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PLAC
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value SΣ1..1stringThe value that is unique
Example General: 123456
.... display SΣ0..1stringText alternative for the resource
... Slices for input S1..*BackboneElementInformation used to perform task
Slice: Unordered, Open by pattern:type
.... input:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptLabel 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..1Content to use in performing the task
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... 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
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... input:SmartClientId S1..1BackboneElementSMART App Client ID
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type S1..1CodeableConceptLabel for the input
Binding: Specialty Rx Value Set - Task Input Type (required): This value set contains Task.input types used in the Specialty Rx Task profiles


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: smart-app-client-id
....... display1..1stringRepresentation defined by the system
Fixed Value: SMART Application Client ID
..... value[x] S1..1IdentifierSMART App Client ID
.... input:SmartLaunchUrl S0..1BackboneElementSmart App Launch URL
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type S1..1CodeableConceptLabel for the input
Binding: Specialty Rx Value Set - Task Input Type (required): This value set contains Task.input types used in the Specialty Rx Task profiles


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: smart-app-launch-url
....... display1..1stringRepresentation defined by the system
Fixed Value: SMART Application Launch URL
..... value[x] S1..1urlSMART launch URL

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Task.identifier:appContext.userequiredIdentifierUse
Task.identifier:appContext.typeextensibleIdentifier Type Codes
Task.statusrequiredTaskStatus
Task.intentrequiredFixed Value: plan
Task.coderequiredPattern: complete-app-questionnaire("Complete Questionnaire in SMART App")
Task.requester.identifier:pharmacyNcpdpId.userequiredIdentifierUse
Task.requester.identifier:NPI.userequiredIdentifierUse
Task.owner.identifier.userequiredIdentifierUse
Task.reasonReference.identifier.userequiredIdentifierUse
Task.input.typeexample
Task.input:SmartClientId.typerequiredPattern: smart-app-client-id("SMART Application Client ID")
Task.input:SmartLaunchUrl.typerequiredPattern: smart-app-launch-url("SMART Application Launch URL")

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
srx-1warningTask.reasonReferenceIf Task.reasonReference is present, either reference or identifier SHOULD be present. If reasonReference.identifier is present, it SHALL be the placer order ID
: reference.exists() or identifier.exists()
srx-2errorTask.requesterEither requester.reference or requester.identifier SHALL be present
: reference.exists() or identifier.exists()
srx-3errorTask.ownerEither owner.reference or owner.identifier SHALL be present
: reference.exists() or identifier.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Task C0..*TaskA task to be performed
... id SΣ1..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier S1..*IdentifierTask Instance Identifier
Slice: Unordered, Open by pattern:$this
.... identifier:appContext S1..1IdentifierSMART App Context ID

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: app-context
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... system0..1uriThe namespace for the identifier value
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... instantiatesCanonical Σ0..1canonical(ActivityDefinition)Formal definition of task
... instantiatesUri Σ0..1uriFormal definition of task
... basedOn Σ0..*Reference(Resource)Request fulfilled by this task
... groupIdentifier Σ0..1IdentifierRequisition or grouper id
... partOf Σ0..*Reference(Task)Composite task
... status ?!Σ1..1codedraft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.

... statusReason Σ0..1CodeableConceptReason 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..1CodeableConceptE.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..1codeunknown | 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: plan
... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): The task's priority.

... code SΣ1..1CodeableConceptTask Type
Binding: Specialty Rx Value Set - Task Type (required): Task types used in the Specialty Rx workflow


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: complete-app-questionnaire
..... display1..1stringRepresentation defined by the system
Fixed Value: Complete Questionnaire in SMART App
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... description SΣ1..1stringHuman-readable explanation of task
... focus Σ0..1Reference(Resource)What task is acting on
... for SΣ1..1Reference(US Core Patient Profile)Related Patient in Data Source
... encounter Σ0..1Reference(Encounter)Healthcare event during which this task originated
... executionPeriod Σ0..1PeriodStart and end time of execution
... authoredOn SC1..1dateTimeTask Creation Date
... lastModified ΣC0..1dateTimeTask Last Modified Date
... requester SΣC1..1Reference(US Core Organization Profile)Who is asking for task to be done
srx-2: Either requester.reference or requester.identifier SHALL be present
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... Slices for identifier SΣ0..1IdentifierLogical reference, when literal reference is not known
Slice: Unordered, Open by pattern:$this
..... identifier:pharmacyNcpdpId SΣ0..1IdentifierThe pharmacy's NCPDP Provider ID
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... use0..1codeusual | official | temp | secondary | old (If known)
...... type0..1CodeableConceptDescription of identifier
...... system1..1uriThe namespace for the identifier value
Fixed Value: http://terminology.hl7.org/CodeSystem/NCPDPProviderIdentificationNumber
...... value0..1stringThe value that is unique
...... period0..1PeriodTime period when id is/was valid for use
...... assigner0..1Reference(Organization)Organization that issued id (may be just text)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

...... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
...... value SΣ1..1stringThe value that is unique
Example General: 123456
...... period Σ0..1PeriodTime period when id is/was valid for use
...... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
..... identifier:NPI SΣ0..1IdentifierNational Provider Identifier (NPI)
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... use0..1codeusual | official | temp | secondary | old (If known)
...... type0..1CodeableConceptDescription of identifier
...... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
...... value0..1stringThe value that is unique
...... period0..1PeriodTime period when id is/was valid for use
...... assigner0..1Reference(Organization)Organization that issued id (may be just text)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

...... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
...... value SΣ1..1stringThe value that is unique
Example General: 123456
...... period Σ0..1PeriodTime period when id is/was valid for use
...... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... display Σ0..1stringText alternative for the resource
... performerType 0..*CodeableConceptRequested performer
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.


... owner SΣC1..1Reference(Practitioner)Prescriber
srx-3: Either owner.reference or owner.identifier SHALL be present
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC0..1stringPrescriber Reference
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier SΣ0..1IdentifierLogical reference, when literal reference is not known
Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type0..1CodeableConceptDescription of identifier
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... display Σ0..1stringText alternative for the resource
... location Σ0..1Reference(Location)Where task occurs
... reasonCode 0..1CodeableConceptWhy task is needed
Binding: (unbound) (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.

... reasonReference SC0..1Reference(MedicationRequest)Related Prescription
srx-1: If Task.reasonReference is present, either reference or identifier SHOULD be present. If reasonReference.identifier is present, it SHALL be the placer order ID
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC0..1stringPrescription Reference
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier SΣ0..1IdentifierPlacer Order Number
Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PLAC
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... system0..1uriThe namespace for the identifier value
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... display SΣ0..1stringText alternative for the resource
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... note 0..*AnnotationComments made about the task
... relevantHistory 0..*Reference(Provenance)Key events in history of the Task
... restriction 0..1BackboneElementConstraints on fulfillment tasks
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... repetitions 0..1positiveIntHow many times to repeat
.... period 0..1PeriodWhen fulfillment sought
.... recipient 0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization)For whom is fulfillment sought?
... Slices for input S1..*BackboneElementInformation used to perform task
Slice: Unordered, Open by pattern:type
.... input:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptLabel 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..1Content to use in performing the task
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... 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
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... input:SmartClientId S1..1BackboneElementSMART App Client ID
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type S1..1CodeableConceptLabel for the input
Binding: Specialty Rx Value Set - Task Input Type (required): This value set contains Task.input types used in the Specialty Rx Task profiles


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: smart-app-client-id
....... display1..1stringRepresentation defined by the system
Fixed Value: SMART Application Client ID
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] S1..1IdentifierSMART App Client ID
.... input:SmartLaunchUrl S0..1BackboneElementSmart App Launch URL
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type S1..1CodeableConceptLabel for the input
Binding: Specialty Rx Value Set - Task Input Type (required): This value set contains Task.input types used in the Specialty Rx Task profiles


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/specialty-rx/CodeSystem/specialty-rx-task-characteristic
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: smart-app-launch-url
....... display1..1stringRepresentation defined by the system
Fixed Value: SMART Application Launch URL
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] S1..1urlSMART launch URL
... output 0..*BackboneElementInformation produced as part of task
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 1..1CodeableConceptLabel 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..1Result of output
..... valueBase64Binarybase64Binary
..... valueBooleanboolean
..... valueCanonicalcanonical(Any)
..... 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
..... valueReferenceReference(Any)
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueTimingTiming
..... valueContactDetailContactDetail
..... valueContributorContributor
..... valueDataRequirementDataRequirement
..... valueExpressionExpression
..... valueParameterDefinitionParameterDefinition
..... valueRelatedArtifactRelatedArtifact
..... valueTriggerDefinitionTriggerDefinition
..... valueUsageContextUsageContext
..... valueDosageDosage
..... valueMetaMeta

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Task.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Task.identifier:appContext.userequiredIdentifierUse
Task.identifier:appContext.typeextensibleIdentifier Type Codes
Task.statusrequiredTaskStatus
Task.statusReasonexample
Task.businessStatusexample
Task.intentrequiredFixed Value: plan
Task.priorityrequiredRequestPriority
Task.coderequiredPattern: complete-app-questionnaire("Complete Questionnaire in SMART App")
Task.requester.typeextensibleResourceType
Task.requester.identifier:pharmacyNcpdpId.userequiredIdentifierUse
Task.requester.identifier:pharmacyNcpdpId.typeextensibleIdentifier Type Codes
Task.requester.identifier:NPI.userequiredIdentifierUse
Task.requester.identifier:NPI.typeextensibleIdentifier Type Codes
Task.performerTypepreferredProcedurePerformerRoleCodes
Task.owner.typeextensibleResourceType
Task.owner.identifier.userequiredIdentifierUse
Task.owner.identifier.typeextensibleIdentifier Type Codes
Task.reasonCodeexample
Task.reasonReference.typeextensibleResourceType
Task.reasonReference.identifier.userequiredIdentifierUse
Task.reasonReference.identifier.typeextensibleIdentifier Type Codes
Task.input.typeexample
Task.input:SmartClientId.typerequiredPattern: smart-app-client-id("SMART Application Client ID")
Task.input:SmartLaunchUrl.typerequiredPattern: smart-app-launch-url("SMART Application Launch URL")
Task.output.typeexample

Constraints

IdGradePath(s)DetailsRequirements
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()
srx-1warningTask.reasonReferenceIf Task.reasonReference is present, either reference or identifier SHOULD be present. If reasonReference.identifier is present, it SHALL be the placer order ID
: reference.exists() or identifier.exists()
srx-2errorTask.requesterEither requester.reference or requester.identifier SHALL be present
: reference.exists() or identifier.exists()
srx-3errorTask.ownerEither owner.reference or owner.identifier SHALL be present
: reference.exists() or identifier.exists()