Extensions for Using Data Elements from FHIR R5 in FHIR STU3
0.1.0 - STU International flag

Extensions for Using Data Elements from FHIR R5 in FHIR STU3 - Downloaded Version null See the Directory of published versions

Resource Profile: Profile_R5_Provenance_R3 - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 0

Definitions for the profile-Provenance resource profile.

Guidance on how to interpret the contents of this table can be foundhere

0. Provenance
Definition

Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.

ShortWho, What, When for a set of resources
Comments

Some parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.

Control0..*
Alternate NamesHistory, Event, Activity
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.empty())
dom-4: 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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.empty())
dom-4: 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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
2. Provenance.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Control0..1
Typeuri
Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
4. Provenance.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional Content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Alternate Namesextensions, user content
SlicingThis element introduces a set of slices on Provenance.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Provenance.extension:basedOn
    Slice NamebasedOn
    Definition

    R5: Provenance.basedOn (new:Reference(CarePlan,DeviceRequest,ImmunizationRecommendation,MedicationRequest,NutritionOrder,ServiceRequest,Task))

    ShortR5: Workflow authorization within which this event occurred (new)
    Comments

    Element Provenance.basedOn has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.basedOn has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

    Control0..*
    This element is affected by the following invariants: ele-1
    TypeExtension(R5: Workflow authorization within which this event occurred (new)) (Extension Type: Reference(Cross-version Profile for R5.CarePlan for use in FHIR STU3, CarePlan, Cross-version Profile for R5.DeviceRequest for use in FHIR STU3, DeviceRequest, Cross-version Profile for R5.ImmunizationRecommendation for use in FHIR STU3, ImmunizationRecommendation, Cross-version Profile for R5.MedicationRequest for use in FHIR STU3, MedicationRequest, Cross-version Profile for R5.NutritionOrder for use in FHIR STU3, NutritionOrder, Cross-version Profile for R5.ServiceRequest for use in FHIR STU3, ReferralRequest, Cross-version Profile for R5.Task for use in FHIR STU3, Task))
    Is Modifierfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. Provenance.extension:patient
    Slice Namepatient
    Definition

    R5: Provenance.patient (new:Reference(Patient))

    ShortR5: The patient is the subject of the data created/updated (.target) by the activity (new)
    Comments

    Element Provenance.patient has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.patient has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(R5: The patient is the subject of the data created/updated (.target) by the activity (new)) (Extension Type: Reference(Cross-version Profile for R5.Patient for use in FHIR STU3, Patient))
    Is Modifierfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. Provenance.extension:encounter
    Slice Nameencounter
    Definition

    R5: Provenance.encounter (new:Reference(Encounter))

    ShortR5: Encounter within which this event occurred or which the event is tightly associated (new)
    Comments

    Element Provenance.encounter has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.encounter has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(R5: Encounter within which this event occurred or which the event is tightly associated (new)) (Extension Type: Reference(Cross-version Profile for R5.Encounter for use in FHIR STU3, Encounter))
    Is Modifierfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    12. Provenance.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    ShortExtensions that cannot be ignored
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
    Alternate Namesextensions, user content
    14. Provenance.target
    Definition

    The Reference(s) that were generated or updated by the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity.

    ShortTarget Reference(s) (usually version specific)
    Comments

    Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.

    Control1..*
    TypeReference(Resource)
    Summarytrue
    16. Provenance.target.extension
    Definition

    An Extension


    May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortExtensionAdditional Content defined by implementations
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Alternate Namesextensions, user content
    SlicingThis element introduces a set of slices on Provenance.target.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 18. Provenance.target.extension:target
      Slice Nametarget
      Definition

      R5: Provenance.target additional types from child elements (display, identifier, reference, type)

      ShortR5: target additional types
      Comments

      Element Provenance.target is mapped to FHIR STU3 element Provenance.target as SourceIsBroaderThanTarget. The mappings for Provenance.target do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.target with unmapped reference targets: Resource. Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.

      Control0..*
      TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
      20. Provenance.recorded
      Definition

      The instant of time at which the activity was recorded.

      ShortWhen the activity was recorded / updated
      Comments

      This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.

      Control1..1
      Typeinstant
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      22. Provenance.agent
      Definition

      An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.

      ShortActor involved
      Comments

      Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.

      Control1..*
      TypeBackboneElement
      Requirements

      An agent can be a person, an organization, software, device, or other entities that may be ascribed responsibility.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
      ele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
      24. Provenance.agent.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      ShortExtensions that cannot be ignored
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
      Summarytrue
      Alternate Namesextensions, user content, modifiers
      26. Provenance.agent.who[x]
      Definition

      The individual, device or organization that participated in the event.

      ShortWho participated
      Control1..1
      TypeChoice of: uri, Reference(Practitioner, RelatedPerson, Patient, Device, Organization)
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      28. Provenance.agent.who[x].extension:alternateReference
      Slice NamealternateReference
      Definition

      R5: Provenance.agent.who

      ShortR5: The agent that participated in the event
      Comments

      Element Provenance.agent.who is mapped to FHIR STU3 element Provenance.agent.who[x] as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.agent.who with unmapped reference targets: CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson. Source element Provenance.agent.who has unmapped reference types. While the target element Provenance.agent.who[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it.

      Control0..*
      TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)

      Guidance on how to interpret the contents of this table can be foundhere

      0. Provenance
      2. Provenance.extension
      Control0..*
      SlicingThis element introduces a set of slices on Provenance.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 4. Provenance.extension:basedOn
        Slice NamebasedOn
        Definition

        R5: Provenance.basedOn (new:Reference(CarePlan,DeviceRequest,ImmunizationRecommendation,MedicationRequest,NutritionOrder,ServiceRequest,Task))

        ShortR5: Workflow authorization within which this event occurred (new)
        Comments

        Element Provenance.basedOn has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.basedOn has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

        Control0..*
        TypeExtension(R5: Workflow authorization within which this event occurred (new)) (Extension Type: Reference(Cross-version Profile for R5.CarePlan for use in FHIR STU3, CarePlan, Cross-version Profile for R5.DeviceRequest for use in FHIR STU3, DeviceRequest, Cross-version Profile for R5.ImmunizationRecommendation for use in FHIR STU3, ImmunizationRecommendation, Cross-version Profile for R5.MedicationRequest for use in FHIR STU3, MedicationRequest, Cross-version Profile for R5.NutritionOrder for use in FHIR STU3, NutritionOrder, Cross-version Profile for R5.ServiceRequest for use in FHIR STU3, ReferralRequest, Cross-version Profile for R5.Task for use in FHIR STU3, Task))
        6. Provenance.extension:patient
        Slice Namepatient
        Definition

        R5: Provenance.patient (new:Reference(Patient))

        ShortR5: The patient is the subject of the data created/updated (.target) by the activity (new)
        Comments

        Element Provenance.patient has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.patient has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

        Control0..1
        TypeExtension(R5: The patient is the subject of the data created/updated (.target) by the activity (new)) (Extension Type: Reference(Cross-version Profile for R5.Patient for use in FHIR STU3, Patient))
        8. Provenance.extension:encounter
        Slice Nameencounter
        Definition

        R5: Provenance.encounter (new:Reference(Encounter))

        ShortR5: Encounter within which this event occurred or which the event is tightly associated (new)
        Comments

        Element Provenance.encounter has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.encounter has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

        Control0..1
        TypeExtension(R5: Encounter within which this event occurred or which the event is tightly associated (new)) (Extension Type: Reference(Cross-version Profile for R5.Encounter for use in FHIR STU3, Encounter))
        10. Provenance.target
        12. Provenance.target.extension
        Control0..*
        SlicingThis element introduces a set of slices on Provenance.target.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 14. Provenance.target.extension:target
          Slice Nametarget
          Definition

          R5: Provenance.target additional types from child elements (display, identifier, reference, type)

          ShortR5: target additional types
          Comments

          Element Provenance.target is mapped to FHIR STU3 element Provenance.target as SourceIsBroaderThanTarget. The mappings for Provenance.target do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.target with unmapped reference targets: Resource. Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.

          Control0..*
          TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
          16. Provenance.period
          18. Provenance.period.extension
          Control0..*
          SlicingThis element introduces a set of slices on Provenance.period.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 20. Provenance.period.extension:occurred
            Slice Nameoccurred
            Definition

            R5: Provenance.occurred[x] additional types (dateTime) additional types from child elements (value)

            ShortR5: occurred additional types
            Comments

            Element Provenance.occurred[x] is mapped to FHIR STU3 element Provenance.period as SourceIsBroaderThanTarget. The mappings for Provenance.occurred[x] do not cover the following types: dateTime. The mappings for Provenance.occurred[x] do not cover the following types based on type expansion: value. The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.

            Control0..1
            TypeExtension(R5: occurred additional types) (Extension Type: dateTime)
            22. Provenance.location
            24. Provenance.location.extension
            Control0..*
            SlicingThis element introduces a set of slices on Provenance.location.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 26. Provenance.location.extension:location
              Slice Namelocation
              Definition

              R5: Provenance.location additional types from child elements (display, identifier, reference, type)

              ShortR5: location additional types
              Comments

              Element Provenance.location is mapped to FHIR STU3 element Provenance.location as SourceIsBroaderThanTarget. The mappings for Provenance.location do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.location with unmapped reference targets: Location.

              Control0..1
              TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
              28. Provenance.reason
              30. Provenance.reason.extension
              Control0..*
              SlicingThis element introduces a set of slices on Provenance.reason.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 32. Provenance.reason.extension:authorization
                Slice Nameauthorization
                Definition

                R5: Provenance.authorization additional types (CodeableReference) additional types from child elements (concept, reference)

                ShortR5: Authorization (purposeOfUse) related to the event additional types
                Comments

                Element Provenance.authorization is mapped to FHIR STU3 element Provenance.reason as SourceIsBroaderThanTarget. The mappings for Provenance.authorization do not cover the following types: CodeableReference. The mappings for Provenance.authorization do not cover the following types based on type expansion: concept, reference.

                Control0..*
                TypeExtension(R5: Authorization (purposeOfUse) related to the event additional types) (Complex Extension)
                34. Provenance.activity
                36. Provenance.activity.extension
                Control0..*
                SlicingThis element introduces a set of slices on Provenance.activity.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 38. Provenance.activity.extension:activity
                  Slice Nameactivity
                  Definition

                  R5: Provenance.activity additional types (CodeableConcept) additional types from child elements (text)

                  ShortR5: activity additional types
                  Comments

                  Element Provenance.activity is mapped to FHIR STU3 element Provenance.activity as SourceIsBroaderThanTarget. The mappings for Provenance.activity do not cover the following types: CodeableConcept. The mappings for Provenance.activity do not cover the following types based on type expansion: text.

                  Control0..1
                  TypeExtension(R5: activity additional types) (Extension Type: CodeableConcept)
                  40. Provenance.agent
                  42. Provenance.agent.whoReference
                  44. Provenance.agent.whoReference.extension
                  Control0..*
                  SlicingThis element introduces a set of slices on Provenance.agent.whoReference.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 46. Provenance.agent.whoReference.extension:alternateReference
                    Slice NamealternateReference
                    Definition

                    R5: Provenance.agent.who

                    ShortR5: The agent that participated in the event
                    Comments

                    Element Provenance.agent.who is mapped to FHIR STU3 element Provenance.agent.who[x] as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.agent.who with unmapped reference targets: CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson. Source element Provenance.agent.who has unmapped reference types. While the target element Provenance.agent.who[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it.

                    TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                    48. Provenance.agent.onBehalfOfReference
                    50. Provenance.agent.onBehalfOfReference.extension
                    Control0..*
                    SlicingThis element introduces a set of slices on Provenance.agent.onBehalfOfReference.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 52. Provenance.agent.onBehalfOfReference.extension:alternateReference
                      Slice NamealternateReference
                      Definition

                      R5: Provenance.agent.onBehalfOf

                      ShortR5: The agent that delegated
                      Comments

                      Element Provenance.agent.onBehalfOf is mapped to FHIR STU3 element Provenance.agent.onBehalfOf[x] as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.agent.onBehalfOf with unmapped reference targets: CareTeam, Organization, Patient, Practitioner, PractitionerRole. Source element Provenance.agent.onBehalfOf has unmapped reference types. While the target element Provenance.agent.onBehalfOf[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it.

                      TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                      54. Provenance.entity
                      56. Provenance.entity.role
                      58. Provenance.entity.role.extension
                      Control0..*
                      SlicingThis element introduces a set of slices on Provenance.entity.role.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 60. Provenance.entity.role.extension:role
                        Slice Namerole
                        Definition

                        R5: Provenance.entity.role

                        ShortR5: revision | quotation | source | instantiates | removal
                        Comments

                        Element Provenance.entity.role is mapped to FHIR STU3 element Provenance.entity.role as SourceIsBroaderThanTarget.

                        Control0..1
                        TypeExtension(R5: revision | quotation | source | instantiates | removal) (Extension Type: code)
                        62. Provenance.entity.whatReference
                        64. Provenance.entity.whatReference.extension
                        Control0..*
                        SlicingThis element introduces a set of slices on Provenance.entity.whatReference.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • 66. Provenance.entity.whatReference.extension:alternateReference
                          Slice NamealternateReference
                          Definition

                          R5: Provenance.entity.what additional types from child elements (display, reference)

                          ShortR5: what additional types
                          Comments

                          Element Provenance.entity.what is mapped to FHIR STU3 element Provenance.entity.what[x] as SourceIsBroaderThanTarget. The mappings for Provenance.entity.what do not cover the following types based on type expansion: display, reference. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.entity.what with unmapped reference targets: Resource. Source element Provenance.entity.what has unmapped reference types. While the target element Provenance.entity.what[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it. whatIdentity should be used for entities that are not a Resource type.

                          TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)

                          Guidance on how to interpret the contents of this table can be foundhere

                          0. Provenance
                          Definition

                          Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.

                          ShortWho, What, When for a set of resources
                          Comments

                          Some parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.

                          Control0..*
                          Alternate NamesHistory, Event, Activity
                          Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
                          dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.empty())
                          dom-4: 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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
                          2. Provenance.id
                          Definition

                          The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

                          ShortLogical id of this artifact
                          Comments

                          The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

                          Control0..1
                          Typeid
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          4. Provenance.meta
                          Definition

                          The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.

                          ShortMetadata about the resource
                          Control0..1
                          TypeMeta
                          Summarytrue
                          6. Provenance.implicitRules
                          Definition

                          A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.

                          ShortA set of rules under which this content was created
                          Comments

                          Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

                          This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

                          Control0..1
                          Typeuri
                          Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Summarytrue
                          8. Provenance.language
                          Definition

                          The base language in which the resource is written.

                          ShortLanguage of the resource content
                          Comments

                          Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

                          Control0..1
                          BindingUnless not suitable, these codes SHALL be taken from Common Languages .
                          (extensible to http://hl7.org/fhir/ValueSet/languages|3.0.2)

                          A human language.

                          Additional BindingsPurpose
                          All LanguagesMax Binding
                          Typecode
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          10. Provenance.text
                          Definition

                          A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

                          ShortText summary of the resource, for human interpretation
                          Comments

                          Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

                          Control0..1
                          This element is affected by the following invariants: dom-1
                          TypeNarrative
                          Alternate Namesnarrative, html, xhtml, display
                          12. Provenance.contained
                          Definition

                          These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

                          ShortContained, inline Resources
                          Comments

                          This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

                          Control0..*
                          TypeResource
                          Alternate Namesinline resources, anonymous resources, contained resources
                          14. Provenance.extension
                          Definition

                          An Extension

                          ShortExtension
                          Control0..*
                          TypeExtension
                          SlicingThis element introduces a set of slices on Provenance.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • value @ url
                          • 16. Provenance.extension:basedOn
                            Slice NamebasedOn
                            Definition

                            R5: Provenance.basedOn (new:Reference(CarePlan,DeviceRequest,ImmunizationRecommendation,MedicationRequest,NutritionOrder,ServiceRequest,Task))

                            ShortR5: Workflow authorization within which this event occurred (new)
                            Comments

                            Element Provenance.basedOn has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.basedOn has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

                            Control0..*
                            This element is affected by the following invariants: ele-1
                            TypeExtension(R5: Workflow authorization within which this event occurred (new)) (Extension Type: Reference(Cross-version Profile for R5.CarePlan for use in FHIR STU3, CarePlan, Cross-version Profile for R5.DeviceRequest for use in FHIR STU3, DeviceRequest, Cross-version Profile for R5.ImmunizationRecommendation for use in FHIR STU3, ImmunizationRecommendation, Cross-version Profile for R5.MedicationRequest for use in FHIR STU3, MedicationRequest, Cross-version Profile for R5.NutritionOrder for use in FHIR STU3, NutritionOrder, Cross-version Profile for R5.ServiceRequest for use in FHIR STU3, ReferralRequest, Cross-version Profile for R5.Task for use in FHIR STU3, Task))
                            Is Modifierfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                            18. Provenance.extension:patient
                            Slice Namepatient
                            Definition

                            R5: Provenance.patient (new:Reference(Patient))

                            ShortR5: The patient is the subject of the data created/updated (.target) by the activity (new)
                            Comments

                            Element Provenance.patient has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.patient has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

                            Control0..1
                            This element is affected by the following invariants: ele-1
                            TypeExtension(R5: The patient is the subject of the data created/updated (.target) by the activity (new)) (Extension Type: Reference(Cross-version Profile for R5.Patient for use in FHIR STU3, Patient))
                            Is Modifierfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                            20. Provenance.extension:encounter
                            Slice Nameencounter
                            Definition

                            R5: Provenance.encounter (new:Reference(Encounter))

                            ShortR5: Encounter within which this event occurred or which the event is tightly associated (new)
                            Comments

                            Element Provenance.encounter has a context of Provenance based on following the parent source element upwards and mapping to Provenance. Element Provenance.encounter has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).

                            Control0..1
                            This element is affected by the following invariants: ele-1
                            TypeExtension(R5: Encounter within which this event occurred or which the event is tightly associated (new)) (Extension Type: Reference(Cross-version Profile for R5.Encounter for use in FHIR STU3, Encounter))
                            Is Modifierfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                            22. Provenance.modifierExtension
                            Definition

                            May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                            ShortExtensions that cannot be ignored
                            Comments

                            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                            Control0..*
                            TypeExtension
                            Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                            Alternate Namesextensions, user content
                            24. Provenance.target
                            Definition

                            The Reference(s) that were generated or updated by the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity.

                            ShortTarget Reference(s) (usually version specific)
                            Comments

                            Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.

                            Control1..*
                            TypeReference(Resource)
                            Summarytrue
                            26. Provenance.target.id
                            Definition

                            unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                            Shortxml:id (or equivalent in JSON)
                            Control0..1
                            Typestring
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            XML FormatIn the XML format, this property is represented as an attribute.
                            28. Provenance.target.extension
                            Definition

                            An Extension

                            ShortExtension
                            Control0..*
                            TypeExtension
                            SlicingThis element introduces a set of slices on Provenance.target.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                            • value @ url
                            • 30. Provenance.target.extension:target
                              Slice Nametarget
                              Definition

                              R5: Provenance.target additional types from child elements (display, identifier, reference, type)

                              ShortR5: target additional types
                              Comments

                              Element Provenance.target is mapped to FHIR STU3 element Provenance.target as SourceIsBroaderThanTarget. The mappings for Provenance.target do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.target with unmapped reference targets: Resource. Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.

                              Control0..*
                              TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                              32. Provenance.target.reference
                              Definition

                              A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                              ShortLiteral reference, Relative, internal or absolute URL
                              Comments

                              Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                              Control0..1
                              This element is affected by the following invariants: ref-1
                              Typestring
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              34. Provenance.target.identifier
                              Definition

                              An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                              ShortLogical reference, when literal reference is not known
                              Comments

                              When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                              When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                              Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                              NoteThis is a business identifier, not a resource identifier (see discussion)
                              Control0..1
                              TypeIdentifier
                              Summarytrue
                              36. Provenance.target.display
                              Definition

                              Plain text narrative that identifies the resource in addition to the resource reference.

                              ShortText alternative for the resource
                              Comments

                              This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                              Control0..1
                              Typestring
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              38. Provenance.period
                              Definition

                              The period during which the activity occurred.

                              ShortWhen the activity occurred
                              Comments

                              The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.

                              Control0..1
                              TypePeriod
                              40. Provenance.period.id
                              Definition

                              unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                              Shortxml:id (or equivalent in JSON)
                              Control0..1
                              Typestring
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              XML FormatIn the XML format, this property is represented as an attribute.
                              42. Provenance.period.extension
                              Definition

                              An Extension

                              ShortExtension
                              Control0..*
                              TypeExtension
                              SlicingThis element introduces a set of slices on Provenance.period.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                              • value @ url
                              • 44. Provenance.period.extension:occurred
                                Slice Nameoccurred
                                Definition

                                R5: Provenance.occurred[x] additional types (dateTime) additional types from child elements (value)

                                ShortR5: occurred additional types
                                Comments

                                Element Provenance.occurred[x] is mapped to FHIR STU3 element Provenance.period as SourceIsBroaderThanTarget. The mappings for Provenance.occurred[x] do not cover the following types: dateTime. The mappings for Provenance.occurred[x] do not cover the following types based on type expansion: value. The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.

                                Control0..1
                                TypeExtension(R5: occurred additional types) (Extension Type: dateTime)
                                46. Provenance.period.start
                                Definition

                                The start of the period. The boundary is inclusive.

                                ShortStarting time with inclusive boundary
                                Comments

                                If the low element is missing, the meaning is that the low boundary is not known.

                                Control0..1
                                This element is affected by the following invariants: per-1
                                TypedateTime
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summarytrue
                                48. Provenance.period.end
                                Definition

                                The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

                                ShortEnd time with inclusive boundary, if not ongoing
                                Comments

                                The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.

                                Control0..1
                                This element is affected by the following invariants: per-1
                                TypedateTime
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summarytrue
                                Meaning if MissingIf the end of the period is missing, it means that the period is ongoing
                                50. Provenance.recorded
                                Definition

                                The instant of time at which the activity was recorded.

                                ShortWhen the activity was recorded / updated
                                Comments

                                This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.

                                Control1..1
                                Typeinstant
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summarytrue
                                52. Provenance.policy
                                Definition

                                Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc.

                                ShortPolicy or plan the activity was defined by
                                Comments

                                For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

                                Control0..*
                                Typeuri
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                54. Provenance.location
                                Definition

                                Where the activity occurred, if relevant.

                                ShortWhere the activity occurred, if relevant
                                Control0..1
                                TypeReference(Location)
                                56. Provenance.location.id
                                Definition

                                unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                Shortxml:id (or equivalent in JSON)
                                Control0..1
                                Typestring
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                XML FormatIn the XML format, this property is represented as an attribute.
                                58. Provenance.location.extension
                                Definition

                                An Extension

                                ShortExtension
                                Control0..*
                                TypeExtension
                                SlicingThis element introduces a set of slices on Provenance.location.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                • value @ url
                                • 60. Provenance.location.extension:location
                                  Slice Namelocation
                                  Definition

                                  R5: Provenance.location additional types from child elements (display, identifier, reference, type)

                                  ShortR5: location additional types
                                  Comments

                                  Element Provenance.location is mapped to FHIR STU3 element Provenance.location as SourceIsBroaderThanTarget. The mappings for Provenance.location do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.location with unmapped reference targets: Location.

                                  Control0..1
                                  TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                                  62. Provenance.location.reference
                                  Definition

                                  A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

                                  ShortLiteral reference, Relative, internal or absolute URL
                                  Comments

                                  Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

                                  Control0..1
                                  This element is affected by the following invariants: ref-1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  64. Provenance.location.identifier
                                  Definition

                                  An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

                                  ShortLogical reference, when literal reference is not known
                                  Comments

                                  When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

                                  When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

                                  Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

                                  NoteThis is a business identifier, not a resource identifier (see discussion)
                                  Control0..1
                                  TypeIdentifier
                                  Summarytrue
                                  66. Provenance.location.display
                                  Definition

                                  Plain text narrative that identifies the resource in addition to the resource reference.

                                  ShortText alternative for the resource
                                  Comments

                                  This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

                                  Control0..1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  68. Provenance.reason
                                  Definition

                                  The reason that the activity was taking place.

                                  ShortReason the activity is occurring
                                  Control0..*
                                  BindingUnless not suitable, these codes SHALL be taken from PurposeOfUse|2014-03-26
                                  (extensible to http://hl7.org/fhir/ValueSet/v3-PurposeOfUse|2014-03-26)

                                  The reason the activity took place.

                                  TypeCoding
                                  70. Provenance.reason.id
                                  Definition

                                  unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                  Shortxml:id (or equivalent in JSON)
                                  Control0..1
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  XML FormatIn the XML format, this property is represented as an attribute.
                                  72. Provenance.reason.extension
                                  Definition

                                  An Extension

                                  ShortExtension
                                  Control0..*
                                  TypeExtension
                                  SlicingThis element introduces a set of slices on Provenance.reason.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                  • value @ url
                                  • 74. Provenance.reason.extension:authorization
                                    Slice Nameauthorization
                                    Definition

                                    R5: Provenance.authorization additional types (CodeableReference) additional types from child elements (concept, reference)

                                    ShortR5: Authorization (purposeOfUse) related to the event additional types
                                    Comments

                                    Element Provenance.authorization is mapped to FHIR STU3 element Provenance.reason as SourceIsBroaderThanTarget. The mappings for Provenance.authorization do not cover the following types: CodeableReference. The mappings for Provenance.authorization do not cover the following types based on type expansion: concept, reference.

                                    Control0..*
                                    TypeExtension(R5: Authorization (purposeOfUse) related to the event additional types) (Complex Extension)
                                    76. Provenance.reason.system
                                    Definition

                                    The identification of the code system that defines the meaning of the symbol in the code.

                                    ShortIdentity of the terminology system
                                    Comments

                                    The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

                                    Control0..1
                                    Typeuri
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    Summarytrue
                                    Requirements

                                    Need to be unambiguous about the source of the definition of the symbol.

                                    78. Provenance.reason.version
                                    Definition

                                    The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                                    ShortVersion of the system - if relevant
                                    Comments

                                    Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                                    NoteThis is a business version Id, not a resource version Id (see discussion)
                                    Control0..1
                                    Typestring
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    Summarytrue
                                    80. Provenance.reason.code
                                    Definition

                                    A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                                    ShortSymbol in syntax defined by the system
                                    Control0..1
                                    Typecode
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    Summarytrue
                                    Requirements

                                    Need to refer to a particular code in the system.

                                    82. Provenance.reason.display
                                    Definition

                                    A representation of the meaning of the code in the system, following the rules of the system.

                                    ShortRepresentation defined by the system
                                    Control0..1
                                    Typestring
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    Summarytrue
                                    Requirements

                                    Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                                    84. Provenance.reason.userSelected
                                    Definition

                                    Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

                                    ShortIf this coding was chosen directly by the user
                                    Comments

                                    Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

                                    Control0..1
                                    Typeboolean
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    Summarytrue
                                    Requirements

                                    This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                                    86. Provenance.activity
                                    Definition

                                    An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.

                                    ShortActivity that occurred
                                    Control0..1
                                    BindingUnless not suitable, these codes SHALL be taken from ProvenanceActivityType .
                                    (extensible to http://hl7.org/fhir/ValueSet/provenance-activity-type|1.1.0)

                                    The activity that took place.

                                    TypeCoding
                                    88. Provenance.activity.id
                                    Definition

                                    unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                    Shortxml:id (or equivalent in JSON)
                                    Control0..1
                                    Typestring
                                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                    XML FormatIn the XML format, this property is represented as an attribute.
                                    90. Provenance.activity.extension
                                    Definition

                                    An Extension

                                    ShortExtension
                                    Control0..*
                                    TypeExtension
                                    SlicingThis element introduces a set of slices on Provenance.activity.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                    • value @ url
                                    • 92. Provenance.activity.extension:activity
                                      Slice Nameactivity
                                      Definition

                                      R5: Provenance.activity additional types (CodeableConcept) additional types from child elements (text)

                                      ShortR5: activity additional types
                                      Comments

                                      Element Provenance.activity is mapped to FHIR STU3 element Provenance.activity as SourceIsBroaderThanTarget. The mappings for Provenance.activity do not cover the following types: CodeableConcept. The mappings for Provenance.activity do not cover the following types based on type expansion: text.

                                      Control0..1
                                      TypeExtension(R5: activity additional types) (Extension Type: CodeableConcept)
                                      94. Provenance.activity.system
                                      Definition

                                      The identification of the code system that defines the meaning of the symbol in the code.

                                      ShortIdentity of the terminology system
                                      Comments

                                      The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

                                      Control0..1
                                      Typeuri
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      Requirements

                                      Need to be unambiguous about the source of the definition of the symbol.

                                      96. Provenance.activity.version
                                      Definition

                                      The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                                      ShortVersion of the system - if relevant
                                      Comments

                                      Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                                      NoteThis is a business version Id, not a resource version Id (see discussion)
                                      Control0..1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      98. Provenance.activity.code
                                      Definition

                                      A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                                      ShortSymbol in syntax defined by the system
                                      Control0..1
                                      Typecode
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      Requirements

                                      Need to refer to a particular code in the system.

                                      100. Provenance.activity.display
                                      Definition

                                      A representation of the meaning of the code in the system, following the rules of the system.

                                      ShortRepresentation defined by the system
                                      Control0..1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      Requirements

                                      Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                                      102. Provenance.activity.userSelected
                                      Definition

                                      Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

                                      ShortIf this coding was chosen directly by the user
                                      Comments

                                      Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

                                      Control0..1
                                      Typeboolean
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      Requirements

                                      This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                                      104. Provenance.agent
                                      Definition

                                      An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.

                                      ShortActor involved
                                      Comments

                                      Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.

                                      Control1..*
                                      TypeBackboneElement
                                      Requirements

                                      An agent can be a person, an organization, software, device, or other entities that may be ascribed responsibility.

                                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                      106. Provenance.agent.id
                                      Definition

                                      unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                      Shortxml:id (or equivalent in JSON)
                                      Control0..1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      XML FormatIn the XML format, this property is represented as an attribute.
                                      108. Provenance.agent.extension
                                      Definition

                                      May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                                      ShortAdditional Content defined by implementations
                                      Comments

                                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                                      Control0..*
                                      TypeExtension
                                      Alternate Namesextensions, user content
                                      110. Provenance.agent.modifierExtension
                                      Definition

                                      May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                                      ShortExtensions that cannot be ignored
                                      Comments

                                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                                      Control0..*
                                      TypeExtension
                                      Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                                      Summarytrue
                                      Alternate Namesextensions, user content, modifiers
                                      112. Provenance.agent.role
                                      Definition

                                      The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.

                                      ShortWhat the agents role was
                                      Comments

                                      For example: author, performer, enterer, attester, doctor, nurse, clerk, etc.

                                      Control0..*
                                      BindingUnless not suitable, these codes SHALL be taken from SecurityRoleType .
                                      (extensible to http://hl7.org/fhir/ValueSet/security-role-type|1.8.0)

                                      The role that a provenance agent played with respect to the activity.

                                      TypeCodeableConcept
                                      Summarytrue
                                      114. Provenance.agent.who[x]
                                      Definition

                                      The individual, device or organization that participated in the event.

                                      ShortWho participated
                                      Control1..1
                                      TypeChoice of: uri, Reference(Practitioner, RelatedPerson, Patient, Device, Organization)
                                      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      116. Provenance.agent.who[x].id
                                      Definition

                                      unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                      Shortxml:id (or equivalent in JSON)
                                      Control0..1
                                      Typestring
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      XML FormatIn the XML format, this property is represented as an attribute.
                                      118. Provenance.agent.who[x].extension
                                      Definition

                                      An Extension

                                      ShortExtension
                                      Control0..*
                                      TypeExtension
                                      SlicingThis element introduces a set of slices on Provenance.agent.who[x].extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                      • value @ url
                                      • 120. Provenance.agent.who[x].extension:alternateReference
                                        Slice NamealternateReference
                                        Definition

                                        R5: Provenance.agent.who

                                        ShortR5: The agent that participated in the event
                                        Comments

                                        Element Provenance.agent.who is mapped to FHIR STU3 element Provenance.agent.who[x] as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.agent.who with unmapped reference targets: CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson. Source element Provenance.agent.who has unmapped reference types. While the target element Provenance.agent.who[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it.

                                        Control0..*
                                        TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                                        122. Provenance.agent.onBehalfOf[x]
                                        Definition

                                        The individual, device, or organization for whom the change was made.

                                        ShortWho the agent is representing
                                        Control0..1
                                        TypeChoice of: uri, Reference(Practitioner, RelatedPerson, Patient, Device, Organization)
                                        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                        124. Provenance.agent.onBehalfOf[x].id
                                        Definition

                                        unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                        Shortxml:id (or equivalent in JSON)
                                        Control0..1
                                        Typestring
                                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                        XML FormatIn the XML format, this property is represented as an attribute.
                                        126. Provenance.agent.onBehalfOf[x].extension
                                        Definition

                                        An Extension

                                        ShortExtension
                                        Control0..*
                                        TypeExtension
                                        SlicingThis element introduces a set of slices on Provenance.agent.onBehalfOf[x].extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                        • value @ url
                                        • 128. Provenance.agent.onBehalfOf[x].extension:alternateReference
                                          Slice NamealternateReference
                                          Definition

                                          R5: Provenance.agent.onBehalfOf

                                          ShortR5: The agent that delegated
                                          Comments

                                          Element Provenance.agent.onBehalfOf is mapped to FHIR STU3 element Provenance.agent.onBehalfOf[x] as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.agent.onBehalfOf with unmapped reference targets: CareTeam, Organization, Patient, Practitioner, PractitionerRole. Source element Provenance.agent.onBehalfOf has unmapped reference types. While the target element Provenance.agent.onBehalfOf[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it.

                                          Control0..*
                                          TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                                          130. Provenance.agent.relatedAgentType
                                          Definition

                                          The type of relationship between agents.

                                          ShortType of relationship between agents
                                          Control0..1
                                          BindingFor example codes, see RoleLinkType|2016-11-11
                                          (example to http://hl7.org/fhir/ValueSet/v3-RoleLinkType|2016-11-11)

                                          Type of relationship between two provenance agents.

                                          TypeCodeableConcept
                                          132. Provenance.entity
                                          Definition

                                          An entity used in this activity.

                                          ShortAn entity used in this activity
                                          Comments

                                          Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges.

                                          Control0..*
                                          TypeBackboneElement
                                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                          134. Provenance.entity.id
                                          Definition

                                          unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                          Shortxml:id (or equivalent in JSON)
                                          Control0..1
                                          Typestring
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                          XML FormatIn the XML format, this property is represented as an attribute.
                                          136. Provenance.entity.extension
                                          Definition

                                          May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                                          ShortAdditional Content defined by implementations
                                          Comments

                                          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                                          Control0..*
                                          TypeExtension
                                          Alternate Namesextensions, user content
                                          138. Provenance.entity.modifierExtension
                                          Definition

                                          May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                                          ShortExtensions that cannot be ignored
                                          Comments

                                          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                                          Control0..*
                                          TypeExtension
                                          Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
                                          Summarytrue
                                          Alternate Namesextensions, user content, modifiers
                                          140. Provenance.entity.role
                                          Definition

                                          How the entity was used during the activity.

                                          Shortderivation | revision | quotation | source | removal
                                          Control1..1
                                          BindingThe codes SHALL be taken from ProvenanceEntityRole .
                                          (required to http://hl7.org/fhir/ValueSet/provenance-entity-role|3.0.2)

                                          How an entity was used in an activity.

                                          Typecode
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                          Summarytrue
                                          142. Provenance.entity.role.id
                                          Definition

                                          unique id for the element within a resource (for internal references)

                                          Shortxml:id (or equivalent in JSON)
                                          Control0..1
                                          Typestring
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                          XML FormatIn the XML format, this property is represented as an attribute.
                                          144. Provenance.entity.role.extension
                                          Definition

                                          An Extension

                                          ShortExtension
                                          Control0..*
                                          TypeExtension
                                          SlicingThis element introduces a set of slices on Provenance.entity.role.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                          • value @ url
                                          • 146. Provenance.entity.role.extension:role
                                            Slice Namerole
                                            Definition

                                            R5: Provenance.entity.role

                                            ShortR5: revision | quotation | source | instantiates | removal
                                            Comments

                                            Element Provenance.entity.role is mapped to FHIR STU3 element Provenance.entity.role as SourceIsBroaderThanTarget.

                                            Control0..1
                                            This element is affected by the following invariants: ele-1
                                            TypeExtension(R5: revision | quotation | source | instantiates | removal) (Extension Type: code)
                                            Is Modifierfalse
                                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
                                            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                                            148. Provenance.entity.role.value
                                            Definition

                                            Primitive value for code

                                            ShortPrimitive value for code
                                            Control0..1
                                            Typecode
                                            XML FormatIn the XML format, this property is represented as an attribute.
                                            150. Provenance.entity.what[x]
                                            Definition

                                            Identity of the Entity used. May be a logical or physical uri and maybe absolute or relative.

                                            ShortIdentity of entity
                                            Comments

                                            Identity may be a reference to a resource or to something else, depending on the type.

                                            Control1..1
                                            TypeChoice of: uri, Reference(Resource), Identifier
                                            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                            Summarytrue
                                            152. Provenance.entity.what[x].id
                                            Definition

                                            unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                            Shortxml:id (or equivalent in JSON)
                                            Control0..1
                                            Typestring
                                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                            XML FormatIn the XML format, this property is represented as an attribute.
                                            154. Provenance.entity.what[x].extension
                                            Definition

                                            An Extension

                                            ShortExtension
                                            Control0..*
                                            TypeExtension
                                            SlicingThis element introduces a set of slices on Provenance.entity.what[x].extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                            • value @ url
                                            • 156. Provenance.entity.what[x].extension:alternateReference
                                              Slice NamealternateReference
                                              Definition

                                              R5: Provenance.entity.what additional types from child elements (display, reference)

                                              ShortR5: what additional types
                                              Comments

                                              Element Provenance.entity.what is mapped to FHIR STU3 element Provenance.entity.what[x] as SourceIsBroaderThanTarget. The mappings for Provenance.entity.what do not cover the following types based on type expansion: display, reference. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element Provenance.entity.what with unmapped reference targets: Resource. Source element Provenance.entity.what has unmapped reference types. While the target element Provenance.entity.what[x] is a choice type and does not allow extensions, the alternate-reference extension can be applied to Reference values within it. whatIdentity should be used for entities that are not a Resource type.

                                              Control0..*
                                              TypeExtension(http://hl7.org/fhir/StructureDefinition/alternate-reference)
                                              158. Provenance.entity.agent
                                              Definition

                                              The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity.

                                              ShortEntity is attributed to this agent
                                              Comments

                                              A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.

                                              Control0..*
                                              TypeSeettp://hl7.org/fhir/StructureDefinition/Provenance#Provenance.agent
                                              160. Provenance.signature
                                              Definition

                                              A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.

                                              ShortSignature on target
                                              Control0..*
                                              TypeSignature