Using CQL with FHIR
1.0.0 - STU1 International flag

This page is part of the Using CQL with FHIR Implementation Guide (v1.0.0: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: CQL Capability Statement

Official URL: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-capabilitystatement Version: 1.0.0
Standards status: Trial-use 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.

Usage:

Formal Views of Profile Content

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

This structure is derived from CapabilityStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
..... 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 & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... 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
cpb-9: A given resource can only be described once per RESTful mode.
.... Slices for extension Content/Rules for all slices
..... 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

PathConformanceValueSet / CodeURI
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|4.0.1
from the FHIR Standard
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.0.1
from the FHIR Standard
CapabilityStatement.rest.moderequiredFixed Value: server
http://hl7.org/fhir/ValueSet/restful-capability-mode|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpb-0warningCapabilityStatementName 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-1errorCapabilityStatementA Capability Statement SHALL have at least one of REST, messaging or document element.
: rest.exists() or messaging.exists() or document.exists()
cpb-2errorCapabilityStatementA Capability Statement SHALL have at least one of description, software, or implementation element.
: (description.count() + software.count() + implementation.count()) > 0
cpb-3errorCapabilityStatementMessaging end-point is required (and is only permitted) when a statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-7errorCapabilityStatementThe set of documents must be unique by the combination of profile and mode.
: document.select(profile&mode).isDistinct()
cpb-9errorCapabilityStatement.restA given resource can only be described once per RESTful mode.
: resource.select(type).isDistinct()
cpb-14errorCapabilityStatementIf kind = instance, implementation must be present and software may be present
: (kind != 'instance') or implementation.exists()
cpb-15errorCapabilityStatementIf kind = capability, implementation must be absent, software must be present
: (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16errorCapabilityStatementIf kind = requirements, implementation and software must be absent
: (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2errorCapabilityStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCapabilityStatementIf 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-4errorCapabilityStatementIf 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-5errorCapabilityStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCapabilityStatementA 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... 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
... 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
cpb-9: A given resource can only be described once per RESTful mode.
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... 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
cpb-12: Search parameter names must be unique in the context of a resource.
..... 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

PathConformanceValueSet / CodeURI
CapabilityStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|4.0.1
from the FHIR Standard
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.0.1
from the FHIR Standard
CapabilityStatement.patchFormatrequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.0.1
from the FHIR Standard
CapabilityStatement.rest.moderequiredFixed Value: server
http://hl7.org/fhir/ValueSet/restful-capability-mode|4.0.1
from the FHIR Standard
CapabilityStatement.rest.security.serviceextensibleRestfulSecurityService
http://hl7.org/fhir/ValueSet/restful-security-service
from the FHIR Standard
CapabilityStatement.rest.resource.typerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
http://hl7.org/fhir/ValueSet/type-restful-interaction|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.versioningrequiredResourceVersionPolicy
http://hl7.org/fhir/ValueSet/versioning-policy|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalReadrequiredConditionalReadStatus
http://hl7.org/fhir/ValueSet/conditional-read-status|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalDeleterequiredConditionalDeleteStatus
http://hl7.org/fhir/ValueSet/conditional-delete-status|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.referencePolicyrequiredReferenceHandlingPolicy
http://hl7.org/fhir/ValueSet/reference-handling-policy|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
http://hl7.org/fhir/ValueSet/system-restful-interaction|4.0.1
from the FHIR Standard
CapabilityStatement.messaging.endpoint.protocolextensibleMessageTransport
http://hl7.org/fhir/ValueSet/message-transport
from the FHIR Standard
CapabilityStatement.messaging.supportedMessage.moderequiredEventCapabilityMode
http://hl7.org/fhir/ValueSet/event-capability-mode|4.0.1
from the FHIR Standard
CapabilityStatement.document.moderequiredDocumentMode
http://hl7.org/fhir/ValueSet/document-mode|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpb-0warningCapabilityStatementName 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-1errorCapabilityStatementA Capability Statement SHALL have at least one of REST, messaging or document element.
: rest.exists() or messaging.exists() or document.exists()
cpb-2errorCapabilityStatementA Capability Statement SHALL have at least one of description, software, or implementation element.
: (description.count() + software.count() + implementation.count()) > 0
cpb-3errorCapabilityStatementMessaging end-point is required (and is only permitted) when a statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-7errorCapabilityStatementThe set of documents must be unique by the combination of profile and mode.
: document.select(profile&mode).isDistinct()
cpb-9errorCapabilityStatement.restA given resource can only be described once per RESTful mode.
: resource.select(type).isDistinct()
cpb-12errorCapabilityStatement.rest.resourceSearch parameter names must be unique in the context of a resource.
: searchParam.select(name).isDistinct()
cpb-14errorCapabilityStatementIf kind = instance, implementation must be present and software may be present
: (kind != 'instance') or implementation.exists()
cpb-15errorCapabilityStatementIf kind = capability, implementation must be absent, software must be present
: (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16errorCapabilityStatementIf kind = requirements, implementation and software must be absent
: (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2errorCapabilityStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCapabilityStatementIf 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-4errorCapabilityStatementIf 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-5errorCapabilityStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCapabilityStatementA 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()

This structure is derived from CapabilityStatement

Summary

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

Extensions

This structure refers to these extensions:

Maturity: 3

Differential View

This structure is derived from CapabilityStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
..... 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

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... 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
cpb-9: A given resource can only be described once per RESTful mode.
.... Slices for extension Content/Rules for all slices
..... 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

PathConformanceValueSet / CodeURI
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|4.0.1
from the FHIR Standard
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.0.1
from the FHIR Standard
CapabilityStatement.rest.moderequiredFixed Value: server
http://hl7.org/fhir/ValueSet/restful-capability-mode|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpb-0warningCapabilityStatementName 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-1errorCapabilityStatementA Capability Statement SHALL have at least one of REST, messaging or document element.
: rest.exists() or messaging.exists() or document.exists()
cpb-2errorCapabilityStatementA Capability Statement SHALL have at least one of description, software, or implementation element.
: (description.count() + software.count() + implementation.count()) > 0
cpb-3errorCapabilityStatementMessaging end-point is required (and is only permitted) when a statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-7errorCapabilityStatementThe set of documents must be unique by the combination of profile and mode.
: document.select(profile&mode).isDistinct()
cpb-9errorCapabilityStatement.restA given resource can only be described once per RESTful mode.
: resource.select(type).isDistinct()
cpb-14errorCapabilityStatementIf kind = instance, implementation must be present and software may be present
: (kind != 'instance') or implementation.exists()
cpb-15errorCapabilityStatementIf kind = capability, implementation must be absent, software must be present
: (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16errorCapabilityStatementIf kind = requirements, implementation and software must be absent
: (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2errorCapabilityStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCapabilityStatementIf 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-4errorCapabilityStatementIf 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-5errorCapabilityStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCapabilityStatementA 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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... 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
... 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
cpb-9: A given resource can only be described once per RESTful mode.
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... 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
cpb-12: Search parameter names must be unique in the context of a resource.
..... 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

PathConformanceValueSet / CodeURI
CapabilityStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|4.0.1
from the FHIR Standard
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.0.1
from the FHIR Standard
CapabilityStatement.patchFormatrequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.0.1
from the FHIR Standard
CapabilityStatement.rest.moderequiredFixed Value: server
http://hl7.org/fhir/ValueSet/restful-capability-mode|4.0.1
from the FHIR Standard
CapabilityStatement.rest.security.serviceextensibleRestfulSecurityService
http://hl7.org/fhir/ValueSet/restful-security-service
from the FHIR Standard
CapabilityStatement.rest.resource.typerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
http://hl7.org/fhir/ValueSet/type-restful-interaction|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.versioningrequiredResourceVersionPolicy
http://hl7.org/fhir/ValueSet/versioning-policy|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalReadrequiredConditionalReadStatus
http://hl7.org/fhir/ValueSet/conditional-read-status|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalDeleterequiredConditionalDeleteStatus
http://hl7.org/fhir/ValueSet/conditional-delete-status|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.referencePolicyrequiredReferenceHandlingPolicy
http://hl7.org/fhir/ValueSet/reference-handling-policy|4.0.1
from the FHIR Standard
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
http://hl7.org/fhir/ValueSet/system-restful-interaction|4.0.1
from the FHIR Standard
CapabilityStatement.messaging.endpoint.protocolextensibleMessageTransport
http://hl7.org/fhir/ValueSet/message-transport
from the FHIR Standard
CapabilityStatement.messaging.supportedMessage.moderequiredEventCapabilityMode
http://hl7.org/fhir/ValueSet/event-capability-mode|4.0.1
from the FHIR Standard
CapabilityStatement.document.moderequiredDocumentMode
http://hl7.org/fhir/ValueSet/document-mode|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpb-0warningCapabilityStatementName 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-1errorCapabilityStatementA Capability Statement SHALL have at least one of REST, messaging or document element.
: rest.exists() or messaging.exists() or document.exists()
cpb-2errorCapabilityStatementA Capability Statement SHALL have at least one of description, software, or implementation element.
: (description.count() + software.count() + implementation.count()) > 0
cpb-3errorCapabilityStatementMessaging end-point is required (and is only permitted) when a statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-7errorCapabilityStatementThe set of documents must be unique by the combination of profile and mode.
: document.select(profile&mode).isDistinct()
cpb-9errorCapabilityStatement.restA given resource can only be described once per RESTful mode.
: resource.select(type).isDistinct()
cpb-12errorCapabilityStatement.rest.resourceSearch parameter names must be unique in the context of a resource.
: searchParam.select(name).isDistinct()
cpb-14errorCapabilityStatementIf kind = instance, implementation must be present and software may be present
: (kind != 'instance') or implementation.exists()
cpb-15errorCapabilityStatementIf kind = capability, implementation must be absent, software must be present
: (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16errorCapabilityStatementIf kind = requirements, implementation and software must be absent
: (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2errorCapabilityStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCapabilityStatementIf 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-4errorCapabilityStatementIf 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-5errorCapabilityStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCapabilityStatementA 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()

This structure is derived from CapabilityStatement

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