R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Community Based Collaborative Care Work GroupMaturity Level: 1 Trial Use Compartments: Patient

Detailed Descriptions for the elements in the Consent resource.

Consent
Element IdConsent
Definition

A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.

Control1..1
Comments

Broadly, there are 3 key areas of consent for patients: Consent around sharing information (aka Privacy Consent Directive - Authorization to Collect, Use, or Disclose information), consent for specific treatment, or kinds of treatment, and general advance care directives.

InvariantsDefined on this element
ppc-1: Either a Policy or PolicyRule (expression : policy.exists() or policyRule.exists(), xpath: exists(f:policy) or exists(f:policyRule))
ppc-2: IF Scope=privacy, there must be a patient (expression : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not(), xpath: exists(f:patient) or not(exists(f:scope/f:coding[f:system/@value='something' and f:code/@value='patient-privacy'))))
ppc-3: IF Scope=research, there must be a patient (expression : patient.exists() or scope.coding.where(system='something' and code='research').exists().not(), xpath: exists(f:patient) or not(exists(f:scope/f:coding[f:system/@value='something' and f:code/@value='research'))))
ppc-4: IF Scope=adr, there must be a patient (expression : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not(), xpath: exists(f:patient) or not(exists(f:scope/f:coding[f:system/@value='something' and f:code/@value='adr'))))
ppc-5: IF Scope=treatment, there must be a patient (expression : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not(), xpath: exists(f:patient) or not(exists(f:scope/f:coding[f:system/@value='something' and f:code/@value='treatment'))))
Consent.identifier
Element IdConsent.identifier
Definition

Unique identifier for this copy of the Consent Statement.

NoteThis is a business identifer, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
Summarytrue
Comments

This identifier identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same.

Consent.status
Element IdConsent.status
Definition

Indicates the current state of this consent.

Control1..1
Terminology BindingEventStatus (Required)
Typecode
Is Modifiertrue (Reason: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid)
Requirements

The Consent Directive that is pointed to might be in various lifecycle states, e.g., a revoked Consent Directive.

Summarytrue
Comments

This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid.

Consent.scope
Element IdConsent.scope
Definition

A selector of the type of consent being presented: ADR, Privacy, Treatment, Research. This list is now extensible.

Control1..1
Terminology BindingConsent Scope Codes (Required)
TypeCodeableConcept
Is Modifiertrue (Reason: Allows changes to codes based on scope selection)
Summarytrue
Consent.category
Element IdConsent.category
Definition

A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.

Control1..*
Terminology BindingConsent Category Codes (Extensible)
TypeCodeableConcept
Summarytrue
Consent.patient
Element IdConsent.patient
Definition

The patient/healthcare consumer to whom this consent applies.

Control0..1
TypeReference(Patient)
Summarytrue
Comments

Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person.

Consent.dateTime
Element IdConsent.dateTime
Definition

When this Consent was issued / created / indexed.

Control0..1
TypedateTime
Summarytrue
Comments

This is not the time of the original consent, but the time that this statement was made or derived.

Consent.performer
Element IdConsent.performer
Definition

Either the Grantor, which is the entity responsible for granting the rights listed in a Consent Directive or the Grantee, which is the entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions.

Control0..*
TypeReference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)
Alternate Namesconsentor
Summarytrue
Comments

Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian.

Consent.organization
Element IdConsent.organization
Definition

The organization that manages the consent, and the framework within which it is executed.

Control0..*
TypeReference(Organization)
Alternate Namescustodian
Summarytrue
Consent.source[x]
Element IdConsent.source[x]
Definition

The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.

Control0..1
TypeAttachment|Identifier|Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
[x] NoteSee Choice of Data Types for further information about how to use [x]
Summarytrue
Comments

The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id.

Consent.policy
Element IdConsent.policy
Definition

The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.

Control0..*
Consent.policy.authority
Element IdConsent.policy.authority
Definition

Entity or Organization having regulatory jurisdiction or accountability for  enforcing policies pertaining to Consent Directives.

Control0..1
Typeuri
InvariantsAffect this element
ppc-1: Either a Policy or PolicyRule (expression : policy.exists() or policyRule.exists(), xpath: exists(f:policy) or exists(f:policyRule))
Consent.policy.uri
Element IdConsent.policy.uri
Definition

The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.

Control0..1
Typeuri
Comments

This element is for discoverability / documentation and does not modify or qualify the policy rules.

InvariantsAffect this element
ppc-1: Either a Policy or PolicyRule (expression : policy.exists() or policyRule.exists(), xpath: exists(f:policy) or exists(f:policyRule))
Consent.policyRule
Element IdConsent.policyRule
Definition

A reference to the specific base computable regulation or policy.

Control0..1
Terminology BindingConsent PolicyRule Codes (Extensible)
TypeCodeableConcept
Requirements

Might be a unique identifier of a policy set in XACML, or other rules engine.

Summarytrue
Comments

If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource.

InvariantsAffect this element
ppc-1: Either a Policy or PolicyRule (expression : policy.exists() or policyRule.exists(), xpath: exists(f:policy) or exists(f:policyRule))
Consent.verification
Element IdConsent.verification
Definition

Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person.

Control0..*
Summarytrue
Consent.verification.verified
Element IdConsent.verification.verified
Definition

Has the instruction been verified.

Control1..1
Typeboolean
Summarytrue
Consent.verification.verifiedWith
Element IdConsent.verification.verifiedWith
Definition

Who verified the instruction (Patient, Relative or other Authorized Person).

Control0..1
TypeReference(Patient | RelatedPerson)
Consent.verification.verificationDate
Element IdConsent.verification.verificationDate
Definition

Date verification was collected.

Control0..1
TypedateTime
Consent.provision
Element IdConsent.provision
Definition

An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.

Control0..1
Summarytrue
Consent.provision.type
Element IdConsent.provision.type
Definition

Action to take - permit or deny - when the rule conditions are met. Not permitted in root rule, required in all nested rules.

Control0..1
Terminology BindingConsentProvisionType (Required)
Typecode
Summarytrue
Consent.provision.period
Element IdConsent.provision.period
Definition

The timeframe in this rule is valid.

Control0..1
TypePeriod
Summarytrue
Consent.provision.actor
Element IdConsent.provision.actor
Definition

Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').

Control0..*
Meaning if MissingThere is no specific actor associated with the exception
Consent.provision.actor.role
Element IdConsent.provision.actor.role
Definition

How the individual is involved in the resources content that is described in the exception.

Control1..1
Terminology BindingSecurityRoleType (Extensible)
TypeCodeableConcept
Consent.provision.actor.reference
Element IdConsent.provision.actor.reference
Definition

The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers').

Control1..1
TypeReference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)
Consent.provision.action
Element IdConsent.provision.action
Definition

Actions controlled by this Rule.

Control0..*
Terminology BindingConsent Action Codes (Example)
TypeCodeableConcept
Meaning if Missingall actions
Summarytrue
Comments

Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.

Consent.provision.securityLabel
Element IdConsent.provision.securityLabel
Definition

A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.

Control0..*
Terminology BindingAll Security Labels (Extensible)
TypeCoding
Summarytrue
Comments

If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict.

Consent.provision.purpose
Element IdConsent.provision.purpose
Definition

The context of the activities a user is taking - why the user is accessing the data - that are controlled by this rule.

Control0..*
Terminology BindingPurposeOfUse (Extensible)
TypeCoding
Summarytrue
Comments

When the purpose of use tag is on the data, access request purpose of use shall not conflict.

Consent.provision.class
Element IdConsent.provision.class
Definition

The class of information covered by this rule. The type can be a FHIR resource type, a profile on a type, or a CDA document, or some other type that indicates what sort of information the consent relates to.

Control0..*
Terminology BindingConsent Content Class (Extensible)
TypeCoding
Summarytrue
Comments

Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere.

Consent.provision.code
Element IdConsent.provision.code
Definition

If this code is found in an instance, then the rule applies.

Control0..*
Terminology BindingConsent Content Codes (Example)
TypeCodeableConcept
Summarytrue
Comments

Typical use of this is a Document code with class = CDA.

Consent.provision.dataPeriod
Element IdConsent.provision.dataPeriod
Definition

Clinical or Operational Relevant period of time that bounds the data controlled by this rule.

Control0..1
TypePeriod
Summarytrue
Comments

This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement.

Consent.provision.data
Element IdConsent.provision.data
Definition

The resources controlled by this rule if specific resources are referenced.

Control0..*
Meaning if Missingall data
Summarytrue
Consent.provision.data.meaning
Element IdConsent.provision.data.meaning
Definition

How the resource reference is interpreted when testing consent restrictions.

Control1..1
Terminology BindingConsentDataMeaning (Required)
Typecode
Summarytrue
Consent.provision.data.reference
Element IdConsent.provision.data.reference
Definition

A reference to a specific resource that defines which resources are covered by this consent.

Control1..1
TypeReference(Any)
Summarytrue
Consent.provision.provision
Element IdConsent.provision.provision
Definition

Rules which provide exceptions to the base rule or subrules.

Control0..*
TypeSee Consent.provision