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 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: Trial-use |
This implementation guide defines and makes use of several categories of extensions to support various aspects of knowledge artifact definition, packaging, and implementation. The following sections provide an index of each of these categories of extensions.
Note that most of these extensions are defined in the FHIR Extensions pack, but are referenced here to provide documentation and guidance about how they are used by the profiles in this implementation guide.
The artifact- extensions are to support representing artifact metadata for resources that are not already CanonicalResource or MetadataResource that have the given element.
| Extension | Description | FMM |
|---|---|---|
| Artifact Approval Date | When the artifact was approved by publisher. | 2 |
| Artifact Author | An individual or organization primarily involved in the creation and maintenance of the artifact. | 2 |
| Artifact Authoritative Source | A reference to the offical/source of truth definition of the content, typically outside the FHIR ecosystem. For example, the authoritativeSource for a ValueSet might be a spreadsheet published on an agency website. | 1 |
| Artifact Cite As | How to cite the resource/artifact. | 1 |
| Artifact Contact | Contact details to assist a user in finding and communicating with the publisher. | 2 |
| Artifact Copyright | A copyright statement relating to the artifact and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact. | 2 |
| Artifact Copyright Label | A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. ‘All rights reserved’, ‘Some rights reserved’). | 1 |
| Artifact Date | The date (and optionally time) when the artifact was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the artifact changes. | 2 |
| Artifact Description | A free text natural language description of the artifact from a consumer’s perspective. | 2 |
| Artifact Editor | An individual or organization primarily responsible for internal coherence of the artifact. | 2 |
| Artifact Effective Period | When the artifact is expected to be used. | 1 |
| Artifact Endorser | An individual or organization responsible for officially endorsing the artifact for use in some setting. | 2 |
| Artifact Experimental | A Boolean value to indicate that this artifact is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. | 2 |
| Artifact Identifier | A formal identifier that is used to identify this artifact when it is represented in other formats, or referenced in a specification, model, design or an instance. | 2 |
| Artifact Is Owned | Whether or not the referenced artifact is owned by the referencing artifact. | 1 |
| Artifact Jurisdiction | A legal or geographic region in which the authority that maintains the resource is operating. In general, the jurisdiction is also found in the Artifact use context for the resource. The useContext may reference additional jurisdictions because the defining jurisdiction does not necessarily limit the jurisdictions of use. This extension SHALL not be used on any resource that has a defined jurisdiction element. | 1 |
| Artifact Last Review Date | When the artifact was last reviewed by the publisher. | 1 |
| Artifact Name | A natural language name identifying the artifact. This name should be usable as an identifier for the module by machine processing applications such as code generation. | 1 |
| Artifact Publication Date | Specifies the publication date of the Resource. | 3 |
| Artifact Publisher | The name of the organization or individual responsible for the release and ongoing maintenance of the artifact. | 1 |
| Artifact Purpose | Explanation of why this artifact is needed and why it has been designed as it has. | 1 |
| Artifact Related Artifact | Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts. | 2 |
| Artifact Release Description | Release notes for a release of an artifact. | 1 |
| Artifact Release Label | A human-friendly release label assigned for the version. | 1 |
| Artifact Reviewer | An individual or organization primarily responsible for review of some aspect of the artifact. | 1 |
| Artifact Status | The status of this artifact. Enables tracking the life-cycle of the content. | 1 |
| Artifact Title | A short, descriptive, user-friendly title for the artifact. | 1 |
| Artifact Topic | Descriptive topics related to the content of the artifact. Topics provide a high-level categorization of the artifact that can be useful for filtering and searching. | 1 |
| Artifact URI Reference | Create a reference, following canonical reference semantics, to an artifact that uses non-canonical extensions artifact-url and artifact-version as business identifiers. | 1 |
| Artifact URL | An absolute URI that is used to identify this artifact when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This **SHOULD** be globally unique and **SHOULD** be a literal address at which an authoritative instance of this artifact is (or will be) published. This URL can be the target of a canonical reference. It **SHALL** remain the same when the artifact is stored on different servers. | 1 |
| Artifact Usage | Describes the clinical usage of the artifact. | 1 |
| Artifact UseContext | The artifact was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, …) or may be references to specific programs (insurance plans, studies, …) and may be used to assist with indexing and searching for appropriate artifact instances. | 1 |
| Artifact Version | The identifier that is used to identify this version of the artifact when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the artifact author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. | 1 |
| Artifact Version Algorithm | Indicates the mechanism used to compare versions to determine which is more current. | 1 |
| Artifact Version Policy | Describes the versioning policy of the artifact. | 1 |
| Artifact Comment | A comment containing additional documentation, a review comment, usage guidance, or other relevant information from a particular user. | 3 |
| Definition Term | Specifies a term and its associated definition. | 3 |
| Is Primary Citation | Specifies whether the related artifact is defining a primary citation for the artifact (i.e. one that should appear in the narrative for the artifact specification. | 3 |
These extensions provide terminology-related capabilities for specifying expansion parameters as part of a knowledge artifact or version-manifest, as well as providing a value set reference to indicate that a particular event was not done.
| Extension | Description | FMM |
|---|---|---|
| Expansion Parameters | Specifies the expansion parameters that should be used to expand the ValueSet, or any ValueSets in the Library (or referenced by components of the Library). | 3 |
| CRMI Curation Coverage Level | Indicates the qualitative curation level of the concept codes in a value set. | 3 |
These extensions are used to support packaging and dependency tracing capabilities.
| Extension | Description | FMM |
|---|---|---|
| Resource Type | Specifies the type of resource the canonical references. | 1 |
| Scope | Defines the scope of an artifact as a string of the form {namespace-name}[@{namespace-uri}]. Namespace name **SHALL** be a valid NPM package id, and namespace uri **SHALL** be a valid uri. For FHIR implementation guides, scope is inferred using the package id and the base canonical. e.g. fhir.cqf.common@http://example.org/guides/cqf/common. This extension can be used on Implementation Guides, Libraries, on any knowledge artifact, to declare the scope of the artifact. In the absence of an explicit scope declaration, the scope of an artifact is inferred based on the IG in which the artifact is defined. | 1 |
| Should Trace Dependency | Indicates whether the extension or profile element on which it appears represents a dependency that should be traced for the purposes of artifact packaging and distribution | 1 |
| Test Artifact | The artifact under test for this test content | 1 |
| CRMI Software System | Specifies the software systems used in the packaging and testing of knowledge artifacts. Specifically to support explicitly stating which versions of the various software components were used in the authoring, packaging, and testing. | 3 |
| CRMI Configuration Endpoint | This extension allows module configuration libraries to indicate which endpoint the configuration is for | 1 |
| CRMI Configuration For | This extension allows module configuration libraries to indicate which artifact the configuration is for | 1 |
| CRMI Dependency Role | Indicates what role(s) the dependency is playing. Dependencies can play multiple roles. A dependency that does not state any roles is assumed to play the default role (i.e. there is no need to state that a dependency plays the default role, but the code is used in the include parameter to indicate whether default dependencies are included in a package). | 3 |
| CRMI Endpoint Configuration | Specifies a set of configuration parameters that can be used to provide canonical-based routing for content, using the parameters specified in the ArtifactEndpointConfigurable profile. | 2 |
| CRMI Endpoint Supports Post | This extension allows module configuration libraries to indicate whether the endpoint they are configuring supports the POST style of search interaction. | 1 |
| CRMI Intended Usage Context | An intended usage context associated with the dependency on which it appears. When the dependency is packaged, this usageContext will be applied to the packaged artifact. | 3 |
| CRMI License | This extension is used to indicate the license information for a FHIR resource. | 1 |
| CRMI License Detail | This extension provides detailed information about the license, including the URL to the license text and the license type. | 1 |
| CRMI Reference Source | Specifies the source of an artifact reference when it is being recorded as a dependency as part of manifest library. | 3 |
| Expansion Parameters | Specifies the expansion parameters that should be used to expand ValueSets referenced from artifacts in the Library or ImplementationGuide. | 3 |
| Input Parameters | Specifies the input parameters to the operation (such as a test case description or a data requirements or evaluate operation). This extension can be used as part of the result of an operation to indicate what the parameters were, but it can also be used as part of the definition of a test case to specify what the input parameters are expected to be for the test case. | 3 |
| Knowledge Capability | Defines a knowledge capability afforded by this knowledge artifact: Shareable, Publishable, Computable, and Executable, a scheme for organizing categories of functionality based on the content management lifecycle. See the Canonical Resource Management Infrastructure implementation guide for more information on these capability categories. | 3 |
| Knowledge Representation Level | Defines a knowledge representation level provided by this knowledge artifact. | 3 |
These extensions provide capabilities related to the specification of logic and data requirements as part of knowledge artifacts.
| Extension | Description | FMM |
|---|---|---|
| Alternative Expression | Specifies an alternative, equivalent expression in another formal language. For example, given a condition expression in CQL, an alternative formulation in SQL could be provided. | 3 |
| Default Value | Provides a default value for a parameter definition. | 3 |
| FHIR Query Pattern | A FHIR Query URL pattern that corresponds to the data specified by the data requirement. If multiple FHIR Query URLs are present, they each contribute to the data specified by the data requirement (i.e. the union of the results of the FHIR Queries represents the complete data for the data requirement). This is not a resolveable URL, in that it will contain 1) No base canonical (i.e. it's a relative query), and 2) Parameters using tokens that are delimited using double-braces and the context parameters are dependent solely on the subjectType, according to the following: Patient: context.patientId, Practitioner: context.practitionerId, Organization: context.organizationId, Location: context.locationId, Device: context.deviceId. | 3 |
| Is Selective | This extension is useful for helping implementing systems determine which data requirements are expected to be most selective of the target population. A common use case is to identify a subset of the data requirements for an artifact as "selective", meaning that they can be used as an initial filter to establish the overall set of data. For example, the selective requirements can be used to construct an initial query or queries for data, with the non-selective requirements used for subsequent filtering on the resulting data. Although this extension may be used by artifact authors as a way to indicate expected selectivity of a data requirement, it will more typically be used by implementers and downstream packaging repositories to indicate selectivity of a data requirement given known data heuristics in particular datasets. | 3 |
| Messages | An OperationOutcome that contains any information, warning, and/or error messages that were generated while processing an operation such as $evaluate or $prepopulate. | 3 |
| Value Filter | Allows additional value-based filters to be specified as part of a data requirement. | 3 |
| CRMI Effective Data Requirements | A module definition library that contains the effective data requirements for an artifact (i.e. the calculated data requirements for the expressions directly referenced by the artifact structure). | 3 |
| CRMI Group Characteristic Value Canonical | Extends Group.characteristic.valueReference to support canonical references to profiles, where instances that conform to the referenced profile are included in the group characteristic. | 1 |