Da Vinci Health Record Exchange (HRex)
1.2.0-snapshot - STU 1.2 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.2.0-snapshot 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

1.2.0-snapshot
Official URL: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-consent Version:
Standards status: Draft Draft as of 2026-01-30 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.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
... 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
.... 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(7.0.0)) Who the consent applies to
... performer SΣ 1..1 Reference(US Core Patient Profile(7.0.0) | RelatedPerson | US Core Practitioner Profile(7.0.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
....... 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
...... 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

Path Status Usage ValueSet Version Source
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:disclosure Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.policy:hrex.​uri Base required HRex Consent Policy ValueSet 📦1.2.0-snapshot This IG
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:source.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:recipient.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent If 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-4 error Consent If 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-5 error Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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(7.0.0) | RelatedPerson | US Core Practitioner Profile(7.0.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 Security Labels that define affected resources
.... purpose 0..0 Context of activities covered by this rule
.... class 0..0 e.g. Resource Type, Profile, CDA, etc.
.... code 0..0 e.g. LOINC or SNOMED CT code, etc. in the content
.... dataPeriod 0..0 Timeframe for data controlled by this rule
.... data 0..0 Data controlled by this rule
.... provision 0..0 Nested Exception Rules

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.policy:hrex.​uri Base required HRex Consent Policy ValueSet 📦1.2.0-snapshot This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... 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(7.0.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(7.0.0) | RelatedPerson | US Core Practitioner Profile(7.0.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

Path Status Usage ValueSet Version Source
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:disclosure Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.policy:hrex.​uri Base required HRex Consent Policy ValueSet 📦1.2.0-snapshot This IG
Consent.policyRule Base extensible Consent PolicyRule Codes 📍4.0.1 FHIR Std.
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:source.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:recipient.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent If 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-4 error Consent If 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-5 error Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
... 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
.... 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(7.0.0)) Who the consent applies to
... performer SΣ 1..1 Reference(US Core Patient Profile(7.0.0) | RelatedPerson | US Core Practitioner Profile(7.0.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
....... 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
...... 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

Path Status Usage ValueSet Version Source
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:disclosure Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.policy:hrex.​uri Base required HRex Consent Policy ValueSet 📦1.2.0-snapshot This IG
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:source.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:recipient.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent If 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-4 error Consent If 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-5 error Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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(7.0.0) | RelatedPerson | US Core Practitioner Profile(7.0.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 Security Labels that define affected resources
.... purpose 0..0 Context of activities covered by this rule
.... class 0..0 e.g. Resource Type, Profile, CDA, etc.
.... code 0..0 e.g. LOINC or SNOMED CT code, etc. in the content
.... dataPeriod 0..0 Timeframe for data controlled by this rule
.... data 0..0 Data controlled by this rule
.... provision 0..0 Nested Exception Rules

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.policy:hrex.​uri Base required HRex Consent Policy ValueSet 📦1.2.0-snapshot This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... 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(7.0.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(7.0.0) | RelatedPerson | US Core Practitioner Profile(7.0.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

Path Status Usage ValueSet Version Source
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:disclosure Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.policy:hrex.​uri Base required HRex Consent Policy ValueSet 📦1.2.0-snapshot This IG
Consent.policyRule Base extensible Consent PolicyRule Codes 📍4.0.1 FHIR Std.
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:source.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor:recipient.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent If 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-4 error Consent If 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-5 error Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

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. §mm-1 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.