This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4
Security Work Group | Maturity Level: 0 | Trial 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:
This indicates the differences between this profile and the base Provenance structure.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
target | S | 1..* | Reference(Resource) | Resource version |
occurred[x] | S | 1..1 | dateTime | When the activity occurred |
authorization | S | 0..* | CodeableReference() | Authorization (purposeOfUse) related to the event |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible): Types of activities that are relevant for tracking event history using Provenance. |
Slices for agent | S | 1..* | BackboneElement | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
type | S | 1..1 | CodeableConcept | How 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 | S | 0..1 | BackboneElement | Author |
type | S | 1..1 | CodeableConcept | How the agent participated Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AUT | |
who | S | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | Author Reference |
Documentation for this format |
This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Provenance structure.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: All Languages (required): IETF language tag for a human language | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
target | SΣ | 1..* | Reference(Resource) | Resource version |
occurred[x] | S | 1..1 | dateTime | When the activity occurred |
recorded | Σ | 0..1 | instant | When the activity was recorded / updated |
policy | 0..* | uri | Policy or plan the activity was defined by | |
location | 0..1 | Reference(Location) | Where the activity occurred, if relevant | |
authorization | S | 0..* | CodeableReference() | Authorization (purposeOfUse) related to the event Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible): Types of activities that are relevant for tracking event history using Provenance. |
basedOn | TU | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred |
patient | TU | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity |
encounter | TU | 0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated |
Slices for agent | SΣC | 1..* | BackboneElement | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How 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..* | CodeableConcept | What the agents role was Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity. | |
who | ΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
agent:Author | SΣC | 0..1 | BackboneElement | Author |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How 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 |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AUT | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
role | 0..* | CodeableConcept | What the agents role was Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity. | |
who | SΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | Author Reference |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
entity | ΣTU | 0..* | BackboneElement | An entity used in this activity |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | Σ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: Provenance Entity Role (required): How an entity was used in an activity. |
what | Σ | 1..1 | Reference(Resource) | Identity of entity |
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |
signature | TU | 0..* | Signature | Signature on target |
Documentation for this format |
<!-- ProvenanceRelevantHistory --> <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 --></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 "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:
Differential View
This indicates the differences between this profile and the base Provenance structure.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
target | S | 1..* | Reference(Resource) | Resource version |
occurred[x] | S | 1..1 | dateTime | When the activity occurred |
authorization | S | 0..* | CodeableReference() | Authorization (purposeOfUse) related to the event |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible): Types of activities that are relevant for tracking event history using Provenance. |
Slices for agent | S | 1..* | BackboneElement | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
type | S | 1..1 | CodeableConcept | How 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 | S | 0..1 | BackboneElement | Author |
type | S | 1..1 | CodeableConcept | How the agent participated Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AUT | |
who | S | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | Author Reference |
Documentation for this format |
Snapshot View
This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Provenance structure.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: All Languages (required): IETF language tag for a human language | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
target | SΣ | 1..* | Reference(Resource) | Resource version |
occurred[x] | S | 1..1 | dateTime | When the activity occurred |
recorded | Σ | 0..1 | instant | When the activity was recorded / updated |
policy | 0..* | uri | Policy or plan the activity was defined by | |
location | 0..1 | Reference(Location) | Where the activity occurred, if relevant | |
authorization | S | 0..* | CodeableReference() | Authorization (purposeOfUse) related to the event Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible): Types of activities that are relevant for tracking event history using Provenance. |
basedOn | TU | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred |
patient | TU | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity |
encounter | TU | 0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated |
Slices for agent | SΣC | 1..* | BackboneElement | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How 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..* | CodeableConcept | What the agents role was Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity. | |
who | ΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | The agent that participated in the event |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
agent:Author | SΣC | 0..1 | BackboneElement | Author |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How 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 |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType | |
version | 0..1 | string | Version of the system - if relevant | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AUT | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
role | 0..* | CodeableConcept | What the agents role was Binding: Security Role Type (example): The role that a provenance agent played with respect to the activity. | |
who | SΣC | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson) | Author Reference |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
entity | ΣTU | 0..* | BackboneElement | An entity used in this activity |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | Σ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: Provenance Entity Role (required): How an entity was used in an activity. |
what | Σ | 1..1 | Reference(Resource) | Identity of entity |
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |
signature | TU | 0..* | Signature | Signature on target |
Documentation for this format |
XML Template
<!-- ProvenanceRelevantHistory --> <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 --></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 "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
Path | Name | Conformance | ValueSet |
Provenance.language | All Languages | required | All Languages |
Provenance.authorization | PurposeOfUse | example | PurposeOfUse |
Provenance.activity | Provenance History Record Activity Codes | extensible | Provenance History Record Activity Codes |
Provenance.agent.type | Participation Role Type | example | Participation Role Type |
Provenance.agent.role | Security Role Type | example | Security Role Type |
Provenance.agent.type | Participation Role Type | example | Participation Role Type |
Provenance.agent.role | Security Role Type | example | Security Role Type |
Provenance.entity.role | Provenance Entity Role | required | Provenance 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.
.