Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Security Work Group Maturity Level: 1Trial Use Use Context: Any

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/provenance-relevant-history

Guidance on using Provenance for related history elements

This profile was published on Tue, Dec 3, 2013 00:00+1100 as a draft by Health Level Seven International.

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

This structure is derived from Provenance.

Summary

Mandatory: 3 elements (+2 nested mandatory elements)
Must-Support: 9 elements

Slices

This structure defines the following Slices:

  • The element Provenance.agent is sliced based on the value of value:type

This structure is derived from Provenance.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*
... target S1..*Reference(Resource)Resource version
... occurred[x] S1..1dateTime
... reason S0..*CodeableConcept
... activity S1..1CodeableConceptRecord activity
Binding: Provenance History Record Activity Codes (extensible)
... agent S(Slice Definition)Who was involved with change
Slice: Unordered, Open by value:type
.... (All Slices) Content/Rules for all slices
..... type S1..1CodeableConceptBinding: Provenance Event History Agent Role Codes (extensible)
.... agent:Author S0..1BackboneElementAuthor
..... type S1..1CodeableConceptRequired Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: AUT
..... who S1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Author Reference

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance I0..*Who, What, When for a set of resources
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: Common Languages (preferred)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... target SΣI1..*Reference(Resource)Resource version
... occurred[x] SI1..1dateTimeWhen the activity occurred
... recorded ΣI1..1instantWhen the activity was recorded / updated
... policy I0..*uriPolicy or plan the activity was defined by
... location I0..1Reference(Location)Where the activity occurred, if relevant
... reason SI0..*CodeableConceptReason the activity is occurring
Binding: PurposeOfUse (extensible)
... activity SI1..1CodeableConceptRecord activity
Binding: Provenance History Record Activity Codes (extensible)
... agent SI(Slice Definition)Who was involved with change
Slice: Unordered, Open by value:type
.... (All Slices) Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣI1..1CodeableConceptHow the agent participated
Binding: Provenance Event History Agent Role Codes (extensible)
..... role I0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example)
..... who ΣI1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
..... onBehalfOf I0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... agent:Author SI0..1BackboneElementAuthor
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣI1..1CodeableConceptHow the agent participated
Binding: Provenance participant type (extensible)
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://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: AUT
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role I0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example)
..... who SΣI1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Author Reference
..... onBehalfOf I0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
... entity I0..*BackboneElementAn entity used in this activity
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... role ΣI1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required)
.... what ΣI1..1Reference(Resource)Identity of entity
.... agent I0..*Unknown reference to #Provenance.agent:Author
Entity is attributed to this agent
... signature I0..*SignatureSignature on target

doco Documentation for this format
<!-- Provenance Relevant History -->doco

<Provenance xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id><!-- 0..1 string Logical id of this artifact --></id>
 <meta><!-- ?? 0..1 Meta Metadata about the resource --></meta>
 <implicitRules value="[uri]"/><!-- ?? 0..1 A set of rules under which this content was created -->
 <language value="[code]"/><!-- ?? 0..1 Language of the resource content   -->
 <text><!-- ?? 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
 <target><!-- ?? 1..* Reference(Resource) Resource version --></target>
 <occurredDateTime value="[dateTime]"/><!-- ?? 1..1 When the activity occurred -->
 <recorded value="[instant]"/><!-- ?? 1..1 When the activity was recorded / updated -->
 <policy value="[uri]"/><!-- ?? 0..* Policy or plan the activity was defined by -->
 <location><!-- ?? 0..1 Reference(Location) 
     Where the activity occurred, if relevant --></location>
 <reason><!-- ?? 0..* CodeableConcept Reason the activity is occurring   --></reason>
 <activity><!-- ?? 1..1 CodeableConcept Record activity   --></activity>
 <-- agent sliced by value:type  in the specified orderOpen-->
 <agent> ?? 0..1 BackboneElement  <!-- ?? 0..1 Author -->
  <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <type><!-- ?? 1..1 CodeableConcept How the agent participated   --></type>
  <role><!-- ?? 0..* CodeableConcept What the agents role was   --></role>
  <who><!-- ?? 1..1 Reference(Practitioner) Author Reference --></who>
  <onBehalfOf><!-- ?? 0..1 Reference(Practitioner) 
      Who the agent is representing --></onBehalfOf>
 </agent>
 <entity> ?? 0..* BackboneElement  <!-- ?? 0..* An entity used in this activity -->
  <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <role value="[code]"/><!-- ?? 1..1 derivation | revision | quotation | source | removal   -->
  <what><!-- ?? 1..1 Reference(Resource) Identity of entity --></what>
  <agent><!-- See #Provenance.agent:Author  Entity is attributed to this agent --></agent>
 </entity>
 <signature><!-- ?? 0..* Signature Signature on target --></signature>
</Provenance>
{ // Provenance Relevant History
  // from Element: extension
    "meta" : { Meta }, // C?Metadata about the resource
    "implicitRules" : "<uri>", // C?A set of rules under which this content was created
    "language" : "<code>", // C?Language of the resource content
    "text" : { Narrative }, // C?Text summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored
    "target" : [{ Reference(Resource) }], // C? R! Resource version
    "occurredDateTime" : "<dateTime>", // C? R! When the activity occurred
    "recorded" : "<instant>", // C? R! When the activity was recorded / updated
    "policy" : ["<uri>"], // C?Policy or plan the activity was defined by
    "location" : { Reference(Location) }, // C?Where the activity occurred, if relevant
    "reason" : [{ CodeableConcept }], // C?Reason the activity is occurring
    "activity" : { CodeableConcept }, // C? R! Record activity
    "agent" : [ //  sliced by value:type  in the specified order, Open 
      { // Author // C?
        // from Element: extension
        "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored even if unrecognized
        "type" : { CodeableConcept }, // C? R! How the agent participated
        "role" : [{ CodeableConcept }], // C?What the agents role was
        "who" : { Reference(Practitioner) }, // C? R! Author Reference
        "onBehalfOf" : { Reference(Practitioner) } // C?Who the agent is representing
      }
    ],
    "entity" : [{ BackboneElement }], // C?An entity used in this activity
    "signature" : [{ Signature }], // C?Signature on target
  }

This structure is derived from Provenance.

Summary

Mandatory: 3 elements (+2 nested mandatory elements)
Must-Support: 9 elements

Slices

This structure defines the following Slices:

  • The element Provenance.agent is sliced based on the value of value:type

Differential View

This structure is derived from Provenance.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*
... target S1..*Reference(Resource)Resource version
... occurred[x] S1..1dateTime
... reason S0..*CodeableConcept
... activity S1..1CodeableConceptRecord activity
Binding: Provenance History Record Activity Codes (extensible)
... agent S(Slice Definition)Who was involved with change
Slice: Unordered, Open by value:type
.... (All Slices) Content/Rules for all slices
..... type S1..1CodeableConceptBinding: Provenance Event History Agent Role Codes (extensible)
.... agent:Author S0..1BackboneElementAuthor
..... type S1..1CodeableConceptRequired Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: AUT
..... who S1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Author Reference

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance I0..*Who, What, When for a set of resources
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: Common Languages (preferred)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... target SΣI1..*Reference(Resource)Resource version
... occurred[x] SI1..1dateTimeWhen the activity occurred
... recorded ΣI1..1instantWhen the activity was recorded / updated
... policy I0..*uriPolicy or plan the activity was defined by
... location I0..1Reference(Location)Where the activity occurred, if relevant
... reason SI0..*CodeableConceptReason the activity is occurring
Binding: PurposeOfUse (extensible)
... activity SI1..1CodeableConceptRecord activity
Binding: Provenance History Record Activity Codes (extensible)
... agent SI(Slice Definition)Who was involved with change
Slice: Unordered, Open by value:type
.... (All Slices) Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣI1..1CodeableConceptHow the agent participated
Binding: Provenance Event History Agent Role Codes (extensible)
..... role I0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example)
..... who ΣI1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
..... onBehalfOf I0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... agent:Author SI0..1BackboneElementAuthor
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣI1..1CodeableConceptHow the agent participated
Binding: Provenance participant type (extensible)
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://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: AUT
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role I0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example)
..... who SΣI1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Author Reference
..... onBehalfOf I0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
... entity I0..*BackboneElementAn entity used in this activity
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... role ΣI1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required)
.... what ΣI1..1Reference(Resource)Identity of entity
.... agent I0..*Unknown reference to #Provenance.agent:Author
Entity is attributed to this agent
... signature I0..*SignatureSignature on target

doco Documentation for this format

XML Template

<!-- Provenance Relevant History -->doco

<Provenance xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id><!-- 0..1 string Logical id of this artifact --></id>
 <meta><!-- ?? 0..1 Meta Metadata about the resource --></meta>
 <implicitRules value="[uri]"/><!-- ?? 0..1 A set of rules under which this content was created -->
 <language value="[code]"/><!-- ?? 0..1 Language of the resource content   -->
 <text><!-- ?? 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
 <target><!-- ?? 1..* Reference(Resource) Resource version --></target>
 <occurredDateTime value="[dateTime]"/><!-- ?? 1..1 When the activity occurred -->
 <recorded value="[instant]"/><!-- ?? 1..1 When the activity was recorded / updated -->
 <policy value="[uri]"/><!-- ?? 0..* Policy or plan the activity was defined by -->
 <location><!-- ?? 0..1 Reference(Location) 
     Where the activity occurred, if relevant --></location>
 <reason><!-- ?? 0..* CodeableConcept Reason the activity is occurring   --></reason>
 <activity><!-- ?? 1..1 CodeableConcept Record activity   --></activity>
 <-- agent sliced by value:type  in the specified orderOpen-->
 <agent> ?? 0..1 BackboneElement  <!-- ?? 0..1 Author -->
  <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <type><!-- ?? 1..1 CodeableConcept How the agent participated   --></type>
  <role><!-- ?? 0..* CodeableConcept What the agents role was   --></role>
  <who><!-- ?? 1..1 Reference(Practitioner) Author Reference --></who>
  <onBehalfOf><!-- ?? 0..1 Reference(Practitioner) 
      Who the agent is representing --></onBehalfOf>
 </agent>
 <entity> ?? 0..* BackboneElement  <!-- ?? 0..* An entity used in this activity -->
  <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <role value="[code]"/><!-- ?? 1..1 derivation | revision | quotation | source | removal   -->
  <what><!-- ?? 1..1 Reference(Resource) Identity of entity --></what>
  <agent><!-- See #Provenance.agent:Author  Entity is attributed to this agent --></agent>
 </entity>
 <signature><!-- ?? 0..* Signature Signature on target --></signature>
</Provenance>

JSON Template

{ // Provenance Relevant History
  // from Element: extension
    "meta" : { Meta }, // C?Metadata about the resource
    "implicitRules" : "<uri>", // C?A set of rules under which this content was created
    "language" : "<code>", // C?Language of the resource content
    "text" : { Narrative }, // C?Text summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored
    "target" : [{ Reference(Resource) }], // C? R! Resource version
    "occurredDateTime" : "<dateTime>", // C? R! When the activity occurred
    "recorded" : "<instant>", // C? R! When the activity was recorded / updated
    "policy" : ["<uri>"], // C?Policy or plan the activity was defined by
    "location" : { Reference(Location) }, // C?Where the activity occurred, if relevant
    "reason" : [{ CodeableConcept }], // C?Reason the activity is occurring
    "activity" : { CodeableConcept }, // C? R! Record activity
    "agent" : [ //  sliced by value:type  in the specified order, Open 
      { // Author // C?
        // from Element: extension
        "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored even if unrecognized
        "type" : { CodeableConcept }, // C? R! How the agent participated
        "role" : [{ CodeableConcept }], // C?What the agents role was
        "who" : { Reference(Practitioner) }, // C? R! Author Reference
        "onBehalfOf" : { Reference(Practitioner) } // C?Who the agent is representing
      }
    ],
    "entity" : [{ BackboneElement }], // C?An entity used in this activity
    "signature" : [{ Signature }], // C?Signature on target
  }

 

Alternate definitions: Master Definition (XML, JSON), Schematron

PathNameConformanceValueSet
Provenance.languageCommon LanguagespreferredCommon Languages
Provenance.reasonV3 Value SetPurposeOfUseextensibleV3 Value SetPurposeOfUse
Provenance.activityProvenance History Record Activity CodesextensibleProvenance History Record Activity Codes
Provenance.agent.typeProvenance participant typeextensibleProvenance participant type
Provenance.agent.roleSecurityRoleTypeexampleSecurityRoleType
Provenance.agent.typeProvenance participant typeextensibleProvenance participant type
Provenance.agent.roleSecurityRoleTypeexampleSecurityRoleType
Provenance.entity.roleProvenanceEntityRolerequiredProvenanceEntityRole
.