MII Implementation Guide Consent
2027.0.0-ballot - Germany

This page is part of the MII Implementation Guide Consent (v2027.0.0-ballot: Release) 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

Resource Profile: Profile - MI-I - Consent - Einwilligung

Official URL: https://www.medizininformatik-initiative.de/fhir/modul-consent/StructureDefinition/mii-pr-consent-einwilligung Version: 2027.0.0-ballot
Active as of 2026-08-21 Computable Name: MII_PR_Consent_Einwilligung

Dieses Profil beschreibt eine Einwilligung in der Medizininformatik-Initiative.

This profile describes an operationalized, automatically generated and processable consent in the Medical Informatics Initiative.

When a person is enrolled in a study (including an MII use case), a consent is collected for that person on the basis of the MII Broad Consent model texts, and the corresponding consent documents are documented in a structured way at the respective site according to the specifications of the MII Task Force Consent Umsetzung.

On the basis of these consent documents, the FHIR Consent resource is generated automatically. The project context is preserved.

The resource must be created before participation in cross-site feasibility queries and data releases. Further obligations and adaptations must be checked for each use case.

The security and privacy aspects of this profile are described on the page Security and Privacy; the search parameters are described on the page Search Parameters.

Interoperability

To ensure the exchangeability of the operationalized consent contents beyond FHIR as well, a uniform PolicyValueSet for the semantic representation of the statements contained in the MII Broad Consent was agreed with the MII AG Consent in December 2021 and documented in ART-DECOR (policy OIDs).

The use of this code system is mandatory with respect to the KDS module Consent.

Only the differences from the base profile are explained below.

FHIR element Explanation
Consent.id Must-support, but optional
Consent.meta Must-support, but optional
Consent.meta.source Must-support, but optional
Consent.meta.profile Must-support, but optional
Consent.extension:domainReference Must-support per the specifications of the AG Einwilligungsmanagement , but optional
Consent.identifier Contains one or more external IDs of the consent from an external system. This can be, for example, the IHE ID of the CDA document or the ID of the document in an external trusted third party. The identifier should always be given as a value pair of "system" and "value". This information is optional.
Consent.scope.coding.system Fixed value: http://terminology.hl7.org/CodeSystem/consentscope
Consent.scope.coding.code The representation of the MII consent clearly places the context on research. Fixed value: research
Consent.category Must-support. Mandatory specification of at least two categories with at least one coding each for the consent categories, to enable searching for consents of type "MII consent":
(1) per https://www.hl7.org/fhir/valueset-consent-category.html :
Fixed system: http://loinc.org
Fixed code for 'Privacy policy acknowledgement Document': 57016-8
(2) identification of the MII Broad Consent :
Fixed code: 2.16.840.1.113883.3.1937.777.24.2.184
Further additional entries are not prevented.
Consent.category:resultType.coding ResultType per ResultType . At least document and consent-status should be supported. If document is given as the ResultType, the kind of (source) document must also be given in the templateType slice.
Consent.category:templateType.coding Categorization per TemplateType . Serves as an informal element for differentiating between consent, withdrawal, objection and refusal.
Consent.patient.reference Reference to the patient the Consent resource relates to, in the form of a literal reference, relative reference, internal reference or an absolute URL, must-support.
Consent.patient.reference should be filled where possible, i.e. when a corresponding Patient resource exists. If this is not the case, the patient relationship must be established via Consent.patient.identifier .
Consent.patient.identifier Specification of the person relationship in the form of an identifier, must-support.
See Consent.patient.reference . The relationship to the patient should preferably be established via Consent.patient.reference . Consent.patient.identifier can be used alternatively or additionally.
Consent.patient.identifier.system If the person relationship is given via an identifier, the system entry as a URI is mandatory, must-support
Consent.patient.identifier.value If the person relationship is given via an identifier, the value entry as a string is mandatory, must-support
Consent.policy.uri Reference to the version of the MII Broad Consent document version underlying the Consent resource per the overview below,
e.g.
MII Broad Consent version 1.7.2 urn:oid:2.16.840.1.113883.3.1937.777.24.2.2079 or
MII Broad Consent version 1.7.2 incl. additional module Acribis urn:oid:2.16.840.1.113883.3.1937.777.24.2.4031 , must-support

The table above describes the state of release 2026.0.0. With the incorporation of the develop state (744f7ba, 2026-08-21) three changes apply: (1) the profile now derives from the HL7-D profile ConsentManagement/Consent; (2) the category slices are named consentCategory (LOINC 57016-8), mii (Version-Modules CodeSystem), resultType (required) and templateType (extensible); (3) the examples use the CodeSystem mii-cs-consent-version-modules for the MII category. The rows on Consent.category ("at least two categories") are superseded accordingly.

To filter FHIR Consent resources for consents based on the MII Broad Consent, a mandatory URI is used for Consent.policy.uri. The TFCU has created representations of the different versions of the MII Broad Consent in ART-DECOR. These can be referenced via a unique OID (cf. the table below).

Version of the MII Broad Consent Unique OID per the TFCU specification
1.6d 2.16.840.1.113883.3.1937.777.24.2.1790
1.6d refusal 2.16.840.1.113883.3.1937.777.24.2.4053
1.6d complete withdrawal 2.16.840.1.113883.3.1937.777.24.2.2718
1.6d partial withdrawal 2.16.840.1.113883.3.1937.777.24.2.2719
1.6f 2.16.840.1.113883.3.1937.777.24.2.1791
1.6f complete withdrawal 2.16.840.1.113883.3.1937.777.24.2.2720
1.6f partial withdrawal 2.16.840.1.113883.3.1937.777.24.2.2721
1.7.2 2.16.840.1.113883.3.1937.777.24.2.2079
1.7.2 refusal 2.16.840.1.113883.3.1937.777.24.2.4054
1.7.2 complete withdrawal 2.16.840.1.113883.3.1937.777.24.2.2722
1.7.2 partial withdrawal 2.16.840.1.113883.3.1937.777.24.2.2723
1.7.2 (parents and legal guardians for minors v1.1) 2.16.840.1.113883.3.1937.777.24.2.3542
1.7.2 (7-11 minors v1.1) 2.16.840.1.113883.3.1937.777.24.2.3543
1.7.2 (12-17 minors v1.1) 2.16.840.1.113883.3.1937.777.24.2.3544
Additional module ACRIBiS (Z2) 2.16.840.1.113883.3.1937.777.24.2.4031
Additional module patient survey (Z3) 2.16.840.1.113883.3.1937.777.24.2.4036
Additional module Fachnetzwerk Infektion - SNID (Z4) 2.16.840.1.113883.3.1937.777.24.2.4037
Additional module Deutsches Zentrum für Psychische Gesundheit - DZPG (Z5) 2.16.840.1.113883.3.1937.777.24.2.4048

Nested provision elements

The FHIR Consent resource follows the GDPR opt-in requirement: only what was explicitly consented to at a specific point in time (the time of consent) is permitted. This is realized via nested provision elements.

In opt-in scenarios the superordinate provision element (->level-1 provision) forbids everything (Provision.Type=DENY) unless it is explicitly permitted in the form of subordinate provision elements (->level-2 provisions). Therefore, provision elements with Provision.Type=PERMIT must be used as subordinate provisions. For additional information, level-2 provisions with Provision.Type=DENY are possible.

The basic validity period of the consent is likewise realized via the superordinate provision element using provision.period (for the MII Broad Consent: 30 years).

However, should individual parts of the consent expire early, these exceptions can be defined as part of the subordinate provisions relating to the relevant consent component using provision.provision.period (e.g. a provision with code 2.16.840.1.113883.3.1937.777.24.5.3.6 for policy MDAT\_erheben already expires after 5 years).

Superordinate provision (Consent.Provision)

FHIR element Explanation
Consent.provision.type value DENY or PERMIT , must-support
Consent.provision.period.start mandatory entry for the start of the consent's validity. Unless specified otherwise, this is typically the date of the affected person's signature of the consent, must-support
Consent.provision.period.end mandatory entry for the end of the consent's validity. This is typically the point at which the consent duration defined for the MII expires (30 years, starting from the signature date), must-support
Consent.provision.action Specifying actions is not permitted, not supported
Consent.provision.code Specifying codes is not permitted in the superordinate provision, not supported
Consent.provision.provision List of subordinate provision elements that explicitly permit (data-processing) activities, must-support

Subordinate provision elements (Consent.Provision.Provision)

Exactly one subordinate provision element should be used per consent policy.

FHIR element Explanation
Consent.provision.provision.type value PERMIT or DENY , must-support
Consent.provision.provision.period.start mandatory entry for the start of the consent policy's validity, must-support
Consent.provision.provision.period.end mandatory entry for the end of the consent policy's validity, must-support
Consent.provision.provision.code 1-n entries on the semantics of the consent policy. At minimum per the MII TFCU concept (cf. MiiConsentPolicyValueSet in the section CodeSystems ), must-support
Consent.provision.provision.code.coding.system System entry, ideally per the MII TFCU concept (cf. MiiConsentPolicyValueSet in the section CodeSystems ): urn:oid:2.16.840.1.113883.3.1937.777.24.5.3 , must-support
Consent.provision.provision.code.coding.code Code entry, ideally per the MII TFCU concept (cf. MiiConsentPolicyValueSet in the section CodeSystems ) e.g. 2.16.840.1.113883.3.1937.777.24.5.3.6 , must-support
Consent.provision.provision.code.coding.display Optional display entry, ideally per the MII TFCU concept (cf. MiiConsentPolicyValueSet in the section CodeSystems ) e.g. MDAT\_erheben
Consent.provision.provision.action Specifying actions is not permitted, not supported
Consent.provision.provision.provision Further nesting levels of provisions are not permitted, not supported

Per the specifications of the MII AG Consent, the patient's consent generally ends after 30 years. Consents of minors (the person affected by the consent) are a special case. In the case of consents for minors, which may have been filled in on their behalf by the respective legal guardians, the consent ends when the affected person reaches the age of majority. This must be implemented accordingly in the technical systems. Reference implementations exist.

The withdrawal template (compatible with MII BC 1.7.2) is also intended for withdrawing consents of minors, since these are usually likewise filled in by the legal guardians.

With regard to Consent resources created in connection with withdrawals (complete or partial), refusals or objections, the recommendations of the HL7-D AG Einwilligungsmanagement apply in general (cf. the section 'Angepasste Empfehlungen zur Verwendung von Consent und Consent-Provisions nach Dokumentenart und Szenario'):

Level-2 provisions should therefore always be specified where possible. If a document conceptually has no defined end (for example withdrawal, refusal, objection), the specification of period.end on provisions can be omitted accordingly.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and their representations.

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.extension:domainReference.​extension:status.value[x] Base required PublicationStatus 📦4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:consentCategory Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:mii Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:resultType Base required ConsentManagementResultType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.category:templateType Base extensible ConsentManagementTemplateType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.patient.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Consent.policy.uri Base extensible ConsentManagementLegalBasisDataProcessing 📦2.0.4 de.einwilligungsmanagement v2.0
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.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base required MII Consent: Policy ValueSet 📦2027.0.0-ballot This IG

Constraints

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 **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()

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.category:resultType Base required ConsentManagementResultType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.category:templateType Base extensible ConsentManagementTemplateType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.provision.provision.​code Base required MII Consent: Policy ValueSet 📦2027.0.0-ballot This IG

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.extension:domainReference.​extension:status.value[x] Base required PublicationStatus 📦4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:consentCategory Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:mii Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:resultType Base required ConsentManagementResultType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.category:templateType Base extensible ConsentManagementTemplateType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.patient.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.patient.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Consent.patient.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Consent.source[x].type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.policy.uri Base extensible ConsentManagementLegalBasisDataProcessing 📦2.0.4 de.einwilligungsmanagement v2.0
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.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible PurposeOfUse 📦3.1.0 THO v7.3
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.provision.​purpose Base extensible PurposeOfUse 📦3.1.0 THO v7.3
Consent.provision.provision.​class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base required MII Consent: Policy ValueSet 📦2027.0.0-ballot This IG
Consent.provision.provision.​data.meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

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 **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()

Summary

Mandatory: 12 elements(18 nested mandatory elements)
Must-Support: 36 elements
Fixed: 2 elements
Prohibited: 4 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Consent.category

Key Elements View

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.extension:domainReference.​extension:status.value[x] Base required PublicationStatus 📦4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:consentCategory Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:mii Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:resultType Base required ConsentManagementResultType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.category:templateType Base extensible ConsentManagementTemplateType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.patient.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Consent.policy.uri Base extensible ConsentManagementLegalBasisDataProcessing 📦2.0.4 de.einwilligungsmanagement v2.0
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.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base required MII Consent: Policy ValueSet 📦2027.0.0-ballot This IG

Constraints

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 **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()

Differential View

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.category:resultType Base required ConsentManagementResultType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.category:templateType Base extensible ConsentManagementTemplateType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.provision.provision.​code Base required MII Consent: Policy ValueSet 📦2027.0.0-ballot This IG

Snapshot ViewView

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.extension:domainReference.​extension:status.value[x] Base required PublicationStatus 📦4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:consentCategory Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:mii Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.category:resultType Base required ConsentManagementResultType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.category:templateType Base extensible ConsentManagementTemplateType 📦2.0.4 de.einwilligungsmanagement v2.0
Consent.patient.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.patient.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Consent.patient.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Consent.source[x].type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.policy.uri Base extensible ConsentManagementLegalBasisDataProcessing 📦2.0.4 de.einwilligungsmanagement v2.0
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.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible PurposeOfUse 📦3.1.0 THO v7.3
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.provision.​purpose Base extensible PurposeOfUse 📦3.1.0 THO v7.3
Consent.provision.provision.​class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base required MII Consent: Policy ValueSet 📦2027.0.0-ballot This IG
Consent.provision.provision.​data.meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

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 **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()

Summary

Mandatory: 12 elements(18 nested mandatory elements)
Must-Support: 36 elements
Fixed: 2 elements
Prohibited: 4 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Consent.category

 

Other representations of profile: CSV, Excel, Schematron