Tag retention

According to the FHIR rules on updating resources, by default when a resource is updated, any tags and security labels are carried forward even if they are not explicitly listed in the new version.

For example, suppose a resource is created by a client, and in that resource a tag "foo" is listed in Resource.meta.tag. Then, an update is performed by a client but this update does not contain a value in Resource.meta.

According to the FHIR rules, in this case the tag is copied to the new version of the resource even though it was not explicitly requested.

If a client wishes to override this behavior, they may do so using the X-Meta-Snapshot-Mode header. This header indicates that Tags and/or Security Labels and/or Profile Declarations should be treated as snapshots, meaning that any values not already present should be removed.

The value is a comma-separated list containing the metadata components that should be treated in snapshot mode:

  • TAG—Resource tags
  • PROFILE—Resource profile declarations
  • SECURITY_LABEL—Security Labels.

Example: Tag retention—Metadata components using snapshot mode


Example: Tag retention—Metadata components using snapshot mode