This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-provenance | Version: 7.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreProvenance | ||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
This profile sets minimum expectations for the Provenance resource to record, search, and fetch Provenance information associated with a record to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. This FHIR Provenance profile here covers the minimal (basic) information to support lineage of information. It provides the floor for standards development for specific use cases. Prior to reviewing this profile, implementers are encouraged to read the Basic Provenance guidance page which documents several key use cases, specifically, what organization was responsible for the most recent action on the resource.
Example Usage Scenarios:
The following are example usage scenarios for this profile:
The following data-elements are mandatory (i.e. data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.
Each Provenance Must Have:
Each Provenance Must Support:
Profile Specific Implementation Guidance:
Provenance.agent.who
as free text they must capture who sent them the information as the organization. On request they SHALL provide this organization as the source and MAY include the free text provider.Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | US Core Provenance | |
target | S | 1..* | Reference(Resource) | The Resource this Provenance record supports |
reference | S | 0..1 | string | Literal reference, Relative, internal or absolute URL |
recorded | S | 1..1 | instant | Timestamp when the activity was recorded / updated |
Slices for agent | SC | 1..* | BackboneElement | Actor involved Slice: Unordered, Open by pattern:type provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device |
agent:All Slices | Content/Rules for all slices | |||
type | S | 0..1 | CodeableConcept | How the agent participated Binding: US Core Provenance Participant Type Codes (extensible) |
who | S | 1..1 | Reference(US Core Organization Profile S | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | Device) | Who participated |
onBehalfOf | S | 0..1 | Reference(US Core Organization Profile) | Who the agent is representing |
agent:ProvenanceAuthor | S | 0..* | BackboneElement | Actor involved |
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/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: author | |
agent:ProvenanceTransmitter | S | 0..* | BackboneElement | Actor involved |
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://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: transmitter | |
Documentation for this format |
Path | Conformance | ValueSet |
Provenance.agent.type | extensible | USCoreProvenancePaticipantTypeCodes |
Id | Grade | Path(s) | Details | Requirements |
provenance-1 | error | Provenance.agent | onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device : who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | US Core Provenance | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | SΣ | 1..* | Reference(Resource) | The Resource this Provenance record supports |
reference | SΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL |
recorded | SΣ | 1..1 | instant | Timestamp when the activity was recorded / updated |
Slices for agent | SC | 1..* | BackboneElement | Actor involved Slice: Unordered, Open by pattern:type provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device |
agent:All Slices | Content/Rules for all slices | |||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 0..1 | CodeableConcept | How the agent participated Binding: US Core Provenance Participant Type Codes (extensible) |
who | SΣ | 1..1 | Reference(US Core Organization Profile) | Who participated |
onBehalfOf | S | 0..1 | Reference(US Core Organization Profile) | Who the agent is representing |
agent:ProvenanceAuthor | S | 0..* | BackboneElement | Actor involved |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. 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/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: author | |
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
agent:ProvenanceTransmitter | S | 0..* | BackboneElement | Actor involved |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. 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://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: transmitter | |
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Provenance.agent.type | extensible | USCoreProvenancePaticipantTypeCodes |
Provenance.agent:ProvenanceAuthor.type | extensible | Pattern: author |
Provenance.agent:ProvenanceTransmitter.type | extensible | Pattern: transmitter |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
provenance-1 | error | Provenance.agent | onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device : who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Provenance | 0..* | Provenance | US Core Provenance | |||||
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: CommonLanguages (preferred): 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) | The Resource this Provenance record supports | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | SΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
display | Σ | 0..1 | string | Text alternative for the resource | ||||
occurred[x] | 0..1 | When the activity occurred | ||||||
occurredPeriod | Period | |||||||
occurredDateTime | dateTime | |||||||
recorded | SΣ | 1..1 | instant | Timestamp 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 | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place. | |||||
activity | 0..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (extensible): The activity that took place. | |||||
Slices for agent | SC | 1..* | BackboneElement | Actor involved Slice: Unordered, Open by pattern:type provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device | ||||
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Σ | 0..1 | CodeableConcept | How the agent participated Binding: US Core Provenance Participant Type Codes (extensible) | ||||
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | SΣ | 1..1 | Reference(US Core Organization Profile S | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | Device) | Who participated | ||||
onBehalfOf | S | 0..1 | Reference(US Core Organization Profile) | Who the agent is representing | ||||
agent:ProvenanceAuthor | S | 0..* | BackboneElement | Actor involved | ||||
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: ProvenanceParticipantType (extensible): 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/provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: author | |||||
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: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated | ||||
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
agent:ProvenanceTransmitter | S | 0..* | BackboneElement | Actor involved | ||||
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: ProvenanceParticipantType (extensible): 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://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: transmitter | |||||
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: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated | ||||
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
entity | 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 | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (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 | 0..* | Signature | Signature on target | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Provenance.language | preferred | CommonLanguages
| ||||
Provenance.target.type | extensible | ResourceType | ||||
Provenance.reason | extensible | PurposeOfUse | ||||
Provenance.activity | extensible | ProvenanceActivityType | ||||
Provenance.agent.type | extensible | USCoreProvenancePaticipantTypeCodes | ||||
Provenance.agent.role | example | SecurityRoleType | ||||
Provenance.agent:ProvenanceAuthor.type | extensible | Pattern: author | ||||
Provenance.agent:ProvenanceAuthor.role | example | SecurityRoleType | ||||
Provenance.agent:ProvenanceTransmitter.type | extensible | Pattern: transmitter | ||||
Provenance.agent:ProvenanceTransmitter.role | example | SecurityRoleType | ||||
Provenance.entity.role | required | ProvenanceEntityRole |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
provenance-1 | error | Provenance.agent | onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device : who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists() |
This structure is derived from Provenance
Summary
Mandatory: 0 element (2 nested mandatory elements)
Must-Support: 11 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 3
Differential View
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | US Core Provenance | |
target | S | 1..* | Reference(Resource) | The Resource this Provenance record supports |
reference | S | 0..1 | string | Literal reference, Relative, internal or absolute URL |
recorded | S | 1..1 | instant | Timestamp when the activity was recorded / updated |
Slices for agent | SC | 1..* | BackboneElement | Actor involved Slice: Unordered, Open by pattern:type provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device |
agent:All Slices | Content/Rules for all slices | |||
type | S | 0..1 | CodeableConcept | How the agent participated Binding: US Core Provenance Participant Type Codes (extensible) |
who | S | 1..1 | Reference(US Core Organization Profile S | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | Device) | Who participated |
onBehalfOf | S | 0..1 | Reference(US Core Organization Profile) | Who the agent is representing |
agent:ProvenanceAuthor | S | 0..* | BackboneElement | Actor involved |
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/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: author | |
agent:ProvenanceTransmitter | S | 0..* | BackboneElement | Actor involved |
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://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: transmitter | |
Documentation for this format |
Path | Conformance | ValueSet |
Provenance.agent.type | extensible | USCoreProvenancePaticipantTypeCodes |
Id | Grade | Path(s) | Details | Requirements |
provenance-1 | error | Provenance.agent | onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device : who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | US Core Provenance | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | SΣ | 1..* | Reference(Resource) | The Resource this Provenance record supports |
reference | SΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL |
recorded | SΣ | 1..1 | instant | Timestamp when the activity was recorded / updated |
Slices for agent | SC | 1..* | BackboneElement | Actor involved Slice: Unordered, Open by pattern:type provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device |
agent:All Slices | Content/Rules for all slices | |||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 0..1 | CodeableConcept | How the agent participated Binding: US Core Provenance Participant Type Codes (extensible) |
who | SΣ | 1..1 | Reference(US Core Organization Profile) | Who participated |
onBehalfOf | S | 0..1 | Reference(US Core Organization Profile) | Who the agent is representing |
agent:ProvenanceAuthor | S | 0..* | BackboneElement | Actor involved |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. 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/provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: author | |
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
agent:ProvenanceTransmitter | S | 0..* | BackboneElement | Actor involved |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | SΣ | 1..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. 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://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: transmitter | |
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Provenance.agent.type | extensible | USCoreProvenancePaticipantTypeCodes |
Provenance.agent:ProvenanceAuthor.type | extensible | Pattern: author |
Provenance.agent:ProvenanceTransmitter.type | extensible | Pattern: transmitter |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
provenance-1 | error | Provenance.agent | onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device : who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Provenance | 0..* | Provenance | US Core Provenance | |||||
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: CommonLanguages (preferred): 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) | The Resource this Provenance record supports | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | SΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
display | Σ | 0..1 | string | Text alternative for the resource | ||||
occurred[x] | 0..1 | When the activity occurred | ||||||
occurredPeriod | Period | |||||||
occurredDateTime | dateTime | |||||||
recorded | SΣ | 1..1 | instant | Timestamp 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 | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place. | |||||
activity | 0..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (extensible): The activity that took place. | |||||
Slices for agent | SC | 1..* | BackboneElement | Actor involved Slice: Unordered, Open by pattern:type provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device | ||||
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Σ | 0..1 | CodeableConcept | How the agent participated Binding: US Core Provenance Participant Type Codes (extensible) | ||||
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | SΣ | 1..1 | Reference(US Core Organization Profile S | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | Device) | Who participated | ||||
onBehalfOf | S | 0..1 | Reference(US Core Organization Profile) | Who the agent is representing | ||||
agent:ProvenanceAuthor | S | 0..* | BackboneElement | Actor involved | ||||
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: ProvenanceParticipantType (extensible): 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/provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: author | |||||
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: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated | ||||
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
agent:ProvenanceTransmitter | S | 0..* | BackboneElement | Actor involved | ||||
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: ProvenanceParticipantType (extensible): 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://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: transmitter | |||||
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: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated | ||||
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
entity | 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 | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (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 | 0..* | Signature | Signature on target | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Provenance.language | preferred | CommonLanguages
| ||||
Provenance.target.type | extensible | ResourceType | ||||
Provenance.reason | extensible | PurposeOfUse | ||||
Provenance.activity | extensible | ProvenanceActivityType | ||||
Provenance.agent.type | extensible | USCoreProvenancePaticipantTypeCodes | ||||
Provenance.agent.role | example | SecurityRoleType | ||||
Provenance.agent:ProvenanceAuthor.type | extensible | Pattern: author | ||||
Provenance.agent:ProvenanceAuthor.role | example | SecurityRoleType | ||||
Provenance.agent:ProvenanceTransmitter.type | extensible | Pattern: transmitter | ||||
Provenance.agent:ProvenanceTransmitter.role | example | SecurityRoleType | ||||
Provenance.entity.role | required | ProvenanceEntityRole |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Provenance | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
provenance-1 | error | Provenance.agent | onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device : who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists() |
This structure is derived from Provenance
Summary
Mandatory: 0 element (2 nested mandatory elements)
Must-Support: 11 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 3
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
Servers providing access to provenance data SHALL support these US Core SMART Scopes:
patient/Provenance.rs
.The following search parameters, search parameter combinations SHALL be supported. Any listed search parameter modifiers, comparators, chains and composites SHALL also be supported UNLESS they are listed as “optional” in which case theySHOULD be supported:
SHALL support searching for all US Core Profile resource types listed above for a patient and all the Provenance records for those resources using a combination of the patient
and [_revinclude
] search parameters:
GET [base]/[Resource]?patient=[id]&_revinclude=Provenance:target
Example:
Implementation Notes: Fetches a bundle of all resources of a particular type for the specified patient (how to search by reference) and any corresponding Provenance resources.
SHALL support searching for a particular instance of a US Core Profile resource type listed above and all its Provenance resources using combination of the _id
and the [_revinclude
] search parameters:
GET [base]/[Resource]?_id=[id]&_revinclude=Provenance:target
Example:
Implementation Notes: Fetches a bundle of a resource of a particular type (within the clients authorization scope) and any corresponding Provenance resources. (how to search by token)