Canonical Resource Management Infrastructure Implementation Guide
2.0.0-ballot - STU 2 - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v2.0.0-ballot: STU 2 Ballot) based on FHIR (HL7® FHIR® Standard) R4. This version is a pre-release. The current official version is 1.0.0. For a full list of available versions, see the Directory of published versions

OperationDefinition: CRMI Artifact Diff Operation

Official URL: http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-artifact-diff Version: 2.0.0-ballot
Standards status: Trial-use Maturity Level: 4 Computable Name: CRMIArtifactDiff
Other Identifiers: OID:2.16.840.1.113883.4.642.40.38.33.2

Describes the differences between two knowledge artifacts in FHIR Patch format by recursively resolving dependencies to get a holistic diff.

URL: [base]/$$artifact-diff

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
INsource0..1canonical

The canonical reference of the source artifact to compare against

INtarget1..1canonical

A canonical reference of the target artifact which is being compared.

INcompareComputable0..1boolean

Whether or not to compare computable content such as ValueSet.compose.include entries.

INcompareExecutable0..1boolean

Whether or not to compare executable content such as ValueSet.expansion.contains entries.

INartifactEndpointConfiguration0..*

Configuration information to resolve canonical artifacts

  • artifactRoute: An optional route used to determine whether this endpoint is expected to be able to resolve artifacts that match the route (i.e. start with the route, up to and including the entire url)
  • endpointUri: The URI of the endpoint, exclusive with the endpoint parameter
  • endpoint: An Endpoint resource describing the endpoint, exclusive with the endpointUri parameter

Processing semantics:

Create a canonical-like reference (e.g. {canonical.url}|{canonical.version} or similar extensions for non-canonical artifacts).

  • Given a single artifactEndpointConfiguration
    • When artifactRoute is present
      • And artifactRoute starts with canonical or artifact reference
      • Then attempt to resolve with endpointUri or endpoint
    • When artifactRoute is not present
      • Then attempt to resolve with endpointUri or endpoint
  • Given multiple artifactEndpointConfigurations
    • Then rank order each configuration (see below)
    • And attempt to resolve with endpointUri or endpoint in order until resolved

Rank each artifactEndpointConfiguration such that:

  • if artifactRoute is present and artifactRoute starts with canonical or artifact reference: rank based on number of matching characters
  • if artifactRoute is not present: include but rank lower

NOTE: For evenly ranked artifactEndpointConfigurations, order as defined in the OperationDefinition.

INartifactEndpointConfiguration.artifactRoute0..1uri
INartifactEndpointConfiguration.endpointUri0..1uri
INartifactEndpointConfiguration.endpoint0..1Endpoint
INterminologyEndpoint0..1Endpoint

An endpoint to use to access terminology (i.e. valuesets, codesystems, naming systems, concept maps, and membership testing) referenced by the resources. If no terminology endpoint is supplied, the server may use whatever mechanism is appropriate for accessing terminology. This could be the server on which the operation is invoked or a third party server accessible to the environment. When a terminology endpoint is provided, the server or third party servers may still be used as fallbacks.

OUTreturn1..1Parameters

The differential in FHIR Patch format.

The operation is only valid between two resources of the same type and can optionally include expanding all ValueSets in the dependency tree.