IE (Ireland) Core Implementation Guide
1.0.0-ballot - Ballot Ireland flag

Publication Build: This will be filled in by the publication tooling

Resource Profile: IE Core Provenance Profile

Official URL: http://iehr.ai/fhir/ie/core/StructureDefinition/ie-core-provenance Version: 1.0.0-ballot
Standards status: Trial-use Maturity Level: 3 Computable Name: IECoreProvenance
Other Identifiers: OID:1.3.6.1.4.1.54392.5.2690.42.50

Copyright/Legal: iEHR.ai, all rights reserved Creative Commons License

The IE Core Provenance Profile inherits from the FHIR Provenance resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the Provenance resource to record, search, and fetch provenance information associated with a record. It covers the minimal (basic) information to support lineage of information. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Before reviewing this profile, implementers are encouraged to read the Basic Provenance guidance page, which documents several key use cases, specifically, the organization responsible for the most recent action on the resource.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for the Provenance records associated with an Allergy
  • Query for the Provenance records associated with a Problem

Mandatory and Must Support Data Elements

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:

  1. a reference to the resource(s) the Provenance record is supporting (target)
  2. a date and time for the activity

Each Provenance Must Support:

  1. the author organization responsible for the information
  2. the transmitter that provided the information
  3. the transmitter organization responsible for the transmission (if the transmitter is a device, the transmitter organization must also be valued).

Profile Specific Implementation Guidance:

  • The IE Core Provenance resource SHALL be supported for these IE Core resource types:
    • AllergyIntolerance
    • CarePlan
    • CareTeam
    • Condition
    • Coverage
    • Device
    • DiagnosticReport
    • DocumentReference
    • Encounter
    • Goal
    • Identifier
    • Immunization
    • MedicationDispense
    • MedicationRequest
    • Observation
    • Patient
    • Procedure
    • QuestionnaireResponse
    • RelatedPerson
    • ServiceRequest
  • If a system receives a provider in 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.
  • Systems that need to know the activity has occurred SHOULD populate the activity.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Provenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance IE 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: IE Core Provenance Participant Type Codes (extensible)
..... who S 1..1 Reference(IE Core Organization Profile S | IE Core Practitioner Profile | IE Core Patient Profile | IE Core PractitionerRole Profile | IE Core RelatedPerson Profile | Device) Who participated
..... onBehalfOf S 0..1 Reference(IE Core Organization Profile) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... type 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 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://iehr.ai/fhir/ie/core/CodeSystem/ie-core-provenance-participant-type
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Provenance.agent.typeextensibleIECoreProvenancePaticipantTypeCodes
http://iehr.ai/fhir/ie/core/ValueSet/ie-core-provenance-participant-type
from this IG

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance IE 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: IE Core Provenance Participant Type Codes (extensible)
..... who SΣ 1..1 Reference(IE Core Organization Profile) Who participated
..... onBehalfOf S 0..1 Reference(IE 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 Σ 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 Σ 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://iehr.ai/fhir/ie/core/CodeSystem/ie-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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.agent.typeextensibleIECoreProvenancePaticipantTypeCodes
http://iehr.ai/fhir/ie/core/ValueSet/ie-core-provenance-participant-type
from this IG
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance IE 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.

Additional BindingsPurpose
AllLanguages Max Binding
... 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: IE 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(IE Core Organization Profile S | IE Core Practitioner Profile | IE Core Patient Profile | IE Core PractitionerRole Profile | IE Core RelatedPerson Profile | Device) Who participated
..... onBehalfOf S 0..1 Reference(IE 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 Σ 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 Σ 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://iehr.ai/fhir/ie/core/CodeSystem/ie-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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Provenance.target.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Provenance.reasonextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
Provenance.activityextensibleProvenanceActivityType
http://hl7.org/fhir/ValueSet/provenance-activity-type
from the FHIR Standard
Provenance.agent.typeextensibleIECoreProvenancePaticipantTypeCodes
http://iehr.ai/fhir/ie/core/ValueSet/ie-core-provenance-participant-type
from this IG
Provenance.agent.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.entity.rolerequiredProvenanceEntityRole
http://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()

Differential View

This structure is derived from Provenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance IE 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: IE Core Provenance Participant Type Codes (extensible)
..... who S 1..1 Reference(IE Core Organization Profile S | IE Core Practitioner Profile | IE Core Patient Profile | IE Core PractitionerRole Profile | IE Core RelatedPerson Profile | Device) Who participated
..... onBehalfOf S 0..1 Reference(IE Core Organization Profile) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... type 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 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://iehr.ai/fhir/ie/core/CodeSystem/ie-core-provenance-participant-type
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Provenance.agent.typeextensibleIECoreProvenancePaticipantTypeCodes
http://iehr.ai/fhir/ie/core/ValueSet/ie-core-provenance-participant-type
from this IG

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance IE 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: IE Core Provenance Participant Type Codes (extensible)
..... who SΣ 1..1 Reference(IE Core Organization Profile) Who participated
..... onBehalfOf S 0..1 Reference(IE 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 Σ 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 Σ 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://iehr.ai/fhir/ie/core/CodeSystem/ie-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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.agent.typeextensibleIECoreProvenancePaticipantTypeCodes
http://iehr.ai/fhir/ie/core/ValueSet/ie-core-provenance-participant-type
from this IG
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance IE 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.

Additional BindingsPurpose
AllLanguages Max Binding
... 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: IE 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(IE Core Organization Profile S | IE Core Practitioner Profile | IE Core Patient Profile | IE Core PractitionerRole Profile | IE Core RelatedPerson Profile | Device) Who participated
..... onBehalfOf S 0..1 Reference(IE 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 Σ 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 Σ 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://iehr.ai/fhir/ie/core/CodeSystem/ie-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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Provenance.target.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Provenance.reasonextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
Provenance.activityextensibleProvenanceActivityType
http://hl7.org/fhir/ValueSet/provenance-activity-type
from the FHIR Standard
Provenance.agent.typeextensibleIECoreProvenancePaticipantTypeCodes
http://iehr.ai/fhir/ie/core/ValueSet/ie-core-provenance-participant-type
from this IG
Provenance.agent.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.entity.rolerequiredProvenanceEntityRole
http://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:


Quick Start


Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the IE Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only IE Core Profiles (Profile Only Support) are not required to support these interactions. See the IE Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

  • See the Scopes Format section for a description of the SMART scopes syntax.
  • See the Search Syntax section for a description of the IE Core search syntax.
  • See the General Requirements section for additional rules and expectations when a server requires status parameters.
  • See the General Guidance section for additional guidance on searching for multiple patients.

IE Core Scopes

Servers providing access to provenance data SHALL support these IE Core SMART Scopes:

Mandatory Search Parameters:

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:

  1. SHALL support searching for all IE 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:

    1. GET [base]/AllergyIntolerance?patient=[id]5&_revinclude=Provenance:target

    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.

  2. SHALL support searching for a particular instance of a IE 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:

    1. GET [base]/AllergyIntolerance?_id=[id]&_revinclude=Provenance:target

    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)