FHIR Application Feature Framework Implementation Guide
1.0.0 - STU1 Ballot International flag

FHIR Application Feature Framework Implementation Guide, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/capstmt/ and changes regularly. See the Directory of published versions

Resource Profile: Feature Capability Statement

Official URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/FeatureCapabilityStatement Version: 1.0.0
Standards status: Trial-use Maturity Level: 1 Computable Name: FeatureCapabilityStatement

A profile on the CapabilityStatement resource that allows for feature negotiation.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is only permitted when a capability statement is for an implementation.
cpb-4: There should only be one CapabilityStatement.rest per mode.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... date Σ 1..1 dateTime Date last changed
ele-1: All FHIR elements must have a @value or children
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.


ele-1: All FHIR elements must have a @value or children
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... name Σ 1..1 string A name the software is known by
ele-1: All FHIR elements must have a @value or children
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... description Σ 1..1 markdown Describes this specific instance
ele-1: All FHIR elements must have a @value or children
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.


ele-1: All FHIR elements must have a @value or children
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: MimeTypes (required): The mime type of an attachment. Any valid mime type is allowed.

Additional BindingsPurpose
CapabilityFormatType Starter

ele-1: All FHIR elements must have a @value or children
... rest ΣC 0..* BackboneElement If the endpoint is a RESTful one
cpb-9: A given resource can only be described once per RESTful mode.
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... mode ΣC 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.


ele-1: All FHIR elements must have a @value or children
.... security Σ 0..1 BackboneElement Information about security of implementation
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
cpb-12: Search parameter names must be unique in the context of a resource.
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... type ΣC 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


ele-1: All FHIR elements must have a @value or children
..... interaction 0..* BackboneElement What operations are supported?
ele-1: All FHIR elements must have a @value or children
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.


ele-1: All FHIR elements must have a @value or children
..... searchParam C 0..* BackboneElement Search parameters supported by implementation
ele-1: All FHIR elements must have a @value or children
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... name C 1..1 string Name for parameter in search url
ele-1: All FHIR elements must have a @value or children
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.


ele-1: All FHIR elements must have a @value or children
..... operation Σ 0..* BackboneElement Definition of a resource operation
ele-1: All FHIR elements must have a @value or children
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... name Σ 1..1 string Name by which the operation/query is invoked
ele-1: All FHIR elements must have a @value or children
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
ele-1: All FHIR elements must have a @value or children
.... interaction 0..* BackboneElement What operations are supported?
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.


ele-1: All FHIR elements must have a @value or children
... messaging ΣC 0..* BackboneElement If messaging is supported
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... document ΣC 0..* BackboneElement Document definition
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... mode ΣC 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.


ele-1: All FHIR elements must have a @value or children
.... profile ΣC 1..1 canonical(StructureDefinition) Constraint on the resources used in the document
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|5.0.0
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|5.0.0
from the FHIR Standard
CapabilityStatement.formatrequiredMimeTypes (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
from the FHIR Standard
CapabilityStatement.rest.moderequiredRestfulCapabilityMode
http://hl7.org/fhir/ValueSet/restful-capability-mode|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.typerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
http://hl7.org/fhir/ValueSet/type-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|5.0.0
from the FHIR Standard
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
http://hl7.org/fhir/ValueSet/system-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.document.moderequiredDocumentMode
http://hl7.org/fhir/ValueSet/document-mode|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCapabilityStatementName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,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 only permitted when a capability statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-4errorCapabilityStatementThere should only be one CapabilityStatement.rest per mode.
: rest.mode.isDistinct()
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())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CapabilityStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement CapabilityStatement
... name S 0..1 string Name for this capability statement (computer friendly)
... rest
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... security
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... resource
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... interaction
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... searchParam
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... operation
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... interaction
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
... messaging
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is only permitted when a capability statement is for an implementation.
cpb-4: There should only be one CapabilityStatement.rest per mode.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this capability statement, represented as a URI (globally unique)
cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the CapabilityStatement (business identifier)
... version Σ 0..1 string Business version of the capability statement
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name SΣC 0..1 string Name for this capability statement (computer friendly)
... title Σ 0..1 string Name for this capability statement (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 1..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description C 0..1 markdown Natural language description of the capability statement
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for capability statement (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this capability statement is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.

... instantiates Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this implements
... imports Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this adds to
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 string A name the software is known by
.... version Σ 0..1 string Version covered by this statement
.... releaseDate Σ 0..1 dateTime Date this version was released
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description Σ 1..1 markdown Describes this specific instance
.... url Σ 0..1 url Base URL for the installation
.... custodian Σ 0..1 Reference(Organization) Organization that manages the data
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.

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

Additional BindingsPurpose
CapabilityFormatType Starter

... patchFormat Σ 0..* code Patch formats supported
Binding: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


... acceptLanguage Σ 0..* code Languages supported
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter

... implementationGuide Σ 0..* canonical(ImplementationGuide) Implementation guides supported
... rest ΣC 0..* BackboneElement If the endpoint is a RESTful one
cpb-9: A given resource can only be described once per RESTful mode.
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode ΣC 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.

.... documentation 0..1 markdown General description of implementation
.... security Σ 0..1 BackboneElement Information about security of implementation
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... cors Σ 0..1 boolean Adds CORS Headers (http://enable-cors.org/)
..... service Σ 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.


..... description 0..1 markdown General description of how security works
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
cpb-12: Search parameter names must be unique in the context of a resource.
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type ΣC 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.

..... profile Σ 0..1 canonical(StructureDefinition) System-wide profile
..... supportedProfile Σ 0..* canonical(StructureDefinition) Use-case specific profiles
..... documentation 0..1 markdown Additional information about the use of the resource type
..... interaction 0..* BackboneElement What operations are supported?
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.

...... documentation 0..1 markdown Anything special about operation behavior
..... versioning 0..1 code no-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.

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

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

..... referencePolicy 0..* code literal | logical | resolves | enforced | local
Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported.


..... searchInclude 0..* string _include values supported by the server
..... searchRevInclude 0..* string _revinclude values supported by the server
..... searchParam C 0..* BackboneElement Search parameters supported by implementation
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name C 1..1 string Name for parameter in search url
...... definition 0..1 canonical(SearchParameter) Source of definition for parameter
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

...... documentation 0..1 markdown Server-specific usage
..... operation Σ 0..* BackboneElement Definition of a resource operation
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 string Name by which the operation/query is invoked
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
...... documentation 0..1 markdown Specific details about operation behavior
.... interaction 0..* BackboneElement What operations are supported?
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.

..... documentation 0..1 markdown Anything special about operation behavior
.... searchParam 0..* See searchParam (CapabilityStatement) Search parameters for searching all resources
.... operation Σ 0..* See operation (CapabilityStatement) Definition of a system level operation
.... compartment 0..* canonical(CompartmentDefinition) Compartments served/used by system
... messaging ΣC 0..* BackboneElement If messaging is supported
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... endpoint C 0..* BackboneElement Where messages should be sent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... protocol 1..1 Coding http | ftp | mllp +
Binding: MessageTransport (extensible): The protocol used for message transport.

..... address 1..1 url Network address or identifier of the end-point
.... reliableCache 0..1 unsignedInt Reliable Message Cache Length (min)
.... documentation 0..1 markdown Messaging interface behavior details
.... supportedMessage Σ 0..* BackboneElement Messages supported by this system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode Σ 1..1 code sender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.

..... definition Σ 1..1 canonical(MessageDefinition) Message supported by this system
... document ΣC 0..* BackboneElement Document definition
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode ΣC 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.

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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CapabilityStatement.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
CapabilityStatement.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
CapabilityStatement.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|5.0.0
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|5.0.0
from the FHIR Standard
CapabilityStatement.formatrequiredMimeTypes (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
from the FHIR Standard
CapabilityStatement.patchFormatrequiredMimeTypes (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
from the FHIR Standard
CapabilityStatement.acceptLanguagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
CapabilityStatement.rest.moderequiredRestfulCapabilityMode
http://hl7.org/fhir/ValueSet/restful-capability-mode|5.0.0
from the FHIR Standard
CapabilityStatement.rest.security.serviceextensibleRestfulSecurityService
http://hl7.org/fhir/ValueSet/restful-security-service
from the FHIR Standard
CapabilityStatement.rest.resource.typerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
http://hl7.org/fhir/ValueSet/type-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.versioningrequiredResourceVersionPolicy
http://hl7.org/fhir/ValueSet/versioning-policy|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalReadrequiredConditionalReadStatus
http://hl7.org/fhir/ValueSet/conditional-read-status|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalDeleterequiredConditionalDeleteStatus
http://hl7.org/fhir/ValueSet/conditional-delete-status|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.referencePolicyrequiredReferenceHandlingPolicy
http://hl7.org/fhir/ValueSet/reference-handling-policy|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|5.0.0
from the FHIR Standard
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
http://hl7.org/fhir/ValueSet/system-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.messaging.endpoint.protocolextensibleMessageTransport
http://hl7.org/fhir/ValueSet/message-transport
from the FHIR Standard
CapabilityStatement.messaging.supportedMessage.moderequiredEventCapabilityMode
http://hl7.org/fhir/ValueSet/event-capability-mode|5.0.0
from the FHIR Standard
CapabilityStatement.document.moderequiredDocumentMode
http://hl7.org/fhir/ValueSet/document-mode|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCapabilityStatementName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1warningCapabilityStatement.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
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 only permitted when a capability statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-4errorCapabilityStatementThere should only be one CapabilityStatement.rest per mode.
: rest.mode.isDistinct()
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())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CapabilityStatement

Summary

Must-Support: 10 elements

Extensions

This structure refers to these extensions:

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is only permitted when a capability statement is for an implementation.
cpb-4: There should only be one CapabilityStatement.rest per mode.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... date Σ 1..1 dateTime Date last changed
ele-1: All FHIR elements must have a @value or children
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.


ele-1: All FHIR elements must have a @value or children
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... name Σ 1..1 string A name the software is known by
ele-1: All FHIR elements must have a @value or children
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... description Σ 1..1 markdown Describes this specific instance
ele-1: All FHIR elements must have a @value or children
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.


ele-1: All FHIR elements must have a @value or children
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: MimeTypes (required): The mime type of an attachment. Any valid mime type is allowed.

Additional BindingsPurpose
CapabilityFormatType Starter

ele-1: All FHIR elements must have a @value or children
... rest ΣC 0..* BackboneElement If the endpoint is a RESTful one
cpb-9: A given resource can only be described once per RESTful mode.
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... mode ΣC 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.


ele-1: All FHIR elements must have a @value or children
.... security Σ 0..1 BackboneElement Information about security of implementation
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
cpb-12: Search parameter names must be unique in the context of a resource.
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... type ΣC 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


ele-1: All FHIR elements must have a @value or children
..... interaction 0..* BackboneElement What operations are supported?
ele-1: All FHIR elements must have a @value or children
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.


ele-1: All FHIR elements must have a @value or children
..... searchParam C 0..* BackboneElement Search parameters supported by implementation
ele-1: All FHIR elements must have a @value or children
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... name C 1..1 string Name for parameter in search url
ele-1: All FHIR elements must have a @value or children
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.


ele-1: All FHIR elements must have a @value or children
..... operation Σ 0..* BackboneElement Definition of a resource operation
ele-1: All FHIR elements must have a @value or children
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... name Σ 1..1 string Name by which the operation/query is invoked
ele-1: All FHIR elements must have a @value or children
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
ele-1: All FHIR elements must have a @value or children
.... interaction 0..* BackboneElement What operations are supported?
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.


ele-1: All FHIR elements must have a @value or children
... messaging ΣC 0..* BackboneElement If messaging is supported
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... document ΣC 0..* BackboneElement Document definition
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... mode ΣC 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.


ele-1: All FHIR elements must have a @value or children
.... profile ΣC 1..1 canonical(StructureDefinition) Constraint on the resources used in the document
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|5.0.0
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|5.0.0
from the FHIR Standard
CapabilityStatement.formatrequiredMimeTypes (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
from the FHIR Standard
CapabilityStatement.rest.moderequiredRestfulCapabilityMode
http://hl7.org/fhir/ValueSet/restful-capability-mode|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.typerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
http://hl7.org/fhir/ValueSet/type-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|5.0.0
from the FHIR Standard
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
http://hl7.org/fhir/ValueSet/system-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.document.moderequiredDocumentMode
http://hl7.org/fhir/ValueSet/document-mode|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCapabilityStatementName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,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 only permitted when a capability statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-4errorCapabilityStatementThere should only be one CapabilityStatement.rest per mode.
: rest.mode.isDistinct()
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())
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 CapabilityStatement
... name S 0..1 string Name for this capability statement (computer friendly)
... rest
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... security
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... resource
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... interaction
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... searchParam
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... operation
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... interaction
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
... messaging
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CapabilityStatement C 0..* CapabilityStatement A statement of system capabilities
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element.
cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element.
cpb-3: Messaging end-point is only permitted when a capability statement is for an implementation.
cpb-4: There should only be one CapabilityStatement.rest per mode.
cpb-7: The set of documents must be unique by the combination of profile and mode.
cpb-14: If kind = instance, implementation must be present and software may be present
cpb-15: If kind = capability, implementation must be absent, software must be present
cpb-16: If kind = requirements, implementation and software must be absent
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this capability statement, represented as a URI (globally unique)
cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the CapabilityStatement (business identifier)
... version Σ 0..1 string Business version of the capability statement
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name SΣC 0..1 string Name for this capability statement (computer friendly)
... title Σ 0..1 string Name for this capability statement (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 1..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description C 0..1 markdown Natural language description of the capability statement
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for capability statement (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this capability statement is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.

... instantiates Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this implements
... imports Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this adds to
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 string A name the software is known by
.... version Σ 0..1 string Version covered by this statement
.... releaseDate Σ 0..1 dateTime Date this version was released
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description Σ 1..1 markdown Describes this specific instance
.... url Σ 0..1 url Base URL for the installation
.... custodian Σ 0..1 Reference(Organization) Organization that manages the data
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.

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

Additional BindingsPurpose
CapabilityFormatType Starter

... patchFormat Σ 0..* code Patch formats supported
Binding: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


... acceptLanguage Σ 0..* code Languages supported
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter

... implementationGuide Σ 0..* canonical(ImplementationGuide) Implementation guides supported
... rest ΣC 0..* BackboneElement If the endpoint is a RESTful one
cpb-9: A given resource can only be described once per RESTful mode.
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode ΣC 1..1 code client | server
Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement.

.... documentation 0..1 markdown General description of implementation
.... security Σ 0..1 BackboneElement Information about security of implementation
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... cors Σ 0..1 boolean Adds CORS Headers (http://enable-cors.org/)
..... service Σ 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.


..... description 0..1 markdown General description of how security works
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
cpb-12: Search parameter names must be unique in the context of a resource.
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type ΣC 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.

..... profile Σ 0..1 canonical(StructureDefinition) System-wide profile
..... supportedProfile Σ 0..* canonical(StructureDefinition) Use-case specific profiles
..... documentation 0..1 markdown Additional information about the use of the resource type
..... interaction 0..* BackboneElement What operations are supported?
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.

...... documentation 0..1 markdown Anything special about operation behavior
..... versioning 0..1 code no-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.

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

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

..... referencePolicy 0..* code literal | logical | resolves | enforced | local
Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported.


..... searchInclude 0..* string _include values supported by the server
..... searchRevInclude 0..* string _revinclude values supported by the server
..... searchParam C 0..* BackboneElement Search parameters supported by implementation
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name C 1..1 string Name for parameter in search url
...... definition 0..1 canonical(SearchParameter) Source of definition for parameter
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

...... documentation 0..1 markdown Server-specific usage
..... operation Σ 0..* BackboneElement Definition of a resource operation
...... id 0..1 string Unique id for inter-element referencing
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 string Name by which the operation/query is invoked
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
...... documentation 0..1 markdown Specific details about operation behavior
.... interaction 0..* BackboneElement What operations are supported?
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.

..... documentation 0..1 markdown Anything special about operation behavior
.... searchParam 0..* See searchParam (CapabilityStatement) Search parameters for searching all resources
.... operation Σ 0..* See operation (CapabilityStatement) Definition of a system level operation
.... compartment 0..* canonical(CompartmentDefinition) Compartments served/used by system
... messaging ΣC 0..* BackboneElement If messaging is supported
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... endpoint C 0..* BackboneElement Where messages should be sent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... protocol 1..1 Coding http | ftp | mllp +
Binding: MessageTransport (extensible): The protocol used for message transport.

..... address 1..1 url Network address or identifier of the end-point
.... reliableCache 0..1 unsignedInt Reliable Message Cache Length (min)
.... documentation 0..1 markdown Messaging interface behavior details
.... supportedMessage Σ 0..* BackboneElement Messages supported by this system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode Σ 1..1 code sender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.

..... definition Σ 1..1 canonical(MessageDefinition) Message supported by this system
... document ΣC 0..* BackboneElement Document definition
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:feature S 0..* (Complex) Extension
URL: http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode ΣC 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.

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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CapabilityStatement.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
CapabilityStatement.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
CapabilityStatement.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
CapabilityStatement.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
CapabilityStatement.kindrequiredCapabilityStatementKind
http://hl7.org/fhir/ValueSet/capability-statement-kind|5.0.0
from the FHIR Standard
CapabilityStatement.fhirVersionrequiredFHIRVersion
http://hl7.org/fhir/ValueSet/FHIR-version|5.0.0
from the FHIR Standard
CapabilityStatement.formatrequiredMimeTypes (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
from the FHIR Standard
CapabilityStatement.patchFormatrequiredMimeTypes (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
from the FHIR Standard
CapabilityStatement.acceptLanguagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
CapabilityStatement.rest.moderequiredRestfulCapabilityMode
http://hl7.org/fhir/ValueSet/restful-capability-mode|5.0.0
from the FHIR Standard
CapabilityStatement.rest.security.serviceextensibleRestfulSecurityService
http://hl7.org/fhir/ValueSet/restful-security-service
from the FHIR Standard
CapabilityStatement.rest.resource.typerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.interaction.coderequiredTypeRestfulInteraction
http://hl7.org/fhir/ValueSet/type-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.versioningrequiredResourceVersionPolicy
http://hl7.org/fhir/ValueSet/versioning-policy|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalReadrequiredConditionalReadStatus
http://hl7.org/fhir/ValueSet/conditional-read-status|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.conditionalDeleterequiredConditionalDeleteStatus
http://hl7.org/fhir/ValueSet/conditional-delete-status|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.referencePolicyrequiredReferenceHandlingPolicy
http://hl7.org/fhir/ValueSet/reference-handling-policy|5.0.0
from the FHIR Standard
CapabilityStatement.rest.resource.searchParam.typerequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|5.0.0
from the FHIR Standard
CapabilityStatement.rest.interaction.coderequiredSystemRestfulInteraction
http://hl7.org/fhir/ValueSet/system-restful-interaction|5.0.0
from the FHIR Standard
CapabilityStatement.messaging.endpoint.protocolextensibleMessageTransport
http://hl7.org/fhir/ValueSet/message-transport
from the FHIR Standard
CapabilityStatement.messaging.supportedMessage.moderequiredEventCapabilityMode
http://hl7.org/fhir/ValueSet/event-capability-mode|5.0.0
from the FHIR Standard
CapabilityStatement.document.moderequiredDocumentMode
http://hl7.org/fhir/ValueSet/document-mode|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningCapabilityStatementName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1warningCapabilityStatement.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
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 only permitted when a capability statement is for an implementation.
: messaging.endpoint.empty() or kind = 'instance'
cpb-4errorCapabilityStatementThere should only be one CapabilityStatement.rest per mode.
: rest.mode.isDistinct()
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())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CapabilityStatement

Summary

Must-Support: 10 elements

Extensions

This structure refers to these extensions:

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron