eHealth Infrastructure (v2019.5.2)

StructureDefinition: ehealth-consent

Remarks on operations

Update

The update operation on Consent only accepts changes to the patient, category, data.reference, actor, status, and period contents.

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-consent

This profile builds on Consent.

This profile was published on Wed May 29 18:05:58 UTC 2019 as a draft by ehealth.sundhed.dk.

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

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*Used to express a Consent regarding Healthcare.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierIdentifier for this record (external references)
Example General': {"system":"urn:ietf:rfc:3986","value":"Local eCMS identifier"}
... status ?!Σ1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required)
... category Σ1..*CodeableConceptType of the consent statement
Binding: ConsentCategory (required)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
Binding: ConsentCategory (required)
.... text Σ0..1stringPlain text representation of the concept
... patient Σ1..1Reference(eHealth Patient) {r}Who the consent applies to
... period Σ1..1PeriodPeriod that this consent applies
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... start ΣI1..1dateTimeStarting time with inclusive boundary
.... end ΣI0..1dateTimeEnd time with inclusive boundary, if not ongoing
... dateTime Σ0..1dateTimeWhen this Consent was created or indexed
... consentingParty Σ1..*Reference(eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Who is agreeing to the policy and exceptions
... actor ΣI1..*BackboneElementWho|what controlled by this consent (or group, by role)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible)
.... reference 1..1Reference(eHealth Device | Group | eHealth CareTeam | eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Resource for the actor (or group, by role)
... action Σ0..*CodeableConceptActions controlled by this consent
Binding: Consent Action Codes (example)
... organization Σ0..*Reference(eHealth Organization) {r}Custodian of the consent
... source[x] Σ0..1Attachment, Identifier, Reference(eHealth Consent | ehealth-documentreference | Contract | eHealth QuestionnaireResponse) {r}Source from which this consent is taken
... policy I0..*BackboneElementPolicies covered by this consent
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... authority I0..1uriEnforcement source for policy
.... uri I0..1uriSpecific policy covered by this consent
... policyRule ΣI0..1uriPolicy that this consents to
... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: All Security Labels (extensible)
... purpose Σ0..*CodingContext of activities for which the agreement is made
Binding: PurposeOfUse (extensible)
... dataPeriod Σ0..1PeriodTimeframe for data controlled by this consent
... data ΣI1..*BackboneElementData controlled by this consent
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... meaning Σ1..1codeinstance | related | dependents | authoredby
Binding: ConsentDataMeaning (required)
.... reference Σ1..1Reference(eHealth EpisodeOfCare) {r}The actual data reference
... except ΣI0..*BackboneElementAdditional rule - addition or removal of permissions
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type Σ1..1codedeny | permit
Binding: ConsentExceptType (required)
.... period Σ0..1PeriodTimeframe for this exception
.... actor ΣI0..*BackboneElementWho|what controlled by this exception (or group, by role)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible)
..... reference 1..1Reference(eHealth Device | Group | eHealth CareTeam | eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Resource for the actor (or group, by role)
.... action Σ0..*CodeableConceptActions controlled by this exception
Binding: Consent Action Codes (example)
.... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: All Security Labels (extensible)
.... purpose Σ0..*CodingContext of activities covered by this exception
Binding: PurposeOfUse (extensible)
.... class Σ0..*Codinge.g. Resource Type, Profile, or CDA etc
Binding: Consent Content Class (extensible)
.... code Σ0..*Codinge.g. LOINC or SNOMED CT code, etc in the content
Binding: Consent Content Codes (example)
.... dataPeriod Σ0..1PeriodTimeframe for data controlled by this exception
.... data ΣI0..*BackboneElementData controlled by this exception
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... meaning Σ1..1codeinstance | related | dependents | authoredby
Binding: ConsentDataMeaning (required)
..... reference Σ1..1Reference(Resource) {r}The actual data reference

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*Used to express a Consent regarding Healthcare.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierIdentifier for this record (external references)
Example General': {"system":"urn:ietf:rfc:3986","value":"Local eCMS identifier"}
... status ?!Σ1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required)
... category Σ1..*CodeableConceptType of the consent statement
Binding: ConsentCategory (required)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
Binding: ConsentCategory (required)
.... text Σ0..1stringPlain text representation of the concept
... patient Σ1..1Reference(eHealth Patient) {r}Who the consent applies to
... period Σ1..1PeriodPeriod that this consent applies
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... start ΣI1..1dateTimeStarting time with inclusive boundary
.... end ΣI0..1dateTimeEnd time with inclusive boundary, if not ongoing
... dateTime Σ0..1dateTimeWhen this Consent was created or indexed
... consentingParty Σ1..*Reference(eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Who is agreeing to the policy and exceptions
... actor ΣI1..*BackboneElementWho|what controlled by this consent (or group, by role)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible)
.... reference 1..1Reference(eHealth Device | Group | eHealth CareTeam | eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Resource for the actor (or group, by role)
... action Σ0..*CodeableConceptActions controlled by this consent
Binding: Consent Action Codes (example)
... organization Σ0..*Reference(eHealth Organization) {r}Custodian of the consent
... source[x] Σ0..1Attachment, Identifier, Reference(eHealth Consent | ehealth-documentreference | Contract | eHealth QuestionnaireResponse) {r}Source from which this consent is taken
... policy I0..*BackboneElementPolicies covered by this consent
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... authority I0..1uriEnforcement source for policy
.... uri I0..1uriSpecific policy covered by this consent
... policyRule ΣI0..1uriPolicy that this consents to
... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: All Security Labels (extensible)
... purpose Σ0..*CodingContext of activities for which the agreement is made
Binding: PurposeOfUse (extensible)
... dataPeriod Σ0..1PeriodTimeframe for data controlled by this consent
... data ΣI1..*BackboneElementData controlled by this consent
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... meaning Σ1..1codeinstance | related | dependents | authoredby
Binding: ConsentDataMeaning (required)
.... reference Σ1..1Reference(eHealth EpisodeOfCare) {r}The actual data reference
... except ΣI0..*BackboneElementAdditional rule - addition or removal of permissions
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type Σ1..1codedeny | permit
Binding: ConsentExceptType (required)
.... period Σ0..1PeriodTimeframe for this exception
.... actor ΣI0..*BackboneElementWho|what controlled by this exception (or group, by role)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible)
..... reference 1..1Reference(eHealth Device | Group | eHealth CareTeam | eHealth Organization | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Resource for the actor (or group, by role)
.... action Σ0..*CodeableConceptActions controlled by this exception
Binding: Consent Action Codes (example)
.... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: All Security Labels (extensible)
.... purpose Σ0..*CodingContext of activities covered by this exception
Binding: PurposeOfUse (extensible)
.... class Σ0..*Codinge.g. Resource Type, Profile, or CDA etc
Binding: Consent Content Class (extensible)
.... code Σ0..*Codinge.g. LOINC or SNOMED CT code, etc in the content
Binding: Consent Content Codes (example)
.... dataPeriod Σ0..1PeriodTimeframe for data controlled by this exception
.... data ΣI0..*BackboneElementData controlled by this exception
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... meaning Σ1..1codeinstance | related | dependents | authoredby
Binding: ConsentDataMeaning (required)
..... reference Σ1..1Reference(Resource) {r}The actual data reference

doco Documentation for this format

 

Terminology Bindings

PathNameConformanceValueSet
Consent.languageCommon LanguagesextensibleCommon Languages
Consent.statusConsentStaterequiredConsentState
Consent.categoryConsentCategoryrequiredConsentCategory
Consent.category.codingConsentCategoryrequiredConsentCategory
Consent.actor.roleSecurityRoleTypeextensibleSecurityRoleType (missing link)
Consent.actionConsent Action CodesexampleConsent Action Codes
Consent.securityLabelAll Security LabelsextensibleAll Security Labels
Consent.purposePurposeOfUseextensiblePurposeOfUse
Consent.data.meaningConsentDataMeaningrequiredConsentDataMeaning
Consent.except.typeConsentExceptTyperequiredConsentExceptType
Consent.except.actor.roleSecurityRoleTypeextensibleSecurityRoleType (missing link)
Consent.except.actionConsent Action CodesexampleConsent Action Codes
Consent.except.securityLabelAll Security LabelsextensibleAll Security Labels
Consent.except.purposePurposeOfUseextensiblePurposeOfUse
Consent.except.classConsent Content ClassextensibleConsent Content Class
Consent.except.codeConsent Content CodesexampleConsent Content Codes
Consent.except.data.meaningConsentDataMeaningrequiredConsentDataMeaning

Constraints

IdPathDetailsRequirements
dom-2ConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ConsentIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ConsentIf 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-3ConsentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ppc-1ConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ele-1Consent.actorAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Consent.policyAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Consent.dataAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Consent.exceptAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Consent.except.actorAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Consent.except.dataAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.