Using CQL With FHIR
3.0.0-ballot - STU 3 Ballot

Using CQL With FHIR - Downloaded Version null See the Directory of published versions

## Resource Profile: CQL Module

Official URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module | Version: 3.0.0-ballot | Highlight text changes?
Standards status: Trial-use | Maturity Level: 3 | Computable Name: CQLModule
Other Identifiers: OID:2.16.840.1.113883.4.642.40.37.42.12

The CQL Module profile describes the elements used to provide a structured representation of the declarations and data requirements of a logic library or operation

Usages:

- Examples for this Profile: EXMLogicModuleDefinition
- CapabilityStatements using this Profile: CQL Evaluation Service

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Library | C | 0..* | Library | Represents a library of quality improvement components Constraints: lib-0
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:directReferenceCode | S | 0..* | Coding | A code directly referenced by the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
extension:logicDefinition | S | 0..* | (Complex) | A logic definition used in the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
extension:inputParameters | S | 0..1 | Reference(Parameters) | What parameters were input URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
extension:selectivity | S | 0..1 | (Complex) | Expression selectivity URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
type | S Σ | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition Binding: LibraryType (extensible): The type of knowledge asset this library contains.
subject[x] | S | 0..1 |  | Type of individual the library content is focused on Binding: SubjectType (extensible): The possible types of subjects for a library (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
Slices for relatedArtifact | S | 0..* | RelatedArtifact | Dependencies used by the artifact Slice: Unordered, Open by value:type
relatedArtifact:dependency | S C | 0..* | RelatedArtifact | What dependencies are referenced Constraints: mnf-2
Slices for extension |  |  |  | Content/Rules for all slices
extension:resourceReference | S C | 0..1 | Reference(Resource) | A reference to the dependency artifact (for canonical promotions) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
type | S Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Binding: RelatedArtifactType (required): The type of relationship to the related artifact. Fixed Value: depends-on
display | S Σ | 0..1 | string | Brief description of the related artifact
resource | S Σ C | 0..1 | canonical(Resource) | A reference to the dependency artifact (for canonical resources)
parameter | S | 0..* | ParameterDefinition | Provides the definition of parameters for the module.
Slices for extension |  |  |  | Content/Rules for all slices
extension:defaultValue | S | 0..1 | string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio | cqf-defaultValue is used if the parameter definition has a default to provide the expected value of the default. Note that the value is provided according to the FHIR Type Mapping URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
extension:cqlType |  | 0..1 | string | cqf-cqlType is used to ensure that the type of the parameter can be unambiguously provided, given that the FHIR Type Mapping is potentially ambiguous (for the Period type specifically) URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
extension:cqlAccessModifier |  | 0..1 | code | What CQL access modifier URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier Binding: CQL Access Modifier (required): The access modifier of the element
extension:targetConstraint |  | 0..1 | (Complex) | Allowed values for the parameter URL: http://hl7.org/fhir/StructureDefinition/targetConstraint
use | Σ | 1..1 | code | in | out Binding: OperationParameterUse (required): Whether the parameter is input or output.
type | Σ | 1..1 | code | What type of value Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
dataRequirement | S | 0..* | DataRequirement | What data is referenced by this library
Slices for extension |  |  |  | Content/Rules for all slices
extension:isSelective | S | 0..1 | boolean | specifies whether a given DataRequirement is "selective" URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
extension:valueFilter | S | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
extension:fhirQueryPattern |  | 0..* | string | What FHIR query? URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
extension:fhirQueryPatternCoverage |  | 0..1 | code | How completely the query patterns cover the data requirement URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage Binding: Query Pattern Coverage Value Set (required)
extension:relatedDataRequirement |  | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement
type | Σ | 1..1 | code | The type of the required data Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Library.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
Library.type | Base | extensible | LibraryType | 📍4.0.1 | FHIR Std.
Library.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Library.relatedArtifact:dependency.​type | Base | required | RelatedArtifactType | 📍4.0.1 | FHIR Std.
Library.parameter.use | Base | required | OperationParameterUse | 📍4.0.1 | FHIR Std.
Library.parameter.type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Library | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Library | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Library | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Library | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Library | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
lib-0 | warning | Library | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mnf-2 | error | Library.relatedArtifact:dependency | Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both | `resource.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Library |  | 0..* | Library | Represents a library of quality improvement components
Slices for extension |  |  |  | Content/Rules for all slices
extension:directReferenceCode | S | 0..* | Coding | A code directly referenced by the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
extension:logicDefinition | S | 0..* | (Complex) | A logic definition used in the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
extension:inputParameters | S | 0..1 | Reference(Parameters) | What parameters were input URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
extension:selectivity | S | 0..1 | (Complex) | Expression selectivity URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
type | S | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition
subject[x] | S | 0..1 | CodeableConcept, Reference(Group) | Type of individual the library content is focused on
Slices for relatedArtifact | S | 0..* | RelatedArtifact | Dependencies used by the artifact Slice: Unordered, Open by value:type
relatedArtifact:dependency | S C | 0..* | RelatedArtifact | What dependencies are referenced Constraints: mnf-2
Slices for extension |  |  |  | Content/Rules for all slices
extension:resourceReference | S C | 0..1 | Reference(Resource) | A reference to the dependency artifact (for canonical promotions) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
type | S | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Fixed Value: depends-on
display | S | 0..1 | string | Brief description of the related artifact
resource | S C | 0..1 | canonical(Resource) | A reference to the dependency artifact (for canonical resources)
parameter | S | 0..* | ParameterDefinition | Provides the definition of parameters for the module.
Slices for extension |  |  |  | Content/Rules for all slices
extension:defaultValue | S | 0..1 | string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio | cqf-defaultValue is used if the parameter definition has a default to provide the expected value of the default. Note that the value is provided according to the FHIR Type Mapping URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
extension:cqlType |  | 0..1 | string | cqf-cqlType is used to ensure that the type of the parameter can be unambiguously provided, given that the FHIR Type Mapping is potentially ambiguous (for the Period type specifically) URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
extension:cqlAccessModifier |  | 0..1 | code | What CQL access modifier URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier Binding: CQL Access Modifier (required): The access modifier of the element
extension:targetConstraint |  | 0..1 | (Complex) | Allowed values for the parameter URL: http://hl7.org/fhir/StructureDefinition/targetConstraint
dataRequirement | S | 0..* | DataRequirement | What data is referenced by this library
Slices for extension |  |  |  | Content/Rules for all slices
extension:isSelective | S | 0..1 | boolean | specifies whether a given DataRequirement is "selective" URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
extension:valueFilter | S | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
extension:fhirQueryPattern |  | 0..* | string | What FHIR query? URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
extension:fhirQueryPatternCoverage |  | 0..1 | code | How completely the query patterns cover the data requirement URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage Binding: Query Pattern Coverage Value Set (required)
extension:relatedDataRequirement |  | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
mnf-2 | error | Library.relatedArtifact:dependency | Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both | `resource.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Library | C | 0..* | Library | Represents a library of quality improvement components Constraints: lib-0
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:directReferenceCode | S | 0..* | Coding | A code directly referenced by the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
extension:logicDefinition | S | 0..* | (Complex) | A logic definition used in the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
extension:inputParameters | S | 0..1 | Reference(Parameters) | What parameters were input URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
extension:selectivity | S | 0..1 | (Complex) | Expression selectivity URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this library, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the library
version | Σ | 0..1 | string | Business version of the library
name | Σ C | 0..1 | string | Name for this library (computer friendly)
title | Σ | 0..1 | string | Name for this library (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the library
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
type | S Σ | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition Binding: LibraryType (extensible): The type of knowledge asset this library contains.
subject[x] | S | 0..1 |  | Type of individual the library content is focused on Binding: SubjectType (extensible): The possible types of subjects for a library (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description | Σ | 0..1 | markdown | Natural language description of the library
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for library (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this library is defined
usage |  | 0..1 | string | Describes the clinical usage of the library
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the library was approved by publisher
lastReviewDate |  | 0..1 | date | When the library was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the library is expected to be used
topic |  | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
author |  | 0..* | ContactDetail | Who authored the content
editor |  | 0..* | ContactDetail | Who edited the content
reviewer |  | 0..* | ContactDetail | Who reviewed the content
endorser |  | 0..* | ContactDetail | Who endorsed the content
Slices for relatedArtifact | S | 0..* | RelatedArtifact | Dependencies used by the artifact Slice: Unordered, Open by value:type
relatedArtifact:dependency | S C | 0..* | RelatedArtifact | What dependencies are referenced Constraints: mnf-2
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for extension |  |  |  | Content/Rules for all slices
extension:resourceReference | S C | 0..1 | Reference(Resource) | A reference to the dependency artifact (for canonical promotions) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
type | S Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Binding: RelatedArtifactType (required): The type of relationship to the related artifact. Fixed Value: depends-on
label | Σ | 0..1 | string | Short label
display | S Σ | 0..1 | string | Brief description of the related artifact
citation | Σ | 0..1 | markdown | Bibliographic citation for the artifact
url | Σ | 0..1 | url | Where the artifact can be accessed
document | Σ | 0..1 | Attachment | What document is being referenced
resource | S Σ C | 0..1 | canonical(Resource) | A reference to the dependency artifact (for canonical resources)
parameter | S | 0..* | ParameterDefinition | Provides the definition of parameters for the module.
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:defaultValue | S | 0..1 | string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio | cqf-defaultValue is used if the parameter definition has a default to provide the expected value of the default. Note that the value is provided according to the FHIR Type Mapping URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
extension:cqlType |  | 0..1 | string | cqf-cqlType is used to ensure that the type of the parameter can be unambiguously provided, given that the FHIR Type Mapping is potentially ambiguous (for the Period type specifically) URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
extension:cqlAccessModifier |  | 0..1 | code | What CQL access modifier URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier Binding: CQL Access Modifier (required): The access modifier of the element
extension:targetConstraint |  | 0..1 | (Complex) | Allowed values for the parameter URL: http://hl7.org/fhir/StructureDefinition/targetConstraint
name | Σ | 0..1 | code | Name used to access the parameter value
use | Σ | 1..1 | code | in | out Binding: OperationParameterUse (required): Whether the parameter is input or output.
min | Σ | 0..1 | integer | Minimum cardinality
max | Σ | 0..1 | string | Maximum cardinality (a number of *)
documentation | Σ | 0..1 | string | A brief description of the parameter
type | Σ | 1..1 | code | What type of value Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
profile | Σ | 0..1 | canonical(StructureDefinition) | What profile the value is expected to be
dataRequirement | S | 0..* | DataRequirement | What data is referenced by this library
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:isSelective | S | 0..1 | boolean | specifies whether a given DataRequirement is "selective" URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
extension:valueFilter | S | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
extension:fhirQueryPattern |  | 0..* | string | What FHIR query? URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
extension:fhirQueryPatternCoverage |  | 0..1 | code | How completely the query patterns cover the data requirement URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage Binding: Query Pattern Coverage Value Set (required)
extension:relatedDataRequirement |  | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement
type | Σ | 1..1 | code | The type of the required data Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
profile | Σ | 0..* | canonical(StructureDefinition) | The profile of the required data
subject[x] | Σ | 0..1 |  | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: SubjectType (extensible): The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
mustSupport | Σ | 0..* | string | Indicates specific structure elements that are referenced by the knowledge module
codeFilter | Σ C | 0..* | Element | What codes are expected Constraints: drq-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
path | Σ | 0..1 | string | A code-valued attribute to filter on
searchParam | Σ | 0..1 | string | A coded (token) parameter to search on
valueSet | Σ | 0..1 | canonical(ValueSet) | Valueset for the filter
code | Σ | 0..* | Coding | What code is expected
dateFilter | Σ C | 0..* | Element | What dates/date ranges are expected Constraints: drq-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
path | Σ | 0..1 | string | A date-valued attribute to filter on
searchParam | Σ | 0..1 | string | A date valued parameter to search on
value[x] | Σ | 0..1 |  | The value of the filter, as a Period, DateTime, or Duration value
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueDuration |  |  | Duration |
limit | Σ | 0..1 | positiveInt | Number of results
sort | Σ | 0..* | Element | Order of the results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
path | Σ | 1..1 | string | The name of the attribute to perform the sort
direction | Σ | 1..1 | code | ascending | descending Binding: SortDirection (required): The possible sort directions, ascending or descending.
content | Σ | 0..* | Attachment | Contents of the library, either embedded or referenced
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Library.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Library.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
Library.type | Base | extensible | LibraryType | 📍4.0.1 | FHIR Std.
Library.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Library.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
Library.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
Library.relatedArtifact:dependency.​type | Base | required | RelatedArtifactType | 📍4.0.1 | FHIR Std.
Library.parameter.use | Base | required | OperationParameterUse | 📍4.0.1 | FHIR Std.
Library.parameter.type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​sort.direction | Base | required | SortDirection | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Library | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Library | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Library | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Library | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Library | A resource should have narrative for robust management | `text.`div`.exists()`
drq-1 | error | Library.dataRequirement.codeFilter | Either a path or a searchParam must be provided, but not both | `path.exists() xor searchParam.exists()`
drq-2 | error | Library.dataRequirement.dateFilter | Either a path or a searchParam must be provided, but not both | `path.exists() xor searchParam.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
lib-0 | warning | Library | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mnf-2 | error | Library.relatedArtifact:dependency | Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both | `resource.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference').exists()`

Summary

Mandatory: 1 element(1 nested mandatory element)
Must-Support: 17 elements
Fixed: 1 element

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
- http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
- http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
- http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
- http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
- http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
- http://hl7.org/fhir/StructureDefinition/cqf-cqlType
- http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier
- http://hl7.org/fhir/StructureDefinition/targetConstraint
- http://hl7.org/fhir/StructureDefinition/cqf-isSelective
- http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
- http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
- http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage
- http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Library.relatedArtifact

Maturity: 3

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Library | C | 0..* | Library | Represents a library of quality improvement components Constraints: lib-0
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:directReferenceCode | S | 0..* | Coding | A code directly referenced by the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
extension:logicDefinition | S | 0..* | (Complex) | A logic definition used in the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
extension:inputParameters | S | 0..1 | Reference(Parameters) | What parameters were input URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
extension:selectivity | S | 0..1 | (Complex) | Expression selectivity URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
type | S Σ | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition Binding: LibraryType (extensible): The type of knowledge asset this library contains.
subject[x] | S | 0..1 |  | Type of individual the library content is focused on Binding: SubjectType (extensible): The possible types of subjects for a library (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
Slices for relatedArtifact | S | 0..* | RelatedArtifact | Dependencies used by the artifact Slice: Unordered, Open by value:type
relatedArtifact:dependency | S C | 0..* | RelatedArtifact | What dependencies are referenced Constraints: mnf-2
Slices for extension |  |  |  | Content/Rules for all slices
extension:resourceReference | S C | 0..1 | Reference(Resource) | A reference to the dependency artifact (for canonical promotions) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
type | S Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Binding: RelatedArtifactType (required): The type of relationship to the related artifact. Fixed Value: depends-on
display | S Σ | 0..1 | string | Brief description of the related artifact
resource | S Σ C | 0..1 | canonical(Resource) | A reference to the dependency artifact (for canonical resources)
parameter | S | 0..* | ParameterDefinition | Provides the definition of parameters for the module.
Slices for extension |  |  |  | Content/Rules for all slices
extension:defaultValue | S | 0..1 | string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio | cqf-defaultValue is used if the parameter definition has a default to provide the expected value of the default. Note that the value is provided according to the FHIR Type Mapping URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
extension:cqlType |  | 0..1 | string | cqf-cqlType is used to ensure that the type of the parameter can be unambiguously provided, given that the FHIR Type Mapping is potentially ambiguous (for the Period type specifically) URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
extension:cqlAccessModifier |  | 0..1 | code | What CQL access modifier URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier Binding: CQL Access Modifier (required): The access modifier of the element
extension:targetConstraint |  | 0..1 | (Complex) | Allowed values for the parameter URL: http://hl7.org/fhir/StructureDefinition/targetConstraint
use | Σ | 1..1 | code | in | out Binding: OperationParameterUse (required): Whether the parameter is input or output.
type | Σ | 1..1 | code | What type of value Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
dataRequirement | S | 0..* | DataRequirement | What data is referenced by this library
Slices for extension |  |  |  | Content/Rules for all slices
extension:isSelective | S | 0..1 | boolean | specifies whether a given DataRequirement is "selective" URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
extension:valueFilter | S | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
extension:fhirQueryPattern |  | 0..* | string | What FHIR query? URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
extension:fhirQueryPatternCoverage |  | 0..1 | code | How completely the query patterns cover the data requirement URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage Binding: Query Pattern Coverage Value Set (required)
extension:relatedDataRequirement |  | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement
type | Σ | 1..1 | code | The type of the required data Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Library.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
Library.type | Base | extensible | LibraryType | 📍4.0.1 | FHIR Std.
Library.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Library.relatedArtifact:dependency.​type | Base | required | RelatedArtifactType | 📍4.0.1 | FHIR Std.
Library.parameter.use | Base | required | OperationParameterUse | 📍4.0.1 | FHIR Std.
Library.parameter.type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Library | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Library | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Library | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Library | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Library | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
lib-0 | warning | Library | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mnf-2 | error | Library.relatedArtifact:dependency | Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both | `resource.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference').exists()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Library |  | 0..* | Library | Represents a library of quality improvement components
Slices for extension |  |  |  | Content/Rules for all slices
extension:directReferenceCode | S | 0..* | Coding | A code directly referenced by the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
extension:logicDefinition | S | 0..* | (Complex) | A logic definition used in the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
extension:inputParameters | S | 0..1 | Reference(Parameters) | What parameters were input URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
extension:selectivity | S | 0..1 | (Complex) | Expression selectivity URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
type | S | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition
subject[x] | S | 0..1 | CodeableConcept, Reference(Group) | Type of individual the library content is focused on
Slices for relatedArtifact | S | 0..* | RelatedArtifact | Dependencies used by the artifact Slice: Unordered, Open by value:type
relatedArtifact:dependency | S C | 0..* | RelatedArtifact | What dependencies are referenced Constraints: mnf-2
Slices for extension |  |  |  | Content/Rules for all slices
extension:resourceReference | S C | 0..1 | Reference(Resource) | A reference to the dependency artifact (for canonical promotions) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
type | S | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Fixed Value: depends-on
display | S | 0..1 | string | Brief description of the related artifact
resource | S C | 0..1 | canonical(Resource) | A reference to the dependency artifact (for canonical resources)
parameter | S | 0..* | ParameterDefinition | Provides the definition of parameters for the module.
Slices for extension |  |  |  | Content/Rules for all slices
extension:defaultValue | S | 0..1 | string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio | cqf-defaultValue is used if the parameter definition has a default to provide the expected value of the default. Note that the value is provided according to the FHIR Type Mapping URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
extension:cqlType |  | 0..1 | string | cqf-cqlType is used to ensure that the type of the parameter can be unambiguously provided, given that the FHIR Type Mapping is potentially ambiguous (for the Period type specifically) URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
extension:cqlAccessModifier |  | 0..1 | code | What CQL access modifier URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier Binding: CQL Access Modifier (required): The access modifier of the element
extension:targetConstraint |  | 0..1 | (Complex) | Allowed values for the parameter URL: http://hl7.org/fhir/StructureDefinition/targetConstraint
dataRequirement | S | 0..* | DataRequirement | What data is referenced by this library
Slices for extension |  |  |  | Content/Rules for all slices
extension:isSelective | S | 0..1 | boolean | specifies whether a given DataRequirement is "selective" URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
extension:valueFilter | S | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
extension:fhirQueryPattern |  | 0..* | string | What FHIR query? URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
extension:fhirQueryPatternCoverage |  | 0..1 | code | How completely the query patterns cover the data requirement URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage Binding: Query Pattern Coverage Value Set (required)
extension:relatedDataRequirement |  | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
mnf-2 | error | Library.relatedArtifact:dependency | Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both | `resource.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference').exists()`

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Library | C | 0..* | Library | Represents a library of quality improvement components Constraints: lib-0
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:directReferenceCode | S | 0..* | Coding | A code directly referenced by the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
extension:logicDefinition | S | 0..* | (Complex) | A logic definition used in the artifact URL: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
extension:inputParameters | S | 0..1 | Reference(Parameters) | What parameters were input URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
extension:selectivity | S | 0..1 | (Complex) | Expression selectivity URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this library, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the library
version | Σ | 0..1 | string | Business version of the library
name | Σ C | 0..1 | string | Name for this library (computer friendly)
title | Σ | 0..1 | string | Name for this library (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the library
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
type | S Σ | 1..1 | CodeableConcept | logic-library | model-definition | asset-collection | module-definition Binding: LibraryType (extensible): The type of knowledge asset this library contains.
subject[x] | S | 0..1 |  | Type of individual the library content is focused on Binding: SubjectType (extensible): The possible types of subjects for a library (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description | Σ | 0..1 | markdown | Natural language description of the library
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for library (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this library is defined
usage |  | 0..1 | string | Describes the clinical usage of the library
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the library was approved by publisher
lastReviewDate |  | 0..1 | date | When the library was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the library is expected to be used
topic |  | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
author |  | 0..* | ContactDetail | Who authored the content
editor |  | 0..* | ContactDetail | Who edited the content
reviewer |  | 0..* | ContactDetail | Who reviewed the content
endorser |  | 0..* | ContactDetail | Who endorsed the content
Slices for relatedArtifact | S | 0..* | RelatedArtifact | Dependencies used by the artifact Slice: Unordered, Open by value:type
relatedArtifact:dependency | S C | 0..* | RelatedArtifact | What dependencies are referenced Constraints: mnf-2
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for extension |  |  |  | Content/Rules for all slices
extension:resourceReference | S C | 0..1 | Reference(Resource) | A reference to the dependency artifact (for canonical promotions) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
type | S Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of Binding: RelatedArtifactType (required): The type of relationship to the related artifact. Fixed Value: depends-on
label | Σ | 0..1 | string | Short label
display | S Σ | 0..1 | string | Brief description of the related artifact
citation | Σ | 0..1 | markdown | Bibliographic citation for the artifact
url | Σ | 0..1 | url | Where the artifact can be accessed
document | Σ | 0..1 | Attachment | What document is being referenced
resource | S Σ C | 0..1 | canonical(Resource) | A reference to the dependency artifact (for canonical resources)
parameter | S | 0..* | ParameterDefinition | Provides the definition of parameters for the module.
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:defaultValue | S | 0..1 | string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, Ratio | cqf-defaultValue is used if the parameter definition has a default to provide the expected value of the default. Note that the value is provided according to the FHIR Type Mapping URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
extension:cqlType |  | 0..1 | string | cqf-cqlType is used to ensure that the type of the parameter can be unambiguously provided, given that the FHIR Type Mapping is potentially ambiguous (for the Period type specifically) URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
extension:cqlAccessModifier |  | 0..1 | code | What CQL access modifier URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier Binding: CQL Access Modifier (required): The access modifier of the element
extension:targetConstraint |  | 0..1 | (Complex) | Allowed values for the parameter URL: http://hl7.org/fhir/StructureDefinition/targetConstraint
name | Σ | 0..1 | code | Name used to access the parameter value
use | Σ | 1..1 | code | in | out Binding: OperationParameterUse (required): Whether the parameter is input or output.
min | Σ | 0..1 | integer | Minimum cardinality
max | Σ | 0..1 | string | Maximum cardinality (a number of *)
documentation | Σ | 0..1 | string | A brief description of the parameter
type | Σ | 1..1 | code | What type of value Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
profile | Σ | 0..1 | canonical(StructureDefinition) | What profile the value is expected to be
dataRequirement | S | 0..* | DataRequirement | What data is referenced by this library
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:isSelective | S | 0..1 | boolean | specifies whether a given DataRequirement is "selective" URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
extension:valueFilter | S | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
extension:fhirQueryPattern |  | 0..* | string | What FHIR query? URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
extension:fhirQueryPatternCoverage |  | 0..1 | code | How completely the query patterns cover the data requirement URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage Binding: Query Pattern Coverage Value Set (required)
extension:relatedDataRequirement |  | 0..* | (Complex) | Extension URL: http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement
type | Σ | 1..1 | code | The type of the required data Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
profile | Σ | 0..* | canonical(StructureDefinition) | The profile of the required data
subject[x] | Σ | 0..1 |  | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: SubjectType (extensible): The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
mustSupport | Σ | 0..* | string | Indicates specific structure elements that are referenced by the knowledge module
codeFilter | Σ C | 0..* | Element | What codes are expected Constraints: drq-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
path | Σ | 0..1 | string | A code-valued attribute to filter on
searchParam | Σ | 0..1 | string | A coded (token) parameter to search on
valueSet | Σ | 0..1 | canonical(ValueSet) | Valueset for the filter
code | Σ | 0..* | Coding | What code is expected
dateFilter | Σ C | 0..* | Element | What dates/date ranges are expected Constraints: drq-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
path | Σ | 0..1 | string | A date-valued attribute to filter on
searchParam | Σ | 0..1 | string | A date valued parameter to search on
value[x] | Σ | 0..1 |  | The value of the filter, as a Period, DateTime, or Duration value
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
valueDuration |  |  | Duration |
limit | Σ | 0..1 | positiveInt | Number of results
sort | Σ | 0..* | Element | Order of the results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
path | Σ | 1..1 | string | The name of the attribute to perform the sort
direction | Σ | 1..1 | code | ascending | descending Binding: SortDirection (required): The possible sort directions, ascending or descending.
content | Σ | 0..* | Attachment | Contents of the library, either embedded or referenced
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Library.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Library.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
Library.type | Base | extensible | LibraryType | 📍4.0.1 | FHIR Std.
Library.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Library.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
Library.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
Library.relatedArtifact:dependency.​type | Base | required | RelatedArtifactType | 📍4.0.1 | FHIR Std.
Library.parameter.use | Base | required | OperationParameterUse | 📍4.0.1 | FHIR Std.
Library.parameter.type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Library.dataRequirement.​sort.direction | Base | required | SortDirection | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Library | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Library | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Library | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Library | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Library | A resource should have narrative for robust management | `text.`div`.exists()`
drq-1 | error | Library.dataRequirement.codeFilter | Either a path or a searchParam must be provided, but not both | `path.exists() xor searchParam.exists()`
drq-2 | error | Library.dataRequirement.dateFilter | Either a path or a searchParam must be provided, but not both | `path.exists() xor searchParam.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
lib-0 | warning | Library | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mnf-2 | error | Library.relatedArtifact:dependency | Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both | `resource.exists() xor extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference').exists()`

Summary

Mandatory: 1 element(1 nested mandatory element)
Must-Support: 17 elements
Fixed: 1 element

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
- http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
- http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
- http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity
- http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference
- http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
- http://hl7.org/fhir/StructureDefinition/cqf-cqlType
- http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier
- http://hl7.org/fhir/StructureDefinition/targetConstraint
- http://hl7.org/fhir/StructureDefinition/cqf-isSelective
- http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
- http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
- http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage
- http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Library.relatedArtifact

Maturity: 3

Other representations of profile: CSV, Excel, Schematron