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

 

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