This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v5.0.0-ballot2: STU5 (v5.0.0) Ballot 2) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 4.0.0. For a full list of available versions, see the Directory of published versions
Packaging
To facilitate publishing and distribution of quality measures, this Implementation Guide
provides guidance on how to package quality measures, either independently, or as part of a collection of related measures.
Packaging Artifacts
In general, artifacts such as libraries, measures, and test cases are packaged as a Bundle
of type transaction
. They may span multiple bundles in a given delivery, thus the bundle should be processed as a unit.
An artifact bundle contains the artifact as the first entry in the bundle, and optionally the
dependencies and associated artifacts as subsequent entries as follows:
- Artifact: The main artifact resource for the package (such as a Measure or Library)
- Library Dependencies: Any libraries required for the artifact
- Terminology Dependencies: Any CodeSystem or ValueSet resources required for the artifact
- Test Cases: Any test cases defined for the artifact
*Note that if an artifact package is large enough to require segmentation in multiple bundles, use of transaction
bundles may not be feasible.
When paging is used for the result of the package operation, the total element in the resulting bundle(s) is used to communicate the total number of entries in the package, not the number of entries in the bundle, similar to the way bundles are used to page search sets in the FHIR API. In addition, the initial artifact entry is only expected to be present in the first bundle (i.e. the partitioning of entries across the bundles does not change what entries are communicated overall).
Packaging Libraries
To support usage of a logic library, the library package contains the following general components:
- Structured representation of the library and associated metadata (the Library resource)
- Human readable description of the library contents (the Narrative of the Library resource)
- Machine readable description of the population criteria (in the Library resource as additional attachments containing the Expression Logical Model (ELM) content for the CQL)
- Optionally, all the required libraries referenced by the library, recursively (included as Library resources)
- Optionally, all the required terminologies referenced by the library, or any required libraries (included as CodeSystem and/or ValueSet resources)
The following are conformance requirements when packaging a Library:
Conformance Requirement 6.1 (Library Packaging):
- The first entry in a Library bundle SHALL be a Library resource conforming
- Library bundles MAY include any libraries referenced by the primary library
- Library bundles MAY include any code systems and value sets referenced by the primary library or any required libraries.
Packaging Measures
To support usage of a quality measure, the quality measure package contains the following
general components:
- Structured representation of the quality measure and associated metadata (the Measure resource)
- Human readable description of the quality measure and population criteria (the Narrative of the Measure resource)
- The primary logic library for the quality measure (the Library resource containing at least the Clinical Quality Language (CQL) source)
- Machine readable description of the population criteria (in the Library resource as additional attachment elements containing the Expression Logical Model (ELM) content for the CQL)
- Optionally, all the required libraries referenced by the primary library of the quality measure, recursively (included as Library resources)
- Optionally, all the required terminologies referenced by the primary library or any required libraries (included as CodeSystem and/or ValueSet resources)
- Optionally, any test cases defined for the quality measure
The following are conformance requirements when packaging a Measure:
Conformance Requirement 6.2 (Measure Packaging):
- The first entry in a Measure bundle SHALL be a Measure resource
- The second entry in a Measure bundle SHALL be the primary Library resource for the measure
- Measure bundles MAY include any libraries referenced by the primary library
- Measure bundles MAY include any code systems and value sets referenced by the primary library or any required libraries.
- Measure bundles MAY include any test case bundles defined for the measure
Packaging Test Cases
Basic testing of measure logic should involve at least one positive and negative test of each of the population criteria. A test case is represented as a set of test resources, together with a MeasureReport that conforms to the CQFMTestCase profile to define the expected results. The test case bundle can then be used to package and distribute the test case.
Conformance Requirement 6.3 (Test Case Packaging):
- The first entry in a TestCase bundle SHALL be a MeasureReport resource representing the expected outcome of evaluating the measure, given the test data provided as part of the test case
- TestCase bundles SHALL include any resource data required to evaluate the test case
Intellectual Property of Packaging
Conformance Requirement 6.4 (Intellectual Property Considerations):
- Artifacts distributed in this way SHALL carry the appropriate copyright and intellectual property declarations.
Conformance Requirement 6.5 (Quality Program):
This implementation guide includes a profile for describing a quality program as a collection of quality measures. This profile is a Library of type asset-collection
that uses the relatedArtifact
element to indicate which measures are part of the quality program. In addition, measures and libraries can use the useContext
element to specify a quality program.
- Artifacts SHOULD use the
useContext
element with the program
context type to specify a quality program
- Quality program descriptions SHALL use the CQFQualityProgram profile