Specialty Medication Enrollment
2.0.0-ballot - STU 2 Ballot US

This page is part of the Specialty Medication Enrollment (v2.0.0-ballot: STU2 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: Specialty Rx Task - Consent Request

Official URL: http://hl7.org/fhir/us/specialty-rx/StructureDefinition/specialty-rx-task-consent-request Version: 2.0.0-ballot
Active as of 2021-12-20 Computable Name: SpecialtyRxTaskConsentRequest

This profile defines use of the Task resource to request that consent or authorization associated with prescribed product be obtained and made available to the requesting system.

This profile defines use of the Task resource to…

  • request that consent be obtained to support fulfillment of a prescribed specialty product
  • provide the appropriate consent form for the prescribed product

Important elements in this profile

  • Task.status: “requested”
  • Task.code: “obtain-consent”
    • Characterizes the requested user action (and directs the EHR to make the consent form referenced in Task.input available to the user)
  • Task.description
    • User-directed text describing the task to be performed
    • e.g., “Have the patient complete the attached consent form and capture a PDF of the signed form in a Consent”
  • 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
    • A reference to a Consent resource containing the consent form that is appropriate for the prescribed product
    • Task.input.type: “consent-form-reference”
    • Task.input.valueReference: reference to the blank consent form
  • Task.output (populated when the Task status is set to “completed”)
    • A reference to a Consent resource containing a consent form that has been completed
    • Task.output.type: “completed-consent-reference”
    • Task.output.valueReference: reference to the completed consent form

Usage:

Formal Views of Profile Content

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

This structure is derived from Task

Summary

Mandatory: 11 elements (5 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Task.requester.identifier is sliced based on the value of pattern:$this
  • The element Task.input is sliced based on the value of pattern:type
  • The element Task.output is sliced based on the value of pattern:type

This structure is derived from Task

This structure is derived from Task

Summary

Mandatory: 11 elements (5 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Task.requester.identifier is sliced based on the value of pattern:$this
  • The element Task.input is sliced based on the value of pattern:type
  • The element Task.output is sliced based on the value of pattern:type

Differential View

This structure is derived from Task

Snapshot View

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Task.languagepreferredCommonLanguages
Max Binding: AllLanguages
Task.statusrequiredTaskStatus
Task.statusReasonexample
Task.businessStatusexample
Task.intentrequiredFixed Value: plan
Task.priorityrequiredRequestPriority
Task.coderequiredPattern: obtain-consent
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:ConsentFormReference.typerequiredPattern: consent-form-reference
Task.output.typeexample
Task.output:CompletedConsent.typerequiredPattern: completed-consent-reference

Constraints

IdGradePathDetailsRequirements
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()
inv-1errorTaskLast modified date must be greater than or equal to authored-on date.
: lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
ele-1errorTask.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.groupIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.businessStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.intentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.forAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.executionPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.authoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.lastModifiedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
srx-2errorTask.requesterEither requester.reference or requester.identifier SHALL be present
: reference.exists() or identifier.exists()
ele-1errorTask.requester.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.requester.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.requester.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpId.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.requester.identifier:pharmacyNcpdpId.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.requester.identifier:pharmacyNcpdpId.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpId.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpId.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpId.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpId.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:pharmacyNcpdpId.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPIAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPI.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.requester.identifier:NPI.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.requester.identifier:NPI.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPI.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPI.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPI.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPI.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.identifier:NPI.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.requester.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.performerTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.ownerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
srx-3errorTask.ownerEither owner.reference or owner.identifier SHALL be present
: reference.exists() or identifier.exists()
ele-1errorTask.owner.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.owner.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.owner.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.owner.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.owner.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.owner.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1errorTask.reasonReference.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.reasonReference.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.reasonReference.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.reasonReference.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.reasonReference.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.reasonReference.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.insuranceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.relevantHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.restrictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.restriction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.restriction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.restriction.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.restriction.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.restriction.repetitionsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.restriction.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.restriction.recipientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.inputAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.input.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.input.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.input.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.input.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.input.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.input.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.input:ConsentFormReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.input:ConsentFormReference.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.input:ConsentFormReference.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.input:ConsentFormReference.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.input:ConsentFormReference.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.input:ConsentFormReference.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.input:ConsentFormReference.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.outputAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.output.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.output.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.output.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.output.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.output.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.output.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.output:CompletedConsentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.output:CompletedConsent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.output:CompletedConsent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.output:CompletedConsent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorTask.output:CompletedConsent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorTask.output:CompletedConsent.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorTask.output:CompletedConsent.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())