CH Core (R4), published by HL7 Switzerland. This guide is not an authorized publication; it is the continuous build for version 7.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7ch/ch-core/ and changes regularly. See the Directory of published versions
| Official URL: http://fhir.ch/ig/ch-core/StructureDefinition/CHCoreGeneralConsent | Version: 7.0.0-ballot | ||||
| Active as of 2026-11-04 | Computable Name: CHCoreGeneralConsent | ||||
Copyright/Legal: CC0-1.0 |
|||||
Specialization of CHCoreConsent for the Unimedsuisse Generalkonsent (GC).
The CH Core General Consent follows the R5 Consent model, represented in R4 with cross-version extensions. In this model the decision (R4: Consent.modifierExtension:decision) is not the answer of the patient. It is the default rule, and each provision is an exception to that default:
The default decision of the consent is stated by the decision attribute (permit or deny) and provisions state the exceptions to the base decision.
Because Consent.provision (with code = GC and purpose = HRESCH) is mandatory in this profile, the provision always describes the activity of the General Consent: the further use of health-related data and samples for research. The answer of the patient (or legal representative) is therefore always the opposite of decision:
| GC state | status |
decision |
Meaning | Example |
|---|---|---|---|---|
| GC accepted | active |
deny |
deny by default, except research (HRESCH) which is permitted | GC-accepted |
| GC denied | active |
permit |
permit by default, except research (HRESCH) which is denied | GC-denied |
| GC withdrawn / canceled | inactive |
as recorded | the consent no longer applies | |
| unknown (no GC recorded yet) | no Consent resource exists |
Do not interpret decision on its own. A receiver must always evaluate decision together with the provision: a decision of deny means that the General Consent has been accepted, a decision of permit means that it has been denied.
The default rule (decision) applies only within the context of the Consent, i.e. its scope (research) and its policy (the Unimedsuisse Generalkonsent). The default permit of a denied General Consent does therefore not grant any permission outside the General Consent and must not be read as a consent to other activities. Other consents (e.g. for a specific research project) have to be recorded in separate Consent resources.
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | CHCoreConsent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
0..1 | Period | R5: Effective period for this Consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.period Constraints: ext-1 | |
![]() ![]() ![]() |
0..* | (Complex) | R5: Who is granting rights according to the policy and rules (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor Constraints: ext-1 | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor" | |
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent workflow management (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager Constraints: ext-1 | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager" | |
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent Enforcer (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller Constraints: ext-1 | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller" | |
![]() ![]() ![]() |
0..* | Reference(Cross-version Profile for R5.DocumentReference for use in FHIR R4(0.1.0) | Media) | R5: Human Readable Policy (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.policyText Constraints: ext-1 | |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
1..1 | code | deny = GC accepted | permit = GC denied (provision states the exception) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.decision Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level. Constraints: ext-1 | |
![]() ![]() |
1..1 | code | active | inactive (GC-specific subset of ConsentState) Binding: CH Core General Consent State (required) | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..1 | code | R5: draft | active | inactive | not-done | entered-in-error | unknown URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.status Binding: R5ConsentStateCodesForR4 (0.1.0) (required): Indicates the state of the consent. Constraints: ext-1 | |
![]() ![]() |
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: | |
![]() ![]() |
1..* | CodeableConcept | Initial classification of consent, used with provision.code to identify consent types Binding: ConsentCategoriesVS (required) | |
![]() ![]() |
1..1 | Reference(Patient) | The patient to whom this consent applies to | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | R5: subject URL: http://hl7.org/fhir/StructureDefinition/alternate-reference Constraints: ext-1 | |
![]() ![]() |
1..1 | dateTime | Date the consent entry was made (mandatory) | |
![]() ![]() |
0..* | Reference(Organization) | Grantee (Organization). HealthcareService grantees are NOT allowed in this profile. | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() |
1..1 | BackboneElement | Backing policy (Unimedsuisse Generalkonsent) | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |
![]() ![]() ![]() |
C | 1..1 | uri | Specific policy covered by this consent Required Pattern: https://www.unimedsuisse.ch/de/projekte/generalkonsent (extensions allowed) |
![]() ![]() |
1..1 | BackboneElement | Exceptions/Constraints to the base decision | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..1 | Expression | R5: A computable expression of the consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision.expression Constraints: ext-1 | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |
![]() ![]() ![]() |
1..* | Coding | Context of activities covered by this provision (must be HRESCH) Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/v3-ActReason (extensions allowed) | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: HRESCH (extensions allowed) | |
![]() ![]() ![]() |
1..* | CodeableConcept | Additional classification of consent, used with category to identify consent types Binding: ConsentProvisionCodesVS (required) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Consent.status | Base | required | CH Core General Consent State | 📦7.0.0-ballot | This IG |
| Consent.scope | Base | extensible | Consent Scope Codes | 📍4.0.1 | FHIR Std. |
| Consent.category | Base | required | ConsentCategoriesVS | 📦7.0.0-ballot | This IG |
| Consent.provision.purpose | Base | extensible | PurposeOfUse | 📍3.1.0 | THO v7.4 |
| Consent.provision.code | Base | required | ConsentProvisionCodesVS | 📦7.0.0-ballot | This IG |
| Id | Grade | Path(s) | Description | Expression |
| 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 | Consent.implicitRules, Consent.extension:period, Consent.extension:grantor, Consent.extension:manager, Consent.extension:controller, Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.status, Consent.status.extension:status, Consent.scope, Consent.category, Consent.patient, Consent.patient.extension:subject, Consent.dateTime, Consent.performer, Consent.policy, Consent.policy.modifierExtension, Consent.policy.uri, Consent.provision, Consent.provision.extension:expression, Consent.provision.modifierExtension, Consent.provision.purpose, Consent.provision.purpose.system, Consent.provision.purpose.code, Consent.provision.code | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Consent.extension:period, Consent.extension:grantor, Consent.extension:manager, Consent.extension:controller, Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.status.extension:status, Consent.patient.extension:subject, Consent.policy.modifierExtension, Consent.provision.extension:expression, Consent.provision.modifierExtension | 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 CHCoreConsent
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | CHCoreConsent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
1..1 | 0.1.0 | deny = GC accepted | permit = GC denied (provision states the exception) | |
![]() ![]() |
1..1 | code | active | inactive (GC-specific subset of ConsentState) Binding: CH Core General Consent State (required) | |
![]() ![]() |
1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Required Pattern: | |
![]() ![]() |
1..1 | dateTime | Date the consent entry was made (mandatory) | |
![]() ![]() |
0..* | Reference(Organization) | Grantee (Organization). HealthcareService grantees are NOT allowed in this profile. | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..0 | Forbidden: HealthcareService as grantee is excluded in the CH Core General Consent. | ||
![]() ![]() |
1..1 | BackboneElement | Backing policy (Unimedsuisse Generalkonsent) | |
![]() ![]() ![]() |
1..1 | uri | Specific policy covered by this consent Required Pattern: https://www.unimedsuisse.ch/de/projekte/generalkonsent (extensions allowed) | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Coding | Context of activities covered by this provision (must be HRESCH) | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/v3-ActReason (extensions allowed) | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: HRESCH (extensions allowed) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Consent.status | Base | required | CH Core General Consent State | 📦7.0.0-ballot | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | CHCoreConsent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | Period | R5: Effective period for this Consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.period Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | (Complex) | R5: Who is granting rights according to the policy and rules (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor" | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Patient | RelatedPerson | Organization) | Who is granting rights according to the policy and rules | |||||
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent workflow management (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager" | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(HealthcareService) | Consent workflow management | |||||
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent Enforcer (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller" | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Organization) | Consent Enforcer | |||||
![]() ![]() ![]() |
0..* | Reference(Cross-version Profile for R5.DocumentReference for use in FHIR R4(0.1.0) | Media) | R5: Human Readable Policy (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.policyText Constraints: ext-1 | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
1..1 | code | deny = GC accepted | permit = GC denied (provision states the exception) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.decision Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level. Constraints: ext-1 | |||||
![]() ![]() |
0..* | Identifier | Identifier for this record (external references) Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"} | |||||
![]() ![]() |
1..1 | code | active | inactive (GC-specific subset of ConsentState) Binding: CH Core General Consent State (required) | |||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | code | R5: draft | active | inactive | not-done | entered-in-error | unknown URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.status Binding: R5ConsentStateCodesForR4 (0.1.0) (required): Indicates the state of the consent. Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | string | Primitive value for code | |||||
![]() ![]() |
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: | |||||
![]() ![]() |
1..* | CodeableConcept | Initial classification of consent, used with provision.code to identify consent types Binding: ConsentCategoriesVS (required) | |||||
![]() ![]() |
1..1 | Reference(Patient) | The patient to whom this consent applies to | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | R5: subject URL: http://hl7.org/fhir/StructureDefinition/alternate-reference Constraints: ext-1 | |||||
![]() ![]() ![]() |
C | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | |||||
![]() ![]() ![]() |
0..1 | Identifier | Logical reference, when literal reference is not known | |||||
![]() ![]() ![]() |
0..1 | string | Text alternative for the resource | |||||
![]() ![]() |
1..1 | dateTime | Date the consent entry was made (mandatory) | |||||
![]() ![]() |
0..* | Reference(Organization) | Grantee (Organization). HealthcareService grantees are NOT allowed in this profile. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
C | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | |||||
![]() ![]() ![]() |
0..1 | Identifier | Logical reference, when literal reference is not known | |||||
![]() ![]() ![]() |
0..1 | string | Text alternative for the resource | |||||
![]() ![]() |
0..* | Reference(Organization) | Custodian of the consent | |||||
![]() ![]() |
0..1 | Source from which this consent is taken | ||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | R5: sourceReference URL: http://hl7.org/fhir/StructureDefinition/alternate-reference Constraints: ext-1 | |||||
![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() |
Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) | |||||||
![]() ![]() |
1..1 | BackboneElement | Backing policy (Unimedsuisse Generalkonsent) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() |
C | 0..1 | uri | Enforcement source for policy | ||||
![]() ![]() ![]() |
C | 1..1 | uri | Specific policy covered by this consent Required Pattern: https://www.unimedsuisse.ch/de/projekte/generalkonsent (extensions allowed) | ||||
![]() ![]() |
C | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. | ||||
![]() ![]() |
0..* | BackboneElement | Consent Verified by patient or family | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | R5: Business case of verification (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.verification.verificationType Binding: R5ConsentVerificationForR4 (0.1.0) (example): Types of Verification/Validation. Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Cross-version Profile for R5.Organization for use in FHIR R4(0.1.0) | Organization | Cross-version Profile for R5.Practitioner for use in FHIR R4(0.1.0) | Practitioner | Cross-version Profile for R5.PractitionerRole for use in FHIR R4(0.1.0) | PractitionerRole) | R5: Person conducting verification (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.verification.verifiedBy Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() |
1..1 | boolean | Has been verified | |||||
![]() ![]() ![]() |
0..1 | Reference(Patient | RelatedPerson) | Person who verified | |||||
![]() ![]() ![]() |
0..1 | dateTime | When consent verified | |||||
![]() ![]() |
1..1 | BackboneElement | Exceptions/Constraints to the base decision | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Expression | R5: A computable expression of the consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision.expression Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. | |||||
![]() ![]() ![]() |
0..1 | Period | Timeframe for this rule | |||||
![]() ![]() ![]() |
0..* | BackboneElement | Who|what controlled by this rule (or group, by role) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. | |||||
![]() ![]() ![]() ![]() |
1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Resource for the actor (or group, by role) | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. | |||||
![]() ![]() ![]() |
0..* | Coding | Security Labels that define affected resources Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | |||||
![]() ![]() ![]() |
1..* | Coding | Context of activities covered by this provision (must be HRESCH) Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/v3-ActReason (extensions allowed) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: HRESCH (extensions allowed) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() |
0..* | Coding | e.g. Resource Type, Profile, CDA, etc. Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers. | |||||
![]() ![]() ![]() |
1..* | CodeableConcept | Additional classification of consent, used with category to identify consent types Binding: ConsentProvisionCodesVS (required) | |||||
![]() ![]() ![]() |
0..1 | Period | Timeframe for data controlled by this rule | |||||
![]() ![]() ![]() |
0..* | BackboneElement | Data controlled by this rule | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
1..1 | code | instance | related | dependents | authoredby Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions. | |||||
![]() ![]() ![]() ![]() |
1..1 | Reference(Resource) | The actual data reference | |||||
![]() ![]() ![]() |
0..* | See provision (Consent) | Nested Exception Rules | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Consent.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Consent.status | Base | required | CH Core General Consent State | 📦7.0.0-ballot | This IG |
| Consent.scope | Base | extensible | Consent Scope Codes | 📍4.0.1 | FHIR Std. |
| Consent.category | Base | required | ConsentCategoriesVS | 📦7.0.0-ballot | This IG |
| Consent.patient.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std. |
| Consent.performer.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std. |
| Consent.policyRule | Base | extensible | Consent PolicyRule Codes | 📍4.0.1 | FHIR Std. |
| Consent.provision.type | Base | required | ConsentProvisionType | 📍4.0.1 | FHIR Std. |
| Consent.provision.actor.role | Base | extensible | SecurityRoleType | 📍4.0.1 | FHIR Std. |
| Consent.provision.action | Base | example | Consent Action Codes | 📍4.0.1 | FHIR Std. |
| Consent.provision.securityLabel | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| Consent.provision.purpose | Base | extensible | PurposeOfUse | 📍3.1.0 | THO v7.4 |
| Consent.provision.class | Base | extensible | Consent Content Class | 📍4.0.1 | FHIR Std. |
| Consent.provision.code | Base | required | ConsentProvisionCodesVS | 📦7.0.0-ballot | This IG |
| Consent.provision.data.meaning | Base | required | ConsentDataMeaning | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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 | Consent.meta, Consent.implicitRules, Consent.language, Consent.text, Consent.extension, Consent.extension:period, Consent.extension:grantor, Consent.extension:grantor.value[x], Consent.extension:manager, Consent.extension:manager.value[x], Consent.extension:controller, Consent.extension:controller.value[x], Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.identifier, Consent.status, Consent.status.extension, Consent.status.extension:status, Consent.scope, Consent.category, Consent.patient, Consent.patient.extension, Consent.patient.extension:subject, Consent.patient.reference, Consent.patient.type, Consent.patient.identifier, Consent.patient.display, Consent.dateTime, Consent.performer, Consent.performer.extension, Consent.performer.reference, Consent.performer.type, Consent.performer.identifier, Consent.performer.display, Consent.organization, Consent.source[x], Consent.source[x].extension, Consent.source[x].extension:alternateReference, Consent.policy, Consent.policy.extension, Consent.policy.modifierExtension, Consent.policy.authority, Consent.policy.uri, Consent.policyRule, Consent.verification, Consent.verification.extension, Consent.verification.extension:verificationType, Consent.verification.extension:verifiedBy, Consent.verification.modifierExtension, Consent.verification.verified, Consent.verification.verifiedWith, Consent.verification.verificationDate, Consent.provision, Consent.provision.extension, Consent.provision.extension:expression, Consent.provision.modifierExtension, Consent.provision.type, Consent.provision.period, Consent.provision.actor, Consent.provision.actor.extension, Consent.provision.actor.modifierExtension, Consent.provision.actor.role, Consent.provision.actor.reference, Consent.provision.action, Consent.provision.securityLabel, Consent.provision.purpose, Consent.provision.purpose.extension, Consent.provision.purpose.system, Consent.provision.purpose.version, Consent.provision.purpose.code, Consent.provision.purpose.display, Consent.provision.purpose.userSelected, Consent.provision.class, Consent.provision.code, Consent.provision.dataPeriod, Consent.provision.data, Consent.provision.data.extension, Consent.provision.data.modifierExtension, Consent.provision.data.meaning, Consent.provision.data.reference, Consent.provision.provision | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Consent.extension, Consent.extension:period, Consent.extension:grantor, Consent.extension:manager, Consent.extension:controller, Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.status.extension, Consent.status.extension:status, Consent.patient.extension, Consent.patient.extension:subject, Consent.performer.extension, Consent.source[x].extension, Consent.source[x].extension:alternateReference, Consent.policy.extension, Consent.policy.modifierExtension, Consent.verification.extension, Consent.verification.extension:verificationType, Consent.verification.extension:verifiedBy, Consent.verification.modifierExtension, Consent.provision.extension, Consent.provision.extension:expression, Consent.provision.modifierExtension, Consent.provision.actor.extension, Consent.provision.actor.modifierExtension, Consent.provision.purpose.extension, Consent.provision.data.extension, Consent.provision.data.modifierExtension | 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 CHCoreConsent
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | CHCoreConsent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
0..1 | Period | R5: Effective period for this Consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.period Constraints: ext-1 | |
![]() ![]() ![]() |
0..* | (Complex) | R5: Who is granting rights according to the policy and rules (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor Constraints: ext-1 | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor" | |
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent workflow management (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager Constraints: ext-1 | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager" | |
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent Enforcer (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller Constraints: ext-1 | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller" | |
![]() ![]() ![]() |
0..* | Reference(Cross-version Profile for R5.DocumentReference for use in FHIR R4(0.1.0) | Media) | R5: Human Readable Policy (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.policyText Constraints: ext-1 | |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
1..1 | code | deny = GC accepted | permit = GC denied (provision states the exception) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.decision Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level. Constraints: ext-1 | |
![]() ![]() |
1..1 | code | active | inactive (GC-specific subset of ConsentState) Binding: CH Core General Consent State (required) | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..1 | code | R5: draft | active | inactive | not-done | entered-in-error | unknown URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.status Binding: R5ConsentStateCodesForR4 (0.1.0) (required): Indicates the state of the consent. Constraints: ext-1 | |
![]() ![]() |
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: | |
![]() ![]() |
1..* | CodeableConcept | Initial classification of consent, used with provision.code to identify consent types Binding: ConsentCategoriesVS (required) | |
![]() ![]() |
1..1 | Reference(Patient) | The patient to whom this consent applies to | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | R5: subject URL: http://hl7.org/fhir/StructureDefinition/alternate-reference Constraints: ext-1 | |
![]() ![]() |
1..1 | dateTime | Date the consent entry was made (mandatory) | |
![]() ![]() |
0..* | Reference(Organization) | Grantee (Organization). HealthcareService grantees are NOT allowed in this profile. | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() |
1..1 | BackboneElement | Backing policy (Unimedsuisse Generalkonsent) | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |
![]() ![]() ![]() |
C | 1..1 | uri | Specific policy covered by this consent Required Pattern: https://www.unimedsuisse.ch/de/projekte/generalkonsent (extensions allowed) |
![]() ![]() |
1..1 | BackboneElement | Exceptions/Constraints to the base decision | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..1 | Expression | R5: A computable expression of the consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision.expression Constraints: ext-1 | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |
![]() ![]() ![]() |
1..* | Coding | Context of activities covered by this provision (must be HRESCH) Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/v3-ActReason (extensions allowed) | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: HRESCH (extensions allowed) | |
![]() ![]() ![]() |
1..* | CodeableConcept | Additional classification of consent, used with category to identify consent types Binding: ConsentProvisionCodesVS (required) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Consent.status | Base | required | CH Core General Consent State | 📦7.0.0-ballot | This IG |
| Consent.scope | Base | extensible | Consent Scope Codes | 📍4.0.1 | FHIR Std. |
| Consent.category | Base | required | ConsentCategoriesVS | 📦7.0.0-ballot | This IG |
| Consent.provision.purpose | Base | extensible | PurposeOfUse | 📍3.1.0 | THO v7.4 |
| Consent.provision.code | Base | required | ConsentProvisionCodesVS | 📦7.0.0-ballot | This IG |
| Id | Grade | Path(s) | Description | Expression |
| 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 | Consent.implicitRules, Consent.extension:period, Consent.extension:grantor, Consent.extension:manager, Consent.extension:controller, Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.status, Consent.status.extension:status, Consent.scope, Consent.category, Consent.patient, Consent.patient.extension:subject, Consent.dateTime, Consent.performer, Consent.policy, Consent.policy.modifierExtension, Consent.policy.uri, Consent.provision, Consent.provision.extension:expression, Consent.provision.modifierExtension, Consent.provision.purpose, Consent.provision.purpose.system, Consent.provision.purpose.code, Consent.provision.code | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Consent.extension:period, Consent.extension:grantor, Consent.extension:manager, Consent.extension:controller, Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.status.extension:status, Consent.patient.extension:subject, Consent.policy.modifierExtension, Consent.provision.extension:expression, Consent.provision.modifierExtension | 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()
|
Differential View
This structure is derived from CHCoreConsent
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | CHCoreConsent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
1..1 | 0.1.0 | deny = GC accepted | permit = GC denied (provision states the exception) | |
![]() ![]() |
1..1 | code | active | inactive (GC-specific subset of ConsentState) Binding: CH Core General Consent State (required) | |
![]() ![]() |
1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Required Pattern: | |
![]() ![]() |
1..1 | dateTime | Date the consent entry was made (mandatory) | |
![]() ![]() |
0..* | Reference(Organization) | Grantee (Organization). HealthcareService grantees are NOT allowed in this profile. | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
0..0 | Forbidden: HealthcareService as grantee is excluded in the CH Core General Consent. | ||
![]() ![]() |
1..1 | BackboneElement | Backing policy (Unimedsuisse Generalkonsent) | |
![]() ![]() ![]() |
1..1 | uri | Specific policy covered by this consent Required Pattern: https://www.unimedsuisse.ch/de/projekte/generalkonsent (extensions allowed) | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Coding | Context of activities covered by this provision (must be HRESCH) | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/v3-ActReason (extensions allowed) | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: HRESCH (extensions allowed) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Consent.status | Base | required | CH Core General Consent State | 📦7.0.0-ballot | This IG |
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | CHCoreConsent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | Period | R5: Effective period for this Consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.period Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | (Complex) | R5: Who is granting rights according to the policy and rules (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.grantor" | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Patient | RelatedPerson | Organization) | Who is granting rights according to the policy and rules | |||||
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent workflow management (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.manager" | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(HealthcareService) | Consent workflow management | |||||
![]() ![]() ![]() |
0..* | (Complex) | R5: Consent Enforcer (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.controller" | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Organization) | Consent Enforcer | |||||
![]() ![]() ![]() |
0..* | Reference(Cross-version Profile for R5.DocumentReference for use in FHIR R4(0.1.0) | Media) | R5: Human Readable Policy (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.policyText Constraints: ext-1 | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
1..1 | code | deny = GC accepted | permit = GC denied (provision states the exception) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.decision Binding: ConsentProvisionType (required): Sets the base decision for Consent to be either permit or deny, with provisions assumed to be a negation of the previous level. Constraints: ext-1 | |||||
![]() ![]() |
0..* | Identifier | Identifier for this record (external references) Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"} | |||||
![]() ![]() |
1..1 | code | active | inactive (GC-specific subset of ConsentState) Binding: CH Core General Consent State (required) | |||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | code | R5: draft | active | inactive | not-done | entered-in-error | unknown URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.status Binding: R5ConsentStateCodesForR4 (0.1.0) (required): Indicates the state of the consent. Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | string | Primitive value for code | |||||
![]() ![]() |
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: | |||||
![]() ![]() |
1..* | CodeableConcept | Initial classification of consent, used with provision.code to identify consent types Binding: ConsentCategoriesVS (required) | |||||
![]() ![]() |
1..1 | Reference(Patient) | The patient to whom this consent applies to | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | R5: subject URL: http://hl7.org/fhir/StructureDefinition/alternate-reference Constraints: ext-1 | |||||
![]() ![]() ![]() |
C | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | |||||
![]() ![]() ![]() |
0..1 | Identifier | Logical reference, when literal reference is not known | |||||
![]() ![]() ![]() |
0..1 | string | Text alternative for the resource | |||||
![]() ![]() |
1..1 | dateTime | Date the consent entry was made (mandatory) | |||||
![]() ![]() |
0..* | Reference(Organization) | Grantee (Organization). HealthcareService grantees are NOT allowed in this profile. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
C | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | |||||
![]() ![]() ![]() |
0..1 | Identifier | Logical reference, when literal reference is not known | |||||
![]() ![]() ![]() |
0..1 | string | Text alternative for the resource | |||||
![]() ![]() |
0..* | Reference(Organization) | Custodian of the consent | |||||
![]() ![]() |
0..1 | Source from which this consent is taken | ||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | R5: sourceReference URL: http://hl7.org/fhir/StructureDefinition/alternate-reference Constraints: ext-1 | |||||
![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() |
Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) | |||||||
![]() ![]() |
1..1 | BackboneElement | Backing policy (Unimedsuisse Generalkonsent) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() |
C | 0..1 | uri | Enforcement source for policy | ||||
![]() ![]() ![]() |
C | 1..1 | uri | Specific policy covered by this consent Required Pattern: https://www.unimedsuisse.ch/de/projekte/generalkonsent (extensions allowed) | ||||
![]() ![]() |
C | 0..1 | CodeableConcept | Regulation that this consents to Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples. | ||||
![]() ![]() |
0..* | BackboneElement | Consent Verified by patient or family | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | R5: Business case of verification (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.verification.verificationType Binding: R5ConsentVerificationForR4 (0.1.0) (example): Types of Verification/Validation. Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Cross-version Profile for R5.Organization for use in FHIR R4(0.1.0) | Organization | Cross-version Profile for R5.Practitioner for use in FHIR R4(0.1.0) | Practitioner | Cross-version Profile for R5.PractitionerRole for use in FHIR R4(0.1.0) | PractitionerRole) | R5: Person conducting verification (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.verification.verifiedBy Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() |
1..1 | boolean | Has been verified | |||||
![]() ![]() ![]() |
0..1 | Reference(Patient | RelatedPerson) | Person who verified | |||||
![]() ![]() ![]() |
0..1 | dateTime | When consent verified | |||||
![]() ![]() |
1..1 | BackboneElement | Exceptions/Constraints to the base decision | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Expression | R5: A computable expression of the consent (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision.expression Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. | |||||
![]() ![]() ![]() |
0..1 | Period | Timeframe for this rule | |||||
![]() ![]() ![]() |
0..* | BackboneElement | Who|what controlled by this rule (or group, by role) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. | |||||
![]() ![]() ![]() ![]() |
1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Resource for the actor (or group, by role) | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Actions controlled by this rule Binding: ConsentActionCodes (example): Detailed codes for the consent action. | |||||
![]() ![]() ![]() |
0..* | Coding | Security Labels that define affected resources Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | |||||
![]() ![]() ![]() |
1..* | Coding | Context of activities covered by this provision (must be HRESCH) Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/v3-ActReason (extensions allowed) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: HRESCH (extensions allowed) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() |
0..* | Coding | e.g. Resource Type, Profile, CDA, etc. Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers. | |||||
![]() ![]() ![]() |
1..* | CodeableConcept | Additional classification of consent, used with category to identify consent types Binding: ConsentProvisionCodesVS (required) | |||||
![]() ![]() ![]() |
0..1 | Period | Timeframe for data controlled by this rule | |||||
![]() ![]() ![]() |
0..* | BackboneElement | Data controlled by this rule | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
1..1 | code | instance | related | dependents | authoredby Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions. | |||||
![]() ![]() ![]() ![]() |
1..1 | Reference(Resource) | The actual data reference | |||||
![]() ![]() ![]() |
0..* | See provision (Consent) | Nested Exception Rules | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Consent.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Consent.status | Base | required | CH Core General Consent State | 📦7.0.0-ballot | This IG |
| Consent.scope | Base | extensible | Consent Scope Codes | 📍4.0.1 | FHIR Std. |
| Consent.category | Base | required | ConsentCategoriesVS | 📦7.0.0-ballot | This IG |
| Consent.patient.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std. |
| Consent.performer.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std. |
| Consent.policyRule | Base | extensible | Consent PolicyRule Codes | 📍4.0.1 | FHIR Std. |
| Consent.provision.type | Base | required | ConsentProvisionType | 📍4.0.1 | FHIR Std. |
| Consent.provision.actor.role | Base | extensible | SecurityRoleType | 📍4.0.1 | FHIR Std. |
| Consent.provision.action | Base | example | Consent Action Codes | 📍4.0.1 | FHIR Std. |
| Consent.provision.securityLabel | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| Consent.provision.purpose | Base | extensible | PurposeOfUse | 📍3.1.0 | THO v7.4 |
| Consent.provision.class | Base | extensible | Consent Content Class | 📍4.0.1 | FHIR Std. |
| Consent.provision.code | Base | required | ConsentProvisionCodesVS | 📦7.0.0-ballot | This IG |
| Consent.provision.data.meaning | Base | required | ConsentDataMeaning | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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 | Consent.meta, Consent.implicitRules, Consent.language, Consent.text, Consent.extension, Consent.extension:period, Consent.extension:grantor, Consent.extension:grantor.value[x], Consent.extension:manager, Consent.extension:manager.value[x], Consent.extension:controller, Consent.extension:controller.value[x], Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.identifier, Consent.status, Consent.status.extension, Consent.status.extension:status, Consent.scope, Consent.category, Consent.patient, Consent.patient.extension, Consent.patient.extension:subject, Consent.patient.reference, Consent.patient.type, Consent.patient.identifier, Consent.patient.display, Consent.dateTime, Consent.performer, Consent.performer.extension, Consent.performer.reference, Consent.performer.type, Consent.performer.identifier, Consent.performer.display, Consent.organization, Consent.source[x], Consent.source[x].extension, Consent.source[x].extension:alternateReference, Consent.policy, Consent.policy.extension, Consent.policy.modifierExtension, Consent.policy.authority, Consent.policy.uri, Consent.policyRule, Consent.verification, Consent.verification.extension, Consent.verification.extension:verificationType, Consent.verification.extension:verifiedBy, Consent.verification.modifierExtension, Consent.verification.verified, Consent.verification.verifiedWith, Consent.verification.verificationDate, Consent.provision, Consent.provision.extension, Consent.provision.extension:expression, Consent.provision.modifierExtension, Consent.provision.type, Consent.provision.period, Consent.provision.actor, Consent.provision.actor.extension, Consent.provision.actor.modifierExtension, Consent.provision.actor.role, Consent.provision.actor.reference, Consent.provision.action, Consent.provision.securityLabel, Consent.provision.purpose, Consent.provision.purpose.extension, Consent.provision.purpose.system, Consent.provision.purpose.version, Consent.provision.purpose.code, Consent.provision.purpose.display, Consent.provision.purpose.userSelected, Consent.provision.class, Consent.provision.code, Consent.provision.dataPeriod, Consent.provision.data, Consent.provision.data.extension, Consent.provision.data.modifierExtension, Consent.provision.data.meaning, Consent.provision.data.reference, Consent.provision.provision | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Consent.extension, Consent.extension:period, Consent.extension:grantor, Consent.extension:manager, Consent.extension:controller, Consent.extension:policyText, Consent.modifierExtension, Consent.modifierExtension:decision, Consent.status.extension, Consent.status.extension:status, Consent.patient.extension, Consent.patient.extension:subject, Consent.performer.extension, Consent.source[x].extension, Consent.source[x].extension:alternateReference, Consent.policy.extension, Consent.policy.modifierExtension, Consent.verification.extension, Consent.verification.extension:verificationType, Consent.verification.extension:verifiedBy, Consent.verification.modifierExtension, Consent.provision.extension, Consent.provision.extension:expression, Consent.provision.modifierExtension, Consent.provision.actor.extension, Consent.provision.actor.modifierExtension, Consent.provision.purpose.extension, Consent.provision.data.extension, Consent.provision.data.modifierExtension | 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 CHCoreConsent
Other representations of profile: CSV, Excel, Schematron