Specialty Medication Enrollment
2.1.0 - CI Build United States of America flag

Specialty Medication Enrollment, published by HL7 International - Pharmacy. This is not an authorized publication; it is the continuous build for version 2.1.0). This version is based on the current content of https://github.com/HL7/fhir-specialty-rx/ and changes regularly. See the Directory of published versions

Resource Profile: Specialty Rx Consent Requested

Official URL: http://hl7.org/fhir/us/specialty-rx/StructureDefinition/specialty-rx-consent-requested Version: 2.1.0
Active as of 2021-12-08 Computable Name: SpecialtyRxConsentRequested

This profile constrains a Consent resource to convey a request for consents and authorizations associated with fulfillment of a specialty medication or other product. This Consent includes an attachment containing the enrollment consent form applicable to the prescribed product

Usage:

Formal Views of Profile Content

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

This structure is derived from Consent

Terminology Bindings

PathConformanceValueSet / Code
Consent.statusrequiredFixed Value: proposed
Consent.scopeextensibleConsentScopeCodes
Consent.categoryextensibleConsentCategoryCodes
Consent.source[x]:sourceAttachment.contentTyperequiredFixed Value: application/pdf
Consent.policyRuleextensibleFixed Value: OPTIN("opt-in")

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConsentIf 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-4errorConsentIf 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-5errorConsentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConsentA 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()
ppc-1errorConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ppc-2errorConsentIF Scope=privacy, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3errorConsentIF Scope=research, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4errorConsentIF Scope=adr, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5errorConsentIF Scope=treatment, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Consent.statusrequiredFixed Value: proposed
Consent.scopeextensibleConsentScopeCodes
Consent.categoryextensibleConsentCategoryCodes
Consent.source[x]:sourceAttachment.contentTyperequiredFixed Value: application/pdf
Consent.source[x]:sourceAttachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Consent.policyRuleextensibleFixed Value: OPTIN("opt-in")
Consent.provision.typerequiredConsentProvisionType
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.classextensibleConsentContentClass
Consent.provision.codeexampleConsentContentCodes (a valid code from LOINC)
Consent.provision.data.meaningrequiredConsentDataMeaning

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

This structure is derived from Consent

Summary

Mandatory: 3 elements
Must-Support: 6 elements
Fixed Value: 3 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Consent

Key Elements View

Terminology Bindings

PathConformanceValueSet / Code
Consent.statusrequiredFixed Value: proposed
Consent.scopeextensibleConsentScopeCodes
Consent.categoryextensibleConsentCategoryCodes
Consent.source[x]:sourceAttachment.contentTyperequiredFixed Value: application/pdf
Consent.policyRuleextensibleFixed Value: OPTIN("opt-in")

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConsentIf 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-4errorConsentIf 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-5errorConsentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConsentA 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()
ppc-1errorConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ppc-2errorConsentIF Scope=privacy, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3errorConsentIF Scope=research, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4errorConsentIF Scope=adr, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5errorConsentIF Scope=treatment, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

Snapshot View

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Consent.statusrequiredFixed Value: proposed
Consent.scopeextensibleConsentScopeCodes
Consent.categoryextensibleConsentCategoryCodes
Consent.source[x]:sourceAttachment.contentTyperequiredFixed Value: application/pdf
Consent.source[x]:sourceAttachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Consent.policyRuleextensibleFixed Value: OPTIN("opt-in")
Consent.provision.typerequiredConsentProvisionType
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.classextensibleConsentContentClass
Consent.provision.codeexampleConsentContentCodes (a valid code from LOINC)
Consent.provision.data.meaningrequiredConsentDataMeaning

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

This structure is derived from Consent

Summary

Mandatory: 3 elements
Must-Support: 6 elements
Fixed Value: 3 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron