Skip to content

Provenance Profile

Canonical../StructureDefinition/nexus-emr-core-provenance
Statusdraft · 1.26.0
BaseProvenance (constraint)
SourceFSH · JSON

Attribution for AI-mediated and cross-boundary writes: what was produced, when, by which agent (human or non-human), from what inputs, and -- for generated text -- which verbatim source passage each statement rests on. Used standalone against a produced resource, and contained in an AI-suggestion review Task against the suggestion contained alongside it.

Salient fields

The profile's synthesized-accessor contract: fields TypedFhir surfaces as first-class typed properties, each computed from the instance by a restricted FHIRPath expression. See Salient Fields for what they are, how they shape LLM contexts, and how to declare them.

Key Type Expression Rendered as Description
activity coded activity What kind of activity produced the target i
date dateTime occurredDateTime \| occurredPeriod.start \| recorded When the activity happened i

activity

Short What kind of activity produced the target
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.
Comments Deliberately unbound. R4's example binding (provenance-activity-type) does not anticipate AI-mediated authorship -- draft-generated, AI-suggested, human-accepted -- and asserting it would mis-describe the data. Treat the activity vocabulary as open and read activity.text, which is what the examples carry. A validator run against the base spec will warn that no code was supplied; that warning is expected here.
Expression activity
Type coded
Prose inherited from Provenance.activity

date

Short When the activity happened
Definition The period during which the activity occurred.
Comments Preferred over recorded as THE date. A provenance written asynchronously (a queued write-back) has a recorded well after the action; dating the action to the bookkeeping timestamp misplaces it in every timeline.
Expression occurredDateTime | occurredPeriod.start | recorded
Type dateTime
Prose inherited from Provenance.occurred[x]