Canonical Resource Management Infrastructure Implementation Guide
2.0.0-ballot - STU 2 - Ballot 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 2.0.0-ballot 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

Page standards status: Informative

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.
CRMI Resolve Resolves a canonical reference to a specific instance (or instances), using the latest version algorithm described in the version manifest topic of this implementation guide.

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
CRMI ValueSet Validate Code Requests validation of a code for a given value set. This extension to the $validate-code 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 and all its children, regardless of status. The operation sets the date and approvalDate elements of the approved artifact and all its children, and is otherwise only allowed to create ArtifactAssessment (Basic with cqf-artifactAssessment extensions in R4) 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 Clone Creates a clone of a knowledge artifact (i.e. an artifact with a new canonical url), and all its children.
CRMI Draft Creates a draft version of a knowledge artifact and all its children.
CRMI Release The release operation performs release processing, including setting the date element of the resource and pinning versions of all direct and transitive references and recording them in the manifest. Child artifacts are also released, recursively.
CRMI Review The review operation supports applying a review to an existing artifact and all its children, regardless of status. The operation sets the date and lastReviewDate elements of the reviewed artifact and all its children, and is otherwise only allowed to create ArtifactAssessment (Basic with cqf-artifactAssessment extensions in R4) resources in the repository.

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.