Using CQL with FHIR
1.0.0-ballot - Ballot International flag

This page is part of the Using CQL with FHIR Implementation Guide (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: CQL Module

Official URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module Version: 1.0.0-ballot
Standards status: Trial-use Maturity Level: 3 Computable Name: CQLModule

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

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Library

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library 0..*LibraryRepresents a library of quality improvement components
... directReferenceCode S0..*CodingA code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
... inputParameters S0..1Reference(Parameters)What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
... type S1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
... relatedArtifact S0..*RelatedArtifactDependencies used by the artifact
... parameter S0..*ParameterDefinitionParameters defined by the library
.... defaultValue S0..1string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, RatioExtension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
.... cqlType 0..1stringWhat CQL type
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
.... cqlAccessLevel 0..1stringWhat CQL access level
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessLevel
... dataRequirement S0..*DataRequirementWhat data is referenced by this library
.... isSelective S0..1booleanspecifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
.... valueFilter S0..*(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
.... fhirQueryPattern 0..*stringWhat FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Library C0..*LibraryRepresents a library of quality improvement components
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... directReferenceCode S0..*CodingA code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
... inputParameters S0..1Reference(Parameters)What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... type SΣ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible): The type of knowledge asset this library contains.

... subject[x] S0..1Type 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.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... relatedArtifact S0..*RelatedArtifactDependencies used by the artifact
... parameter S0..*ParameterDefinitionParameters defined by the library
.... defaultValue S0..1string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, RatioExtension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
.... cqlType 0..1stringWhat CQL type
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
.... cqlAccessLevel 0..1stringWhat CQL access level
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessLevel
.... use Σ1..1codein | out
Binding: OperationParameterUse (required): Whether the parameter is input or output.

.... type Σ1..1codeWhat 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 S0..*DataRequirementWhat data is referenced by this library
.... isSelective S0..1booleanspecifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
.... valueFilter S0..*(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
.... fhirQueryPattern 0..*stringWhat FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
.... type Σ1..1codeThe 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.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Library.statusrequiredPublicationStatus
Library.typeextensibleLibraryType
Library.subject[x]extensibleSubjectType
Library.parameter.userequiredOperationParameterUse
Library.parameter.typerequiredFHIRAllTypes
Library.dataRequirement.typerequiredFHIRAllTypes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLibraryIf 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-4errorLibraryIf 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-5errorLibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLibraryA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
lib-0warningLibraryName 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}')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Library C0..*LibraryRepresents a library of quality improvement components
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directReferenceCode S0..*CodingA code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
... inputParameters S0..1Reference(Parameters)What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this library, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the library
... version Σ0..1stringBusiness version of the library
... name ΣC0..1stringName for this library (computer friendly)
... title Σ0..1stringName for this library (human friendly)
... subtitle 0..1stringSubordinate title of the library
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... type SΣ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible): The type of knowledge asset this library contains.

... subject[x] S0..1Type 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.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the library
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this library is defined
... usage 0..1stringDescribes the clinical usage of the library
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the library was approved by publisher
... lastReviewDate 0..1dateWhen the library was last reviewed
... effectivePeriod Σ0..1PeriodWhen the library is expected to be used
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.


... author 0..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact S0..*RelatedArtifactDependencies used by the artifact
... parameter S0..*ParameterDefinitionParameters defined by the library
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... defaultValue S0..1string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, RatioExtension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
.... cqlType 0..1stringWhat CQL type
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
.... cqlAccessLevel 0..1stringWhat CQL access level
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessLevel
.... name Σ0..1codeName used to access the parameter value
.... use Σ1..1codein | out
Binding: OperationParameterUse (required): Whether the parameter is input or output.

.... min Σ0..1integerMinimum cardinality
.... max Σ0..1stringMaximum cardinality (a number of *)
.... documentation Σ0..1stringA brief description of the parameter
.... type Σ1..1codeWhat 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..1canonical(StructureDefinition)What profile the value is expected to be
... dataRequirement S0..*DataRequirementWhat data is referenced by this library
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... isSelective S0..1booleanspecifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
.... valueFilter S0..*(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
.... fhirQueryPattern 0..*stringWhat FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
.... type Σ1..1codeThe 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..1E.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.).

..... subjectCodeableConceptCodeableConcept
..... subjectReferenceReference(Group)
.... mustSupport Σ0..*stringIndicates specific structure elements that are referenced by the knowledge module
.... codeFilter ΣC0..*ElementWhat codes are expected
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... path Σ0..1stringA code-valued attribute to filter on
..... searchParam Σ0..1stringA coded (token) parameter to search on
..... valueSet Σ0..1canonical(ValueSet)Valueset for the filter
..... code Σ0..*CodingWhat code is expected
.... dateFilter ΣC0..*ElementWhat dates/date ranges are expected
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... path Σ0..1stringA date-valued attribute to filter on
..... searchParam Σ0..1stringA date valued parameter to search on
..... value[x] Σ0..1The value of the filter, as a Period, DateTime, or Duration value
...... valueDateTimedateTime
...... valuePeriodPeriod
...... valueDurationDuration
.... limit Σ0..1positiveIntNumber of results
.... sort Σ0..*ElementOrder of the results
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... path Σ1..1stringThe name of the attribute to perform the sort
..... direction Σ1..1codeascending | descending
Binding: SortDirection (required): The possible sort directions, ascending or descending.

... content Σ0..*AttachmentContents of the library, either embedded or referenced

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Library.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Library.statusrequiredPublicationStatus
Library.typeextensibleLibraryType
Library.subject[x]extensibleSubjectType
Library.jurisdictionextensibleJurisdiction ValueSet
Library.topicexampleDefinitionTopic
Library.parameter.userequiredOperationParameterUse
Library.parameter.typerequiredFHIRAllTypes
Library.dataRequirement.typerequiredFHIRAllTypes
Library.dataRequirement.subject[x]extensibleSubjectType
Library.dataRequirement.sort.directionrequiredSortDirection

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLibraryIf 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-4errorLibraryIf 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-5errorLibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLibraryA resource should have narrative for robust management
: text.`div`.exists()
drq-1errorLibrary.dataRequirement.codeFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
drq-2errorLibrary.dataRequirement.dateFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
lib-0warningLibraryName 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}')

Differential View

This structure is derived from Library

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library 0..*LibraryRepresents a library of quality improvement components
... directReferenceCode S0..*CodingA code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
... inputParameters S0..1Reference(Parameters)What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
... type S1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
... relatedArtifact S0..*RelatedArtifactDependencies used by the artifact
... parameter S0..*ParameterDefinitionParameters defined by the library
.... defaultValue S0..1string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, RatioExtension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
.... cqlType 0..1stringWhat CQL type
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
.... cqlAccessLevel 0..1stringWhat CQL access level
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessLevel
... dataRequirement S0..*DataRequirementWhat data is referenced by this library
.... isSelective S0..1booleanspecifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
.... valueFilter S0..*(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
.... fhirQueryPattern 0..*stringWhat FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library C0..*LibraryRepresents a library of quality improvement components
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... directReferenceCode S0..*CodingA code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
... inputParameters S0..1Reference(Parameters)What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... type SΣ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible): The type of knowledge asset this library contains.

... subject[x] S0..1Type 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.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... relatedArtifact S0..*RelatedArtifactDependencies used by the artifact
... parameter S0..*ParameterDefinitionParameters defined by the library
.... defaultValue S0..1string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, RatioExtension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
.... cqlType 0..1stringWhat CQL type
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
.... cqlAccessLevel 0..1stringWhat CQL access level
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessLevel
.... use Σ1..1codein | out
Binding: OperationParameterUse (required): Whether the parameter is input or output.

.... type Σ1..1codeWhat 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 S0..*DataRequirementWhat data is referenced by this library
.... isSelective S0..1booleanspecifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
.... valueFilter S0..*(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
.... fhirQueryPattern 0..*stringWhat FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
.... type Σ1..1codeThe 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.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Library.statusrequiredPublicationStatus
Library.typeextensibleLibraryType
Library.subject[x]extensibleSubjectType
Library.parameter.userequiredOperationParameterUse
Library.parameter.typerequiredFHIRAllTypes
Library.dataRequirement.typerequiredFHIRAllTypes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLibraryIf 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-4errorLibraryIf 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-5errorLibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLibraryA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
lib-0warningLibraryName 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}')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library C0..*LibraryRepresents a library of quality improvement components
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... directReferenceCode S0..*CodingA code directly referenced by the artifact
URL: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
... inputParameters S0..1Reference(Parameters)What parameters
URL: http://hl7.org/fhir/StructureDefinition/cqf-inputParameters
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this library, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the library
... version Σ0..1stringBusiness version of the library
... name ΣC0..1stringName for this library (computer friendly)
... title Σ0..1stringName for this library (human friendly)
... subtitle 0..1stringSubordinate title of the library
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... type SΣ1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible): The type of knowledge asset this library contains.

... subject[x] S0..1Type 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.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the library
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this library is defined
... usage 0..1stringDescribes the clinical usage of the library
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the library was approved by publisher
... lastReviewDate 0..1dateWhen the library was last reviewed
... effectivePeriod Σ0..1PeriodWhen the library is expected to be used
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.


... author 0..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact S0..*RelatedArtifactDependencies used by the artifact
... parameter S0..*ParameterDefinitionParameters defined by the library
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... defaultValue S0..1string, boolean, integer, decimal, date, dateTime, Coding, CodeableConcept, Period, Range, Quantity, RatioExtension
URL: http://hl7.org/fhir/StructureDefinition/cqf-defaultValue
.... cqlType 0..1stringWhat CQL type
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlType
.... cqlAccessLevel 0..1stringWhat CQL access level
URL: http://hl7.org/fhir/StructureDefinition/cqf-cqlAccessLevel
.... name Σ0..1codeName used to access the parameter value
.... use Σ1..1codein | out
Binding: OperationParameterUse (required): Whether the parameter is input or output.

.... min Σ0..1integerMinimum cardinality
.... max Σ0..1stringMaximum cardinality (a number of *)
.... documentation Σ0..1stringA brief description of the parameter
.... type Σ1..1codeWhat 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..1canonical(StructureDefinition)What profile the value is expected to be
... dataRequirement S0..*DataRequirementWhat data is referenced by this library
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... isSelective S0..1booleanspecifies whether a given DataRequirement is "selective"
URL: http://hl7.org/fhir/StructureDefinition/cqf-isSelective
.... valueFilter S0..*(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/cqf-valueFilter
.... fhirQueryPattern 0..*stringWhat FHIR query?
URL: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern
.... type Σ1..1codeThe 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..1E.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.).

..... subjectCodeableConceptCodeableConcept
..... subjectReferenceReference(Group)
.... mustSupport Σ0..*stringIndicates specific structure elements that are referenced by the knowledge module
.... codeFilter ΣC0..*ElementWhat codes are expected
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... path Σ0..1stringA code-valued attribute to filter on
..... searchParam Σ0..1stringA coded (token) parameter to search on
..... valueSet Σ0..1canonical(ValueSet)Valueset for the filter
..... code Σ0..*CodingWhat code is expected
.... dateFilter ΣC0..*ElementWhat dates/date ranges are expected
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... path Σ0..1stringA date-valued attribute to filter on
..... searchParam Σ0..1stringA date valued parameter to search on
..... value[x] Σ0..1The value of the filter, as a Period, DateTime, or Duration value
...... valueDateTimedateTime
...... valuePeriodPeriod
...... valueDurationDuration
.... limit Σ0..1positiveIntNumber of results
.... sort Σ0..*ElementOrder of the results
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... path Σ1..1stringThe name of the attribute to perform the sort
..... direction Σ1..1codeascending | descending
Binding: SortDirection (required): The possible sort directions, ascending or descending.

... content Σ0..*AttachmentContents of the library, either embedded or referenced

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Library.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Library.statusrequiredPublicationStatus
Library.typeextensibleLibraryType
Library.subject[x]extensibleSubjectType
Library.jurisdictionextensibleJurisdiction ValueSet
Library.topicexampleDefinitionTopic
Library.parameter.userequiredOperationParameterUse
Library.parameter.typerequiredFHIRAllTypes
Library.dataRequirement.typerequiredFHIRAllTypes
Library.dataRequirement.subject[x]extensibleSubjectType
Library.dataRequirement.sort.directionrequiredSortDirection

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorLibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLibraryIf 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-4errorLibraryIf 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-5errorLibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLibraryA resource should have narrative for robust management
: text.`div`.exists()
drq-1errorLibrary.dataRequirement.codeFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
drq-2errorLibrary.dataRequirement.dateFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
lib-0warningLibraryName 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}')

 

Other representations of profile: CSV, Excel, Schematron