Content Management Infrastructure Implementation Guide
0.1.0 - ballot United States of America flag

Content Management Infrastructure Implementation Guide, published by Clinical Decision Support WG. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/HL7/Content-Management-Infrastructure-IG/ and changes regularly. See the Directory of published versions

Resource Profile: CMI Capability Statement

Official URL: http://hl7.org/fhir/uv/cmi/StructureDefinition/cmi-capabilitystatement Version: 0.1.0
Active as of 2021-08-30 Computable Name: CMICapabilityStatement

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

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from CapabilityStatement

Summary

Must-Support: 1 element

Extensions

This structure refers to these extensions:

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement I0..*CapabilityStatementA statement of system capabilities
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... cmi-supportedCqlVersion S0..*Coding1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5
URL: http://hl7.org/fhir/uv/cmi/StructureDefinition/cmi-supportedCqlVersion
Binding: CQL Version (extensible): The version of CQL supported


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this capability statement, represented as a URI (globally unique)
... version Σ0..1stringBusiness version of the capability statement
... name ΣI0..1stringName for this capability statement (computer friendly)
... title Σ0..1stringName for this capability statement (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ1..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description I0..1markdownNatural language description of the capability statement
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this capability statement is defined
... copyright 0..1markdownUse and/or publishing restrictions
... kind ΣI1..1codeinstance | 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 ΣI0..1BackboneElementSoftware that is covered by this capability statement
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name Σ1..1stringA name the software is known by
.... version Σ0..1stringVersion covered by this statement
.... releaseDate Σ0..1dateTimeDate this version was released
... implementation ΣI0..1BackboneElementIf this describes a specific instance
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description Σ1..1stringDescribes this specific instance
.... url Σ0..1urlBase URL for the installation
.... custodian Σ0..1Reference(Organization)Organization that manages the data
... fhirVersion Σ1..1codeFHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.

... format Σ1..*codeformats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.


... patchFormat Σ0..*codePatch 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 ΣI0..*BackboneElementIf the endpoint is a RESTful one
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... mode Σ1..1codeclient | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.

.... documentation 0..1markdownGeneral description of implementation
.... security Σ0..1BackboneElementInformation about security of implementation
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... cors Σ0..1booleanAdds CORS Headers (http://enable-cors.org/)
..... service Σ0..*CodeableConceptOAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.


..... description 0..1markdownGeneral description of how security works
.... resource ΣI0..*BackboneElementResource served on the REST interface
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1codeA resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.

..... profile Σ0..1canonical(StructureDefinition)Base System profile for all uses of resource
..... supportedProfile Σ0..*canonical(StructureDefinition)Profiles for use cases supported
..... documentation 0..1markdownAdditional information about the use of the resource type
..... interaction 0..*BackboneElementWhat operations are supported?
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... code 1..1coderead | 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..1markdownAnything special about operation behavior
..... versioning 0..1codeno-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.

..... readHistory 0..1booleanWhether vRead can return past versions
..... updateCreate 0..1booleanIf update can commit to a new identity
..... conditionalCreate 0..1booleanIf allows/uses conditional create
..... conditionalRead 0..1codenot-supported | modified-since | not-match | full-support
Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read.

..... conditionalUpdate 0..1booleanIf allows/uses conditional update
..... conditionalDelete 0..1codenot-supported | single | multiple - how conditional delete is supported
Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete.

..... referencePolicy 0..*codeliteral | 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..*BackboneElementSearch parameters supported by implementation
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... name 1..1stringName of search parameter
...... definition 0..1canonical(SearchParameter)Source of definition for parameter
...... type 1..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

...... documentation 0..1markdownServer-specific usage
..... operation Σ0..*BackboneElementDefinition of a resource operation
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... name Σ1..1stringName by which the operation/query is invoked
...... definition Σ1..1canonical(OperationDefinition)The defined operation/query
...... documentation 0..1markdownSpecific details about operation behavior
.... interaction 0..*BackboneElementWhat operations are supported?
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code 1..1codetransaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.

..... documentation 0..1markdownAnything 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 ΣI0..*BackboneElementIf messaging is supported
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... endpoint 0..*BackboneElementWhere messages should be sent
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... protocol 1..1Codinghttp | ftp | mllp +
Binding: MessageTransport (extensible): The protocol used for message transport.

..... address 1..1urlNetwork address or identifier of the end-point
.... reliableCache 0..1unsignedIntReliable Message Cache Length (min)
.... documentation 0..1markdownMessaging interface behavior details
.... supportedMessage Σ0..*BackboneElementMessages supported by this system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... mode Σ1..1codesender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.

..... definition Σ1..1canonical(MessageDefinition)Message supported by this system
... document ΣI0..*BackboneElementDocument definition
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... mode Σ1..1codeproducer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.

.... documentation 0..1markdownDescription of document support
.... profile Σ1..1canonical(StructureDefinition)Constraint on the resources used in the document

doco Documentation for this format

This structure is derived from CapabilityStatement

Summary

Must-Support: 1 element

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from CapabilityStatement

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement I0..*CapabilityStatementA statement of system capabilities
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... cmi-supportedCqlVersion S0..*Coding1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5
URL: http://hl7.org/fhir/uv/cmi/StructureDefinition/cmi-supportedCqlVersion
Binding: CQL Version (extensible): The version of CQL supported


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this capability statement, represented as a URI (globally unique)
... version Σ0..1stringBusiness version of the capability statement
... name ΣI0..1stringName for this capability statement (computer friendly)
... title Σ0..1stringName for this capability statement (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ1..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description I0..1markdownNatural language description of the capability statement
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this capability statement is defined
... copyright 0..1markdownUse and/or publishing restrictions
... kind ΣI1..1codeinstance | 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 ΣI0..1BackboneElementSoftware that is covered by this capability statement
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name Σ1..1stringA name the software is known by
.... version Σ0..1stringVersion covered by this statement
.... releaseDate Σ0..1dateTimeDate this version was released
... implementation ΣI0..1BackboneElementIf this describes a specific instance
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description Σ1..1stringDescribes this specific instance
.... url Σ0..1urlBase URL for the installation
.... custodian Σ0..1Reference(Organization)Organization that manages the data
... fhirVersion Σ1..1codeFHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.

... format Σ1..*codeformats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.


... patchFormat Σ0..*codePatch 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 ΣI0..*BackboneElementIf the endpoint is a RESTful one
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... mode Σ1..1codeclient | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.

.... documentation 0..1markdownGeneral description of implementation
.... security Σ0..1BackboneElementInformation about security of implementation
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... cors Σ0..1booleanAdds CORS Headers (http://enable-cors.org/)
..... service Σ0..*CodeableConceptOAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.


..... description 0..1markdownGeneral description of how security works
.... resource ΣI0..*BackboneElementResource served on the REST interface
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1codeA resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.

..... profile Σ0..1canonical(StructureDefinition)Base System profile for all uses of resource
..... supportedProfile Σ0..*canonical(StructureDefinition)Profiles for use cases supported
..... documentation 0..1markdownAdditional information about the use of the resource type
..... interaction 0..*BackboneElementWhat operations are supported?
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... code 1..1coderead | 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..1markdownAnything special about operation behavior
..... versioning 0..1codeno-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.

..... readHistory 0..1booleanWhether vRead can return past versions
..... updateCreate 0..1booleanIf update can commit to a new identity
..... conditionalCreate 0..1booleanIf allows/uses conditional create
..... conditionalRead 0..1codenot-supported | modified-since | not-match | full-support
Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read.

..... conditionalUpdate 0..1booleanIf allows/uses conditional update
..... conditionalDelete 0..1codenot-supported | single | multiple - how conditional delete is supported
Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete.

..... referencePolicy 0..*codeliteral | 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..*BackboneElementSearch parameters supported by implementation
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... name 1..1stringName of search parameter
...... definition 0..1canonical(SearchParameter)Source of definition for parameter
...... type 1..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

...... documentation 0..1markdownServer-specific usage
..... operation Σ0..*BackboneElementDefinition of a resource operation
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... name Σ1..1stringName by which the operation/query is invoked
...... definition Σ1..1canonical(OperationDefinition)The defined operation/query
...... documentation 0..1markdownSpecific details about operation behavior
.... interaction 0..*BackboneElementWhat operations are supported?
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code 1..1codetransaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.

..... documentation 0..1markdownAnything 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 ΣI0..*BackboneElementIf messaging is supported
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... endpoint 0..*BackboneElementWhere messages should be sent
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... protocol 1..1Codinghttp | ftp | mllp +
Binding: MessageTransport (extensible): The protocol used for message transport.

..... address 1..1urlNetwork address or identifier of the end-point
.... reliableCache 0..1unsignedIntReliable Message Cache Length (min)
.... documentation 0..1markdownMessaging interface behavior details
.... supportedMessage Σ0..*BackboneElementMessages supported by this system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... mode Σ1..1codesender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.

..... definition Σ1..1canonical(MessageDefinition)Message supported by this system
... document ΣI0..*BackboneElementDocument definition
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... mode Σ1..1codeproducer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.

.... documentation 0..1markdownDescription of document support
.... profile Σ1..1canonical(StructureDefinition)Constraint on the resources used in the document

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
CapabilityStatement.languagepreferredCommonLanguages
Max Binding: AllLanguages
CapabilityStatement.statusrequiredPublicationStatus
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet (missing link)
CapabilityStatement.kindrequiredCapabilityStatementKind
CapabilityStatement.fhirVersionrequiredFHIRVersion
CapabilityStatement.formatrequiredMime Types
CapabilityStatement.patchFormatrequiredMime Types
CapabilityStatement.rest.moderequiredRestfulCapabilityMode
CapabilityStatement.rest.security.serviceextensibleRestfulSecurityService
CapabilityStatement.rest.resource.typerequiredResourceType
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
CapabilityStatement.rest.resource.versioningrequiredResourceVersionPolicy
CapabilityStatement.rest.resource.conditionalReadrequiredConditionalReadStatus
CapabilityStatement.rest.resource.conditionalDeleterequiredConditionalDeleteStatus
CapabilityStatement.rest.resource.referencePolicyrequiredReferenceHandlingPolicy
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
CapabilityStatement.messaging.endpoint.protocolextensibleMessageTransport
CapabilityStatement.messaging.supportedMessage.moderequiredEventCapabilityMode
CapabilityStatement.document.moderequiredDocumentMode

Constraints

IdGradePathDetailsRequirements
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-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-1errorCapabilityStatement.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.extension:supportedCqlVersionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.extension:supportedCqlVersionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.experimentalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.publisherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.useContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.jurisdictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.copyrightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.kindAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.instantiatesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.importsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.softwareAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.software.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.software.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.software.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.software.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.software.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.software.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.software.releaseDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.implementationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.implementation.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.implementation.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.implementation.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.implementation.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.implementation.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.implementation.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.implementation.custodianAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.fhirVersionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.formatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.patchFormatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.implementationGuideAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cpb-9errorCapabilityStatement.restA given resource can only be described once per RESTful mode.
: resource.select(type).isDistinct()
ele-1errorCapabilityStatement.restAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.securityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.security.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.security.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.security.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.security.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.security.corsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.security.serviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.security.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cpb-12errorCapabilityStatement.rest.resourceSearch parameter names must be unique in the context of a resource.
: searchParam.select(name).isDistinct()
ele-1errorCapabilityStatement.rest.resourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.supportedProfileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.interactionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.interaction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.interaction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.interaction.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.interaction.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.interaction.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.interaction.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.versioningAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.readHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.updateCreateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.conditionalCreateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.conditionalReadAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.conditionalUpdateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.conditionalDeleteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.referencePolicyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchIncludeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchRevIncludeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchParamAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchParam.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.searchParam.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.searchParam.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.searchParam.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.searchParam.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchParam.definitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchParam.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.searchParam.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.operationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.operation.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.operation.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.operation.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.resource.operation.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.resource.operation.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.operation.definitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.resource.operation.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.interactionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.interaction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.interaction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.interaction.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.rest.interaction.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.rest.interaction.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.interaction.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.searchParamAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.operationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.rest.compartmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messagingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.messaging.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.messaging.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.messaging.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.messaging.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.endpoint.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.messaging.endpoint.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.messaging.endpoint.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.messaging.endpoint.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.messaging.endpoint.protocolAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.endpoint.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.reliableCacheAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.supportedMessageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.supportedMessage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.messaging.supportedMessage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.messaging.supportedMessage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.messaging.supportedMessage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.messaging.supportedMessage.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.messaging.supportedMessage.definitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.documentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.document.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.document.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.document.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCapabilityStatement.document.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCapabilityStatement.document.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.document.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCapabilityStatement.document.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())