US Core Implementation Guide
10.0.0-ballot - STU 10 Ballot United States of America flag

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 10.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions

Resource Profile: US Core Provenance Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-provenance Version: 10.0.0-ballot
Standards status: Trial-use Maturity Level: 5 Computable Name: USCoreProvenance
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.54

The US 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.

US Core Maturity: 5

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)1
  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 information2
  3. the transmitter organization responsible for the transmission (if the transmitter is a device, the transmitter organization must also be valued).

1,2 see guidance below

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.

  • 1The US Core Provenance resource SHALL be supported for these US Core resource types:§
    • AllergyIntolerance
    • Appointment
    • CarePlan
    • CareTeam
    • Condition
    • Coverage
    • Device
    • DeviceRequest
    • DiagnosticReport
    • DocumentReference
    • Encounter
    • FamilyMemberHistory
    • Goal
    • ImagingStudy
    • Immunization
    • MedicationAdministration
    • MedicationDispense
    • MedicationRequest
    • NutritionOrder
    • Observation
    • Patient
    • Procedure
    • QuestionnaireResponse
    • RelatedPerson
    • ServiceRequest
  • 2If 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.§,§
  • Other information can be tracked such as what activity has occurred in Provenance.activity, and details about where the entity came from (for example, a document source's identity and role) in Provenance.entity.[§][CONF-0893]

Usages:

You can also check for usages in the FHIR IG Statistics

Changes since version 9.0.0:

  • New Content
  • Formal Views of Profile Content

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

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Provenance 0..* Provenance US Core Provenance
    Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) The Resource this Provenance record supports
    Provenance.target.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
    Provenance.recorded This element must be supported. This element is included in summaries. 1..1 instant Timestamp when the activity was recorded / updated
    Provenance.Slices for agent This element must be supported. C 1..* BackboneElement Actor involved
    Slice: Unordered, Open by value:type
    Constraints: provenance-1

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
    Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:All Slices.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept How the agent participated
    Binding: Provenance participant type (extensible)
    Provenance.Slices for agent.agent:All Slices.who This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) Who participated
    Provenance.Slices for agent.agent:All Slices.onBehalfOf This element must be supported. 0..1 Reference(US Core Organization Profile) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceAuthor This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceAuthor.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceAuthor.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "author"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceAuthor.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceAuthor.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceTransmitter This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceTransmitter.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceTransmitter.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "transmitter"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceTransmitter.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceTransmitter.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Provenance.agent.type Base extensible Provenance participant type 📦1.0.1 THO v7.4
    Provenance.agent:ProvenanceAuthor.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceTransmitter.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    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

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Provenance 0..* Provenance US Core Provenance
    Provenance.target This element must be supported. 1..* Reference(Resource) The Resource this Provenance record supports
    Provenance.target.reference This element must be supported. 0..1 string Literal reference, Relative, internal or absolute URL
    Provenance.recorded This element must be supported. 1..1 instant Timestamp when the activity was recorded / updated
    Provenance.Slices for agent This element must be supported. C 1..* BackboneElement Actor involved
    Slice: Unordered, Open by value:type
    Constraints: provenance-1
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
    Provenance.Slices for agent.agent:All Slices.type This element must be supported. 0..1 CodeableConcept How the agent participated
    Binding: Provenance participant type (extensible)
    Provenance.Slices for agent.agent:All Slices.who This element must be supported. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) Who participated
    Provenance.Slices for agent.agent:All Slices.onBehalfOf This element must be supported. 0..1 Reference(US Core Organization Profile) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceAuthor This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceAuthor.type This element must be supported. 1..1 CodeableConcept How the agent participated
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "author"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceTransmitter This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceTransmitter.type This element must be supported. 1..1 CodeableConcept How the agent participated
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "transmitter"
        }
      ]
    }

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Provenance.agent.type Base extensible Provenance participant type 📦1.0.1 THO v7.4

    Constraints

    Id Grade Path(s) Description Expression
    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()
    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Provenance 0..* Provenance US Core Provenance
    Provenance.id This element is included in summaries. 0..1 id Logical id of this artifact
    Provenance.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Provenance.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Provenance.text 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    Provenance.contained 0..* Resource Contained, inline Resources
    Provenance.extension 0..* Extension Additional content defined by implementations
    Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) The Resource this Provenance record supports
    Provenance.target.id 0..1 string Unique id for inter-element referencing
    Provenance.target.extension 0..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Provenance.target.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
    Provenance.target.type This element is included in summaries. 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).
    Provenance.target.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
    Provenance.target.display This element is included in summaries. 0..1 string Text alternative for the resource
    Provenance.occurred[x] 0..1 When the activity occurred
    Provenance.occurred[x].occurredPeriod Period
    Provenance.occurred[x].occurredDateTime dateTime
    Provenance.recorded This element must be supported. This element is included in summaries. 1..1 instant Timestamp when the activity was recorded / updated
    Provenance.policy 0..* uri Policy or plan the activity was defined by
    Provenance.location 0..1 Reference(Location) Where the activity occurred, if relevant
    Provenance.reason 0..* CodeableConcept Reason the activity is occurring
    Binding: PurposeOfUse (extensible): The reason the activity took place.
    Provenance.activity 0..1 CodeableConcept Activity that occurred
    Binding: ProvenanceActivityType (extensible): The activity that took place.
    Provenance.Slices for agent This element must be supported. C 1..* BackboneElement Actor involved
    Slice: Unordered, Open by value:type
    Constraints: provenance-1

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
    Provenance.Slices for agent.agent:All Slices.id 0..1 string Unique id for inter-element referencing
    Provenance.Slices for agent.agent:All Slices.extension 0..* Extension Additional content defined by implementations
    Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:All Slices.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept How the agent participated
    Binding: Provenance participant type (extensible)
    Provenance.Slices for agent.agent:All Slices.role 0..* CodeableConcept What the agents role was
    Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
    Provenance.Slices for agent.agent:All Slices.who This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) Who participated
    Provenance.Slices for agent.agent:All Slices.onBehalfOf This element must be supported. 0..1 Reference(US Core Organization Profile) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceAuthor This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceAuthor.id 0..1 string Unique id for inter-element referencing
    Provenance.Slices for agent.agent:ProvenanceAuthor.extension 0..* Extension Additional content defined by implementations
    Provenance.Slices for agent.agent:ProvenanceAuthor.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceAuthor.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "author"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceAuthor.role 0..* CodeableConcept What the agents role was
    Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
    Provenance.Slices for agent.agent:ProvenanceAuthor.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceAuthor.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceTransmitter This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceTransmitter.id 0..1 string Unique id for inter-element referencing
    Provenance.Slices for agent.agent:ProvenanceTransmitter.extension 0..* Extension Additional content defined by implementations
    Provenance.Slices for agent.agent:ProvenanceTransmitter.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceTransmitter.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "transmitter"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceTransmitter.role 0..* CodeableConcept What the agents role was
    Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
    Provenance.Slices for agent.agent:ProvenanceTransmitter.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceTransmitter.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
    Provenance.entity 0..* BackboneElement An entity used in this activity
    Provenance.entity.id 0..1 string Unique id for inter-element referencing
    Provenance.entity.extension 0..* Extension Additional content defined by implementations
    Provenance.entity.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.entity.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
    Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
    Provenance.entity.what This element is included in summaries. 1..1 Reference(Resource) Identity of entity
    Provenance.entity.agent 0..* See agent (Provenance) Entity is attributed to this agent
    Provenance.signature 0..* Signature Signature on target

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Provenance.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Provenance.target.type Base extensible ResourceType 📍4.0.1 FHIR Std.
    Provenance.reason Base extensible PurposeOfUse 📦3.1.0 THO v7.4
    Provenance.activity Base extensible Provenance activity type 📍4.0.1 FHIR Std.
    Provenance.agent.type Base extensible Provenance participant type 📦1.0.1 THO v7.4
    Provenance.agent.role Base example SecurityRoleType 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceAuthor.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceAuthor.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceTransmitter.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceTransmitter.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
    Provenance.entity.role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    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

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Provenance 0..* Provenance US Core Provenance
    Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) The Resource this Provenance record supports
    Provenance.target.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
    Provenance.recorded This element must be supported. This element is included in summaries. 1..1 instant Timestamp when the activity was recorded / updated
    Provenance.Slices for agent This element must be supported. C 1..* BackboneElement Actor involved
    Slice: Unordered, Open by value:type
    Constraints: provenance-1

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
    Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:All Slices.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept How the agent participated
    Binding: Provenance participant type (extensible)
    Provenance.Slices for agent.agent:All Slices.who This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) Who participated
    Provenance.Slices for agent.agent:All Slices.onBehalfOf This element must be supported. 0..1 Reference(US Core Organization Profile) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceAuthor This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceAuthor.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceAuthor.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "author"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceAuthor.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceAuthor.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceTransmitter This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceTransmitter.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceTransmitter.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "transmitter"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceTransmitter.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceTransmitter.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Provenance.agent.type Base extensible Provenance participant type 📦1.0.1 THO v7.4
    Provenance.agent:ProvenanceAuthor.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceTransmitter.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    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()

    Differential View

    This structure is derived from Provenance

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Provenance 0..* Provenance US Core Provenance
    Provenance.target This element must be supported. 1..* Reference(Resource) The Resource this Provenance record supports
    Provenance.target.reference This element must be supported. 0..1 string Literal reference, Relative, internal or absolute URL
    Provenance.recorded This element must be supported. 1..1 instant Timestamp when the activity was recorded / updated
    Provenance.Slices for agent This element must be supported. C 1..* BackboneElement Actor involved
    Slice: Unordered, Open by value:type
    Constraints: provenance-1
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
    Provenance.Slices for agent.agent:All Slices.type This element must be supported. 0..1 CodeableConcept How the agent participated
    Binding: Provenance participant type (extensible)
    Provenance.Slices for agent.agent:All Slices.who This element must be supported. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) Who participated
    Provenance.Slices for agent.agent:All Slices.onBehalfOf This element must be supported. 0..1 Reference(US Core Organization Profile) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceAuthor This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceAuthor.type This element must be supported. 1..1 CodeableConcept How the agent participated
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "author"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceTransmitter This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceTransmitter.type This element must be supported. 1..1 CodeableConcept How the agent participated
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "transmitter"
        }
      ]
    }

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Provenance.agent.type Base extensible Provenance participant type 📦1.0.1 THO v7.4

    Constraints

    Id Grade Path(s) Description Expression
    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

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Provenance 0..* Provenance US Core Provenance
    Provenance.id This element is included in summaries. 0..1 id Logical id of this artifact
    Provenance.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Provenance.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Provenance.text 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    Provenance.contained 0..* Resource Contained, inline Resources
    Provenance.extension 0..* Extension Additional content defined by implementations
    Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) The Resource this Provenance record supports
    Provenance.target.id 0..1 string Unique id for inter-element referencing
    Provenance.target.extension 0..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Provenance.target.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
    Provenance.target.type This element is included in summaries. 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).
    Provenance.target.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
    Provenance.target.display This element is included in summaries. 0..1 string Text alternative for the resource
    Provenance.occurred[x] 0..1 When the activity occurred
    Provenance.occurred[x].occurredPeriod Period
    Provenance.occurred[x].occurredDateTime dateTime
    Provenance.recorded This element must be supported. This element is included in summaries. 1..1 instant Timestamp when the activity was recorded / updated
    Provenance.policy 0..* uri Policy or plan the activity was defined by
    Provenance.location 0..1 Reference(Location) Where the activity occurred, if relevant
    Provenance.reason 0..* CodeableConcept Reason the activity is occurring
    Binding: PurposeOfUse (extensible): The reason the activity took place.
    Provenance.activity 0..1 CodeableConcept Activity that occurred
    Binding: ProvenanceActivityType (extensible): The activity that took place.
    Provenance.Slices for agent This element must be supported. C 1..* BackboneElement Actor involved
    Slice: Unordered, Open by value:type
    Constraints: provenance-1

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
    Provenance.Slices for agent.agent:All Slices.id 0..1 string Unique id for inter-element referencing
    Provenance.Slices for agent.agent:All Slices.extension 0..* Extension Additional content defined by implementations
    Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:All Slices.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept How the agent participated
    Binding: Provenance participant type (extensible)
    Provenance.Slices for agent.agent:All Slices.role 0..* CodeableConcept What the agents role was
    Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
    Provenance.Slices for agent.agent:All Slices.who This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Practitioner Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) Who participated
    Provenance.Slices for agent.agent:All Slices.onBehalfOf This element must be supported. 0..1 Reference(US Core Organization Profile) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceAuthor This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceAuthor.id 0..1 string Unique id for inter-element referencing
    Provenance.Slices for agent.agent:ProvenanceAuthor.extension 0..* Extension Additional content defined by implementations
    Provenance.Slices for agent.agent:ProvenanceAuthor.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceAuthor.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "author"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceAuthor.role 0..* CodeableConcept What the agents role was
    Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
    Provenance.Slices for agent.agent:ProvenanceAuthor.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceAuthor.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
    Provenance.Slices for agent.agent:ProvenanceTransmitter This element must be supported. 0..* BackboneElement Actor involved
    Provenance.Slices for agent.agent:ProvenanceTransmitter.id 0..1 string Unique id for inter-element referencing
    Provenance.Slices for agent.agent:ProvenanceTransmitter.extension 0..* Extension Additional content defined by implementations
    Provenance.Slices for agent.agent:ProvenanceTransmitter.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.Slices for agent.agent:ProvenanceTransmitter.type This element must be supported. This element is included in summaries. 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:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
          "code" : "transmitter"
        }
      ]
    }
    Provenance.Slices for agent.agent:ProvenanceTransmitter.role 0..* CodeableConcept What the agents role was
    Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
    Provenance.Slices for agent.agent:ProvenanceTransmitter.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
    Provenance.Slices for agent.agent:ProvenanceTransmitter.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
    Provenance.entity 0..* BackboneElement An entity used in this activity
    Provenance.entity.id 0..1 string Unique id for inter-element referencing
    Provenance.entity.extension 0..* Extension Additional content defined by implementations
    Provenance.entity.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Provenance.entity.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
    Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
    Provenance.entity.what This element is included in summaries. 1..1 Reference(Resource) Identity of entity
    Provenance.entity.agent 0..* See agent (Provenance) Entity is attributed to this agent
    Provenance.signature 0..* Signature Signature on target

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Provenance.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Provenance.target.type Base extensible ResourceType 📍4.0.1 FHIR Std.
    Provenance.reason Base extensible PurposeOfUse 📦3.1.0 THO v7.4
    Provenance.activity Base extensible Provenance activity type 📍4.0.1 FHIR Std.
    Provenance.agent.type Base extensible Provenance participant type 📦1.0.1 THO v7.4
    Provenance.agent.role Base example SecurityRoleType 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceAuthor.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceAuthor.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceTransmitter.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
    Provenance.agent:ProvenanceTransmitter.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
    Provenance.entity.role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    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()

     

    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 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.

    • See the Scopes Format section for a description of the SMART scopes syntax.
    • See the Search Syntax section for a description of the US 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.

    US Core Scopes

    Servers providing access to provenance data SHALL support these US 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 they SHOULD be supported:

    1. 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:

      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.
      • The "inline" search result parameter _revinclude will return the last Provenance for the version named in the reference. To return all the Provenance resources associated with a resource irrespective of its version, search against Provenance using the target search parameter.
      • See the AllergyIntolerance Provenance Example 1 Bundle.
    2. 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:

      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)
      • The "inline" search result parameter _revinclude will return the last Provenance for the version named in the reference. To return all the Provenance resources associated with a resource irrespective of its version, search against Provenance using the target search parameter.
      • See the AllergyIntolerance Provenance Example 2 Bundle.