HL7 FHIR Implementation Guide: Rwanda HIV
0.1.0 - STU1 International flag

HL7 FHIR Implementation Guide: Rwanda HIV, published by Jembi Health Systems. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/openhie/Rwanda-HIV and changes regularly. See the Directory of published versions

Resource Profile: Receive SMS Messages Consent

Official URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/receive-sms-messages Version: 0.1.0
Active as of 2023-09-15 Computable Name: ReceiveSMSMessages

Represents a patient’s consent to receive Short Message Service (SMS) messages.

Usage:

Formal Views of Profile Content

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

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's or third party's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... category 0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
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://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 89057-4
.... text 0..1stringPlain text representation of the concept
Required Pattern: Patient consent for SMS messages
... subject 1..1Reference(Patient)Who the consent applies to
... decision 1..1codedeny | permit

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's or third party's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... category Σ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (example): A classification of the type of consents found in a consent statement.



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://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 89057-4
.... text Σ0..1stringPlain text representation of the concept
Required Pattern: Patient consent for SMS messages
... subject Σ1..1Reference(Patient)Who the consent applies to
... decision ?!Σ1..1codedeny | permit
Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.statusrequiredConsentState
Consent.categoryexamplePattern: LOINC code 89057-4
Consent.decisionrequiredConsentProvisionType

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's or third party's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... 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
... identifier Σ0..*IdentifierIdentifier for this record (external references)
... status ?!Σ1..1codedraft | active | inactive | not-done | entered-in-error | unknown
Binding: ConsentState (required): Indicates the state of the consent.

... category Σ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (example): A classification of the type of consents found in a consent statement.



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://loinc.org
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 89057-4
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ0..1stringPlain text representation of the concept
Required Pattern: Patient consent for SMS messages
... subject Σ1..1Reference(Patient)Who the consent applies to
... date Σ0..1dateFully executed date of the consent
... period Σ0..1PeriodEffective period for this Consent
... grantor Σ0..*Reference(CareTeam | HealthcareService | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Who is granting rights according to the policy and rules
... grantee Σ0..*Reference(CareTeam | HealthcareService | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Who is agreeing to the policy and rules
... manager 0..*Reference(HealthcareService | Organization | Patient | Practitioner)Consent workflow management
... controller 0..*Reference(HealthcareService | Organization | Patient | Practitioner)Consent Enforcer
... sourceAttachment 0..*AttachmentSource from which this consent is taken
... sourceReference 0..*Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)Source from which this consent is taken
... regulatoryBasis 0..*CodeableConceptRegulations establishing base Consent
Binding: ConsentPolicyRuleCodes (example): Regulatory policy examples


... policyBasis 0..1BackboneElementComputable version of the backing policy
.... 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
.... reference 0..1Reference(Resource)Reference backing policy resource
.... url 0..1urlURL to a computable backing policy
... policyText 0..*Reference(DocumentReference)Human Readable Policy
... verification Σ0..*BackboneElementConsent Verified by patient or family
.... 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
.... verified Σ1..1booleanHas been verified
.... verificationType 0..1CodeableConceptBusiness case of verification
Binding: ConsentVerificationCodes (example): Types of Verification/Validation.

.... verifiedBy 0..1Reference(Organization | Practitioner | PractitionerRole)Person conducting verification
.... verifiedWith 0..1Reference(Patient | RelatedPerson)Person who verified
.... verificationDate 0..*dateTimeWhen consent verified
... decision ?!Σ1..1codedeny | permit
Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level.

... provision Σ0..*BackboneElementConstraints to the base Consent.policyRule/Consent.policy
.... 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
.... period Σ0..1PeriodTimeframe for this provision
.... actor 0..*BackboneElementWho|what controlled by this provision (or group, by role)
..... 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
..... role 0..1CodeableConceptHow the actor is involved
Binding: ParticipationRoleType (extensible): How an actor is involved in the consent considerations.

..... reference 0..1Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Resource for the actor (or group, by role)
.... action Σ0..*CodeableConceptActions controlled by this provision
Binding: ConsentActionCodes (example): Detailed codes for the consent action.


.... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: SecurityLabelExamples (example): Example Security Labels from the Healthcare Privacy and Security Classification System.


.... purpose Σ0..*CodingContext of activities covered by this provision
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.


.... documentType Σ0..*Codinge.g. Resource Type, Profile, CDA, etc
Binding: ConsentContentClass (preferred): The document type a consent provision covers.


.... resourceType Σ0..*Codinge.g. Resource Type, Profile, etc
Binding: ResourceType (extensible): The resource types a consent provision covers.


.... code Σ0..*CodeableConcepte.g. LOINC or SNOMED CT code, etc. in the content
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.


.... dataPeriod Σ0..1PeriodTimeframe for data controlled by this provision
.... data Σ0..*BackboneElementData controlled by this provision
..... 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
..... meaning Σ1..1codeinstance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.

..... reference Σ1..1Reference(Resource)The actual data reference
.... expression 0..1ExpressionA computable expression of the consent
.... provision 0..*See provision (Consent)Nested Exception Provisions

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagerequiredAllLanguages
Consent.statusrequiredConsentState
Consent.categoryexamplePattern: LOINC code 89057-4
Consent.regulatoryBasisexampleConsentPolicyRuleCodes
Consent.verification.verificationTypeexampleConsentVerificationCodes
Consent.decisionrequiredConsentProvisionType
Consent.provision.actor.roleextensibleParticipationRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelexampleSecurityLabelExamples
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.documentTypepreferredConsentContentClass
Consent.provision.resourceTypeextensibleResourceType
Consent.provision.codeexampleConsentContentCodes
Consent.provision.data.meaningrequiredConsentDataMeaning

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

This structure is derived from Consent

Summary

Mandatory: 2 elements

Differential View

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's or third party's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... category 0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
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://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 89057-4
.... text 0..1stringPlain text representation of the concept
Required Pattern: Patient consent for SMS messages
... subject 1..1Reference(Patient)Who the consent applies to
... decision 1..1codedeny | permit

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's or third party's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... category Σ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (example): A classification of the type of consents found in a consent statement.



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://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 89057-4
.... text Σ0..1stringPlain text representation of the concept
Required Pattern: Patient consent for SMS messages
... subject Σ1..1Reference(Patient)Who the consent applies to
... decision ?!Σ1..1codedeny | permit
Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.statusrequiredConsentState
Consent.categoryexamplePattern: LOINC code 89057-4
Consent.decisionrequiredConsentProvisionType

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's or third party's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... 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
... identifier Σ0..*IdentifierIdentifier for this record (external references)
... status ?!Σ1..1codedraft | active | inactive | not-done | entered-in-error | unknown
Binding: ConsentState (required): Indicates the state of the consent.

... category Σ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (example): A classification of the type of consents found in a consent statement.



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://loinc.org
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 89057-4
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ0..1stringPlain text representation of the concept
Required Pattern: Patient consent for SMS messages
... subject Σ1..1Reference(Patient)Who the consent applies to
... date Σ0..1dateFully executed date of the consent
... period Σ0..1PeriodEffective period for this Consent
... grantor Σ0..*Reference(CareTeam | HealthcareService | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Who is granting rights according to the policy and rules
... grantee Σ0..*Reference(CareTeam | HealthcareService | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Who is agreeing to the policy and rules
... manager 0..*Reference(HealthcareService | Organization | Patient | Practitioner)Consent workflow management
... controller 0..*Reference(HealthcareService | Organization | Patient | Practitioner)Consent Enforcer
... sourceAttachment 0..*AttachmentSource from which this consent is taken
... sourceReference 0..*Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)Source from which this consent is taken
... regulatoryBasis 0..*CodeableConceptRegulations establishing base Consent
Binding: ConsentPolicyRuleCodes (example): Regulatory policy examples


... policyBasis 0..1BackboneElementComputable version of the backing policy
.... 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
.... reference 0..1Reference(Resource)Reference backing policy resource
.... url 0..1urlURL to a computable backing policy
... policyText 0..*Reference(DocumentReference)Human Readable Policy
... verification Σ0..*BackboneElementConsent Verified by patient or family
.... 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
.... verified Σ1..1booleanHas been verified
.... verificationType 0..1CodeableConceptBusiness case of verification
Binding: ConsentVerificationCodes (example): Types of Verification/Validation.

.... verifiedBy 0..1Reference(Organization | Practitioner | PractitionerRole)Person conducting verification
.... verifiedWith 0..1Reference(Patient | RelatedPerson)Person who verified
.... verificationDate 0..*dateTimeWhen consent verified
... decision ?!Σ1..1codedeny | permit
Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level.

... provision Σ0..*BackboneElementConstraints to the base Consent.policyRule/Consent.policy
.... 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
.... period Σ0..1PeriodTimeframe for this provision
.... actor 0..*BackboneElementWho|what controlled by this provision (or group, by role)
..... 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
..... role 0..1CodeableConceptHow the actor is involved
Binding: ParticipationRoleType (extensible): How an actor is involved in the consent considerations.

..... reference 0..1Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Resource for the actor (or group, by role)
.... action Σ0..*CodeableConceptActions controlled by this provision
Binding: ConsentActionCodes (example): Detailed codes for the consent action.


.... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: SecurityLabelExamples (example): Example Security Labels from the Healthcare Privacy and Security Classification System.


.... purpose Σ0..*CodingContext of activities covered by this provision
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.


.... documentType Σ0..*Codinge.g. Resource Type, Profile, CDA, etc
Binding: ConsentContentClass (preferred): The document type a consent provision covers.


.... resourceType Σ0..*Codinge.g. Resource Type, Profile, etc
Binding: ResourceType (extensible): The resource types a consent provision covers.


.... code Σ0..*CodeableConcepte.g. LOINC or SNOMED CT code, etc. in the content
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.


.... dataPeriod Σ0..1PeriodTimeframe for data controlled by this provision
.... data Σ0..*BackboneElementData controlled by this provision
..... 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
..... meaning Σ1..1codeinstance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.

..... reference Σ1..1Reference(Resource)The actual data reference
.... expression 0..1ExpressionA computable expression of the consent
.... provision 0..*See provision (Consent)Nested Exception Provisions

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagerequiredAllLanguages
Consent.statusrequiredConsentState
Consent.categoryexamplePattern: LOINC code 89057-4
Consent.regulatoryBasisexampleConsentPolicyRuleCodes
Consent.verification.verificationTypeexampleConsentVerificationCodes
Consent.decisionrequiredConsentProvisionType
Consent.provision.actor.roleextensibleParticipationRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelexampleSecurityLabelExamples
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.documentTypepreferredConsentContentClass
Consent.provision.resourceTypeextensibleResourceType
Consent.provision.codeexampleConsentContentCodes
Consent.provision.data.meaningrequiredConsentDataMeaning

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

This structure is derived from Consent

Summary

Mandatory: 2 elements

 

Other representations of profile: CSV, Excel, Schematron