Canonical Resource Management Infrastructure Implementation Guide
1.0.0-ballot2 - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot2: STU1 Ballot 2) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: CRMI Publishable CapabilityStatement

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablecapabilitystatement Version: 1.0.0-ballot2
Standards status: Trial-use Maturity Level: 3 Computable Name: CRMIPublishableCapabilityStatement

Supports declaration of the CapabilityStatement metadata required by HL7 and other organizations that share and publish capability statements with a focus on the aspects of that metadata that are important for post-publication activities including distribution, inclusion in repositories, consumption, and implementation.

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 1..1CapabilityStatementA statement of system capabilities
... identifier S0..*IdentifierAdditional identifier for the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier
... usage S0..1markdownDescribes the clinical usage of the artifact
URL: http://hl7.org/fhir/StructureDefinition/artifact-usage
... copyrightLabel S0..1stringCopyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
... lastReviewDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-lastReviewDate
... effectivePeriod S0..1PeriodWhen the artifact is expected to be used
URL: http://hl7.org/fhir/StructureDefinition/artifact-effectivePeriod
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-topic
Binding: DefinitionTopic (example): Topics associated with the artifact


... author S0..*ContactDetailWho authored the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-author
... editor S0..*ContactDetailWho edited the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-editor
... reviewer S0..*ContactDetailWho reviewed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-reviewer
... endorser S0..*ContactDetailWho endorsed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-endorser
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-relatedArtifact
... date S1..1dateTimeDate last changed
... contact S0..*ContactDetailContact details for the publisher
... useContext S0..*UsageContextThe context that the content is intended to support
... jurisdiction S0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
... purpose S0..1markdownWhy this capability statement is defined
... copyright S0..1markdownUse and/or publishing restrictions

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C1..1CapabilityStatementA statement of system capabilities
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier S0..*IdentifierAdditional identifier for the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier
... usage S0..1markdownDescribes the clinical usage of the artifact
URL: http://hl7.org/fhir/StructureDefinition/artifact-usage
... approvalDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-approvalDate
... lastReviewDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-lastReviewDate
... effectivePeriod S0..1PeriodWhen the artifact is expected to be used
URL: http://hl7.org/fhir/StructureDefinition/artifact-effectivePeriod
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-topic
Binding: DefinitionTopic (example): Topics associated with the artifact


... author S0..*ContactDetailWho authored the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-author
... editor S0..*ContactDetailWho edited the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-editor
... reviewer S0..*ContactDetailWho reviewed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-reviewer
... endorser S0..*ContactDetailWho endorsed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-endorser
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-relatedArtifact
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... date SΣ1..1dateTimeDate last changed
... contact SΣ0..*ContactDetailContact details for the publisher
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose S0..1markdownWhy this capability statement is defined
... copyright S0..1markdownUse and/or publishing restrictions
... kind ΣC1..1codeinstance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.

... implementation ΣC0..1BackboneElementIf this describes a specific instance
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description Σ1..1stringDescribes this specific instance
... 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.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CapabilityStatement.statusrequiredPublicationStatus
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet
CapabilityStatement.kindrequiredCapabilityStatementKind
CapabilityStatement.fhirVersionrequiredFHIRVersion
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)

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-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 C1..1CapabilityStatementA statement of system capabilities
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... identifier S0..*IdentifierAdditional identifier for the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier
... usage S0..1markdownDescribes the clinical usage of the artifact
URL: http://hl7.org/fhir/StructureDefinition/artifact-usage
... copyrightLabel S0..1stringCopyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
... approvalDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-approvalDate
... lastReviewDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-lastReviewDate
... effectivePeriod S0..1PeriodWhen the artifact is expected to be used
URL: http://hl7.org/fhir/StructureDefinition/artifact-effectivePeriod
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-topic
Binding: DefinitionTopic (example): Topics associated with the artifact


... author S0..*ContactDetailWho authored the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-author
... editor S0..*ContactDetailWho edited the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-editor
... reviewer S0..*ContactDetailWho reviewed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-reviewer
... endorser S0..*ContactDetailWho endorsed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-endorser
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-relatedArtifact
... 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 ΣC0..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 SΣ1..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description C0..1markdownNatural language description of the capability statement
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose S0..1markdownWhy this capability statement is defined
... copyright S0..1markdownUse and/or publishing restrictions
... kind ΣC1..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 ΣC0..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 ΣC0..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 ΣC0..*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 ΣC0..*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 ΣC0..*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 ΣC0..*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

Terminology Bindings

PathConformanceValueSet
CapabilityStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
CapabilityStatement.statusrequiredPublicationStatus
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet
CapabilityStatement.kindrequiredCapabilityStatementKind
CapabilityStatement.fhirVersionrequiredFHIRVersion
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)
CapabilityStatement.patchFormatrequiredMime Types (a valid code from urn:ietf:bcp:13)
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

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()

Differential View

This structure is derived from CapabilityStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement 1..1CapabilityStatementA statement of system capabilities
... identifier S0..*IdentifierAdditional identifier for the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier
... usage S0..1markdownDescribes the clinical usage of the artifact
URL: http://hl7.org/fhir/StructureDefinition/artifact-usage
... copyrightLabel S0..1stringCopyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
... lastReviewDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-lastReviewDate
... effectivePeriod S0..1PeriodWhen the artifact is expected to be used
URL: http://hl7.org/fhir/StructureDefinition/artifact-effectivePeriod
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-topic
Binding: DefinitionTopic (example): Topics associated with the artifact


... author S0..*ContactDetailWho authored the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-author
... editor S0..*ContactDetailWho edited the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-editor
... reviewer S0..*ContactDetailWho reviewed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-reviewer
... endorser S0..*ContactDetailWho endorsed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-endorser
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-relatedArtifact
... date S1..1dateTimeDate last changed
... contact S0..*ContactDetailContact details for the publisher
... useContext S0..*UsageContextThe context that the content is intended to support
... jurisdiction S0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
... purpose S0..1markdownWhy this capability statement is defined
... copyright S0..1markdownUse and/or publishing restrictions

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C1..1CapabilityStatementA statement of system capabilities
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier S0..*IdentifierAdditional identifier for the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier
... usage S0..1markdownDescribes the clinical usage of the artifact
URL: http://hl7.org/fhir/StructureDefinition/artifact-usage
... approvalDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-approvalDate
... lastReviewDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-lastReviewDate
... effectivePeriod S0..1PeriodWhen the artifact is expected to be used
URL: http://hl7.org/fhir/StructureDefinition/artifact-effectivePeriod
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-topic
Binding: DefinitionTopic (example): Topics associated with the artifact


... author S0..*ContactDetailWho authored the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-author
... editor S0..*ContactDetailWho edited the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-editor
... reviewer S0..*ContactDetailWho reviewed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-reviewer
... endorser S0..*ContactDetailWho endorsed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-endorser
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-relatedArtifact
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... date SΣ1..1dateTimeDate last changed
... contact SΣ0..*ContactDetailContact details for the publisher
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose S0..1markdownWhy this capability statement is defined
... copyright S0..1markdownUse and/or publishing restrictions
... kind ΣC1..1codeinstance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.

... implementation ΣC0..1BackboneElementIf this describes a specific instance
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description Σ1..1stringDescribes this specific instance
... 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.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CapabilityStatement.statusrequiredPublicationStatus
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet
CapabilityStatement.kindrequiredCapabilityStatementKind
CapabilityStatement.fhirVersionrequiredFHIRVersion
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)

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-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 C1..1CapabilityStatementA statement of system capabilities
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... identifier S0..*IdentifierAdditional identifier for the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier
... usage S0..1markdownDescribes the clinical usage of the artifact
URL: http://hl7.org/fhir/StructureDefinition/artifact-usage
... copyrightLabel S0..1stringCopyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
... approvalDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-approvalDate
... lastReviewDate S0..1dateWhen the artifact was approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/artifact-lastReviewDate
... effectivePeriod S0..1PeriodWhen the artifact is expected to be used
URL: http://hl7.org/fhir/StructureDefinition/artifact-effectivePeriod
... topic S0..*CodeableConceptE.g. Education, Treatment, Assessment, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-topic
Binding: DefinitionTopic (example): Topics associated with the artifact


... author S0..*ContactDetailWho authored the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-author
... editor S0..*ContactDetailWho edited the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-editor
... reviewer S0..*ContactDetailWho reviewed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-reviewer
... endorser S0..*ContactDetailWho endorsed the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-endorser
... relatedArtifact S0..*RelatedArtifactAdditional documentation, citations, etc.
URL: http://hl7.org/fhir/StructureDefinition/artifact-relatedArtifact
... 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 ΣC0..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 SΣ1..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description C0..1markdownNatural language description of the capability statement
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose S0..1markdownWhy this capability statement is defined
... copyright S0..1markdownUse and/or publishing restrictions
... kind ΣC1..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 ΣC0..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 ΣC0..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 ΣC0..*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 ΣC0..*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 ΣC0..*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 ΣC0..*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

Terminology Bindings

PathConformanceValueSet
CapabilityStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
CapabilityStatement.statusrequiredPublicationStatus
CapabilityStatement.jurisdictionextensibleJurisdiction ValueSet
CapabilityStatement.kindrequiredCapabilityStatementKind
CapabilityStatement.fhirVersionrequiredFHIRVersion
CapabilityStatement.formatrequiredMime Types (a valid code from urn:ietf:bcp:13)
CapabilityStatement.patchFormatrequiredMime Types (a valid code from urn:ietf:bcp:13)
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

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()

 

Other representations of profile: CSV, Excel, Schematron