Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

Commit

Permalink
Updated Provenance R4 Resource (#1018)
Browse files Browse the repository at this point in the history
* Updated Provenance R4 Resource

- Validated/updated all links out to HL7 websites.
  - yaml file had a lot of examples of double forward-slashes
- Validated API behavior matches stated specifications.
- Updated Overview Paragraph.
- Uppercase'd returned fields list.
- Parameter Table and Implementation Notes updates to match current guidelines.
- Implementation Notes under the Create section modified to match current guidelines.
- Anonymized opc-request-id and X-Request-Id values added for response to Create section.
- Added backticks to quite a few elements that should be code

* Uppercased "ID" in a couple spots

* Condensed disclaimer statements

* PRODOC-203512: Styled edits.

* Edits following Aaron's feedback

* Typo fix

* Fixed the list of supported scopes

* Re-entered (r) tags for HL7 and FHIR

* Update provenance.md

---------

Co-authored-by: Deitrich, Casey <[email protected]>
  • Loading branch information
kckeim and Deitrich, Casey authored Dec 18, 2023
1 parent d200e91 commit 823f04f
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 50 deletions.
92 changes: 49 additions & 43 deletions content/millennium/r4/foundation/security/provenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,38 @@ title: Provenance | R4 API

## Overview

The Provenance resource tracks the source of external data and is used to assess the trustworthiness and reliability of a resource. Sources can be an organization author or organization transmitter. Entities are Continuity of Care DocumentReferences (CCDs).
The Provenance resource tracks the source of external information and is used to assess the trustworthiness and reliability of a resource. Sources can be an organization author or organization transmitter. The `target` field references a resource that this Provenance entry is related to. Entities are Continuity of Care Documents (CCDs) generated through the [DocumentReference] resource.

The following [HL7® FHIR® US Core Implementation Guide STU 4.0.0](https://hl7.org/fhir/us/core/STU4/){:target="_blank"} Profiles are supported by this resource:
This resource supports the following [HL7® FHIR® US Core Implementation Guide STU 4.0.0](https://hl7.org/fhir/us/core/STU4/){:target="_blank"} profiles:

* [US Core Provenance Profile](https://hl7.org/fhir/us/core/STU4/StructureDefinition-us-core-provenance.html){:target="_blank"}

The following fields are returned if valued:

* [Provenance id](https://hl7.org/fhir/R4/resource-definitions.html#Resource.id){:target="_blank"}
* [Provenance ID](https://hl7.org/fhir/R4/resource-definitions.html#Resource.id){:target="_blank"}
* [Target](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.target){:target="_blank"}
* [Recorded](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.recorded){:target="_blank"}
* [Agent type (author or transmitter)](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.type){:target="_blank"}
* [Agent role (source or informant)](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.role){:target="_blank"}
* [Agent who (Practitioner, Device, or Organization)](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.who){:target="_blank"}
* [Agent on behalf of (when Agent.who is of type Practitioner)](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.onBehalfOf){:target="_blank"}
* [Agent](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent){:target="_blank"}
* [Agent type](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.type){:target="_blank"}
* [Agent role](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.role){:target="_blank"}
* [Agent who](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.who){:target="_blank"}
* [Agent on behalf of (only when Agent.who is of type Practitioner)](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.onBehalfOf){:target="_blank"}
* [Entity role](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.entity.role){:target="_blank"}
* [Entity what (Continuity of Care DocumentReference id)](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.entity.what){:target="_blank"}
* [Entity what](https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.entity.what){:target="_blank"}

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Terminology Bindings

<%= terminology_table(:provenance, :r4) %>

## Search

Search for Provenances that meet supplied query parameters:
Search for provenances that meet the supplied query parameters.

GET /Provenance?:parameters

Expand All @@ -43,10 +50,30 @@ Search for Provenances that meet supplied query parameters:

### Parameters

Name | Required? | Type | Description
--------------|-----------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------
`_id` | This or `target` | [`token`] | The logical resource id associated with the resource. Example: `doc-7845`
`target` | This or `_id` | [`reference`] | Target Reference(s) (usually version specific). The AllergyIntolerance, CarePlan, CareTeam, Condition, DiagnosticReport, DocumentReference, Encounter, Goal, Immunization, MedicationRequest, Observation, Patient and Procedure resources are supported. Example: `DocumentReference/66547`
Name | Required? | Type | Description
-----------|---------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------
`_id` | Conditionally | [`token`] | The logical resource ID associated with the resource. It may be a list separated by commas. This parameter is required if the `target` parameter is not used. Example: `_id=doc-1234`
`target` | Conditionally | [`reference`] | The target references, which can be version-specific. See Notes for list of supported resources. Example: `target=DocumentReference/66547`

_Notes_

- When searching with the `_id` parameter:
- Must not include any other parameters.
- When searching with the `target` parameter:
- The following resources are supported at this time:
- AllergyIntolerance
- CarePlan
- CareTeam
- Condition
- DiagnosticReport
- DocumentReference
- Encounter
- Goal
- Immunization
- MedicationRequest
- Observation
- Patient
- Procedure

### Headers

Expand All @@ -63,8 +90,6 @@ Search for Provenances that meet supplied query parameters:
<%= headers status: 200 %>
<%= json(:r4_provenance_bundle) %>

<%= disclaimer %>

#### Patient Authorization Request

GET https://fhir-ehr.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Provenance?_id=all-1595070
Expand All @@ -74,15 +99,9 @@ Search for Provenances that meet supplied query parameters:
<%= headers status: 200 %>
<%= json(:r4_provenance_patient_access_entry) %>

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Retrieve by id
## Retrieve by ID

List an individual Provenance by its id:
List an individual provenance by its ID.

GET /Provenance/:id

Expand All @@ -105,8 +124,6 @@ List an individual Provenance by its id:
<%= headers status: 200 %>
<%= json(:r4_provenance_entry) %>

<%= disclaimer %>

#### Patient Authorization Request

GET https://fhir-ehr.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Provenance/all-1595070
Expand All @@ -116,23 +133,16 @@ List an individual Provenance by its id:
<%= headers status: 200 %>
<%= json(:r4_provenance_patient_access_bundle) %>

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Create

Create a new Provenance.
Create a new provenance.

POST /Provenance

_Implementation Notes_
_Notes_

* Only the body fields mentioned below are supported. Unsupported fields will be ignored.
* Modifier fields should not be provided, and will cause the transaction to fail.
* The `Provenance.write` scopes must be provided in order to create a Provenance with an Observation Measurement target.
* Only the body fields mentioned below are supported. Unsupported fields are ignored or can result in errors.
* The `Provenance.write` scope must be provided to create a provenance with an Observation Measurement Target.

### Authorization Types

Expand Down Expand Up @@ -168,18 +178,14 @@ Etag: W/"881057"
Location: https://fhir-open.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Provenance/doc-881057
Last-Modified: Tue, 31 Mar 2020 15:37:25 GMT
Vary: Origin
X-Request-Id: 11111111111111111111111111111111
opc-request-id: /11111111111111111111111111111111/11111111111111111111111111111111
X-Request-Id: 11111111-1111-1111-1111-111111111111
</pre>

The `ETag` response header indicates the current `If-Match` version to use on subsequent updates.

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

[`reference`]: https://hl7.org/fhir/r4/search.html#reference
[`token`]: https://hl7.org/fhir/R4/search.html#token
[errors]: ../../../#client-errors
[OperationOutcomes]: ../../../#operation-outcomes
[DocumentReference]: ../../documents/document-reference/#overview
28 changes: 21 additions & 7 deletions lib/resources/r4/provenance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,23 @@ fields:
}
note: |
<ul>
<li> Only one target may be provided.</li>
<li> The AllergyIntolerance, Condition, DocumentReference, Encounter, Immunization, MedicationRequest,
Observation, Patient and Procedure resources are supported.</li>
<li>Only one target may be provided.</li>
<li>The following resources are supported</li>
<ul>
<li>AllergyIntolerance</li>
<li>CarePlan</li>
<li>CareTeam</li>
<li>Condition</li>
<li>DiagnosticReport</li>
<li>DocumentReference</li>
<li>Encounter</li>
<li>Goal</li>
<li>Immunization</li>
<li>MedicationRequest</li>
<li>Observation</li>
<li>Patient</li>
<li>Procedure</li>
</ul>
</ul>
url: https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.target

Expand Down Expand Up @@ -93,7 +107,7 @@ fields:
type: CodeableConcept
description: The participation the agent had with respect to the activity.
action: create
url: https://hl7.org/fhir//R4/provenance-definitions.html#Provenance.agent.type
url: https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.type
example: |
{
"type": {
Expand All @@ -113,7 +127,7 @@ fields:
type: CodeableConcept
description: The function of the agent with respect to the activity.
action: create
url: https://hl7.org/fhir//R4/provenance-definitions.html#Provenance.agent.role
url: https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.role
example: |
{
"role": [
Expand All @@ -135,7 +149,7 @@ fields:
type: Reference
description: The individual, device or organization that participated in the event.
action: create
url: https://hl7.org/fhir//R4/provenance-definitions.html#Provenance.agent.who
url: https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.agent.who
example: |
{
"who": {
Expand Down Expand Up @@ -189,7 +203,7 @@ fields:
type: Reference
description: Identity of the Entity used.
action: create
url: https://hl7.org/fhir//R4/provenance-definitions.html#Provenance.entity.what
url: https://hl7.org/fhir/R4/provenance-definitions.html#Provenance.entity.what
example: |
{
"what": {
Expand Down

0 comments on commit 823f04f

Please sign in to comment.