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 Group | Maturity Level: 1 | Trial Use | Compartments: Patient |
Detailed Descriptions for the elements in the Consent resource.
Consent | |
Element Id | Consent |
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. |
Control | 1..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. |
Invariants | Defined 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 Id | Consent.identifier |
Definition | Unique identifier for this copy of the Consent Statement. |
Note | This is a business identifer, not a resource identifier (see discussion) |
Control | 0..* |
Type | Identifier |
Summary | true |
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 Id | Consent.status |
Definition | Indicates the current state of this consent. |
Control | 1..1 |
Terminology Binding | EventStatus (Required) |
Type | code |
Is Modifier | true (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. |
Summary | true |
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 Id | Consent.scope |
Definition | A selector of the type of consent being presented: ADR, Privacy, Treatment, Research. This list is now extensible. |
Control | 1..1 |
Terminology Binding | Consent Scope Codes (Required) |
Type | CodeableConcept |
Is Modifier | true (Reason: Allows changes to codes based on scope selection) |
Summary | true |
Consent.category | |
Element Id | Consent.category |
Definition | A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. |
Control | 1..* |
Terminology Binding | Consent Category Codes (Extensible) |
Type | CodeableConcept |
Summary | true |
Consent.patient | |
Element Id | Consent.patient |
Definition | The patient/healthcare consumer to whom this consent applies. |
Control | 0..1 |
Type | Reference(Patient) |
Summary | true |
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 Id | Consent.dateTime |
Definition | When this Consent was issued / created / indexed. |
Control | 0..1 |
Type | dateTime |
Summary | true |
Comments | This is not the time of the original consent, but the time that this statement was made or derived. |
Consent.performer | |
Element Id | Consent.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. |
Control | 0..* |
Type | Reference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
Alternate Names | consentor |
Summary | true |
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 Id | Consent.organization |
Definition | The organization that manages the consent, and the framework within which it is executed. |
Control | 0..* |
Type | Reference(Organization) |
Alternate Names | custodian |
Summary | true |
Consent.source[x] | |
Element Id | Consent.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. |
Control | 0..1 |
Type | Attachment|Identifier|Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) |
[x] Note | See Choice of Data Types for further information about how to use [x] |
Summary | true |
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 Id | Consent.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. |
Control | 0..* |
Consent.policy.authority | |
Element Id | Consent.policy.authority |
Definition | Entity or Organization having regulatory jurisdiction or accountability for enforcing policies pertaining to Consent Directives. |
Control | 0..1 |
Type | uri |
Invariants | Affect 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 Id | Consent.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. |
Control | 0..1 |
Type | uri |
Comments | This element is for discoverability / documentation and does not modify or qualify the policy rules. |
Invariants | Affect 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 Id | Consent.policyRule |
Definition | A reference to the specific base computable regulation or policy. |
Control | 0..1 |
Terminology Binding | Consent PolicyRule Codes (Extensible) |
Type | CodeableConcept |
Requirements | Might be a unique identifier of a policy set in XACML, or other rules engine. |
Summary | true |
Comments | If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource. |
Invariants | Affect 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 Id | Consent.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. |
Control | 0..* |
Summary | true |
Consent.verification.verified | |
Element Id | Consent.verification.verified |
Definition | Has the instruction been verified. |
Control | 1..1 |
Type | boolean |
Summary | true |
Consent.verification.verifiedWith | |
Element Id | Consent.verification.verifiedWith |
Definition | Who verified the instruction (Patient, Relative or other Authorized Person). |
Control | 0..1 |
Type | Reference(Patient | RelatedPerson) |
Consent.verification.verificationDate | |
Element Id | Consent.verification.verificationDate |
Definition | Date verification was collected. |
Control | 0..1 |
Type | dateTime |
Consent.provision | |
Element Id | Consent.provision |
Definition | An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. |
Control | 0..1 |
Summary | true |
Consent.provision.type | |
Element Id | Consent.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. |
Control | 0..1 |
Terminology Binding | ConsentProvisionType (Required) |
Type | code |
Summary | true |
Consent.provision.period | |
Element Id | Consent.provision.period |
Definition | The timeframe in this rule is valid. |
Control | 0..1 |
Type | Period |
Summary | true |
Consent.provision.actor | |
Element Id | Consent.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'). |
Control | 0..* |
Meaning if Missing | There is no specific actor associated with the exception |
Consent.provision.actor.role | |
Element Id | Consent.provision.actor.role |
Definition | How the individual is involved in the resources content that is described in the exception. |
Control | 1..1 |
Terminology Binding | SecurityRoleType (Extensible) |
Type | CodeableConcept |
Consent.provision.actor.reference | |
Element Id | Consent.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'). |
Control | 1..1 |
Type | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
Consent.provision.action | |
Element Id | Consent.provision.action |
Definition | Actions controlled by this Rule. |
Control | 0..* |
Terminology Binding | Consent Action Codes (Example) |
Type | CodeableConcept |
Meaning if Missing | all actions |
Summary | true |
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 Id | Consent.provision.securityLabel |
Definition | A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception. |
Control | 0..* |
Terminology Binding | All Security Labels (Extensible) |
Type | Coding |
Summary | true |
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 Id | Consent.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. |
Control | 0..* |
Terminology Binding | PurposeOfUse (Extensible) |
Type | Coding |
Summary | true |
Comments | When the purpose of use tag is on the data, access request purpose of use shall not conflict. |
Consent.provision.class | |
Element Id | Consent.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. |
Control | 0..* |
Terminology Binding | Consent Content Class (Extensible) |
Type | Coding |
Summary | true |
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 Id | Consent.provision.code |
Definition | If this code is found in an instance, then the rule applies. |
Control | 0..* |
Terminology Binding | Consent Content Codes (Example) |
Type | CodeableConcept |
Summary | true |
Comments | Typical use of this is a Document code with class = CDA. |
Consent.provision.dataPeriod | |
Element Id | Consent.provision.dataPeriod |
Definition | Clinical or Operational Relevant period of time that bounds the data controlled by this rule. |
Control | 0..1 |
Type | Period |
Summary | true |
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 Id | Consent.provision.data |
Definition | The resources controlled by this rule if specific resources are referenced. |
Control | 0..* |
Meaning if Missing | all data |
Summary | true |
Consent.provision.data.meaning | |
Element Id | Consent.provision.data.meaning |
Definition | How the resource reference is interpreted when testing consent restrictions. |
Control | 1..1 |
Terminology Binding | ConsentDataMeaning (Required) |
Type | code |
Summary | true |
Consent.provision.data.reference | |
Element Id | Consent.provision.data.reference |
Definition | A reference to a specific resource that defines which resources are covered by this consent. |
Control | 1..1 |
Type | Reference(Any) |
Summary | true |
Consent.provision.provision | |
Element Id | Consent.provision.provision |
Definition | Rules which provide exceptions to the base rule or subrules. |
Control | 0..* |
Type | See Consent.provision |