Data Model Libraries
    Preparing search index...

    Provenance Class

    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.

    FHIR Specification

    • Short: Who, What, When for a set of resources
    • 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.
    • Comment: 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.
    • FHIR Version: 5.0.0

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Methods

    parse getTarget setTarget addTarget hasTarget getOccurred setOccurred hasOccurred getOccurredPeriod hasOccurredPeriod getOccurredDateTimeType hasOccurredDateTimeType getRecordedElement setRecordedElement hasRecordedElement getRecorded setRecorded hasRecorded getPolicyElement setPolicyElement addPolicyElement hasPolicyElement getPolicy setPolicy addPolicy hasPolicy getLocation setLocation hasLocation getAuthorization setAuthorization addAuthorization hasAuthorization getActivity setActivity hasActivity getBasedOn setBasedOn addBasedOn hasBasedOn getPatient setPatient hasPatient getEncounter setEncounter hasEncounter getAgent setAgent addAgent hasAgent getEntity setEntity addEntity hasEntity getSignature setSignature addSignature hasSignature fhirType isEmpty isRequiredFieldsEmpty copy toJSON getText setText hasText getContained setContained addContained hasContained getExtension setExtension hasExtension getExtensionByUrl addExtension removeExtension getModifierExtension setModifierExtension hasModifierExtension getModifierExtensionByUrl addModifierExtension removeModifierExtension resourceType getIdElement setIdElement hasIdElement getId setId hasId getMeta setMeta hasMeta getImplicitRulesElement setImplicitRulesElement hasImplicitRulesElement getImplicitRules setImplicitRules hasImplicitRules getLanguageElement setLanguageElement hasLanguageElement getLanguage setLanguage hasLanguage isResource isDataType isComplexDataType isPrimitive isBooleanPrimitive isStringPrimitive isNumberPrimitive isBigIntPrimitive isDateTimePrimitive copyValues initTarget initPolicy initAuthorization initBasedOn initAgent initEntity initSignature

    Constructors

    Properties

    target: null | Reference[]

    Provenance.target Element

    FHIR Specification

    • Short: Target Reference(s) (usually version specific)
    • 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.
    • Comment: 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.
    • FHIR Type: Reference
    • Cardinality: 1..*
    • isModifier: false
    • isSummary: true
    occurred?: IDataType

    Provenance.occurred[x] Element

    @ChoiceDataTypesMeta('Provenance.occurred[x]', ['Period','dateTime',]

    FHIR Specification

    • Short: When the activity occurred
    • Definition: The period during which the activity occurred.
    • Comment: The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.
    • FHIR Types: 'Period', 'dateTime',
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    recorded?: InstantType

    Provenance.recorded Element

    FHIR Specification

    • Short: When the activity was recorded / updated
    • Definition: The instant of time at which the activity was recorded.
    • Comment: 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.
    • FHIR Type: instant
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    policy?: UriType[]

    Provenance.policy Element

    FHIR Specification

    • Short: Policy or plan the activity was defined by
    • 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.
    • Comment: 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.
    • FHIR Type: uri
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    location?: Reference

    Provenance.location Element

    FHIR Specification

    • Short: Where the activity occurred, if relevant
    • Definition: Where the activity occurred, if relevant.
    • FHIR Type: Reference
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    authorization?: CodeableReference[]

    Provenance.authorization Element

    FHIR Specification

    • Short: Authorization (purposeOfUse) related to the event
    • Definition: The authorization (e.g., PurposeOfUse) that was used during the event being recorded.
    • Requirements: Record of any relevant security context, not restricted to purposeOfUse valueSet. May include security compartments, refrain, obligation, or other security tags.
    • FHIR Type: CodeableReference
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    activity?: CodeableConcept

    Provenance.activity Element

    FHIR Specification

    • Short: Activity that occurred
    • 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.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    basedOn?: Reference[]

    Provenance.basedOn Element

    FHIR Specification

    patient?: Reference

    Provenance.patient Element

    FHIR Specification

    • Short: The patient is the subject of the data created/updated (.target) by the activity
    • Definition: The patient element is available to enable deterministic tracking of activities that involve the patient as the subject of the data used in an activity.
    • Requirements: When the .patient is populated it shall be accurate to the subject of the target data. The .patient shall not be populated when the target data created/updated (.target) by the activity does not involve a subject. Note that when the patient is an agent, they will be recorded as an agent. When the Patient resource is Created, Updated, or Deleted it will be recorded as an entity.
    • FHIR Type: Reference
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    encounter?: Reference

    Provenance.encounter Element

    FHIR Specification

    • Short: Encounter within which this event occurred or which the event is tightly associated
    • Definition: This will typically be the encounter the event occurred, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission lab tests).
    • FHIR Type: Reference
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    agent: null | ProvenanceAgentComponent[]

    Provenance.agent Element

    FHIR Specification

    • Short: Actor involved
    • Definition: An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.
    • Comment: Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.
    • Requirements: An agent can be a person, an organization, software, device, or other entities that may be ascribed responsibility.
    • FHIR Type: BackboneElement
    • Cardinality: 1..*
    • isModifier: false
    • isSummary: true

    Provenance.entity Element

    FHIR Specification

    • Short: An entity used in this activity
    • Definition: An entity used in this activity.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    signature?: Signature[]

    Provenance.signature Element

    FHIR Specification

    • Short: Signature on target
    • Definition: A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.
    • FHIR Type: Signature
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    Methods

    • Parse the provided Provenance JSON to instantiate the Provenance data model.

      Parameters

      • sourceJson: Value

        JSON representing FHIR Provenance

      • OptionaloptSourceField: string

        Optional data source field (e.g. <complexTypeName>.<complexTypeFieldName>); defaults to Provenance

      Returns undefined | Provenance

      Provenance data model or undefined for Provenance

      JsonError if the provided JSON is not a valid JSON object

    • Assigns the provided Reference array value to the basedOn property.

      Parameters

      • value: undefined | Reference[]

        the basedOn array value

      Returns this

      this

      @ReferenceTargets('Provenance.basedOn', ['CarePlan','DeviceRequest','ImmunizationRecommendation','MedicationRequest','NutritionOrder','ServiceRequest','Task',])

      InvalidTypeError for invalid data type or reference value

    • Add the provided Reference value to the basedOn array property.

      Parameters

      • value: undefined | Reference

        the basedOn value

      Returns this

      this

      @ReferenceTargets('Provenance.basedOn', ['CarePlan','DeviceRequest','ImmunizationRecommendation','MedicationRequest','NutritionOrder','ServiceRequest','Task',])

      InvalidTypeError for invalid data type or reference value

    • Assigns the provided value to the text property.

      Parameters

      Returns this

      this

    • Returns boolean

      true if the text property exists and has a value; false otherwise

    • Assigns the provided Resource array value to the contained property.

      Parameters

      • value: undefined | IResource[]

        the contained array value

      Returns this

      this

    • Returns boolean

      true if the contained property exists and has a value; false otherwise

    • Assigns the provided array of Extension values to the extension property.

      Parameters

      • extension: undefined | IExtension[]

        array of Extensions

      Returns this

      this

    • Determines if the extension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url; false otherwise

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the extension property exists and has any values.

      AssertionError for invalid url

    • Adds the provided Extension to the extension property array.

      Parameters

      • extension: undefined | IExtension

        the Extension value to add to the extension property array

      Returns this

      this

    • Removes the Extension having the provided url from the extension property array.

      Parameters

      • url: string

        the url that identifies a specific Extension to remove

      Returns void

      AssertionError for invalid url

    • Determines if the modifierExtension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the modifierExtension property exists and has any values.

      AssertionError for invalid url

    • Assigns the provided PrimitiveType value to the id property.

      Parameters

      • element: undefined | IdType

        the id value

      Returns this

      this

    • Returns undefined | string

      the id property value as a primitive value

    • Assigns the provided primitive value to the id property.

      Parameters

      • value: undefined | string

        the id value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the id property exists and has a value; false otherwise

    • Assigns the provided value to the meta property.

      Parameters

      • value: undefined | Meta

        the meta value

      Returns this

      this

    • Returns boolean

      true if the meta property exists and has a value; false otherwise

    • Assigns the provided primitive value to the implicitRules property.

      Parameters

      • value: undefined | string

        the implicitRules value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns undefined | string

      the language property value as a primitive value

    • Assigns the provided primitive value to the language property.

      Parameters

      • value: undefined | string

        the language value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the language property exists and has a value; false otherwise

    • Returns boolean

      true if the instance is a FHIR complex or primitive datatype; false otherwise