description: 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 package_name: hl7.fhir.uv.cql derivation: constraint name: CQLModule type: Library elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode index: 0 slicing: slices: directReferenceCode: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode', index: 0} min: 0 logicDefinition: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition', index: 1} min: 0 inputParameters: match: {} schema: {short: What parameters were input, type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-inputParameters', index: 2} min: 0 max: 1 selectivity: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity', index: 3} min: 0 max: 1 type: {mustSupport: true, index: 4} subject: mustSupport: true choices: [] index: 6 relatedArtifact: short: Dependencies used by the artifact mustSupport: true index: 7 slicing: rules: open discriminator: - {path: type, type: value} min: null slices: dependency: match: {type: depends-on} schema: constraint: mnf-2: {human: 'Dependency reference must be either a resourceReference (referencing a canonical promotion) or a canonical (referencing a canonical resource), but not both', severity: error, expression: 'resource.exists() xor extension(''http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference'').exists()'} short: What dependencies are referenced mustSupport: true array: true index: 8 extensions: resourceReference: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference', min: 0, max: 1, short: A reference to the dependency artifact (for canonical promotions), type: Extension, mustSupport: true, index: 9} elements: extension: short: A reference to the dependency artifact (for canonical promotions) type: Extension mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference index: 9 slicing: slices: resourceReference: match: {} schema: {short: A reference to the dependency artifact (for canonical promotions), type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-RelatedArtifact.resourceReference', index: 9} min: 0 max: 1 type: type: code pattern: {type: Code, value: depends-on} mustSupport: true index: 10 display: {mustSupport: true, index: 11} resource: {short: A reference to the dependency artifact (for canonical resources), mustSupport: true, index: 12} required: [type] parameter: short: Provides the definition of parameters for the module. mustSupport: true index: 13 extensions: defaultValue: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-defaultValue', min: 0, max: 1, type: Extension, short: 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, mustSupport: true, index: 14} cqlType: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-cqlType', min: 0, max: 1, type: Extension, short: '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)', index: 15} cqlAccessModifier: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier', min: 0, max: 1, type: Extension, index: 16} targetConstraint: {url: 'http://hl7.org/fhir/StructureDefinition/targetConstraint', min: 0, max: 1, type: Extension, short: Allowed values for the parameter, index: 17} elements: extension: type: Extension short: 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 mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue index: 14 slicing: slices: defaultValue: match: {} schema: {type: Extension, short: 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, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-defaultValue', index: 14} min: 0 max: 1 cqlType: match: {} schema: {type: Extension, short: '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', index: 15} min: 0 max: 1 cqlAccessModifier: match: {} schema: {type: Extension, url: 'http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessModifier', index: 16} min: 0 max: 1 targetConstraint: match: {} schema: {type: Extension, short: Allowed values for the parameter, url: 'http://hl7.org/fhir/StructureDefinition/targetConstraint', index: 17} min: 0 max: 1 dataRequirement: mustSupport: true index: 18 extensions: isSelective: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-isSelective', min: 0, max: 1, short: specifies whether a given DataRequirement is "selective", type: Extension, mustSupport: true, index: 19} valueFilter: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-valueFilter', min: 0, type: Extension, mustSupport: true, index: 20} fhirQueryPattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern', min: 0, type: Extension, mustSupport: false, index: 21} fhirQueryPatternCoverage: {url: 'http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage', min: 0, max: 1, short: How completely the query patterns cover the data requirement, type: Extension, mustSupport: false, index: 22} relatedDataRequirement: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement', min: 0, type: Extension, mustSupport: false, index: 23} elements: extension: short: specifies whether a given DataRequirement is "selective" type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-isSelective index: 19 slicing: slices: isSelective: match: {} schema: {short: specifies whether a given DataRequirement is "selective", type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-isSelective', index: 19} min: 0 max: 1 valueFilter: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-valueFilter', index: 20} min: 0 fhirQueryPattern: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern', index: 21} min: 0 fhirQueryPatternCoverage: match: {} schema: {short: How completely the query patterns cover the data requirement, type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cql/StructureDefinition/cql-fhirQueryPatternCoverage', index: 22} min: 0 max: 1 relatedDataRequirement: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement', index: 23} min: 0 package_version: 3.0.0-ballot extensions: directReferenceCode: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode', min: 0, type: Extension, mustSupport: true, index: 0} logicDefinition: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition', min: 0, type: Extension, mustSupport: true, index: 1} inputParameters: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-inputParameters', min: 0, max: 1, short: What parameters were input, type: Extension, mustSupport: true, index: 2} selectivity: {url: 'http://hl7.org/fhir/uv/cql/StructureDefinition/cql-selectivity', min: 0, max: 1, type: Extension, mustSupport: true, index: 3} class: profile kind: resource url: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module base: http://hl7.org/fhir/StructureDefinition/Library version: 3.0.0-ballot required: [type]