0.1.0 - ci-build

EgdeVJ_IG - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: VJ Consent

Defining URL:http://fhir.onegde.no/StructureDefinition/egde-vj-consent
Version:0.1.0
Name:VJConsent
Title:VJ Consent
Status:Draft as of 2021-08-18T14:36:33+02:00
Definition:

Resource containing the Consent details

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://fhir.onegde.no/StructureDefinition/egde-vj-consent

Formal Views of Profile Content

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

This structure is derived from Consent

Summary

Mandatory: 1 element
Prohibited: 6 elements

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... scope 1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: http://hl7.org/fhir/ValueSet/consent-scope|treatment
... category 1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 59284-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Patient Consent
... patient 1..1Reference(Patient)Who the consent applies to
... performer 0..0
... organization 0..1Reference(Organization)Custodian of the consent
Required Pattern: At least the following
.... reference1..1stringLiteral reference, Relative, internal or absolute URL
Fixed Value: Organization/evjeklinikken
.... display1..1stringText alternative for the resource
Fixed Value: Evjeklinikken
... source[x] 0..0
... policy
.... uri 0..1uriSpecific policy covered by this consent
Required Pattern: https://ehelse.no/normen/normen-for-informasjonssikkerhet-og-personvern-i-helse-og-omsorgstjenesten
... policyRule 0..0
... verification 0..0
... provision 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..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..*IdentifierIdentifier 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): Indicates the state of the consent.

... scope ?!Σ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system0..1uriIdentity of the terminology system
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: http://hl7.org/fhir/ValueSet/consent-scope|treatment
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... category Σ1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 59284-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Patient Consent
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... patient Σ1..1Reference(Patient)Who the consent applies to
... organization Σ0..1Reference(Organization)Custodian of the consent

Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... reference1..1stringLiteral reference, Relative, internal or absolute URL
Fixed Value: Organization/evjeklinikken
.... type0..1uriType the reference refers to (e.g. "Patient")
.... identifier0..1IdentifierLogical reference, when literal reference is not known
.... display1..1stringText alternative for the resource
Fixed Value: Evjeklinikken
... policy 0..*BackboneElementPolicies covered by this consent
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... authority I0..1uriEnforcement source for policy
.... uri I0..1uriSpecific policy covered by this consent
Required Pattern: https://ehelse.no/normen/normen-for-informasjonssikkerhet-og-personvern-i-helse-og-omsorgstjenesten

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time

doco Documentation for this format

This structure is derived from Consent

Summary

Mandatory: 1 element
Prohibited: 6 elements

Differential View

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... scope 1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: http://hl7.org/fhir/ValueSet/consent-scope|treatment
... category 1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 59284-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Patient Consent
... patient 1..1Reference(Patient)Who the consent applies to
... performer 0..0
... organization 0..1Reference(Organization)Custodian of the consent
Required Pattern: At least the following
.... reference1..1stringLiteral reference, Relative, internal or absolute URL
Fixed Value: Organization/evjeklinikken
.... display1..1stringText alternative for the resource
Fixed Value: Evjeklinikken
... source[x] 0..0
... policy
.... uri 0..1uriSpecific policy covered by this consent
Required Pattern: https://ehelse.no/normen/normen-for-informasjonssikkerhet-og-personvern-i-helse-og-omsorgstjenesten
... policyRule 0..0
... verification 0..0
... provision 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..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..*IdentifierIdentifier 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): Indicates the state of the consent.

... scope ?!Σ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system0..1uriIdentity of the terminology system
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: http://hl7.org/fhir/ValueSet/consent-scope|treatment
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... category Σ1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 59284-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Patient Consent
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... patient Σ1..1Reference(Patient)Who the consent applies to
... organization Σ0..1Reference(Organization)Custodian of the consent

Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... reference1..1stringLiteral reference, Relative, internal or absolute URL
Fixed Value: Organization/evjeklinikken
.... type0..1uriType the reference refers to (e.g. "Patient")
.... identifier0..1IdentifierLogical reference, when literal reference is not known
.... display1..1stringText alternative for the resource
Fixed Value: Evjeklinikken
... policy 0..*BackboneElementPolicies covered by this consent
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... authority I0..1uriEnforcement source for policy
.... uri I0..1uriSpecific policy covered by this consent
Required Pattern: https://ehelse.no/normen/normen-for-informasjonssikkerhet-og-personvern-i-helse-og-omsorgstjenesten

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

Constraints

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Consent.statusrequiredConsentState
Consent.scopeextensiblePattern: http://hl7.org/fhir/ValueSet/consent-scope|treatment
Consent.categoryextensiblePattern: LOINC code 59284-0("Patient Consent")
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
IdPathDetailsRequirements
dom-2ConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3ConsentIf 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-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-5ConsentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6ConsentA resource should have narrative for robust management
: text.`div`.exists()
ppc-1ConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ppc-2ConsentIF Scope=privacy, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3ConsentIF Scope=research, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4ConsentIF Scope=adr, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5ConsentIF Scope=treatment, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
ele-1Consent.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.scopeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.policyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.policy.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.policy.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.policy.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.policy.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.policy.authorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.policy.uriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.verification.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.verification.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.verification.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.verification.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.verification.verifiedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.verification.verifiedWithAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.verification.verificationDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.provision.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.provision.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.provision.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.provision.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.actor.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.provision.actor.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.provision.actor.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.provision.actor.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.provision.actor.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.actor.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.securityLabelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.classAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.dataPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.data.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.provision.data.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.provision.data.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Consent.provision.data.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Consent.provision.data.meaningAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.data.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Consent.provision.provisionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())