Da Vinci Health Record Exchange (HRex)
1.2.0-cibuild - STU 1.1

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-cibuild 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.2.0-cibuild
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:

- Use this Resource Profile: HRex Parameters - Member Match Request Profile

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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 dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management 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 ele-1: All FHIR elements must have a @value or children
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
status | ?!S Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. ele-1: All FHIR elements must have a @value or children 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. ele-1: All FHIR elements must have a @value or children 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 Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement. ele-1: All FHIR elements must have a @value or children
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. ele-1: All FHIR elements must have a @value or children 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(7.0.0)) | Who the consent applies to ele-1: All FHIR elements must have a @value or children
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 ele-1: All FHIR elements must have a @value or children
source[x] | S Σ | 1..1 | Reference(DocumentReference) | Source from which this consent is taken ele-1: All FHIR elements must have a @value or children
Slices for policy |  | 1..* | BackboneElement | Policies covered by this consent Slice: Unordered, Open by value:uri ele-1: All FHIR elements must have a @value or children
policy:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
policy:hrex | S | 1..1 | BackboneElement | Policies covered by this consent ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
uri | S C | 1..1 | uri | Specific policy covered by this consent Binding: HRex Consent Policy ValueSet (required) ele-1: All FHIR elements must have a @value or children
provision | S Σ | 1..1 | BackboneElement | Constraints to the base Consent.policyRule ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
type | S Σ | 1..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. ele-1: All FHIR elements must have a @value or children Fixed Value: permit
period | S Σ | 1..1 | Period | Timeframe for this rule ele-1: All FHIR elements must have a @value or children
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary ele-1: All FHIR elements must have a @value or children
end | S Σ C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing ele-1: All FHIR elements must have a @value or children
Slices for actor |  | 2..* | BackboneElement | Who|what controlled by this rule (or group, by role) Slice: Unordered, Open by value:role ele-1: All FHIR elements must have a @value or children
actor:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
role |  | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. ele-1: All FHIR elements must have a @value or children
reference |  | 1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Resource for the actor (or group, by role) ele-1: All FHIR elements must have a @value or children
actor:source | S | 1..* | BackboneElement | Authorized to disclose ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. ele-1: All FHIR elements must have a @value or children 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) ele-1: All FHIR elements must have a @value or children
actor:recipient | S | 1..* | BackboneElement | Authorized to receive information ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. ele-1: All FHIR elements must have a @value or children 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) ele-1: All FHIR elements must have a @value or children
action | Σ | 1..1 | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. ele-1: All FHIR elements must have a @value or children 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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` from the FHIR Standard
Consent.scope | extensible | Pattern: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` from the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.category:disclosure | extensible | Pattern: IDSCL `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.policy:hrex.uri | required | HRexConsentPolicy `http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy` from this IG
Consent.provision.type | required | Fixed Value: permit `http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1` from the FHIR Standard
Consent.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:source.role | extensible | Pattern: performer `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:recipient.role | extensible | Pattern: IRCP `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.action | example | Pattern: disclose `http://hl7.org/fhir/ValueSet/consent-action` from the FHIR Standard
Consent.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Consent

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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
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: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 |  |
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Consent.policy:hrex.uri | required | HRexConsentPolicy `http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy` from this IG

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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(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 | S C | 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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Consent.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` from the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` from the FHIR Standard
Consent.scope | extensible | Pattern: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` from the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.category:disclosure | extensible | Pattern: IDSCL `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.policy:hrex.uri | required | HRexConsentPolicy `http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy` from this IG
Consent.policyRule | extensible | ConsentPolicyRuleCodes `http://hl7.org/fhir/ValueSet/consent-policy` from the FHIR Standard
Consent.provision.type | required | Fixed Value: permit `http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1` from the FHIR Standard
Consent.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:source.role | extensible | Pattern: performer `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:recipient.role | extensible | Pattern: IRCP `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.action | example | Pattern: disclose `http://hl7.org/fhir/ValueSet/consent-action` from the FHIR Standard
Consent.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

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:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|7.0.0)
- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner|7.0.0)
- HRex PractitionerRole Profile (http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitionerrole)
- HRex Organization Profile (http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-organization)

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

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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 dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management 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 ele-1: All FHIR elements must have a @value or children
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
status | ?!S Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. ele-1: All FHIR elements must have a @value or children 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. ele-1: All FHIR elements must have a @value or children 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 Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement. ele-1: All FHIR elements must have a @value or children
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. ele-1: All FHIR elements must have a @value or children 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(7.0.0)) | Who the consent applies to ele-1: All FHIR elements must have a @value or children
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 ele-1: All FHIR elements must have a @value or children
source[x] | S Σ | 1..1 | Reference(DocumentReference) | Source from which this consent is taken ele-1: All FHIR elements must have a @value or children
Slices for policy |  | 1..* | BackboneElement | Policies covered by this consent Slice: Unordered, Open by value:uri ele-1: All FHIR elements must have a @value or children
policy:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
policy:hrex | S | 1..1 | BackboneElement | Policies covered by this consent ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
uri | S C | 1..1 | uri | Specific policy covered by this consent Binding: HRex Consent Policy ValueSet (required) ele-1: All FHIR elements must have a @value or children
provision | S Σ | 1..1 | BackboneElement | Constraints to the base Consent.policyRule ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
type | S Σ | 1..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. ele-1: All FHIR elements must have a @value or children Fixed Value: permit
period | S Σ | 1..1 | Period | Timeframe for this rule ele-1: All FHIR elements must have a @value or children
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary ele-1: All FHIR elements must have a @value or children
end | S Σ C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing ele-1: All FHIR elements must have a @value or children
Slices for actor |  | 2..* | BackboneElement | Who|what controlled by this rule (or group, by role) Slice: Unordered, Open by value:role ele-1: All FHIR elements must have a @value or children
actor:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
role |  | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. ele-1: All FHIR elements must have a @value or children
reference |  | 1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Resource for the actor (or group, by role) ele-1: All FHIR elements must have a @value or children
actor:source | S | 1..* | BackboneElement | Authorized to disclose ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. ele-1: All FHIR elements must have a @value or children 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) ele-1: All FHIR elements must have a @value or children
actor:recipient | S | 1..* | BackboneElement | Authorized to receive information ele-1: All FHIR elements must have a @value or children
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. ele-1: All FHIR elements must have a @value or children 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) ele-1: All FHIR elements must have a @value or children
action | Σ | 1..1 | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. ele-1: All FHIR elements must have a @value or children 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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` from the FHIR Standard
Consent.scope | extensible | Pattern: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` from the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.category:disclosure | extensible | Pattern: IDSCL `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.policy:hrex.uri | required | HRexConsentPolicy `http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy` from this IG
Consent.provision.type | required | Fixed Value: permit `http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1` from the FHIR Standard
Consent.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:source.role | extensible | Pattern: performer `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:recipient.role | extensible | Pattern: IRCP `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.action | example | Pattern: disclose `http://hl7.org/fhir/ValueSet/consent-action` from the FHIR Standard
Consent.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

This structure is derived from Consent

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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
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: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 |  |
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Consent.policy:hrex.uri | required | HRexConsentPolicy `http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy` from this IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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(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 | S C | 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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Consent.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` from the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` from the FHIR Standard
Consent.scope | extensible | Pattern: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` from the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.category:disclosure | extensible | Pattern: IDSCL `http://hl7.org/fhir/ValueSet/consent-category` from the FHIR Standard
Consent.policy:hrex.uri | required | HRexConsentPolicy `http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy` from this IG
Consent.policyRule | extensible | ConsentPolicyRuleCodes `http://hl7.org/fhir/ValueSet/consent-policy` from the FHIR Standard
Consent.provision.type | required | Fixed Value: permit `http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1` from the FHIR Standard
Consent.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:source.role | extensible | Pattern: performer `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.actor:recipient.role | extensible | Pattern: IRCP `http://hl7.org/fhir/ValueSet/security-role-type` from the FHIR Standard
Consent.provision.action | example | Pattern: disclose `http://hl7.org/fhir/ValueSet/consent-action` from the FHIR Standard
Consent.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

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:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|7.0.0)
- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner|7.0.0)
- HRex PractitionerRole Profile (http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitionerrole)
- HRex Organization Profile (http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-organization)

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.