This page is part of the FHIR Specification (v4.2.0: R5 Preview #1). 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: 1 | Trial 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:
This structure is derived from Provenance.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | ||
target | S | 1..* | Reference(Resource) | Resource version |
occurred[x] | S | 1..1 | dateTime | |
reason | S | 0..* | CodeableConcept | |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | S | 1..* | (Slice Definition) | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
type | S | 1..1 | CodeableConcept | Binding: Provenance Event History Agent Role Codes (extensible) |
agent:Author | S | 0..1 | BackboneElement | Author |
type | S | 1..1 | CodeableConcept | 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 | RelatedPerson | Patient | Device | Organization) | Author Reference |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | I | 0..* | Provenance | Who, What, When for a set of resources |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: Common Languages (preferred) Max Binding: All Languages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
target | SΣI | 1..* | Reference(Resource) | Resource version |
occurred[x] | SI | 1..1 | dateTime | When the activity occurred |
recorded | ΣI | 1..1 | instant | When the activity was recorded / updated |
policy | I | 0..* | uri | Policy or plan the activity was defined by |
location | I | 0..1 | Reference(Location) | Where the activity occurred, if relevant |
reason | SI | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible) |
activity | SI | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | SI | 1..* | (Slice Definition) | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣI | 1..1 | CodeableConcept | How the agent participated Binding: Provenance Event History Agent Role Codes (extensible) |
role | I | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) |
who | ΣI | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing |
agent:Author | SI | 0..1 | BackboneElement | Author |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣI | 1..1 | CodeableConcept | How the agent participated Binding: Provenance participant type (extensible) 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 | I | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) |
who | SΣI | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Author Reference |
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing |
entity | I | 0..* | BackboneElement | An entity used in this activity |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | ΣI | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required) |
what | ΣI | 1..1 | Reference(Resource) | Identity of entity |
agent | I | 0..* | Unknown reference to #Provenance.agent:Author Entity is attributed to this agent | |
signature | I | 0..* | Signature | Signature on target |
Documentation for this format |
<!-- Provenance Relevant History --> <Provenance xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <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:
Differential View
This structure is derived from Provenance.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | ||
target | S | 1..* | Reference(Resource) | Resource version |
occurred[x] | S | 1..1 | dateTime | |
reason | S | 0..* | CodeableConcept | |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | S | 1..* | (Slice Definition) | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
type | S | 1..1 | CodeableConcept | Binding: Provenance Event History Agent Role Codes (extensible) |
agent:Author | S | 0..1 | BackboneElement | Author |
type | S | 1..1 | CodeableConcept | 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 | RelatedPerson | Patient | Device | Organization) | Author Reference |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | I | 0..* | Provenance | Who, What, When for a set of resources |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: Common Languages (preferred) Max Binding: All Languages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
target | SΣI | 1..* | Reference(Resource) | Resource version |
occurred[x] | SI | 1..1 | dateTime | When the activity occurred |
recorded | ΣI | 1..1 | instant | When the activity was recorded / updated |
policy | I | 0..* | uri | Policy or plan the activity was defined by |
location | I | 0..1 | Reference(Location) | Where the activity occurred, if relevant |
reason | SI | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible) |
activity | SI | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | SI | 1..* | (Slice Definition) | Who was involved with change Slice: Unordered, Open by value:type |
agent:All Slices | Content/Rules for all slices | |||
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣI | 1..1 | CodeableConcept | How the agent participated Binding: Provenance Event History Agent Role Codes (extensible) |
role | I | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) |
who | ΣI | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing |
agent:Author | SI | 0..1 | BackboneElement | Author |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣI | 1..1 | CodeableConcept | How the agent participated Binding: Provenance participant type (extensible) 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 | I | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) |
who | SΣI | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Author Reference |
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing |
entity | I | 0..* | BackboneElement | An entity used in this activity |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | ΣI | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required) |
what | ΣI | 1..1 | Reference(Resource) | Identity of entity |
agent | I | 0..* | Unknown reference to #Provenance.agent:Author Entity is attributed to this agent | |
signature | I | 0..* | Signature | Signature on target |
Documentation for this format |
XML Template
<!-- Provenance Relevant History --> <Provenance xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <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
Path | Name | Conformance | ValueSet |
Provenance.language | Common Languages | preferred | Common Languages |
Provenance.reason | V3 Value SetPurposeOfUse | extensible | V3 Value SetPurposeOfUse |
Provenance.activity | Provenance History Record Activity Codes | extensible | Provenance History Record Activity Codes |
Provenance.agent.type | Provenance participant type | extensible | Provenance participant type |
Provenance.agent.role | SecurityRoleType | example | SecurityRoleType |
Provenance.agent.type | Provenance participant type | extensible | Provenance participant type |
Provenance.agent.role | SecurityRoleType | example | SecurityRoleType |
Provenance.entity.role | ProvenanceEntityRole | required | ProvenanceEntityRole |