Canonical Resource Management Infrastructure Implementation Guide
1.0.0-snapshot - Snapshot International flag

Canonical Resource Management Infrastructure Implementation Guide, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.0.0-snapshot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/crmi-ig/ and changes regularly. See the Directory of published versions

Operations

This implementation guide defines operations related to packaging and dependency management, as well as establishing several operation definition profiles that provide patterns for common capabilities of knowledge artifact operations.

Operations

Packaging and Dependency Tracing

These operations are defined to support artifact packaging and dependency tracing, including data requirements determination. See the Packaging discussion for more information.

Operation Description
CRMI Package Packages a specified canonical resource for use in a target environment, optionally including related content such as dependencies, components, and testing cases and data.
CRMI DataRequirements Determines the effective data requirements for the artifact, including known components and dependencies, optionally informed by a version manifest. The data requirements operation is used for dependency gathering, as a way to understand the set of dependencies of a given artifact, as well as for data requirements determination, as a way to understand the complete set of data requirements for a given artifact.

Terminology

These operations are defined to support terminology capabilities expected in an Artifact Terminology Service. See the Capabilities discussion for more information.

Operation Description
CRMI ValueSet Expand Requests the expansion of a given value set. This extension to the $expand operation adds support for artifact version binding information, as well as version manifest support

Artifact Authoring

These operations are defined to support artifact authoring capabilities expected in an Artifact Authoring Service. See the Capabilities discussion for more information.

Operation Description
CRMI Approve The approve operation supports applying an approval to an existing artifact, regardless of status. The operation sets the date and approvalDate elements of the approved artifact, and is otherwise only allowed to create ArtifactAssessment resources in the repository.
CRMI Artifact Diff Describes the differences between two knowledge artifacts in FHIR Patch format by recursively resolving dependencies to get a holistic diff.
CRMI Draft Creates a draft version of a knowledge artifact, as well as for all resources it is composed of.
CRMI Release The release operation supports updating the status of an existing draft artifact to active. The operation sets the date element of the resource and pins versions of all direct and transitive references and records them in the program’s manifest. Child artifacts (i.e. artifacts of which the existing artifact is composed) are also released, recursively.

Operation Pattern Profiles

Operations on knowledge artifacts SHOULD consider conforming to one or more of the following profiles to ensure consistent naming of operation parameters when providing the same capabilities across operations:

Operation Profile Purpose
Artifact Defines parameters used to identify artifact resource
Canonical Version Bindable DEPRECATED, see Artifact Version Bindable: Defines parameters used to specify missing versions in canonical references
Artifact Version Bindable Defines parameters used to specify missing versions in all artifact references
Manifestable Defines parameters used to provide a version manifest
Pageable Defines parameters for an operation with pageable options
Artifact Endpoint Configurable Defines parameters to provide endpoints to resolve canonical artifacts
Data Configurable (Roadmap) Defines parameters to specify how to resolve data requirements
Parameterizable (Roadmap) Defines parameters passed to logic evaluation (e.g. CQL parameters)

Note that the CanonicalVersionBindable profile is already used in at some published operation definitions (such as ValueSet$expand) but is declared as deprecated because this implementation guide is proposing the more general ArtifactVersionBindable to support version-binding behavior for both canonical and non-canonical knowledge artifacts.