Using CQL With FHIR
2.1.0-cibuild - STU 2 International flag

Using CQL With FHIR, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 2.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cql-ig/ and changes regularly. See the Directory of published versions

Resource Profile: CQL Capability Statement

Official URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-capabilitystatement Version: 2.1.0-cibuild
Standards status: Trial-use Active as of 2025-12-04 Maturity Level: 3 Computable Name: CQLCapabilityStatement
Other Identifiers: OID:2.16.840.1.113883.4.642.40.37.42.6

The CQL Capability Statement Profile enables capability statements to express supported CQL versions.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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.
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description Σ 1..1 string Describes this specific instance
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
... rest ΣC 0..1 BackboneElement If the endpoint is a RESTful one
Constraints: cpb-9
.... Slices for extension Content/Rules for all slices
..... extension:supportedCqlVersion S 0..* string What version of CQL is supported
URL: http://hl7.org/fhir/StructureDefinition/cqf-supportedCqlVersion
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode Σ 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.
Fixed Value: server

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CapabilityStatement.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​kind Base required CapabilityStatementKind 📍4.0.1 FHIR Std.
CapabilityStatement.​fhirVersion Base required FHIRVersion 📍4.0.1 FHIR Std.
CapabilityStatement.​format Base required MimeType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.mode Base required RestfulCapabilityMode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement 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}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-9 error CapabilityStatement.rest A given resource can only be described once per RESTful mode. resource.select(type).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement 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 CapabilityStatement 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 CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement 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()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement 0..* CapabilityStatement A statement of system capabilities
... rest 0..1 BackboneElement If the endpoint is a RESTful one
.... Slices for extension Content/Rules for all slices
..... extension:supportedCqlVersion S 0..* string What version of CQL is supported
URL: http://hl7.org/fhir/StructureDefinition/cqf-supportedCqlVersion
.... mode 1..1 code client | server
Fixed Value: server

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... 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 BindingsPurpose
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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this capability statement, represented as a URI (globally unique)
... version Σ 0..1 string Business version of the capability statement
... name ΣC 0..1 string Name for this capability statement (computer friendly)
... title Σ 0..1 string Name for this capability statement (human friendly)
... 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
... date Σ 1..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 C 0..1 markdown Natural language description of the capability statement
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this capability statement is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... instantiates Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this implements
... imports Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this adds to
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 string A name the software is known by
.... version Σ 0..1 string Version covered by this statement
.... releaseDate Σ 0..1 dateTime Date this version was released
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description Σ 1..1 string Describes this specific instance
.... url Σ 0..1 url Base URL for the installation
.... custodian Σ 0..1 Reference(Organization) Organization that manages the data
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
... patchFormat Σ 0..* code Patch formats supported
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
... implementationGuide Σ 0..* canonical(ImplementationGuide) Implementation guides supported
... rest ΣC 0..1 BackboneElement If the endpoint is a RESTful one
Constraints: cpb-9
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:supportedCqlVersion S 0..* string What version of CQL is supported
URL: http://hl7.org/fhir/StructureDefinition/cqf-supportedCqlVersion
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode Σ 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.
Fixed Value: server
.... documentation 0..1 markdown General description of implementation
.... security Σ 0..1 BackboneElement Information about security of implementation
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... cors Σ 0..1 boolean Adds CORS Headers (http://enable-cors.org/)
..... service Σ 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.
..... description 0..1 markdown General description of how security works
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
Constraints: cpb-12
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type Σ 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
..... profile Σ 0..1 canonical(StructureDefinition) Base System profile for all uses of resource
..... supportedProfile Σ 0..* canonical(StructureDefinition) Profiles for use cases supported
..... documentation 0..1 markdown Additional information about the use of the resource type
..... interaction 0..* BackboneElement What operations are supported?
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.
...... documentation 0..1 markdown Anything special about operation behavior
..... versioning 0..1 code no-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.
..... readHistory 0..1 boolean Whether vRead can return past versions
..... updateCreate 0..1 boolean If update can commit to a new identity
..... conditionalCreate 0..1 boolean If allows/uses conditional create
..... conditionalRead 0..1 code not-supported | modified-since | not-match | full-support
Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read.
..... conditionalUpdate 0..1 boolean If allows/uses conditional update
..... conditionalDelete 0..1 code not-supported | single | multiple - how conditional delete is supported
Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete.
..... referencePolicy 0..* code literal | logical | resolves | enforced | local
Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported.
..... searchInclude 0..* string _include values supported by the server
..... searchRevInclude 0..* string _revinclude values supported by the server
..... searchParam 0..* BackboneElement Search parameters supported by implementation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name 1..1 string Name of search parameter
...... definition 0..1 canonical(SearchParameter) Source of definition for parameter
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.
...... documentation 0..1 markdown Server-specific usage
..... operation Σ 0..* BackboneElement Definition of a resource operation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 string Name by which the operation/query is invoked
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
...... documentation 0..1 markdown Specific details about operation behavior
.... interaction 0..* BackboneElement What operations are supported?
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.
..... documentation 0..1 markdown Anything special about operation behavior
.... searchParam 0..* See searchParam (CapabilityStatement) Search parameters for searching all resources
.... operation Σ 0..* See operation (CapabilityStatement) Definition of a system level operation
.... compartment 0..* canonical(CompartmentDefinition) Compartments served/used by system
... messaging ΣC 0..* BackboneElement If messaging is supported
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... endpoint 0..* BackboneElement Where messages should be sent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... protocol 1..1 Coding http | ftp | mllp +
Binding: MessageTransport (extensible): The protocol used for message transport.
..... address 1..1 url Network address or identifier of the end-point
.... reliableCache 0..1 unsignedInt Reliable Message Cache Length (min)
.... documentation 0..1 markdown Messaging interface behavior details
.... supportedMessage Σ 0..* BackboneElement Messages supported by this system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode Σ 1..1 code sender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.
..... definition Σ 1..1 canonical(MessageDefinition) Message supported by this system
... document ΣC 0..* BackboneElement Document definition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode Σ 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.
.... documentation 0..1 markdown Description of document support
.... profile Σ 1..1 canonical(StructureDefinition) Constraint on the resources used in the document

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CapabilityStatement.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
CapabilityStatement.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
CapabilityStatement.​kind Base required CapabilityStatementKind 📍4.0.1 FHIR Std.
CapabilityStatement.​fhirVersion Base required FHIRVersion 📍4.0.1 FHIR Std.
CapabilityStatement.​format Base required MimeType 📍4.0.1 FHIR Std.
CapabilityStatement.​patchFormat Base required MimeType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.mode Base required RestfulCapabilityMode 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.security.service Base extensible RestfulSecurityService 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.type Base required ResourceType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.interaction.​code Base required TypeRestfulInteraction 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.versioning Base required ResourceVersionPolicy 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.conditionalRead Base required ConditionalReadStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.conditionalDelete Base required ConditionalDeleteStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.referencePolicy Base required ReferenceHandlingPolicy 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.searchParam.​type Base required SearchParamType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.interaction.code Base required SystemRestfulInteraction 📍4.0.1 FHIR Std.
CapabilityStatement.​messaging.endpoint.protocol Base extensible MessageTransport 📍4.0.1 FHIR Std.
CapabilityStatement.​messaging.supportedMessage.​mode Base required EventCapabilityMode 📍4.0.1 FHIR Std.
CapabilityStatement.​document.mode Base required DocumentMode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement 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}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-9 error CapabilityStatement.rest A given resource can only be described once per RESTful mode. resource.select(type).isDistinct()
cpb-12 error CapabilityStatement.rest.resource Search parameter names must be unique in the context of a resource. searchParam.select(name).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement 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 CapabilityStatement 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 CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement 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()

Summary

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

Extensions

This structure refers to these extensions:

Maturity: 3

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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.
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description Σ 1..1 string Describes this specific instance
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
... rest ΣC 0..1 BackboneElement If the endpoint is a RESTful one
Constraints: cpb-9
.... Slices for extension Content/Rules for all slices
..... extension:supportedCqlVersion S 0..* string What version of CQL is supported
URL: http://hl7.org/fhir/StructureDefinition/cqf-supportedCqlVersion
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode Σ 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.
Fixed Value: server

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CapabilityStatement.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​kind Base required CapabilityStatementKind 📍4.0.1 FHIR Std.
CapabilityStatement.​fhirVersion Base required FHIRVersion 📍4.0.1 FHIR Std.
CapabilityStatement.​format Base required MimeType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.mode Base required RestfulCapabilityMode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement 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}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-9 error CapabilityStatement.rest A given resource can only be described once per RESTful mode. resource.select(type).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement 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 CapabilityStatement 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 CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement 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()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement 0..* CapabilityStatement A statement of system capabilities
... rest 0..1 BackboneElement If the endpoint is a RESTful one
.... Slices for extension Content/Rules for all slices
..... extension:supportedCqlVersion S 0..* string What version of CQL is supported
URL: http://hl7.org/fhir/StructureDefinition/cqf-supportedCqlVersion
.... mode 1..1 code client | server
Fixed Value: server

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... 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 BindingsPurpose
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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this capability statement, represented as a URI (globally unique)
... version Σ 0..1 string Business version of the capability statement
... name ΣC 0..1 string Name for this capability statement (computer friendly)
... title Σ 0..1 string Name for this capability statement (human friendly)
... 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
... date Σ 1..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 C 0..1 markdown Natural language description of the capability statement
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this capability statement is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... instantiates Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this implements
... imports Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this adds to
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 string A name the software is known by
.... version Σ 0..1 string Version covered by this statement
.... releaseDate Σ 0..1 dateTime Date this version was released
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description Σ 1..1 string Describes this specific instance
.... url Σ 0..1 url Base URL for the installation
.... custodian Σ 0..1 Reference(Organization) Organization that manages the data
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
... patchFormat Σ 0..* code Patch formats supported
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
... implementationGuide Σ 0..* canonical(ImplementationGuide) Implementation guides supported
... rest ΣC 0..1 BackboneElement If the endpoint is a RESTful one
Constraints: cpb-9
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:supportedCqlVersion S 0..* string What version of CQL is supported
URL: http://hl7.org/fhir/StructureDefinition/cqf-supportedCqlVersion
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode Σ 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.
Fixed Value: server
.... documentation 0..1 markdown General description of implementation
.... security Σ 0..1 BackboneElement Information about security of implementation
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... cors Σ 0..1 boolean Adds CORS Headers (http://enable-cors.org/)
..... service Σ 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.
..... description 0..1 markdown General description of how security works
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
Constraints: cpb-12
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type Σ 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
..... profile Σ 0..1 canonical(StructureDefinition) Base System profile for all uses of resource
..... supportedProfile Σ 0..* canonical(StructureDefinition) Profiles for use cases supported
..... documentation 0..1 markdown Additional information about the use of the resource type
..... interaction 0..* BackboneElement What operations are supported?
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.
...... documentation 0..1 markdown Anything special about operation behavior
..... versioning 0..1 code no-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.
..... readHistory 0..1 boolean Whether vRead can return past versions
..... updateCreate 0..1 boolean If update can commit to a new identity
..... conditionalCreate 0..1 boolean If allows/uses conditional create
..... conditionalRead 0..1 code not-supported | modified-since | not-match | full-support
Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read.
..... conditionalUpdate 0..1 boolean If allows/uses conditional update
..... conditionalDelete 0..1 code not-supported | single | multiple - how conditional delete is supported
Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete.
..... referencePolicy 0..* code literal | logical | resolves | enforced | local
Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported.
..... searchInclude 0..* string _include values supported by the server
..... searchRevInclude 0..* string _revinclude values supported by the server
..... searchParam 0..* BackboneElement Search parameters supported by implementation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name 1..1 string Name of search parameter
...... definition 0..1 canonical(SearchParameter) Source of definition for parameter
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.
...... documentation 0..1 markdown Server-specific usage
..... operation Σ 0..* BackboneElement Definition of a resource operation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 string Name by which the operation/query is invoked
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
...... documentation 0..1 markdown Specific details about operation behavior
.... interaction 0..* BackboneElement What operations are supported?
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.
..... documentation 0..1 markdown Anything special about operation behavior
.... searchParam 0..* See searchParam (CapabilityStatement) Search parameters for searching all resources
.... operation Σ 0..* See operation (CapabilityStatement) Definition of a system level operation
.... compartment 0..* canonical(CompartmentDefinition) Compartments served/used by system
... messaging ΣC 0..* BackboneElement If messaging is supported
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... endpoint 0..* BackboneElement Where messages should be sent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... protocol 1..1 Coding http | ftp | mllp +
Binding: MessageTransport (extensible): The protocol used for message transport.
..... address 1..1 url Network address or identifier of the end-point
.... reliableCache 0..1 unsignedInt Reliable Message Cache Length (min)
.... documentation 0..1 markdown Messaging interface behavior details
.... supportedMessage Σ 0..* BackboneElement Messages supported by this system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode Σ 1..1 code sender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.
..... definition Σ 1..1 canonical(MessageDefinition) Message supported by this system
... document ΣC 0..* BackboneElement Document definition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode Σ 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.
.... documentation 0..1 markdown Description of document support
.... profile Σ 1..1 canonical(StructureDefinition) Constraint on the resources used in the document

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CapabilityStatement.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
CapabilityStatement.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
CapabilityStatement.​kind Base required CapabilityStatementKind 📍4.0.1 FHIR Std.
CapabilityStatement.​fhirVersion Base required FHIRVersion 📍4.0.1 FHIR Std.
CapabilityStatement.​format Base required MimeType 📍4.0.1 FHIR Std.
CapabilityStatement.​patchFormat Base required MimeType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.mode Base required RestfulCapabilityMode 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.security.service Base extensible RestfulSecurityService 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.type Base required ResourceType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.interaction.​code Base required TypeRestfulInteraction 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.versioning Base required ResourceVersionPolicy 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.conditionalRead Base required ConditionalReadStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.conditionalDelete Base required ConditionalDeleteStatus 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.referencePolicy Base required ReferenceHandlingPolicy 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.resource.searchParam.​type Base required SearchParamType 📍4.0.1 FHIR Std.
CapabilityStatement.​rest.interaction.code Base required SystemRestfulInteraction 📍4.0.1 FHIR Std.
CapabilityStatement.​messaging.endpoint.protocol Base extensible MessageTransport 📍4.0.1 FHIR Std.
CapabilityStatement.​messaging.supportedMessage.​mode Base required EventCapabilityMode 📍4.0.1 FHIR Std.
CapabilityStatement.​document.mode Base required DocumentMode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement 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}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-9 error CapabilityStatement.rest A given resource can only be described once per RESTful mode. resource.select(type).isDistinct()
cpb-12 error CapabilityStatement.rest.resource Search parameter names must be unique in the context of a resource. searchParam.select(name).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement 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 CapabilityStatement 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 CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement 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()

Summary

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

Extensions

This structure refers to these extensions:

Maturity: 3

 

Other representations of profile: CSV, Excel, Schematron