This page is part of the FHIR Specification (v0.06: DSTU 1 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Status: Draft Infrastructure resource under consideration by the FHIR project team
Provenance information associated with another resource that can be used to help determine its reliability or trace where the information in it came from. The focus of the provenance resource is record keeping, audit and traceability, not clinical meaning.
The resource name as it appears in a RESTful URL is /provenance/
The provenance resource tracks information about the entities, activities, and people involved in producing a resource. This information can be used to form assessments about its quality, reliability or trustworthiness, or to provide pointers for where to go to further investigate the origins of the resource and the information in it.
<Provenance xmlns="http://hl7.org/fhir"> <target><!-- 1..1 Resource(Any) Target resource (usually version specific) --></target> <activity> <!-- 1..1 Activity that created resource --> <period><!-- 0..1 Period When the activity occurred --></period> <recorded><!-- 1..1 instant When the activity was recorded / updated --></recorded> <reason><!-- 0..1 CodeableConcept Reason the activity is occurring --></reason> <location> <!-- 0..1 Where the activity occurred, if relevant --> <type><!-- 0..1 CodeableConcept Type of location (Classification) --></type> <id><!-- 0..1 Identifier An identifier for the location --></id> <description><!-- 0..1 string Human description of location --></description> <coords><!-- 0..1 string Geospatial coordinates of the location. What format? --></coords> </location> <policy><!-- 0..1 uri Policy or plan the activity was defined by --></policy> </activity> <party> <!-- 0..* Person, organization, records, etc. involved in creating resource --> <role><!-- 1..1 Coding author | overseer | enterer | attester | source | cc: + --></role> <type><!-- 1..1 Coding Resource | Person | Application | Record | Document + --></type> <id><!-- 1..1 uri Identity of participant (urn or url) --></id> <description><!-- 0..1 string Human description of participant --></description> </party> <signature><!-- 0..1 string Digital Signature of resource --></signature> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of resource (for human interpretation) --></text> </Provenance>
Alternate definitions: Schema/Schematron, RDF (to do), XML, XMI (to do), Resource Profile
Terminology Bindings
Path | Details | Strength |
---|---|---|
Provenance.activity.location.type | The type of location - a classification of the kind of location at which the activity took place (not bound to any particular codes) | complete/unstated |
Provenance.party.role | The role that a provenance participant played (see http://hl7.org/fhir/provenance-participant-role for values) | complete/preferred |
Provenance.party.type | The type of a provenance participant (see http://hl7.org/fhir/provenance-participant-type for values) | complete/preferred |
The provenance resource identifies information about another resource (the reference element). The provenance resource may be used in several different ways:
When used in a document bundle, the references are often not explicitly versioned, but they always implicitly pertain to the version of the resource found in the document. On a RESTful system, the target resource reference should be version specific, but this requires special care: For new resources that need to have a corresponding Provenance resource, the version-specific reference is often not knowable until after the target resource has been updated. This can create an integrity problem for the system - what if the provenance resource cannot be created after the target resource has been updated? To avoid any such integrity problems, the target resource and the provenance resources should be submitted as a pair using a batch transaction.
The provenance resource includes a signature element which contains a digital signature. (todo: update the XML so that this is included directly, not escaped). If present, the signature is always a signature of the target resource XML representation. (todo: what about json?)
Servers that modify the resource on submission will break the digital signature.
Because the Provenance resource often refers to parties that are not represented as FHIR resources, the party doesn't have a simple reference to other resources. Instead, if the party refers to a FHIR resource, the party is represented like this:
<party> <type> <system>http://hl7.org/fhir/resource-types</system> <code>Person</code> </type> <id>http://acme.org/fhir/person/@34/history/@3</id> </x>
This is the same pattern as a standard resource reference, but the type becomes extensible to allow referencing other kinds of resources. This form of reference is a reference to the real world concept represented by the resource. If, on the other hand, the reference was to the resource itself (i.e. as the source of information on another resource), then the reference would be represented like this:
<party> <type> <system>http://hl7.org/fhir/provenance-participant-type</system> <code>resource</code> </type> <id>http://acme.org/fhir/person/@34/history/@3</id> </x>
The provenance resource is based on known practices in the HL7 implementation space, particularly those found in the v2 EVN segment, the v3 ControlAct Wrapper, the CDA header, and the IHE ATNA (RFC 3881). The conceptual model underlying the design is the W3C Provenance Specification. Though the content and format of the resource is designed to meet specific requirements for FHIR, all the parts of the resource are formally mapped to the PROV-O specification, and FHIR resources can be transformed to their W3C PROV equivalent.
Formal W3C Provenance Mappings - to do
Search Parameters for RESTful searches. The standard parameters also apply. See Searching for more information.
$page : integer | Starting offset of the first record to return in the search set | single |
$count : integer | Number of return records requested. The server is not bound to conform | single |
$id : token | The logical resource id associated with the resource (must be supported by all servers) | single |
target : qtoken | [Provenance.target] | union |
start : date | date equal to [Provenance.activity.period.start] | single |
start-before : date | date before or equal to [Provenance.activity.period.start] | single |
start-after : date | date after or equal to [Provenance.activity.period.start] | single |
end : date | date equal to [Provenance.activity.period.stop] | single |
end-before : date | date before or equal to [Provenance.activity.period.stop] | single |
end-after : date | date after or equal to [Provenance.activity.period.stop] | single |
location : qtoken | [Provenance.activity.location.id] | union |
loctype : qtoken | [Provenance.activity.location.type] | union |
party : qtoken | [Provenance.party.id] | union |
partytype : qtoken | [Provenance.party.type] | union |
(See Searching).
This is an old version of FHIR retained for archive purposes. Do not use for anything else
Implementers are welcome to experiment with the content defined here, but should note that the contents are subject to change without prior notice.
© HL7.org 2011 - 2012. FHIR v0.06 generated on Tue, Dec 4, 2012 00:03+1100. License