This page is part of the FHIR Specification (v3.2.0: R4 Ballot 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
(No assigned work group) | Maturity Level: 1 | Informative | 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..* | |||
target | S | 1..* | Reference(Resource) | Resource version |
occurredDateTime | S | 1..1 | Period, dateTime | |
reason | S | 0..* | CodeableConcept | |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | S | BackboneElement | Who was involved with change Slice: Unordered, Open by value:type | |
type | S | 1..1 | CodeableConcept | Binding: Provenance Event History Agent Role Codes (extensible) |
agent | S | 0..1 | BackboneElement | Author |
type | S | 1..1 | CodeableConcept | Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/v3/ParticipationType","code":"AUT"}]} |
whoReference | S | 1..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Author Reference |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | I | 0..* | 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: Common Languages (extensible) | |
text | I | 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 | Period, dateTime | When the activity occurred |
recorded | Σ | 1..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 | |
reason | S | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible) |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | SI | 1..* | BackboneElement | Who was involved with change |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | SΣ | CodeableConcept | How the agent participated Slice: Unordered, Open by value:type Binding: Provenance Event History Agent Role Codes (extensible) | |
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) | |
who[x] | Σ | 1..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Who participated |
onBehalfOf[x] | 0..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Who the agent is representing | |
agent | SI | 0..1 | BackboneElement | Author |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (extensible) Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/v3/ParticipationType","code":"AUT"}]} |
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) | |
who[x] | SΣ | 1..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Author Reference |
onBehalfOf[x] | 0..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Who the agent is representing | |
entity | I | 0..* | BackboneElement | An entity used in this activity |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
role | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required) |
what[x] | Σ | 1..1 | Identifier, Reference(Resource) | Identity of entity |
agent | 0..* | Unknown reference to #Provenance.agent:author Entity is attributed to this agent | ||
signature | 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> <occurred[x]><!-- 1..1 Period|dateTime When the activity occurred --></occurred[x]> <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> 1..* BackboneElement <!-- 1..* Who was involved with change --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <-- type sliced by value:type in the specified orderOpen--> <role><!-- 0..* CodeableConcept What the agents role was --></role> <who[x]><!-- 1..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|Reference(RelatedPerson)| Reference(Patient)|Reference(Device)|Reference(Organization) Who participated --></who[x]> <onBehalfOf[x]><!-- 0..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)| Reference(RelatedPerson)|Reference(Patient)|Reference(Device)|Reference(Organization) Who the agent is representing --></onBehalfOf[x]> </agent> <agent> 0..1 BackboneElement <!-- 0..1 Author --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <type><!-- 1..1 CodeableConcept How the agent participated --></type> <role><!-- 0..* CodeableConcept What the agents role was --></role> <who[x]><!-- 1..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|Reference(RelatedPerson)| Reference(Patient)|Reference(Device)|Reference(Organization) Author Reference --></who[x]> <onBehalfOf[x]><!-- 0..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)| Reference(RelatedPerson)|Reference(Patient)|Reference(Device)|Reference(Organization) Who the agent is representing --></onBehalfOf[x]> </agent> <entity> 0..* BackboneElement <!-- 0..* An entity used in this activity --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <role value="[code]"/><!-- 1..1 derivation | revision | quotation | source | removal --> <what[x]><!-- 1..1 Identifier|Reference(Resource) Identity of entity --></what[x]> <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 }, //Metadata about the resource "implicitRules" : "<uri>", //A set of rules under which this content was created "language" : "<code>", //Language of the resource content "text" : { Narrative }, //Text summary of the resource, for human interpretation "contained" : [{ Resource }], //Contained, inline Resources "modifierExtension" : [{ Extension }], //Extensions that cannot be ignored "target" : [{ Reference(Resource) }], // R! Resource version // value[x]: When the activity occurred. One of these 2: "occurredPeriod" : { Period }, // R! When the activity occurred "occurredDateTime" : "<dateTime>", // R! When the activity occurred "recorded" : "<instant>", // R! When the activity was recorded / updated "policy" : ["<uri>"], //Policy or plan the activity was defined by "location" : { Reference(Location) }, //Where the activity occurred, if relevant "reason" : [{ CodeableConcept }], //Reason the activity is occurring "activity" : { CodeableConcept }, // R! Record activity "agent" : [{ BackboneElement }], // C? R! Who was involved with change "agent" : { BackboneElement }, // C?Author "entity" : [{ BackboneElement }] // C?An entity used in this activity "signature" : [{ Signature }], //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..* | |||
target | S | 1..* | Reference(Resource) | Resource version |
occurredDateTime | S | 1..1 | Period, dateTime | |
reason | S | 0..* | CodeableConcept | |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | S | BackboneElement | Who was involved with change Slice: Unordered, Open by value:type | |
type | S | 1..1 | CodeableConcept | Binding: Provenance Event History Agent Role Codes (extensible) |
agent | S | 0..1 | BackboneElement | Author |
type | S | 1..1 | CodeableConcept | Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/v3/ParticipationType","code":"AUT"}]} |
whoReference | S | 1..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Author Reference |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | I | 0..* | 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: Common Languages (extensible) | |
text | I | 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 | Period, dateTime | When the activity occurred |
recorded | Σ | 1..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 | |
reason | S | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible) |
activity | S | 1..1 | CodeableConcept | Record activity Binding: Provenance History Record Activity Codes (extensible) |
agent | SI | 1..* | BackboneElement | Who was involved with change |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | SΣ | CodeableConcept | How the agent participated Slice: Unordered, Open by value:type Binding: Provenance Event History Agent Role Codes (extensible) | |
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) | |
who[x] | Σ | 1..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Who participated |
onBehalfOf[x] | 0..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Who the agent is representing | |
agent | SI | 0..1 | BackboneElement | Author |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (extensible) Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/v3/ParticipationType","code":"AUT"}]} |
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example) | |
who[x] | SΣ | 1..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Author Reference |
onBehalfOf[x] | 0..1 | Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization) | Who the agent is representing | |
entity | I | 0..* | BackboneElement | An entity used in this activity |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
role | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required) |
what[x] | Σ | 1..1 | Identifier, Reference(Resource) | Identity of entity |
agent | 0..* | Unknown reference to #Provenance.agent:author Entity is attributed to this agent | ||
signature | 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> <occurred[x]><!-- 1..1 Period|dateTime When the activity occurred --></occurred[x]> <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> 1..* BackboneElement <!-- 1..* Who was involved with change --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <-- type sliced by value:type in the specified orderOpen--> <role><!-- 0..* CodeableConcept What the agents role was --></role> <who[x]><!-- 1..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|Reference(RelatedPerson)| Reference(Patient)|Reference(Device)|Reference(Organization) Who participated --></who[x]> <onBehalfOf[x]><!-- 0..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)| Reference(RelatedPerson)|Reference(Patient)|Reference(Device)|Reference(Organization) Who the agent is representing --></onBehalfOf[x]> </agent> <agent> 0..1 BackboneElement <!-- 0..1 Author --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <type><!-- 1..1 CodeableConcept How the agent participated --></type> <role><!-- 0..* CodeableConcept What the agents role was --></role> <who[x]><!-- 1..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|Reference(RelatedPerson)| Reference(Patient)|Reference(Device)|Reference(Organization) Author Reference --></who[x]> <onBehalfOf[x]><!-- 0..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)| Reference(RelatedPerson)|Reference(Patient)|Reference(Device)|Reference(Organization) Who the agent is representing --></onBehalfOf[x]> </agent> <entity> 0..* BackboneElement <!-- 0..* An entity used in this activity --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <role value="[code]"/><!-- 1..1 derivation | revision | quotation | source | removal --> <what[x]><!-- 1..1 Identifier|Reference(Resource) Identity of entity --></what[x]> <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 }, //Metadata about the resource "implicitRules" : "<uri>", //A set of rules under which this content was created "language" : "<code>", //Language of the resource content "text" : { Narrative }, //Text summary of the resource, for human interpretation "contained" : [{ Resource }], //Contained, inline Resources "modifierExtension" : [{ Extension }], //Extensions that cannot be ignored "target" : [{ Reference(Resource) }], // R! Resource version // value[x]: When the activity occurred. One of these 2: "occurredPeriod" : { Period }, // R! When the activity occurred "occurredDateTime" : "<dateTime>", // R! When the activity occurred "recorded" : "<instant>", // R! When the activity was recorded / updated "policy" : ["<uri>"], //Policy or plan the activity was defined by "location" : { Reference(Location) }, //Where the activity occurred, if relevant "reason" : [{ CodeableConcept }], //Reason the activity is occurring "activity" : { CodeableConcept }, // R! Record activity "agent" : [{ BackboneElement }], // C? R! Who was involved with change "agent" : { BackboneElement }, // C?Author "entity" : [{ BackboneElement }] // C?An entity used in this activity "signature" : [{ Signature }], //Signature on target }
Alternate definitions: Master Definition (XML, JSON), Schematron
Path | Name | Conformance | ValueSet |
Provenance.language | Common Languages | extensible | Common Languages |
Provenance.reason | PurposeOfUse | extensible | PurposeOfUse |
Provenance.activity | Provenance History Record Activity Codes | extensible | Provenance History Record Activity Codes |
Provenance.agent.type | ParticipationRoleType | extensible | ParticipationRoleType |
Provenance.agent.role | ?ext | example | security-role-type |
Provenance.agent.type | ParticipationRoleType | extensible | ParticipationRoleType |
Provenance.agent.role | ?ext | example | security-role-type |
Provenance.entity.role | ProvenanceEntityRole | required | ProvenanceEntityRole |