This page is part of the Da Vinci Payer Data Exchange (v1.0.0: STU1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Previous Page - US Core Procedure
When a Health Plan forwards information as a FHIR Resource it SHOULD create related Provenance record(s) to reflect the original source.
A Provenance resource SHOULD be provided with each member-related resource provided by the Health Plan’s FHIR API.
This SHOULD be used to:
The PDex-Provenance resource is based on the US Core Provenance Profile and is documented here: StructureDefinition-pdex-provenance.html
PDex Provenance adds an extension that uses the ProvenanceSourceFrom ValueSet to the entity element. In the PDex Provenance Profile the extension is included in the Provenance.entity base element.
Provenance.recorded value SHOULD be the date/time when the data is received by the payer.
The purpose of the extension is to identify the source format that the data in the provenance.target resource is taken from.
The Pdex Provenance record SHOULD be populated with the following essential fields (Must Support or Cardinality greater than 0..*) as follows:
R4 Element | Name | Cardinality | Type |
---|---|---|---|
Provenance.target | target | 1..* | Reference(Resource) |
Provenance.recorded | recorded | 1..1 | instant |
Provenance.agent | agent | 1..* | (Slice Definition) |
Provenance.agent:All Slices.type | type | 1..1 | CodeableConcept |
Provenance.agent:All Slices.who | who | 1..1 | Reference(US Core Organization Profile | US Core Practitioner Profile) |
Provenance.agent:All Slices.onBehalfOf | onBehalfOf | 0..1 | Reference(US Core Organization Profile) |
Provenance.agent:ProvenanceAuthor | agent:ProvenanceAuthor | 0..* | BackboneElement |
Provenance.agent:ProvenanceAuthor.type | type | 1..1 | CodeableConcept |
Provenance.agent:ProvenanceAuthor.type.coding | coding | 1..* | Coding |
Provenance.agent:ProvenanceAuthor.type.coding.system | system | 1..1 | uri |
Provenance.agent:ProvenanceAuthor.type.coding.code | code | 1..1 | code |
Provenance.agent:ProvenanceAuthor.who | who | 1..1 | Reference(US Core Organization Profile | US Core Practitioner Profile) |
Provenance.agent:ProvenanceTransmitter | agent:ProvenanceTransmitter | 0..1 | BackboneElement |
Provenance.agent:ProvenanceTransmitter.type | type | 1..1 | CodeableConcept |
Provenance.agent:ProvenanceTransmitter.type.coding | coding | 1..* | Coding |
Provenance.agent:ProvenanceTransmitter.type.coding.system | system | 1..1 | uri |
Provenance.agent:ProvenanceTransmitter.type.coding.code | code | 1..1 | code |
Provenance.agent:ProvenanceTransmitter.who | who | 1..1 | Reference(US Core Organization Profile | US Core Practitioner Profile) |
Provenance.entity.ProvenanceSourceFrom.url | url | 1..1 | uri |
Provenance.entity.role | role | 1..1 | code |
Provenance.entity.what | what | 1..1 | Reference(Resource) In general this will be a text string indicating the source is defined by the role code |
Four examples are provided to deal with four different scenarios:
The payer acts as the transmitter. Setting:
agent.type = "Transmitter"
agent.who = Payer's US Core Organization record
The Payer creates the Provenance record as follows:
target.reference = Reference of the converted record
recorded = Date original record was received
agent.type = Author
agent.who = US Core Organization record for the originating organization
extension.sourceFormat = "ccda" to identify that the record was transformed from a CCDA document
The Payer creates the Provenance record as follows:
target.reference = Reference of the converted record
recorded = Date original record was received
agent.type = Author
agent.who = US Core Practitioner record when the provider is NOT associated with an organization
extension.sourceFormat = "hl7v2" to identify that the record was transformed from a HL7 v2 message
The Payer creates the Provenance record as follows:
target.reference = Reference of the converted record
recorded = Date original record was received
agent.type = Source
agent.who = Payer's US Core Organization record
extension.sourceFormat = "custom" to identify that the record was transformed from a custom data format such as a CSV file.
The Health Plan SHALL accept and maintain Provenance information associated with information received from contributing entities. The Health Plan SHALL add Provenance record(s) as necessary to document relevant actions taken as the current custodian of the information. Provenance information SHALL be available for any information requested by an external entity as part of exchanges conformant to this implementation guide.
This guide shall define extensions to the provenance value sets as required to document the provenance of the information exchange.
The Health Plan SHOULD create a Provenance Record documenting the source of the records, the identity of the health plan and the action taken to become the custodian of the data.
The updated Provenance record SHOULD be passed on to any downstream entity that requests Provenance information for the records they request.
The Health Plan SHOULD store the Provenance information and maintain the correlation or links to the records the Provenance Record is documenting.
The Health Plan SHOULD update the Provenance records to add information covering the identity of the health plan and the action taken to become the custodian of the data.
The updated Provenance record SHOULD be passed on to any downstream entity requesting the associated records.
The Health Plan SHOULD create a Provenance Record documenting the source of the records, the identity of the health plan and the action taken to transform the data to FHIR Clinical Resources.
The updated Provenance record SHOULD be passed on to any downstream entity requesting the associated records.
An example Author Provenance record appears below:
{ "resourceType" : "Provenance", "id" : "1000002", "meta" : { "versionId" : "1", "lastUpdated" : "2020-07-10T16:26:23.217+00:00", "profile" : [ "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-target-provenance" ] }, "text" : { "status" : "generated", "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">Generated Narrative
id: 1000002
meta:
target: <a href=\"encounter/2000003\">encounter/2000003</a>
recorded: Jul 10, 2020 12:26:23 PM
Agents
<table class=\"grid\">- Type Who </table></div>" }, "extension" : [ { "url" : "sourceFormat", "valueCodeableConcept" : { "coding" : [ { "system" : "http://hl7.org/fhir/us/davinci-pdex/ValueSet/ProvenancePayerSourceFormatVS", "code" : "hl7ccda" } ] } } ], "target" : [ { "reference" : "encounter/2000003" } ], "recorded" : "2020-07-10T16:26:23.217+00:00", "agent" : [ { "type" : { "coding" : [ { "system" : "http://terminology.hl7.org/CodeSystem/provenanceagenttype", "code" : "author" } ] }, "who" : { "reference" : "Organization/2" } } ] } * <span title=\"Codes: {http://terminology.hl7.org/CodeSystem/provenanceagenttype author}\">author</span> <a href=\"Organization/2\">Organization/2</a>
Requesting a provenance resource is accomplished by adding the “_revinclude=Provenance:target” parameter to a search query.
For servers that support the “_revinclude” parameter this will return Provenance records in a bundle along with the resources returned by the search query.