Class Provenance

  • All Implemented Interfaces:
    Visitable

    @Generated("com.ibm.fhir.tools.CodeGenerator")
    public class Provenance
    extends DomainResource
    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.

    Maturity level: FMM3 (Trial Use)

    • Method Detail

      • getTarget

        public java.util.List<Reference> getTarget()
        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.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that is non-empty.
      • getOccurred

        public Element getOccurred()
        The period during which the activity occurred.
        Returns:
        An immutable object of type Period or DateTime that may be null.
      • getRecorded

        public Instant getRecorded()
        The instant of time at which the activity was recorded.
        Returns:
        An immutable object of type Instant that is non-null.
      • getPolicy

        public java.util.List<Uri> getPolicy()
        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.
        Returns:
        An unmodifiable list containing immutable objects of type Uri that may be empty.
      • getLocation

        public Reference getLocation()
        Where the activity occurred, if relevant.
        Returns:
        An immutable object of type Reference that may be null.
      • getReason

        public java.util.List<CodeableConcept> getReason()
        The reason that the activity was taking place.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getActivity

        public CodeableConcept getActivity()
        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.
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getAgent

        public java.util.List<Provenance.Agent> getAgent()
        An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.
        Returns:
        An unmodifiable list containing immutable objects of type Provenance.Agent that is non-empty.
      • getEntity

        public java.util.List<Provenance.Entity> getEntity()
        An entity used in this activity.
        Returns:
        An unmodifiable list containing immutable objects of type Provenance.Entity that may be empty.
      • getSignature

        public java.util.List<Signature> getSignature()
        A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.
        Returns:
        An unmodifiable list containing immutable objects of type Signature that may be empty.
      • accept

        public void accept​(java.lang.String elementName,
                           int elementIndex,
                           Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:
         if (visitor.preVisit(this)) {
             visitor.visitStart(elementName, elementIndex, this);
             if (visitor.visit(elementName, elementIndex, this)) {
                 // visit children
             }
             visitor.visitEnd(elementName, elementIndex, this);
             visitor.postVisit(this);
         }
         
        Specified by:
        accept in interface Visitable
        Specified by:
        accept in class AbstractVisitable
        Parameters:
        elementName - the name of the element in the context of this visit
        elementIndex - the index of the element in a list or -1 if it is not contained within a List
        visitor - the visitor to use
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object