Quality Measure STU2 for FHIR R4 Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v1.1.0: STU 2 Ballot 1) based on FHIR R4. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: library-cqfm

Examples:

Example Common Library
Supplemental Data Elements Shared Library
Global Common Functions Shared Library
Adult Outpatient Encounters Shared Library
Hospice Shared Library
Continuous Variable Measure Library
Patient-based Proportion Measure Library
Encounter-based Proportion Measure Library
Risk Adjustment Measure Library
Cohort Measure Library
Hospital Measure Library

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/library-cqfm

The CQFM Library profile defines expectations for a library used to distribute eCQM logic

This profile builds on Library.

This profile was published on Wed Feb 13 00:00:00 UTC 2019 as a active by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Mandatory: 13 elements (2 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 3 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Library.content is sliced based on the value of value:contentType
NameFlagsCard.TypeDescription & Constraintsdoco
.. Library I0..*LibraryRepresents a library of quality improvement components
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... cqfm-artifactComment SI0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url SΣI1..1uriCanonical identifier for this library, represented as a URI (globally unique)
... identifier SΣI1..*IdentifierAdditional identifier for the library
... version SΣI1..1stringBusiness version of the library
... name SΣI1..1stringName for this library (computer friendly)
... title SΣI1..1stringName for this library (human friendly)
... subtitle I0..1stringSubordinate title of the library
... status ?!ΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... type ΣI1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible)
... subject[x] I0..1Type of individual the library content is focused on
Binding: SubjectType (extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date SΣI1..1dateTimeDate last changed
... publisher SΣI1..1stringName of the publisher (organization or individual)
... contact SΣI1..*ContactDetailContact details for the publisher
... description SΣI1..1markdownNatural language description of the library
... useContext SΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣI0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose SI0..1markdownWhy this library is defined
... usage SI0..1stringDescribes the clinical usage of the library
... copyright SI0..1markdownUse and/or publishing restrictions
... approvalDate SI1..1dateWhen the library was approved by publisher
... lastReviewDate SI1..1dateWhen the library was last reviewed
... effectivePeriod SΣI0..1PeriodWhen the library is expected to be used
... topic SI0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
Binding: DefinitionTopic (example)
... author I0..*ContactDetailWho authored the content
... editor I0..*ContactDetailWho edited the content
... reviewer I0..*ContactDetailWho reviewed the content
... endorser I0..*ContactDetailWho endorsed the content
... relatedArtifact SI0..*RelatedArtifactAny referenced CQL libraries or additional documentation, citations, etc.
... parameter SI0..*ParameterDefinitionParameters defined by the library
... dataRequirement SI0..*DataRequirementWhat data is referenced by this library
... content ΣI0..*(Slice Definition)Contents of the library, either embedded or referenced
Slice: Unordered, Open by value:contentType
.... content:cqlContent SΣI1..*AttachmentContents of the library, either embedded or referenced
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣI1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: text/cql
..... language ΣI0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created
.... content:elmXmlContent SΣI0..*AttachmentContents of the library, either embedded or referenced
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣI1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+xml
..... language ΣI0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created
.... content:elmJsonContent SΣI0..*AttachmentContents of the library, either embedded or referenced
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣI1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+json
..... language ΣI0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created

doco Documentation for this format

Summary

Mandatory: 13 elements (2 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 3 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Library.content is sliced based on the value of value:contentType

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Library I0..*LibraryRepresents a library of quality improvement components
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... cqfm-artifactComment SI0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url SΣI1..1uriCanonical identifier for this library, represented as a URI (globally unique)
... identifier SΣI1..*IdentifierAdditional identifier for the library
... version SΣI1..1stringBusiness version of the library
... name SΣI1..1stringName for this library (computer friendly)
... title SΣI1..1stringName for this library (human friendly)
... subtitle I0..1stringSubordinate title of the library
... status ?!ΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... type ΣI1..1CodeableConceptlogic-library | model-definition | asset-collection | module-definition
Binding: LibraryType (extensible)
... subject[x] I0..1Type of individual the library content is focused on
Binding: SubjectType (extensible)
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date SΣI1..1dateTimeDate last changed
... publisher SΣI1..1stringName of the publisher (organization or individual)
... contact SΣI1..*ContactDetailContact details for the publisher
... description SΣI1..1markdownNatural language description of the library
... useContext SΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣI0..*CodeableConceptIntended jurisdiction for library (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose SI0..1markdownWhy this library is defined
... usage SI0..1stringDescribes the clinical usage of the library
... copyright SI0..1markdownUse and/or publishing restrictions
... approvalDate SI1..1dateWhen the library was approved by publisher
... lastReviewDate SI1..1dateWhen the library was last reviewed
... effectivePeriod SΣI0..1PeriodWhen the library is expected to be used
... topic SI0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
Binding: DefinitionTopic (example)
... author I0..*ContactDetailWho authored the content
... editor I0..*ContactDetailWho edited the content
... reviewer I0..*ContactDetailWho reviewed the content
... endorser I0..*ContactDetailWho endorsed the content
... relatedArtifact SI0..*RelatedArtifactAny referenced CQL libraries or additional documentation, citations, etc.
... parameter SI0..*ParameterDefinitionParameters defined by the library
... dataRequirement SI0..*DataRequirementWhat data is referenced by this library
... content ΣI0..*(Slice Definition)Contents of the library, either embedded or referenced
Slice: Unordered, Open by value:contentType
.... content:cqlContent SΣI1..*AttachmentContents of the library, either embedded or referenced
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣI1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: text/cql
..... language ΣI0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created
.... content:elmXmlContent SΣI0..*AttachmentContents of the library, either embedded or referenced
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣI1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+xml
..... language ΣI0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created
.... content:elmJsonContent SΣI0..*AttachmentContents of the library, either embedded or referenced
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣI1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required)
Fixed Value: application/elm+json
..... language ΣI0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
Library.languagepreferredCommonLanguages
Max Binding: AllLanguages
Library.statusrequiredPublicationStatus
Library.typeextensibleLibraryType
Library.subject[x]extensibleSubjectType
Library.jurisdictionextensibleJurisdiction ValueSet
Library.topicexampleDefinitionTopic
Library.content:cqlContent.contentTyperequiredFixed Value: text/cql
Library.content:cqlContent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Library.content:elmXmlContent.contentTyperequiredFixed Value: application/elm+xml
Library.content:elmXmlContent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Library.content:elmJsonContent.contentTyperequiredFixed Value: application/elm+json
Library.content:elmJsonContent.languagepreferredCommonLanguages
Max Binding: AllLanguages

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2LibraryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3LibraryIf 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-4LibraryIf 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-5LibraryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6LibraryA resource should have narrative for robust management
: text.`div`.exists()
lib-0LibraryName 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}')
ele-1Library.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Library.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Library.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Library.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.subtitleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.experimentalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.subject[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.publisherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.useContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.jurisdictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.usageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.copyrightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.approvalDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.lastReviewDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.effectivePeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.topicAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.editorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.reviewerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.endorserAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.relatedArtifactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.parameterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.dataRequirementAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Library.content.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.content.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.sizeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.hashAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.creationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Library.content.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.content.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.sizeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.hashAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.creationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Library.content.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Library.content.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.sizeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.hashAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Library.content.creationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())