This page is part of the Da Vinci Health Record Exchange (v1.1.0: STU 1.1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions
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:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
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 |
Path | Conformance | ValueSet | URI |
Consent.policy:hrex.uri | required | HRexConsentPolicyhttp://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 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 | 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 | |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Consent.status | required | Fixed Value: activehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 from the FHIR Standard | |
Consent.scope | extensible | Pattern: patient-privacyhttp://hl7.org/fhir/ValueSet/consent-scope from the FHIR Standard | |
Consent.category | extensible | ConsentCategoryCodeshttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | |
Consent.category:disclosure | extensible | Pattern: IDSCLhttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | |
Consent.policy:hrex.uri | required | HRexConsentPolicyhttp://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy from this IG | |
Consent.provision.type | required | Fixed Value: permithttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 from the FHIR Standard | |
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | |
Consent.provision.actor:source.role | extensible | Pattern: performerhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | |
Consent.provision.actor:recipient.role | extensible | Pattern: IRCPhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | |
Consent.provision.action | example | Pattern: disclosehttp://hl7.org/fhir/ValueSet/consent-action from the FHIR Standard | |
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 from the FHIR Standard |
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() |
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.
| |||||
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 | SC | 1..1 | uri | Specific policy covered by this consent Binding: HRex Consent Policy ValueSet (required) | ||||
policyRule | ΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. | ||||
verification | Σ | 0..* | BackboneElement | Consent Verified by patient or family | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
verified | Σ | 1..1 | boolean | Has been verified | ||||
verifiedWith | 0..1 | Reference(Patient | RelatedPerson) | Person who verified | |||||
verificationDate | 0..1 | dateTime | When consent verified | |||||
provision | SΣ | 1..1 | BackboneElement | Constraints to the base Consent.policyRule | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
type | SΣ | 1..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. Fixed Value: permit | ||||
period | SΣ | 1..1 | Period | Timeframe for this rule | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
start | SΣC | 1..1 | dateTime | Starting time with inclusive boundary | ||||
end | SΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
Slices for actor | 2..* | BackboneElement | Who|what controlled by this rule (or group, by role) Slice: Unordered, Open by value:role | |||||
actor:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
role | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. | |||||
reference | 1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Resource for the actor (or group, by role) | |||||
actor:source | S | 1..* | BackboneElement | Authorized to disclose | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: performer | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
reference | S | 1..1 | Reference(HRex Organization Profile) | Resource for the actor (or group, by role) | ||||
actor:recipient | S | 1..* | BackboneElement | Authorized to receive information | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: IRCP | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
reference | S | 1..1 | Reference(HRex Organization Profile) | Resource for the actor (or group, by role) | ||||
action | Σ | 1..1 | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: disclose | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Consent.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
Consent.status | required | Fixed Value: activehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 from the FHIR Standard | ||||
Consent.scope | extensible | Pattern: patient-privacyhttp://hl7.org/fhir/ValueSet/consent-scope from the FHIR Standard | ||||
Consent.category | extensible | ConsentCategoryCodeshttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | ||||
Consent.category:disclosure | extensible | Pattern: IDSCLhttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | ||||
Consent.policy:hrex.uri | required | HRexConsentPolicyhttp://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy from this IG | ||||
Consent.policyRule | extensible | ConsentPolicyRuleCodeshttp://hl7.org/fhir/ValueSet/consent-policy from the FHIR Standard | ||||
Consent.provision.type | required | Fixed Value: permithttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 from the FHIR Standard | ||||
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Consent.provision.actor:source.role | extensible | Pattern: performerhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Consent.provision.actor:recipient.role | extensible | Pattern: IRCPhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Consent.provision.action | example | Pattern: disclosehttp://hl7.org/fhir/ValueSet/consent-action from the FHIR Standard | ||||
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 from the FHIR Standard |
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:
Slices
This structure defines the following Slices:
Maturity: 0
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 |
Path | Conformance | ValueSet | URI |
Consent.policy:hrex.uri | required | HRexConsentPolicyhttp://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy from this IG |
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 | 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 | |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Consent.status | required | Fixed Value: activehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 from the FHIR Standard | |
Consent.scope | extensible | Pattern: patient-privacyhttp://hl7.org/fhir/ValueSet/consent-scope from the FHIR Standard | |
Consent.category | extensible | ConsentCategoryCodeshttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | |
Consent.category:disclosure | extensible | Pattern: IDSCLhttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | |
Consent.policy:hrex.uri | required | HRexConsentPolicyhttp://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy from this IG | |
Consent.provision.type | required | Fixed Value: permithttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 from the FHIR Standard | |
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | |
Consent.provision.actor:source.role | extensible | Pattern: performerhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | |
Consent.provision.actor:recipient.role | extensible | Pattern: IRCPhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | |
Consent.provision.action | example | Pattern: disclosehttp://hl7.org/fhir/ValueSet/consent-action from the FHIR Standard | |
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 from the FHIR Standard |
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() |
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.
| |||||
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 | SC | 1..1 | uri | Specific policy covered by this consent Binding: HRex Consent Policy ValueSet (required) | ||||
policyRule | ΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. | ||||
verification | Σ | 0..* | BackboneElement | Consent Verified by patient or family | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
verified | Σ | 1..1 | boolean | Has been verified | ||||
verifiedWith | 0..1 | Reference(Patient | RelatedPerson) | Person who verified | |||||
verificationDate | 0..1 | dateTime | When consent verified | |||||
provision | SΣ | 1..1 | BackboneElement | Constraints to the base Consent.policyRule | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
type | SΣ | 1..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. Fixed Value: permit | ||||
period | SΣ | 1..1 | Period | Timeframe for this rule | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
start | SΣC | 1..1 | dateTime | Starting time with inclusive boundary | ||||
end | SΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
Slices for actor | 2..* | BackboneElement | Who|what controlled by this rule (or group, by role) Slice: Unordered, Open by value:role | |||||
actor:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
role | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. | |||||
reference | 1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Resource for the actor (or group, by role) | |||||
actor:source | S | 1..* | BackboneElement | Authorized to disclose | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: performer | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
reference | S | 1..1 | Reference(HRex Organization Profile) | Resource for the actor (or group, by role) | ||||
actor:recipient | S | 1..* | BackboneElement | Authorized to receive information | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
role | S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: IRCP | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
reference | S | 1..1 | Reference(HRex Organization Profile) | Resource for the actor (or group, by role) | ||||
action | Σ | 1..1 | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: disclose | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Consent.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
Consent.status | required | Fixed Value: activehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 from the FHIR Standard | ||||
Consent.scope | extensible | Pattern: patient-privacyhttp://hl7.org/fhir/ValueSet/consent-scope from the FHIR Standard | ||||
Consent.category | extensible | ConsentCategoryCodeshttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | ||||
Consent.category:disclosure | extensible | Pattern: IDSCLhttp://hl7.org/fhir/ValueSet/consent-category from the FHIR Standard | ||||
Consent.policy:hrex.uri | required | HRexConsentPolicyhttp://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-consent-policy from this IG | ||||
Consent.policyRule | extensible | ConsentPolicyRuleCodeshttp://hl7.org/fhir/ValueSet/consent-policy from the FHIR Standard | ||||
Consent.provision.type | required | Fixed Value: permithttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 from the FHIR Standard | ||||
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Consent.provision.actor:source.role | extensible | Pattern: performerhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Consent.provision.actor:recipient.role | extensible | Pattern: IRCPhttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Consent.provision.action | example | Pattern: disclosehttp://hl7.org/fhir/ValueSet/consent-action from the FHIR Standard | ||||
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 from the FHIR Standard |
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:
Slices
This structure defines the following Slices:
Maturity: 0
Other representations of profile: CSV, Excel, Schematron
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.
An example of the use of this profile can be seen in the $member-match input parameters here and here.