R5 Final QA

This page is part of the FHIR Specification (v5.0.0-draft-final: Final QA Preview for R5 - see ballot notes). 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 icon Work Group Maturity Level: 0Trial Use Use Context: Any

The canonical URL for this profile is:

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

Guidance on using Provenance for related history elements to provide key events that have happened over the lifespan of the resource - see the use of this pattern in the [Request Pattern](request.html#history)

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 indicates the differences between this profile and the base Provenance structure.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*ProvenanceWho, What, When for a set of resources
... target S1..*Reference(Resource)Resource version
... occurred[x] S1..1dateTimeWhen the activity occurred
... authorization S0..*CodeableReference()Authorization (purposeOfUse) related to the event
... Slices for agent S1..*BackboneElementWho was involved with change
Slice: Unordered, Open by value:type
.... agent:All Slices Content/Rules for all slices
..... type S1..1CodeableConceptHow the agent participated
Binding: Provenance Event History Agent Role Codes (extensible): Types of roles that agents can play when tracking event history using Provenance.

.... agent:Author S0..1BackboneElementAuthor
..... type S1..1CodeableConceptHow the agent participated
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://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: AUT
..... who S1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Author Reference

doco Documentation for this format icon

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Provenance structure.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*ProvenanceWho, 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
... 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
... target SΣ1..*Reference(Resource)Resource version
... occurred[x] S1..1dateTimeWhen the activity occurred
... recorded Σ0..1instantWhen the activity was recorded / updated
... policy 0..*uriPolicy or plan the activity was defined by
... location 0..1Reference(Location)Where the activity occurred, if relevant
... authorization S0..*CodeableReference()Authorization (purposeOfUse) related to the event
Binding: PurposeOfUse icon (example): The authorized purposeOfUse for the activity.


... activity S1..1CodeableConceptRecord activity
Binding: Provenance History Record Activity Codes (extensible): Types of activities that are relevant for tracking event history using Provenance.

... basedOn TU0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task)Workflow authorization within which this event occurred
... patient TU0..1Reference(Patient)The patient is the subject of the data created/updated (.target) by the activity
... encounter TU0..1Reference(Encounter)Encounter within which this event occurred or which the event is tightly associated
... Slices for agent SΣC icon1..*BackboneElementWho was involved with change
Slice: Unordered, Open by value:type
.... agent:All Slices Content/Rules for all slices
..... 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
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: Provenance Event History Agent Role Codes (extensible): Types of roles that agents can play when tracking event history using Provenance.

..... role 0..*CodeableConceptWhat the agents role was
Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity.


..... who ΣC icon1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The agent that participated in the event
..... onBehalfOf C icon0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient)The agent that delegated
.... agent:Author SΣC icon0..1BackboneElementAuthor
..... 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
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: Participation Role Type (example): The type of participation that a provenance agent played with respect to the activity.


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 0..*CodeableConceptWhat the agents role was
Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity.


..... who SΣC icon1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Author Reference
..... onBehalfOf C icon0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient)The agent that delegated
... entity ΣTU0..*BackboneElementAn entity used in this activity
.... 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
.... role Σ1..1coderevision | quotation | source | instantiates | removal
Binding: Provenance Entity Role (required): How an entity was used in an activity.

.... what Σ1..1Reference(Resource)Identity of entity
.... agent 0..*See agent (Provenance)Entity is attributed to this agent
... signature TU0..*SignatureSignature on target

doco Documentation for this format icon
<!-- ProvenanceRelevantHistory -->doco

<Provenance xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id value="[id]"/><!-- 0..1 Logical id of this artifact -->
 <meta><!-- I 0..1 Meta Metadata about the resource --></meta>
 <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created -->
 <language value="[code]"/><!-- I 0..1 Language of the resource content   -->
 <text><!-- I 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
 <target><!-- I 1..* Reference(Resource) Resource version --></target>
 <occurredDateTime value="[dateTime]"/><!-- I 1..1 When the activity occurred -->
 <recorded value="[instant]"/><!-- I 0..1 When the activity was recorded / updated -->
 <policy value="[uri]"/><!-- I 0..* Policy or plan the activity was defined by -->
 <location><!-- I 0..1 Reference(Location) 
     Where the activity occurred, if relevant --></location>
 <authorization><!-- I 0..* CodeableReference Authorization (purposeOfUse) related to the event icon   --></authorization>
 <activity><!-- I 1..1 CodeableConcept Record activity   --></activity>
 <basedOn><!-- I 0..* Reference(CarePlan) 
     Workflow authorization within which this event occurred --></basedOn>
 <patient><!-- I 0..1 Reference(Patient) 
     The patient is the subject of the data created/updated (.target) by the activity --></patient>
 <encounter><!-- I 0..1 Reference(Encounter) 
     Encounter within which this event occurred or which the event is tightly associated --></encounter>
 <-- agent sliced by value:type  in the specified orderOpen-->
 <agent> I 0..1 BackboneElement  <!-- I 0..1 Author -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <type><!-- I 1..1 CodeableConcept How the agent participated   --></type>
  <role><!-- I 0..* CodeableConcept What the agents role was   --></role>
  <who><!-- I 1..1 Reference(Practitioner) Author Reference --></who>
  <onBehalfOf><!-- I 0..1 Reference(Practitioner) 
      The agent that delegated --></onBehalfOf>
 </agent>
 <entity> I 0..* BackboneElement  <!-- I 0..* An entity used in this activity -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <role value="[code]"/><!-- I 1..1 revision | quotation | source | instantiates | removal   -->
  <what><!-- I 1..1 Reference(Resource) Identity of entity --></what>
  <agent><!-- See http://hl7.org/fhir/StructureDefinition/Provenance#Provenance.agent  Entity is attributed to this agent --></agent>
 </entity>
 <signature><!-- I 0..* Signature Signature on target --></signature>
</Provenance>
{ // ProvenanceRelevantHistory
  // from Element: extension
    "meta" : { Meta }, // IMetadata about the resource
    "implicitRules" : "<uri>", // IA set of rules under which this content was created
    "language" : "<code>", // ILanguage of the resource content
    "text" : { Narrative }, // IText summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored
    "target" : [{ Reference(Resource) }], // I R! Resource version
    "occurredDateTime" : "<dateTime>", // I R! When the activity occurred
    "recorded" : "<instant>", // IWhen the activity was recorded / updated
    "policy" : ["<uri>"], // IPolicy or plan the activity was defined by
    "location" : { Reference(Location) }, // IWhere the activity occurred, if relevant
    "authorization" : [{ CodeableReference }], // IAuthorization (purposeOfUse) related to the event icon
    "activity" : { CodeableConcept }, // I R! Record activity
    "basedOn" : [{ Reference(CarePlan) }], // IWorkflow authorization within which this event occurred
    "patient" : { Reference(Patient) }, // IThe patient is the subject of the data created/updated (.target) by the activity
    "encounter" : { Reference(Encounter) }, // IEncounter within which this event occurred or which the event is tightly associated
    "agent" : [ //  sliced by value:type  in the specified order, Open 
      { // Author // I
        // from Element: extension
        "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored even if unrecognized
        "type" : { CodeableConcept }, // I R! How the agent participated
        "role" : [{ CodeableConcept }], // IWhat the agents role was
        "who" : { Reference(Practitioner) }, // I R! Author Reference
        "onBehalfOf" : { Reference(Practitioner) } // IThe agent that delegated
      }
    ],
    "entity" : [{ BackboneElement }], // IAn entity used in this activity
    "signature" : [{ Signature }], // ISignature 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 indicates the differences between this profile and the base Provenance structure.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*ProvenanceWho, What, When for a set of resources
... target S1..*Reference(Resource)Resource version
... occurred[x] S1..1dateTimeWhen the activity occurred
... authorization S0..*CodeableReference()Authorization (purposeOfUse) related to the event
... Slices for agent S1..*BackboneElementWho was involved with change
Slice: Unordered, Open by value:type
.... agent:All Slices Content/Rules for all slices
..... type S1..1CodeableConceptHow the agent participated
Binding: Provenance Event History Agent Role Codes (extensible): Types of roles that agents can play when tracking event history using Provenance.

.... agent:Author S0..1BackboneElementAuthor
..... type S1..1CodeableConceptHow the agent participated
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://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: AUT
..... who S1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Author Reference

doco Documentation for this format icon

Snapshot View

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Provenance structure.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*ProvenanceWho, 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
... 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
... target SΣ1..*Reference(Resource)Resource version
... occurred[x] S1..1dateTimeWhen the activity occurred
... recorded Σ0..1instantWhen the activity was recorded / updated
... policy 0..*uriPolicy or plan the activity was defined by
... location 0..1Reference(Location)Where the activity occurred, if relevant
... authorization S0..*CodeableReference()Authorization (purposeOfUse) related to the event
Binding: PurposeOfUse icon (example): The authorized purposeOfUse for the activity.


... activity S1..1CodeableConceptRecord activity
Binding: Provenance History Record Activity Codes (extensible): Types of activities that are relevant for tracking event history using Provenance.

... basedOn TU0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task)Workflow authorization within which this event occurred
... patient TU0..1Reference(Patient)The patient is the subject of the data created/updated (.target) by the activity
... encounter TU0..1Reference(Encounter)Encounter within which this event occurred or which the event is tightly associated
... Slices for agent SΣC icon1..*BackboneElementWho was involved with change
Slice: Unordered, Open by value:type
.... agent:All Slices Content/Rules for all slices
..... 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
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: Provenance Event History Agent Role Codes (extensible): Types of roles that agents can play when tracking event history using Provenance.

..... role 0..*CodeableConceptWhat the agents role was
Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity.


..... who ΣC icon1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The agent that participated in the event
..... onBehalfOf C icon0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient)The agent that delegated
.... agent:Author SΣC icon0..1BackboneElementAuthor
..... 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
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: Participation Role Type (example): The type of participation that a provenance agent played with respect to the activity.


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 0..*CodeableConceptWhat the agents role was
Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity.


..... who SΣC icon1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Author Reference
..... onBehalfOf C icon0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient)The agent that delegated
... entity ΣTU0..*BackboneElementAn entity used in this activity
.... 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
.... role Σ1..1coderevision | quotation | source | instantiates | removal
Binding: Provenance Entity Role (required): How an entity was used in an activity.

.... what Σ1..1Reference(Resource)Identity of entity
.... agent 0..*See agent (Provenance)Entity is attributed to this agent
... signature TU0..*SignatureSignature on target

doco Documentation for this format icon

XML Template

<!-- ProvenanceRelevantHistory -->doco

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

JSON Template

{ // ProvenanceRelevantHistory
  // from Element: extension
    "meta" : { Meta }, // IMetadata about the resource
    "implicitRules" : "<uri>", // IA set of rules under which this content was created
    "language" : "<code>", // ILanguage of the resource content
    "text" : { Narrative }, // IText summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored
    "target" : [{ Reference(Resource) }], // I R! Resource version
    "occurredDateTime" : "<dateTime>", // I R! When the activity occurred
    "recorded" : "<instant>", // IWhen the activity was recorded / updated
    "policy" : ["<uri>"], // IPolicy or plan the activity was defined by
    "location" : { Reference(Location) }, // IWhere the activity occurred, if relevant
    "authorization" : [{ CodeableReference }], // IAuthorization (purposeOfUse) related to the event icon
    "activity" : { CodeableConcept }, // I R! Record activity
    "basedOn" : [{ Reference(CarePlan) }], // IWorkflow authorization within which this event occurred
    "patient" : { Reference(Patient) }, // IThe patient is the subject of the data created/updated (.target) by the activity
    "encounter" : { Reference(Encounter) }, // IEncounter within which this event occurred or which the event is tightly associated
    "agent" : [ //  sliced by value:type  in the specified order, Open 
      { // Author // I
        // from Element: extension
        "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored even if unrecognized
        "type" : { CodeableConcept }, // I R! How the agent participated
        "role" : [{ CodeableConcept }], // IWhat the agents role was
        "who" : { Reference(Practitioner) }, // I R! Author Reference
        "onBehalfOf" : { Reference(Practitioner) } // IThe agent that delegated
      }
    ],
    "entity" : [{ BackboneElement }], // IAn entity used in this activity
    "signature" : [{ Signature }], // ISignature on target
  }

 

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

PathNameConformanceValueSet
Provenance.languageAll LanguagesrequiredAll Languages
Provenance.authorizationPurposeOfUseexamplePurposeOfUse icon
Provenance.activityProvenance History Record Activity CodesextensibleProvenance History Record Activity Codes
Provenance.agent.typeParticipation Role TypeexampleParticipation Role Type
Provenance.agent.roleSecurity Role TypeexampleSecurity Role Type
Provenance.agent.typeParticipation Role TypeexampleParticipation Role Type
Provenance.agent.roleSecurity Role TypeexampleSecurity Role Type
Provenance.entity.roleProvenance Entity RolerequiredProvenance Entity Role
.

This profile marks a number of elements as 'must-support' (see Must Support). In this profile, must-support means that this implements should consider populating these elements, or that these elements are typically populated in this usage.

.