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

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

Resource Profile: HRex Consent Profile

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

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

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

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
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
.... 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 SC 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

doco Documentation for this format

Terminology Bindings

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

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConsentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorConsentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorConsentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConsentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ppc-1errorConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ppc-2errorConsentIF Scope=privacy, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3errorConsentIF Scope=research, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4errorConsentIF Scope=adr, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5errorConsentIF Scope=treatment, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()

 

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.