DRAFT Working draft of an upcoming version. Not the published standard. View the current published version
Skip to content

3.10 Provenance Across the Transaction Lifecycle ​

Provenance is not a serial stage after Content Consumer processing. Independently attributable provenance assertions are created as provenance-significant activities occur across the lifecycle. Each actor asserts only activities it can authoritatively assert.

The activity expresses what happened; the Provenance target identifies the object to which it happened. Receive records receipt and does not itself assert acceptance. Accept records acceptance into the intended workflow; reject records rejection with a reason. For TX8, one accept or reject assertion SHALL identify the entire originating structured payload through its preserved SubmissionSet.uniqueId, matched to the carried minimal identification snapshot as specified in Section 3.9.4. Receipt sufficient for that workflow status is implied. Separate per-document acceptance or rejection assertions are not required by this whole-package pattern.

ProvenanceActivityVS (http://objects.directtrust.org/standards/terminology/ValueSet/ProvenanceActivityVS), version 3.0.0, contains the complete activity inventory below: fifteen DirectTrust activities and six activities reused from other code systems. The table preserves exact codes and source display names; meanings are concise explanations. External codes and their source displays SHALL be preserved. ValueSet membership does not make an externally defined code a DirectTrust code.

Source code systems used in the inventory are: DT = http://objects.directtrust.org/standards/terminology/CodeSystem/DTCodeSystem (version 1.0.0); HL7 = http://terminology.hl7.org/CodeSystem/v3-DataOperation; ISO = http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle. These identifiers, rather than the ValueSet URI, identify the selected code’s system.

CodeSource displayMeaningSource
CREATEcreateBring an information object into existence.HL7
NULLIFYnullifyChange an Act’s status to nullified, treating it as though it never existed.HL7
discloseDisclose Record Lifecycle EventRelease or transfer record content, provide access to it, or otherwise divulge it.ISO
amendAmend (Update) Record Lifecycle EventChange record content already held in persistent storage.ISO
transformTransform/Translate Record Lifecycle EventChange the form, format, or language of record content.ISO
transmitTransmit Record Lifecycle EventSend record content from one system or location to another.ISO
receiveReceiveReceipt of the target by an actor or managed environment, sufficient for evaluation; does not assert acceptance, import, or service fulfillment.DT
registerRegisterRegistration of the target in a registry, repository, or other managed information environment.DT
replaceReplaceReplacement of one target by another; distinct from obsolescence and nullification.DT
retrieveRetrieveRetrieval of the target from a repository or other managed information environment.DT
sealSealApplication of a seal or equivalent integrity or authenticity mechanism to the target.DT
storeStoreStorage of the target.DT
importImportIncorporation of the target data or information into a system or managed information environment; distinct from receipt and acceptance.DT
appendAppendAddition or addendum to the target without changing existing information.DT
signSignSigning of the target by an identified signer.DT
deliverDeliverDelivery of the target to its intended delivery destination; does not assert workflow acceptance.DT
assembleAssembleAssembly of the target from its constituent content and applicable metadata or relationships; the target identifies whether this is a document or transaction package.DT
acceptAcceptAcceptance of the target into the intended workflow for the processing specified by the originating transaction. For MAP TX8, the target is the whole originating SubmissionSet/List, including its Task and all included information objects. Receipt sufficient to determine disposition is implied. Does not assert import, clinical review, or fulfillment of downstream services.DT
rejectRejectRejection of the target from the intended workflow, with an explanation. For MAP TX8, the target is the whole originating SubmissionSet/List, including its Task and all included information objects; no partial acceptance is asserted. Receipt sufficient to determine disposition is implied. Does not assert that every object was individually evaluated.DT
notarizeNotarizeNotarization of the signature identified by the target.DT
witnessWitnessWitnessing of the signature identified by the target.DT

The activity code describes what occurred, not an Activity Status or Document Status. A completed provenance assertion may record an unsuccessful attempt. In particular, amend is a provenance activity and does not require use of amended as a document-status concept. The applicable Transaction Definition selects required and permitted activities from this inventory; it does not require every activity in every exchange.

A Provenance assertion records an activity that occurred, the information objects affected, the participating agents, and the relevant times. Provenance Activities are recorded retrospectively and are not tracked as having a prospective lifecycle status. Provenance.occurred[x] describes when the activity occurred; Provenance.recorded describes when the assertion was recorded. An assertion may describe an unsuccessful attempt as well as a successful activity.

A Provenance Agent is a person, organization, device, or other represented actor participating in the recorded activity with attributable responsibility. Several agents may participate in one activity, and one agent may participate in several activities. Participation in an activity is distinct from the agent’s identity, professional function, Transaction Participation Role, and Technical Actor capabilities.

In FHIR R4, Provenance.agent.who identifies the participating person, device, or organization; agent.type identifies the participation type; agent.role may describe the agent’s function or security role; and agent.onBehalfOf identifies the party represented when applicable. The fifteen participation types in ProvenanceAgentTypeVS belong in agent.type; they are not a list of professions or values for agent.role. Agents and their supporting references SHALL resolve within the carrying Provenance Collection Bundle under Appendix D.6.

ProvenanceAgentTypeVS (http://objects.directtrust.org/standards/terminology/ValueSet/ProvenanceAgentTypeVS), version 3.0.0, contains the following fifteen participation types: twelve from HL7 and three from DirectTrust. The source abbreviations have the same meaning as in the activity inventory, except that HL7 here identifies http://terminology.hl7.org/CodeSystem/provenance-participant-type. Source codes and displays are preserved; meanings are concise explanations.

CodeDisplayParticipation meaningSource
entererEntererEnters data into the originating system, such as a scribe or transcriptionist.HL7
performerPerformerPrincipally carries out the recorded activity.HL7
authorAuthorOriginates or substantially changes the information and bears responsibility for it.HL7
editorEditorChanges, corrects, or enhances existing information; specializes Author.HL7
verifierVerifierChecks the correctness and appropriateness of the activity.HL7
legalLegal AuthenticatorAuthenticates content and accepts legal responsibility for it; specializes Verifier.HL7
attesterAttesterAttests to the accuracy of the information.HL7
informantInformantReports information contributing to the artifact.HL7
custodianCustodianIs accountable for maintaining an accurate copy of the original record.HL7
assemblerAssemblerA device independently extracts existing information to generate a new artifact.HL7
transformerTransformerA device independently extracts and transforms existing information; specializes Assembler.HL7
composerComposerA device an author uses to record new information and combine it with selected existing information.HL7
witness-agentWitnessAn agent that directly observed the Provenance Activity and can attest that the activity occurred, but did not principally perform the activity.DT
recorderRecorderAn agent that recorded the assertion that the Provenance Activity occurred, but did not necessarily perform or directly observe the activity.DT
notaryNotaryAn agent that participated in the activity in the legally or officially authorized capacity of a notary.DT

For example, a practitioner who signs a document may be the performer of sign, with the represented organization recorded in onBehalfOf where applicable. Another person may participate as witness-agent. A system that records the assertion may participate as recorder without claiming it performed or directly observed the signing. A notary is identified by notary when participating in that authorized capacity.

The activity witness and agent type witness-agent are different codes answering different questions: the activity states what happened, while the agent type states how an agent participated. Likewise, notarize identifies an activity and notary identifies an agent’s participation. A recorder is not automatically the performer, and onBehalfOf does not by itself establish authorization or delegation of signing rights.

FHIR R4 element definitions: https://hl7.org/fhir/R4/provenance-definitions.html. External activity definitions: https://terminology.hl7.org/6.5.0/CodeSystem-v3-DataOperation.html and https://terminology.hl7.org/6.5.0/CodeSystem-iso-21089-lifecycle.html.

Provenance Collection Bundles SHALL use the defined temporary classification code DT-20261011-1, Provenance Information, until an applicable standard classification is established. The code SHALL use http://objects.directtrust.org/standards/terminology/CodeSystem/DTTemporaryCodeCS in FHIR Coding.system and its assigned CodeSystem OID in XD coded metadata.

Lifecycle pointIllustrative provenance activities related to lifecycle points
CreatedCreation, derivation, or transformation evidence may become known before package finalization.
Packagedassemble may record structured payload assembly when it occurs.
Senttransmit records sending the structured payload. Delivery occurs later and is distinct.
Delivereddeliver may record final-destination delivery of the message. Delivery evidence does not establish payload receipt or structured payload acceptance.
Receivedreceive may record structured payload receipt; accept or reject records the workflow status decision.
Accepted or Rejected; later Processedaccept or reject records structured payload acceptance or rejection. store, transform, or other activities may record subsequent processing.

Relevant transaction Provenance available at structured payload finalization SHALL be shared when required by the applicable Transaction Definition. Additional permitted Provenance supporting the distributed workflow MAY be included. Activities occurring after finalization cannot be inserted retrospectively into an already transmitted structured payload; they may be recorded locally and communicated through a subsequent transaction. TX8 SHALL carry its required accept or reject assertion in a Provenance Collection Bundle.

Each Provenance information object SHALL be a separate FHIR Collection Bundle containing 1..* Provenance resources. A structured payload MAY contain 0..* such information objects, subject to its Transaction Definition’s requirements. Each bundle SHALL have its own DocumentEntry or DocumentReference and SubmissionSet membership. An actor MAY add a new independently attributable bundle without modifying bundles supplied by other actors. Assertions SHALL identify their activities, responsible agents, times, and targets; multiple targets MAY be associated with one activity when appropriate. Preserving an upstream assertion does not mean that a later actor endorses or reasserts it.

Each shared Provenance target information object SHALL be carried in the same structured payload. For TX8 acceptance or rejection, the minimal identification snapshot of the originating SubmissionSet/List satisfies this requirement; original membership links and original clinical information objects are not retransmitted solely to establish that target. Each Provenance Collection Bundle SHALL carry the supporting resources needed by its assertions or use the applicable carried-resource mappings in Appendix D. A Provenance resource SHALL NOT reference a contained actor inside another information object. TX8 target references SHALL use the logical identifier rule in Section 3.9.4 in both XD and FHIR representations. A nested Collection Bundle does not make its entries peer entries of the outer Bundle. References concerning other information objects SHALL follow the applicable identifier, version, and resolution rules in Appendix D and the Transaction Definition.

Each Transaction Definition SHALL identify required and permitted Provenance activities in Section 2.4 and assign their creation, preservation, and sharing responsibilities in Section 6. Sender and Receiver Actors SHALL assert only activities they can authoritatively attribute. Each distinct activity SHALL be represented by its own Provenance assertion; receive, accept, and reject SHALL NOT be combined into a single activity code.