Diabetes DMP IG (R4)
0.0.1 - CI Build Germany flag

Diabetes DMP IG (R4) - Local Development build (v0.0.1). See the Directory of published versions

Resource Profile: DDG DMP Consent eDA Profile

Official URL: http://deutsche-diabetes-gesellschaft.de/fhir/ig/dmp-diabetes/StructureDefinition/ddg-dmp-consent-eda Version: 0.0.1
Draft as of 2022-03-15 Computable Name: DDGDmpConsentEda

Copyright/Legal: CC-BY-SA-4.0

Consent for the DDG DMP eDA

Usage:

  • Refer to this Resource Profile:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Consent

Summary

Mandatory: 3 elements (2 nested mandatory elements)
Must-Support: 9 elements
Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

This structure is derived from Consent

This structure is derived from Consent

Summary

Mandatory: 3 elements (2 nested mandatory elements)
Must-Support: 9 elements
Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Consent

Snapshot View

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Consent.statusrequiredDdgDmpConsentStatus
Consent.scopeextensiblePattern: patient-privacy("Agreement to collect, access, use or disclose (share) information")
Consent.categoryextensiblePattern: SNOMED CT code 414925007
Consent.source[x].contentTyperequiredFixed Value: application/pdf
Consent.source[x].languagepreferredCommonLanguages
Max Binding: AllLanguages
Consent.policyRuleextensibleConsentPolicyRuleCodes
Consent.provision.typerequiredConsentProvisionType
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.classextensibleConsentContentClass
Consent.provision.codeexampleConsentContentCodes
Consent.provision.data.meaningrequiredConsentDataMeaning

Constraints

IdGradePathDetailsRequirements
dom-2errorConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConsentIf 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-4errorConsentIf 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-5errorConsentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeConsentA resource should have narrative for robust management
: text.`div`.exists()
ppc-1errorConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ppc-2errorConsentIF Scope=privacy, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3errorConsentIF Scope=research, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4errorConsentIF Scope=adr, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5errorConsentIF Scope=treatment, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
ele-1errorConsent.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.scopeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.dateTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.source[x].extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.source[x].contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].sizeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].hashAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x].creationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policy.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.policy.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.policy.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.policy.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.policy.uriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policyRuleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verificationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verification.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.verification.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.verification.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.verification.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.verification.verifiedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verification.verifiedWithAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verification.verificationDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provisionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.securityLabelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.classAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.dataPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.data.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.data.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.data.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.data.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.data.meaningAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.data.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.provisionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())