The $diff
operation can be used to generate a differential between two versions of a resource, or even two different resources of the same type.
Differentials generated by this operation are in FHIR Patch format.
In generated differentials, where a value has changed (i.e. a replace operation), an additional part value will be present on the given operation called previousValue
. This part shows the value as it was in the from version of the resource.
When the $diff operation is invoked at the instance level (meaning it is invoked on a specific resource ID), it will compare two versions of the given resource.
fromVersion=[versionId]
: (optional) If specified, compare using this version as the source. If not specified, the immediately previous version will be compared.includeMeta=true
: (optional) If specified, changes to Resource.meta will be included in the diff. This element is omitted by default.To invoke:
The server will produce a response resembling the following:
When the $diff operation is invoked at the server level (meaning it is invoked against the server base URL), it will compare two arbitrary resources of any type.
from=[reference]
: Specifies the source of the comparison. The value must include a resource type and a resource ID, and can optionally include a version, e.g. Patient/123
or Patient/123/_history/2
.to=[reference]
: Specifies the target of the comparison. The value must include a resource type and a resource ID, and can optionally include a version, e.g. Patient/123
or Patient/123/_history/2
.includeMeta=true
: (optional) If specified, changes to Resource.meta will be included in the diff. This element is omitted by default.To invoke:
The server will produce a response resembling the following: