Da Vinci Health Record Exchange (HRex)
1.1.0 - STU 1.1 United States of America flag

Da Vinci Health Record Exchange (HRex), published by HL7 International / Clinical Interoperability Council. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-ehrx/ and changes regularly. See the Directory of published versions

Resource Profile: HRex Consent Profile

Official URL: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-consent Version: 1.1.0
Standards status: Draft Maturity Level: 0 Computable Name: HRexConsent
Other Identifiers: OID:2.16.840.1.113883.4.642.40.19.42.6

The HRex Consent Profile defines the constraints for representing a member's consent to the sharing of their healthcare information to other organizations.

Consent allows sharing the fact that a patient has authorized the sharing of data between two participants. Sharing the existence of consent is often a pre-requisite to being able to share information. This profile is intended only for use by the $member-match operation and is scoped to the types of consent relevant there (consent to share all information or only non-sensitive data). However, it can potentially also be used by other Da Vinci implementation guides if those consent types are appropriate and sufficient.

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..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... status S 1..1 code draft | proposed | active | rejected | inactive | entered-in-error
Fixed Value: active
... scope S 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: patient-privacy
... Slices for category 1..* CodeableConcept Classification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by value:$this
.... category:disclosure S 1..1 CodeableConcept Classification of the consent statement - for indexing/retrieval
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IDSCL
... performer S 1..1 Reference(US Core Patient Profile(6.1.0) | RelatedPerson | US Core Practitioner Profile(6.1.0) | HRex PractitionerRole Profile | HRex Organization Profile) Who is agreeing to the policy and rules
... source[x] S 1..1 Reference(DocumentReference) Source from which this consent is taken
... Slices for policy 1..* BackboneElement Policies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:hrex S 1..1 BackboneElement Policies covered by this consent
..... uri S 1..1 uri Specific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision S 1..1 BackboneElement Constraints to the base Consent.policyRule
.... type S 1..1 code deny | permit
Fixed Value: permit
.... period S 1..1 Period Timeframe for this rule
..... start S 1..1 dateTime Starting time with inclusive boundary
..... end S 1..1 dateTime End time with inclusive boundary, if not ongoing
.... Slices for actor 2..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by value:role
..... actor:source S 1..* BackboneElement Authorized to disclose
...... role S 1..1 CodeableConcept How the actor is involved
Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: performer
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
..... actor:recipient S 1..* BackboneElement Authorized to receive information
...... role S 1..1 CodeableConcept How the actor is involved
Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: IRCP
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
.... action 1..1 CodeableConcept Actions controlled by this rule
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: disclose
.... securityLabel 0..0
.... purpose 0..0
.... class 0..0
.... code 0..0
.... dataPeriod 0..0
.... data 0..0
.... provision 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Consent.policy:hrex.urirequiredHRexConsentPolicy
http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
ppc-1: Either a Policy or PolicyRule
ppc-2: IF Scope=privacy, there must be a patient
ppc-3: IF Scope=research, there must be a patient
ppc-4: IF Scope=adr, there must be a patient
ppc-5: IF Scope=treatment, there must be a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code draft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: patient-privacy
... Slices for category Σ 1..* CodeableConcept Classification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by value:$this
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


.... category:disclosure SΣ 1..1 CodeableConcept Classification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IDSCL
... patient SΣ 1..1 Reference(US Core Patient Profile(6.1.0)) Who the consent applies to
... performer SΣ 1..1 Reference(US Core Patient Profile(6.1.0) | RelatedPerson | US Core Practitioner Profile(6.1.0) | HRex PractitionerRole Profile | HRex Organization Profile) Who is agreeing to the policy and rules
... source[x] SΣ 1..1 Reference(DocumentReference) Source from which this consent is taken
... Slices for policy 1..* BackboneElement Policies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... policy:hrex S 1..1 BackboneElement Policies covered by this consent
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... uri SC 1..1 uri Specific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision SΣ 1..1 BackboneElement Constraints to the base Consent.policyRule
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 1..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period SΣ 1..1 Period Timeframe for this rule
..... start SΣC 1..1 dateTime Starting time with inclusive boundary
..... end SΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
.... Slices for actor 2..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by value:role
..... actor:All Slices Content/Rules for all slices
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

...... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
..... actor:source S 1..* BackboneElement Authorized to disclose
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: performer
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
..... actor:recipient S 1..* BackboneElement Authorized to receive information
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: IRCP
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
.... action Σ 1..1 CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.



Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: disclose

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Consent.statusrequiredFixed Value: active
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
from the FHIR Standard
Consent.scopeextensiblePattern: patient-privacy
http://hl7.org/fhir/ValueSet/consent-scope
from the FHIR Standard
Consent.categoryextensibleConsentCategoryCodes
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.category:disclosureextensiblePattern: IDSCL
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.policy:hrex.urirequiredHRexConsentPolicy
http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy
from this IG
Consent.provision.typerequiredFixed Value: permit
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
from the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:source.roleextensiblePattern: performer
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:recipient.roleextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actionexamplePattern: disclose
http://hl7.org/fhir/ValueSet/consent-action
from the FHIR Standard
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
from the FHIR Standard

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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
ppc-1: Either a Policy or PolicyRule
ppc-2: IF Scope=privacy, there must be a patient
ppc-3: IF Scope=research, there must be a patient
ppc-4: IF Scope=adr, there must be a patient
ppc-5: IF Scope=treatment, there must be a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifier for this record (external references)

Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
... status ?!SΣ 1..1 code draft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
... scope ?!SΣ 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: patient-privacy
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... Slices for category Σ 1..* CodeableConcept Classification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by value:$this
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


.... category:disclosure SΣ 1..1 CodeableConcept Classification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IDSCL
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... patient SΣ 1..1 Reference(US Core Patient Profile(6.1.0)) Who the consent applies to
... dateTime Σ 0..1 dateTime When this Consent was created or indexed
... performer SΣ 1..1 Reference(US Core Patient Profile(6.1.0) | RelatedPerson | US Core Practitioner Profile(6.1.0) | HRex PractitionerRole Profile | HRex Organization Profile) Who is agreeing to the policy and rules
... organization Σ 0..* Reference(Organization) Custodian of the consent
... source[x] SΣ 1..1 Reference(DocumentReference) Source from which this consent is taken
... Slices for policy 1..* BackboneElement Policies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... authority C 0..1 uri Enforcement source for policy
..... uri C 0..1 uri Specific policy covered by this consent
.... policy:hrex S 1..1 BackboneElement Policies covered by this consent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... authority C 0..1 uri Enforcement source for policy
..... uri SC 1..1 uri Specific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... policyRule ΣC 0..1 CodeableConcept Regulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.

... verification Σ 0..* BackboneElement Consent Verified by patient or family
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... verified Σ 1..1 boolean Has been verified
.... verifiedWith 0..1 Reference(Patient | RelatedPerson) Person who verified
.... verificationDate 0..1 dateTime When consent verified
... provision SΣ 1..1 BackboneElement Constraints to the base Consent.policyRule
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 1..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period SΣ 1..1 Period Timeframe for this rule
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start SΣC 1..1 dateTime Starting time with inclusive boundary
..... end SΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
.... Slices for actor 2..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by value:role
..... actor:All Slices Content/Rules for all slices
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

...... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
..... actor:source S 1..* BackboneElement Authorized to disclose
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: performer
........ display 0..1 string Representation defined by the system
........ userSelected 0..1 boolean If this coding was chosen directly by the user
....... text 0..1 string Plain text representation of the concept
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
..... actor:recipient S 1..* BackboneElement Authorized to receive information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: IRCP
........ display 0..1 string Representation defined by the system
........ userSelected 0..1 boolean If this coding was chosen directly by the user
....... text 0..1 string Plain text representation of the concept
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
.... action Σ 1..1 CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.



Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: disclose
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Consent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Consent.statusrequiredFixed Value: active
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
from the FHIR Standard
Consent.scopeextensiblePattern: patient-privacy
http://hl7.org/fhir/ValueSet/consent-scope
from the FHIR Standard
Consent.categoryextensibleConsentCategoryCodes
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.category:disclosureextensiblePattern: IDSCL
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.policy:hrex.urirequiredHRexConsentPolicy
http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy
from this IG
Consent.policyRuleextensibleConsentPolicyRuleCodes
http://hl7.org/fhir/ValueSet/consent-policy
from the FHIR Standard
Consent.provision.typerequiredFixed Value: permit
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
from the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:source.roleextensiblePattern: performer
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:recipient.roleextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actionexamplePattern: disclose
http://hl7.org/fhir/ValueSet/consent-action
from the FHIR Standard
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
from the FHIR Standard

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

This structure is derived from Consent

Summary

Mandatory: 15 elements
Must-Support: 19 elements
Fixed: 2 elements
Prohibited: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Consent.category
  • The element 1 is sliced based on the value of Consent.policy
  • The element 1 is sliced based on the value of Consent.provision.actor

Maturity: 0

Differential View

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... status S 1..1 code draft | proposed | active | rejected | inactive | entered-in-error
Fixed Value: active
... scope S 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: patient-privacy
... Slices for category 1..* CodeableConcept Classification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by value:$this
.... category:disclosure S 1..1 CodeableConcept Classification of the consent statement - for indexing/retrieval
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IDSCL
... performer S 1..1 Reference(US Core Patient Profile(6.1.0) | RelatedPerson | US Core Practitioner Profile(6.1.0) | HRex PractitionerRole Profile | HRex Organization Profile) Who is agreeing to the policy and rules
... source[x] S 1..1 Reference(DocumentReference) Source from which this consent is taken
... Slices for policy 1..* BackboneElement Policies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:hrex S 1..1 BackboneElement Policies covered by this consent
..... uri S 1..1 uri Specific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision S 1..1 BackboneElement Constraints to the base Consent.policyRule
.... type S 1..1 code deny | permit
Fixed Value: permit
.... period S 1..1 Period Timeframe for this rule
..... start S 1..1 dateTime Starting time with inclusive boundary
..... end S 1..1 dateTime End time with inclusive boundary, if not ongoing
.... Slices for actor 2..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by value:role
..... actor:source S 1..* BackboneElement Authorized to disclose
...... role S 1..1 CodeableConcept How the actor is involved
Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: performer
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
..... actor:recipient S 1..* BackboneElement Authorized to receive information
...... role S 1..1 CodeableConcept How the actor is involved
Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: IRCP
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
.... action 1..1 CodeableConcept Actions controlled by this rule
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: disclose
.... securityLabel 0..0
.... purpose 0..0
.... class 0..0
.... code 0..0
.... dataPeriod 0..0
.... data 0..0
.... provision 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Consent.policy:hrex.urirequiredHRexConsentPolicy
http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
ppc-1: Either a Policy or PolicyRule
ppc-2: IF Scope=privacy, there must be a patient
ppc-3: IF Scope=research, there must be a patient
ppc-4: IF Scope=adr, there must be a patient
ppc-5: IF Scope=treatment, there must be a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code draft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: patient-privacy
... Slices for category Σ 1..* CodeableConcept Classification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by value:$this
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


.... category:disclosure SΣ 1..1 CodeableConcept Classification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IDSCL
... patient SΣ 1..1 Reference(US Core Patient Profile(6.1.0)) Who the consent applies to
... performer SΣ 1..1 Reference(US Core Patient Profile(6.1.0) | RelatedPerson | US Core Practitioner Profile(6.1.0) | HRex PractitionerRole Profile | HRex Organization Profile) Who is agreeing to the policy and rules
... source[x] SΣ 1..1 Reference(DocumentReference) Source from which this consent is taken
... Slices for policy 1..* BackboneElement Policies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... policy:hrex S 1..1 BackboneElement Policies covered by this consent
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... uri SC 1..1 uri Specific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision SΣ 1..1 BackboneElement Constraints to the base Consent.policyRule
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 1..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period SΣ 1..1 Period Timeframe for this rule
..... start SΣC 1..1 dateTime Starting time with inclusive boundary
..... end SΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
.... Slices for actor 2..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by value:role
..... actor:All Slices Content/Rules for all slices
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

...... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
..... actor:source S 1..* BackboneElement Authorized to disclose
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: performer
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
..... actor:recipient S 1..* BackboneElement Authorized to receive information
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: IRCP
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
.... action Σ 1..1 CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.



Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: disclose

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Consent.statusrequiredFixed Value: active
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
from the FHIR Standard
Consent.scopeextensiblePattern: patient-privacy
http://hl7.org/fhir/ValueSet/consent-scope
from the FHIR Standard
Consent.categoryextensibleConsentCategoryCodes
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.category:disclosureextensiblePattern: IDSCL
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.policy:hrex.urirequiredHRexConsentPolicy
http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy
from this IG
Consent.provision.typerequiredFixed Value: permit
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
from the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:source.roleextensiblePattern: performer
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:recipient.roleextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actionexamplePattern: disclose
http://hl7.org/fhir/ValueSet/consent-action
from the FHIR Standard
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
from the FHIR Standard

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
ppc-1: Either a Policy or PolicyRule
ppc-2: IF Scope=privacy, there must be a patient
ppc-3: IF Scope=research, there must be a patient
ppc-4: IF Scope=adr, there must be a patient
ppc-5: IF Scope=treatment, there must be a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifier for this record (external references)

Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
... status ?!SΣ 1..1 code draft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
... scope ?!SΣ 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: patient-privacy
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... Slices for category Σ 1..* CodeableConcept Classification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by value:$this
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


.... category:disclosure SΣ 1..1 CodeableConcept Classification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IDSCL
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... patient SΣ 1..1 Reference(US Core Patient Profile(6.1.0)) Who the consent applies to
... dateTime Σ 0..1 dateTime When this Consent was created or indexed
... performer SΣ 1..1 Reference(US Core Patient Profile(6.1.0) | RelatedPerson | US Core Practitioner Profile(6.1.0) | HRex PractitionerRole Profile | HRex Organization Profile) Who is agreeing to the policy and rules
... organization Σ 0..* Reference(Organization) Custodian of the consent
... source[x] SΣ 1..1 Reference(DocumentReference) Source from which this consent is taken
... Slices for policy 1..* BackboneElement Policies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... authority C 0..1 uri Enforcement source for policy
..... uri C 0..1 uri Specific policy covered by this consent
.... policy:hrex S 1..1 BackboneElement Policies covered by this consent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... authority C 0..1 uri Enforcement source for policy
..... uri SC 1..1 uri Specific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... policyRule ΣC 0..1 CodeableConcept Regulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.

... verification Σ 0..* BackboneElement Consent Verified by patient or family
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... verified Σ 1..1 boolean Has been verified
.... verifiedWith 0..1 Reference(Patient | RelatedPerson) Person who verified
.... verificationDate 0..1 dateTime When consent verified
... provision SΣ 1..1 BackboneElement Constraints to the base Consent.policyRule
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 1..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period SΣ 1..1 Period Timeframe for this rule
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start SΣC 1..1 dateTime Starting time with inclusive boundary
..... end SΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
.... Slices for actor 2..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by value:role
..... actor:All Slices Content/Rules for all slices
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

...... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
..... actor:source S 1..* BackboneElement Authorized to disclose
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: performer
........ display 0..1 string Representation defined by the system
........ userSelected 0..1 boolean If this coding was chosen directly by the user
....... text 0..1 string Plain text representation of the concept
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
..... actor:recipient S 1..* BackboneElement Authorized to receive information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
........ system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ version 0..1 string Version of the system - if relevant
........ code 1..1 code Symbol in syntax defined by the system
Fixed Value: IRCP
........ display 0..1 string Representation defined by the system
........ userSelected 0..1 boolean If this coding was chosen directly by the user
....... text 0..1 string Plain text representation of the concept
...... reference S 1..1 Reference(HRex Organization Profile) Resource for the actor (or group, by role)
.... action Σ 1..1 CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.



Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: disclose
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Consent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Consent.statusrequiredFixed Value: active
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
from the FHIR Standard
Consent.scopeextensiblePattern: patient-privacy
http://hl7.org/fhir/ValueSet/consent-scope
from the FHIR Standard
Consent.categoryextensibleConsentCategoryCodes
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.category:disclosureextensiblePattern: IDSCL
http://hl7.org/fhir/ValueSet/consent-category
from the FHIR Standard
Consent.policy:hrex.urirequiredHRexConsentPolicy
http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy
from this IG
Consent.policyRuleextensibleConsentPolicyRuleCodes
http://hl7.org/fhir/ValueSet/consent-policy
from the FHIR Standard
Consent.provision.typerequiredFixed Value: permit
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
from the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:source.roleextensiblePattern: performer
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actor:recipient.roleextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Consent.provision.actionexamplePattern: disclose
http://hl7.org/fhir/ValueSet/consent-action
from the FHIR Standard
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
from the FHIR Standard

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

This structure is derived from Consent

Summary

Mandatory: 15 elements
Must-Support: 19 elements
Fixed: 2 elements
Prohibited: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Consent.category
  • The element 1 is sliced based on the value of Consent.policy
  • The element 1 is sliced based on the value of Consent.provision.actor

Maturity: 0

 

Other representations of profile: CSV, Excel, Schematron

Notes:

HRex recognizes two consent policies:

  • http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular - Access is granted to all patient information that is not considered to be ‘sensitive’ according to U.S. state or federal regulation.
  • http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#sensitive - Access is granted to all patient information, including that considered to be ‘sensitive’ according to U.S. state or federal regulation.

Systems are not required to support both types of consent, but if using consent, are expected to recognize and use at least one of the two.

Consent.patient and Consent.performer are captured separately to track who actually provides the consent. Typically both will be the same, but in some cases, consent might be issued by a relative, an institution or even a provider.

Both the 'performer' and 'recipient' actors for disclosure repeat. The performer SHALL include the target payer for the $member-match and the recipient SHALL include the initiator of the $member-match. However, additional performers and recipients might be listed, including a 'mutual' consent where initiator and target payer are both listed as performers and recipients, thus authorizing each to share information with the other.

Examples

An example of the use of this profile can be seen in the $member-match input parameters here and here.