eHealth Infrastructure (v1.0.0)

StructureDefinition: ehealth-provenance

In certain circumstances data from Observations and QuestionnaireResponses can be reused. When this happens, a Provenance resource will identify the source of the original data.

Provenance also covers state for messages, such as whether a message has been read/acknowledged (activity=read), time limited validity on notifications (using “period”) etc.

Provenance is also used to link correlated resources submitted together.

Formal Views of Profile Content

The official URL for this profile is:

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

This profile builds on Provenance.

This profile was published on Wed Mar 06 14:43:56 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 Provenance

Summary

Mandatory: 1 element

This structure is derived from Provenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance I0..*Who, What, When for a set of resources
... 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
... target Σ1..*Reference(Resource)Target Reference(s) (usually version specific)
... period 0..1PeriodWhen the activity occurred
... recorded Σ1..1instantWhen the activity was recorded / updated
... policy 1..*uriPolicy or plan the activity was defined by
Binding: Policies for provenances (required)
... location 0..1Reference(Location)Where the activity occurred, if relevant
... reason 0..*CodingReason the activity is occurring
Binding: PurposeOfUse (extensible)
... activity 0..1CodingActivity that occurred
Binding: ProvenanceActivityType (extensible)
... agent I1..*BackboneElementActor involved
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (extensible)
.... who[x] Σ1..1uri, Reference(Practitioner | RelatedPerson | Patient | Device | Organization)Who participated
.... onBehalfOf[x] 0..1uri, Reference(Practitioner | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... relatedAgentType 0..1CodeableConceptType of relationship between agents
Binding: RoleLinkType (example)
... entity I0..*BackboneElementAn entity used in this activity
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required)
.... what[x] Σ1..1uri, Reference(Resource), IdentifierIdentity of entity
.... agent 0..*Unknown reference to #Provenance.agent
Entity is attributed to this agent
... signature 0..*SignatureSignature on target

doco Documentation for this format

This structure is derived from Provenance

Summary

Mandatory: 1 element

Differential View

This structure is derived from Provenance

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance I0..*Who, What, When for a set of resources
... 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
... target Σ1..*Reference(Resource)Target Reference(s) (usually version specific)
... period 0..1PeriodWhen the activity occurred
... recorded Σ1..1instantWhen the activity was recorded / updated
... policy 1..*uriPolicy or plan the activity was defined by
Binding: Policies for provenances (required)
... location 0..1Reference(Location)Where the activity occurred, if relevant
... reason 0..*CodingReason the activity is occurring
Binding: PurposeOfUse (extensible)
... activity 0..1CodingActivity that occurred
Binding: ProvenanceActivityType (extensible)
... agent I1..*BackboneElementActor involved
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (extensible)
.... who[x] Σ1..1uri, Reference(Practitioner | RelatedPerson | Patient | Device | Organization)Who participated
.... onBehalfOf[x] 0..1uri, Reference(Practitioner | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... relatedAgentType 0..1CodeableConceptType of relationship between agents
Binding: RoleLinkType (example)
... entity I0..*BackboneElementAn entity used in this activity
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required)
.... what[x] Σ1..1uri, Reference(Resource), IdentifierIdentity of entity
.... agent 0..*Unknown reference to #Provenance.agent
Entity is attributed to this agent
... signature 0..*SignatureSignature on target

doco Documentation for this format

 

Terminology Bindings

PathNameConformanceValueSet
Provenance.languageCommon LanguagesextensibleCommon Languages
Provenance.policyPolicies for provenancesrequiredPolicies for provenances
Provenance.reasonPurposeOfUseextensiblePurposeOfUse
Provenance.activityProvenanceActivityTypeextensibleProvenanceActivityType
Provenance.agent.roleSecurityRoleTypeextensibleSecurityRoleType (missing link)
Provenance.agent.relatedAgentTypev3 Code System RoleLinkTypeexamplev3 Code System RoleLinkType
Provenance.entity.roleProvenanceEntityRolerequiredProvenanceEntityRole

Constraints

IdPathDetailsRequirements
dom-2ProvenanceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ProvenanceIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ProvenanceIf 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-3ProvenanceIf 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()
ele-1Provenance.agentAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Provenance.entityAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.