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
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.
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. |
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 |
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. |
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.