CH Core (R4)
4.0.1 - trial-use
This page is part of the CH Core (R4) (v4.0.1: STU 4) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-epr-consent | Version: 4.0.1 | |||
Active as of 2023-12-28 | Computable Name: CHCoreEPRConsent | |||
Copyright/Legal: CC0-1.0 |
Base profile for a consent profile to document that a patient has an Electronic Patient Record (EPR) in Switzerland. The actual consent conditions are held within the EPR, this consent is the documentation in an organization that the patient has stated he has an EPR and this needs to be verified at the time of document publishing or reading. In addition a patient can request that specific information will not be published from the organization to the EPR. This can be documented with one or more references to encounters to exclude the consent for these.
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 | CH Core EPR-Consent | |
scope | 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:coding.code, value:coding.system | |
category:VSCat | 1..1 | CodeableConcept | Classification of the consent statement - for indexing/retrieval | |
coding | 1..* | Coding | Code defined by a terminology system | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode | |
code | 1..1 | code | information disclosure Fixed Value: IDSCL | |
patient | 1..1 | Reference(CH Core Patient) | The patient to whom this EPR consent applies | |
performer | 0..* | Reference(CH Core Organization | CH Core Patient | CH Core Practitioner | RelatedPerson | CH Core PractitionerRole) | Who is agreeing to the policy and rules | |
organization | 0..* | Reference(CH Core Organization) | Custodian of the consent | |
policyRule | 0..1 | CodeableConcept | Regulation that this consents to 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/consentpolicycodes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ch-epr | |
provision | 0..1 | BackboneElement | Exceptions to the EPR consent | |
type | 1..1 | code | deny Fixed Value: deny | |
data | ||||
meaning | 1..1 | code | instance | related | dependents | authoredby Fixed Value: instance | |
reference | 1..1 | Reference(CH Core Encounter) | Excluded encounter for EPR | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Consent | C | 0..* | Consent | CH Core EPR-Consent |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. |
scope | ?!Σ | 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 |
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:coding.code, value:coding.system Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement. |
category:VSCat | Σ | 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. |
coding | Σ | 1..* | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode |
code | Σ | 1..1 | code | information disclosure Fixed Value: IDSCL |
patient | Σ | 1..1 | Reference(CH Core Patient) | The patient to whom this EPR consent applies |
performer | Σ | 0..* | Reference(CH Core Organization | CH Core Patient | CH Core Practitioner | RelatedPerson | CH Core PractitionerRole) | Who is agreeing to the policy and rules |
organization | Σ | 0..* | Reference(CH Core Organization) | Custodian of the consent |
policyRule | ΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. 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/consentpolicycodes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ch-epr | |
provision | Σ | 0..1 | BackboneElement | Exceptions to the EPR consent |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 1..1 | code | deny Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. Fixed Value: deny |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Consent.status | required | ConsentState |
Consent.scope | extensible | Pattern: patient-privacy |
Consent.category | extensible | ConsentCategoryCodes |
Consent.category:VSCat | extensible | ConsentCategoryCodes |
Consent.policyRule | extensible | Pattern: ch-epr |
Consent.provision.type | required | Fixed Value: deny |
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 | CH Core EPR-Consent | ||||
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 | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. | ||||
scope | ?!Σ | 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:coding.code, value:coding.system Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement. | ||||
category:VSCat | Σ | 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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 1..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
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 | information disclosure 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 | Σ | 1..1 | Reference(CH Core Patient) | The patient to whom this EPR consent applies | ||||
dateTime | Σ | 0..1 | dateTime | When this Consent was created or indexed | ||||
performer | Σ | 0..* | Reference(CH Core Organization | CH Core Patient | CH Core Practitioner | RelatedPerson | CH Core PractitionerRole) | Who is agreeing to the policy and rules | ||||
organization | Σ | 0..* | Reference(CH Core Organization) | Custodian of the consent | ||||
source[x] | Σ | 0..1 | Source from which this consent is taken | |||||
sourceAttachment | Attachment | |||||||
sourceReference | Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) | |||||||
policy | 0..* | 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 | C | 0..1 | uri | Specific policy covered by this consent | ||||
policyRule | ΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. 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/consentpolicycodes | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ch-epr | |||||
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 | |||||
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 | Σ | 0..1 | BackboneElement | Exceptions to the EPR 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 | ||||
type | Σ | 1..1 | code | deny Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. Fixed Value: deny | ||||
period | Σ | 0..1 | Period | Timeframe for this rule | ||||
actor | 0..* | BackboneElement | Who|what controlled by this rule (or group, by role) | |||||
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) | |||||
action | Σ | 0..* | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. | ||||
securityLabel | Σ | 0..* | Coding | Security Labels that define affected resources Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
purpose | Σ | 0..* | Coding | Context of activities covered by this rule Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. | ||||
class | Σ | 0..* | Coding | e.g. Resource Type, Profile, CDA, etc. Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers. | ||||
code | Σ | 0..* | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies. | ||||
dataPeriod | Σ | 0..1 | Period | Timeframe for data controlled by this rule | ||||
data | Σ | 0..* | BackboneElement | Data controlled by this rule | ||||
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 | ||||
meaning | Σ | 1..1 | code | instance | related | dependents | authoredby Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions. Fixed Value: instance | ||||
reference | Σ | 1..1 | Reference(CH Core Encounter) | Excluded encounter for EPR | ||||
provision | 0..* | See provision (Consent) | Nested Exception Rules | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Consent.language | preferred | CommonLanguages
| ||||
Consent.status | required | ConsentState | ||||
Consent.scope | extensible | Pattern: patient-privacy | ||||
Consent.category | extensible | ConsentCategoryCodes | ||||
Consent.category:VSCat | extensible | ConsentCategoryCodes | ||||
Consent.policyRule | extensible | Pattern: ch-epr | ||||
Consent.provision.type | required | Fixed Value: deny | ||||
Consent.provision.actor.role | extensible | SecurityRoleType | ||||
Consent.provision.action | example | ConsentActionCodes | ||||
Consent.provision.securityLabel | extensible | All Security Labels | ||||
Consent.provision.purpose | extensible | PurposeOfUse | ||||
Consent.provision.class | extensible | ConsentContentClass | ||||
Consent.provision.code | example | ConsentContentCodes (a valid code from LOINC) | ||||
Consent.provision.data.meaning | required | Fixed Value: instance |
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: 5 elements (1 nested mandatory element)
Fixed Value: 4 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Consent
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Consent | 0..* | Consent | CH Core EPR-Consent | |
scope | 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:coding.code, value:coding.system | |
category:VSCat | 1..1 | CodeableConcept | Classification of the consent statement - for indexing/retrieval | |
coding | 1..* | Coding | Code defined by a terminology system | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode | |
code | 1..1 | code | information disclosure Fixed Value: IDSCL | |
patient | 1..1 | Reference(CH Core Patient) | The patient to whom this EPR consent applies | |
performer | 0..* | Reference(CH Core Organization | CH Core Patient | CH Core Practitioner | RelatedPerson | CH Core PractitionerRole) | Who is agreeing to the policy and rules | |
organization | 0..* | Reference(CH Core Organization) | Custodian of the consent | |
policyRule | 0..1 | CodeableConcept | Regulation that this consents to 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/consentpolicycodes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ch-epr | |
provision | 0..1 | BackboneElement | Exceptions to the EPR consent | |
type | 1..1 | code | deny Fixed Value: deny | |
data | ||||
meaning | 1..1 | code | instance | related | dependents | authoredby Fixed Value: instance | |
reference | 1..1 | Reference(CH Core Encounter) | Excluded encounter for EPR | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Consent | C | 0..* | Consent | CH Core EPR-Consent |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. |
scope | ?!Σ | 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 |
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:coding.code, value:coding.system Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement. |
category:VSCat | Σ | 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. |
coding | Σ | 1..* | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode |
code | Σ | 1..1 | code | information disclosure Fixed Value: IDSCL |
patient | Σ | 1..1 | Reference(CH Core Patient) | The patient to whom this EPR consent applies |
performer | Σ | 0..* | Reference(CH Core Organization | CH Core Patient | CH Core Practitioner | RelatedPerson | CH Core PractitionerRole) | Who is agreeing to the policy and rules |
organization | Σ | 0..* | Reference(CH Core Organization) | Custodian of the consent |
policyRule | ΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. 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/consentpolicycodes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ch-epr | |
provision | Σ | 0..1 | BackboneElement | Exceptions to the EPR consent |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 1..1 | code | deny Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. Fixed Value: deny |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Consent.status | required | ConsentState |
Consent.scope | extensible | Pattern: patient-privacy |
Consent.category | extensible | ConsentCategoryCodes |
Consent.category:VSCat | extensible | ConsentCategoryCodes |
Consent.policyRule | extensible | Pattern: ch-epr |
Consent.provision.type | required | Fixed Value: deny |
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 | CH Core EPR-Consent | ||||
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 | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. | ||||
scope | ?!Σ | 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:coding.code, value:coding.system Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement. | ||||
category:VSCat | Σ | 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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 1..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
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 | information disclosure 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 | Σ | 1..1 | Reference(CH Core Patient) | The patient to whom this EPR consent applies | ||||
dateTime | Σ | 0..1 | dateTime | When this Consent was created or indexed | ||||
performer | Σ | 0..* | Reference(CH Core Organization | CH Core Patient | CH Core Practitioner | RelatedPerson | CH Core PractitionerRole) | Who is agreeing to the policy and rules | ||||
organization | Σ | 0..* | Reference(CH Core Organization) | Custodian of the consent | ||||
source[x] | Σ | 0..1 | Source from which this consent is taken | |||||
sourceAttachment | Attachment | |||||||
sourceReference | Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) | |||||||
policy | 0..* | 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 | C | 0..1 | uri | Specific policy covered by this consent | ||||
policyRule | ΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. 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/consentpolicycodes | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ch-epr | |||||
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 | |||||
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 | Σ | 0..1 | BackboneElement | Exceptions to the EPR 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 | ||||
type | Σ | 1..1 | code | deny Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. Fixed Value: deny | ||||
period | Σ | 0..1 | Period | Timeframe for this rule | ||||
actor | 0..* | BackboneElement | Who|what controlled by this rule (or group, by role) | |||||
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) | |||||
action | Σ | 0..* | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. | ||||
securityLabel | Σ | 0..* | Coding | Security Labels that define affected resources Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
purpose | Σ | 0..* | Coding | Context of activities covered by this rule Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. | ||||
class | Σ | 0..* | Coding | e.g. Resource Type, Profile, CDA, etc. Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers. | ||||
code | Σ | 0..* | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies. | ||||
dataPeriod | Σ | 0..1 | Period | Timeframe for data controlled by this rule | ||||
data | Σ | 0..* | BackboneElement | Data controlled by this rule | ||||
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 | ||||
meaning | Σ | 1..1 | code | instance | related | dependents | authoredby Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions. Fixed Value: instance | ||||
reference | Σ | 1..1 | Reference(CH Core Encounter) | Excluded encounter for EPR | ||||
provision | 0..* | See provision (Consent) | Nested Exception Rules | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Consent.language | preferred | CommonLanguages
| ||||
Consent.status | required | ConsentState | ||||
Consent.scope | extensible | Pattern: patient-privacy | ||||
Consent.category | extensible | ConsentCategoryCodes | ||||
Consent.category:VSCat | extensible | ConsentCategoryCodes | ||||
Consent.policyRule | extensible | Pattern: ch-epr | ||||
Consent.provision.type | required | Fixed Value: deny | ||||
Consent.provision.actor.role | extensible | SecurityRoleType | ||||
Consent.provision.action | example | ConsentActionCodes | ||||
Consent.provision.securityLabel | extensible | All Security Labels | ||||
Consent.provision.purpose | extensible | PurposeOfUse | ||||
Consent.provision.class | extensible | ConsentContentClass | ||||
Consent.provision.code | example | ConsentContentCodes (a valid code from LOINC) | ||||
Consent.provision.data.meaning | required | Fixed Value: instance |
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: 5 elements (1 nested mandatory element)
Fixed Value: 4 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron