Extensions for Using Data Elements from FHIR R4 in FHIR R4B
0.1.0 - STU International flag

Extensions for Using Data Elements from FHIR R4 in FHIR R4B - Downloaded Version null See the Directory of published versions

Resource Profile: Profile_R4_CapabilityStatement_R4B

Official URL: http://hl7.org/fhir/4.0/StructureDefinition/profile-CapabilityStatement Version: 0.1.0
Standards status: Trial-use Maturity Level: 0 Computable Name: Profile_R4_CapabilityStatement_R4B

This cross-version profile allows R4 CapabilityStatement content to be represented via FHIR R4B CapabilityStatement resources.

Usages:

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

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement(4.3.0) A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... description Σ 1..1 string Describes this specific instance
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement A resource should have narrative for robust management text.`div`.exists()
ele-1 error CapabilityStatement.implicitRules, CapabilityStatement.modifierExtension, CapabilityStatement.status, CapabilityStatement.date, CapabilityStatement.kind, CapabilityStatement.implementation, CapabilityStatement.implementation.modifierExtension, CapabilityStatement.implementation.description, CapabilityStatement.fhirVersion, CapabilityStatement.format All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error CapabilityStatement.modifierExtension, CapabilityStatement.implementation.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from CapabilityStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement 0..* CapabilityStatement(4.3.0) A statement of system capabilities
... rest
.... resource
..... type
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:type 0..1 code R4: type
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-CapabilityStatement.rest.resource.type
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-resource-types-for-R4B (required): One of the resource types defined as part of this version of FHIR.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement(4.3.0) A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url Σ 0..1 uri Canonical identifier for this capability statement, represented as a URI (globally unique)
... version Σ 0..1 string Business version of the capability statement
... name Σ 0..1 string Name for this capability statement (computer friendly)
... title Σ 0..1 string Name for this capability statement (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 1..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description C 0..1 markdown Natural language description of the capability statement
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this capability statement is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... instantiates Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this implements
... imports Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this adds to
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... 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
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... description Σ 1..1 string Describes this specific instance
.... url Σ 0..1 url Base URL for the installation
.... custodian Σ 0..1 Reference(Organization) Organization that manages the data
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
... patchFormat Σ 0..* code Patch formats supported
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
... implementationGuide Σ 0..* canonical(ImplementationGuide) Implementation guides supported
... rest ΣC 0..* BackboneElement If the endpoint is a RESTful one
Constraints: cpb-9
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... mode Σ 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
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... cors Σ 0..1 boolean Adds CORS Headers (http://enable-cors.org/)
..... service Σ 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.
..... description 0..1 markdown General description of how security works
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
Constraints: cpb-12
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... type Σ 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
....... extension:type 0..1 code R4: type
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-CapabilityStatement.rest.resource.type
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-resource-types-for-R4B (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
...... value 0..1 code Primitive value for code
..... profile Σ 0..1 canonical(StructureDefinition) Base System profile for all uses of resource
..... supportedProfile Σ 0..* canonical(StructureDefinition) Profiles for use cases supported
..... documentation 0..1 markdown Additional information about the use of the resource type
..... interaction 0..* BackboneElement What operations are supported?
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.
...... documentation 0..1 markdown Anything special about operation behavior
..... versioning 0..1 code no-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.
..... readHistory 0..1 boolean Whether vRead can return past versions
..... updateCreate 0..1 boolean If update can commit to a new identity
..... conditionalCreate 0..1 boolean If allows/uses conditional create
..... conditionalRead 0..1 code not-supported | modified-since | not-match | full-support
Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read.
..... conditionalUpdate 0..1 boolean If allows/uses conditional update
..... conditionalDelete 0..1 code not-supported | single | multiple - how conditional delete is supported
Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete.
..... referencePolicy 0..* code literal | logical | resolves | enforced | local
Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported.
..... searchInclude 0..* string _include values supported by the server
..... searchRevInclude 0..* string _revinclude values supported by the server
..... searchParam 0..* BackboneElement Search parameters supported by implementation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... name 1..1 string Name of search parameter
...... definition 0..1 canonical(SearchParameter) Source of definition for parameter
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.
...... documentation 0..1 markdown Server-specific usage
..... operation Σ 0..* BackboneElement Definition of a resource operation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... name Σ 1..1 string Name by which the operation/query is invoked
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
...... documentation 0..1 markdown Specific details about operation behavior
.... interaction 0..* BackboneElement What operations are supported?
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.
..... documentation 0..1 markdown Anything special about operation behavior
.... searchParam 0..* See searchParam (CapabilityStatement) Search parameters for searching all resources
.... operation Σ 0..* See operation (CapabilityStatement) Definition of a system level operation
.... compartment 0..* canonical(CompartmentDefinition) Compartments served/used by system
... messaging ΣC 0..* BackboneElement If messaging is supported
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... endpoint 0..* BackboneElement Where messages should be sent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... mode Σ 1..1 code sender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.
..... definition Σ 1..1 canonical(MessageDefinition) Message supported by this system
... document ΣC 0..* BackboneElement Document definition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... mode Σ 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.
.... documentation 0..1 markdown Description of document support
.... profile Σ 1..1 canonical(StructureDefinition) Constraint on the resources used in the document

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-9 error CapabilityStatement.rest A given resource can only be described once per RESTful mode. resource.select(type).isDistinct()
cpb-12 error CapabilityStatement.rest.resource Search parameter names must be unique in the context of a resource. searchParam.select(name).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning CapabilityStatement.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error CapabilityStatement.meta, CapabilityStatement.implicitRules, CapabilityStatement.language, CapabilityStatement.text, CapabilityStatement.extension, CapabilityStatement.modifierExtension, CapabilityStatement.url, CapabilityStatement.version, CapabilityStatement.name, CapabilityStatement.title, CapabilityStatement.status, CapabilityStatement.experimental, CapabilityStatement.date, CapabilityStatement.publisher, CapabilityStatement.contact, CapabilityStatement.description, CapabilityStatement.useContext, CapabilityStatement.jurisdiction, CapabilityStatement.purpose, CapabilityStatement.copyright, CapabilityStatement.kind, CapabilityStatement.instantiates, CapabilityStatement.imports, CapabilityStatement.software, CapabilityStatement.software.extension, CapabilityStatement.software.modifierExtension, CapabilityStatement.software.name, CapabilityStatement.software.version, CapabilityStatement.software.releaseDate, CapabilityStatement.implementation, CapabilityStatement.implementation.extension, CapabilityStatement.implementation.modifierExtension, CapabilityStatement.implementation.description, CapabilityStatement.implementation.url, CapabilityStatement.implementation.custodian, CapabilityStatement.fhirVersion, CapabilityStatement.format, CapabilityStatement.patchFormat, CapabilityStatement.implementationGuide, CapabilityStatement.rest, CapabilityStatement.rest.extension, CapabilityStatement.rest.modifierExtension, CapabilityStatement.rest.mode, CapabilityStatement.rest.documentation, CapabilityStatement.rest.security, CapabilityStatement.rest.security.extension, CapabilityStatement.rest.security.modifierExtension, CapabilityStatement.rest.security.cors, CapabilityStatement.rest.security.service, CapabilityStatement.rest.security.description, CapabilityStatement.rest.resource, CapabilityStatement.rest.resource.extension, CapabilityStatement.rest.resource.modifierExtension, CapabilityStatement.rest.resource.type, CapabilityStatement.rest.resource.type.extension, CapabilityStatement.rest.resource.type.extension:type, CapabilityStatement.rest.resource.profile, CapabilityStatement.rest.resource.supportedProfile, CapabilityStatement.rest.resource.documentation, CapabilityStatement.rest.resource.interaction, CapabilityStatement.rest.resource.interaction.extension, CapabilityStatement.rest.resource.interaction.modifierExtension, CapabilityStatement.rest.resource.interaction.code, CapabilityStatement.rest.resource.interaction.documentation, CapabilityStatement.rest.resource.versioning, CapabilityStatement.rest.resource.readHistory, CapabilityStatement.rest.resource.updateCreate, CapabilityStatement.rest.resource.conditionalCreate, CapabilityStatement.rest.resource.conditionalRead, CapabilityStatement.rest.resource.conditionalUpdate, CapabilityStatement.rest.resource.conditionalDelete, CapabilityStatement.rest.resource.referencePolicy, CapabilityStatement.rest.resource.searchInclude, CapabilityStatement.rest.resource.searchRevInclude, CapabilityStatement.rest.resource.searchParam, CapabilityStatement.rest.resource.searchParam.extension, CapabilityStatement.rest.resource.searchParam.modifierExtension, CapabilityStatement.rest.resource.searchParam.name, CapabilityStatement.rest.resource.searchParam.definition, CapabilityStatement.rest.resource.searchParam.type, CapabilityStatement.rest.resource.searchParam.documentation, CapabilityStatement.rest.resource.operation, CapabilityStatement.rest.resource.operation.extension, CapabilityStatement.rest.resource.operation.modifierExtension, CapabilityStatement.rest.resource.operation.name, CapabilityStatement.rest.resource.operation.definition, CapabilityStatement.rest.resource.operation.documentation, CapabilityStatement.rest.interaction, CapabilityStatement.rest.interaction.extension, CapabilityStatement.rest.interaction.modifierExtension, CapabilityStatement.rest.interaction.code, CapabilityStatement.rest.interaction.documentation, CapabilityStatement.rest.searchParam, CapabilityStatement.rest.operation, CapabilityStatement.rest.compartment, CapabilityStatement.messaging, CapabilityStatement.messaging.extension, CapabilityStatement.messaging.modifierExtension, CapabilityStatement.messaging.endpoint, CapabilityStatement.messaging.endpoint.extension, CapabilityStatement.messaging.endpoint.modifierExtension, CapabilityStatement.messaging.endpoint.protocol, CapabilityStatement.messaging.endpoint.address, CapabilityStatement.messaging.reliableCache, CapabilityStatement.messaging.documentation, CapabilityStatement.messaging.supportedMessage, CapabilityStatement.messaging.supportedMessage.extension, CapabilityStatement.messaging.supportedMessage.modifierExtension, CapabilityStatement.messaging.supportedMessage.mode, CapabilityStatement.messaging.supportedMessage.definition, CapabilityStatement.document, CapabilityStatement.document.extension, CapabilityStatement.document.modifierExtension, CapabilityStatement.document.mode, CapabilityStatement.document.documentation, CapabilityStatement.document.profile All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error CapabilityStatement.extension, CapabilityStatement.modifierExtension, CapabilityStatement.software.extension, CapabilityStatement.software.modifierExtension, CapabilityStatement.implementation.extension, CapabilityStatement.implementation.modifierExtension, CapabilityStatement.rest.extension, CapabilityStatement.rest.modifierExtension, CapabilityStatement.rest.security.extension, CapabilityStatement.rest.security.modifierExtension, CapabilityStatement.rest.resource.extension, CapabilityStatement.rest.resource.modifierExtension, CapabilityStatement.rest.resource.type.extension, CapabilityStatement.rest.resource.type.extension:type, CapabilityStatement.rest.resource.interaction.extension, CapabilityStatement.rest.resource.interaction.modifierExtension, CapabilityStatement.rest.resource.searchParam.extension, CapabilityStatement.rest.resource.searchParam.modifierExtension, CapabilityStatement.rest.resource.operation.extension, CapabilityStatement.rest.resource.operation.modifierExtension, CapabilityStatement.rest.interaction.extension, CapabilityStatement.rest.interaction.modifierExtension, CapabilityStatement.messaging.extension, CapabilityStatement.messaging.modifierExtension, CapabilityStatement.messaging.endpoint.extension, CapabilityStatement.messaging.endpoint.modifierExtension, CapabilityStatement.messaging.supportedMessage.extension, CapabilityStatement.messaging.supportedMessage.modifierExtension, CapabilityStatement.document.extension, CapabilityStatement.document.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from CapabilityStatement

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement(4.3.0) A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... implementation ΣC 0..1 BackboneElement If this describes a specific instance
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... description Σ 1..1 string Describes this specific instance
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement A resource should have narrative for robust management text.`div`.exists()
ele-1 error CapabilityStatement.implicitRules, CapabilityStatement.modifierExtension, CapabilityStatement.status, CapabilityStatement.date, CapabilityStatement.kind, CapabilityStatement.implementation, CapabilityStatement.implementation.modifierExtension, CapabilityStatement.implementation.description, CapabilityStatement.fhirVersion, CapabilityStatement.format All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error CapabilityStatement.modifierExtension, CapabilityStatement.implementation.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from CapabilityStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement 0..* CapabilityStatement(4.3.0) A statement of system capabilities
... rest
.... resource
..... type
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:type 0..1 code R4: type
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-CapabilityStatement.rest.resource.type
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-resource-types-for-R4B (required): One of the resource types defined as part of this version of FHIR.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CapabilityStatement C 0..* CapabilityStatement(4.3.0) A statement of system capabilities
Constraints: cpb-0, cpb-1, cpb-2, cpb-3, cpb-7, cpb-14, cpb-15, cpb-16
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url Σ 0..1 uri Canonical identifier for this capability statement, represented as a URI (globally unique)
... version Σ 0..1 string Business version of the capability statement
... name Σ 0..1 string Name for this capability statement (computer friendly)
... title Σ 0..1 string Name for this capability statement (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 1..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description C 0..1 markdown Natural language description of the capability statement
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for capability statement (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this capability statement is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... kind ΣC 1..1 code instance | capability | requirements
Binding: CapabilityStatementKind (required): How a capability statement is intended to be used.
... instantiates Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this implements
... imports Σ 0..* canonical(CapabilityStatement) Canonical URL of another capability statement this adds to
... software ΣC 0..1 BackboneElement Software that is covered by this capability statement
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... 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
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... description Σ 1..1 string Describes this specific instance
.... url Σ 0..1 url Base URL for the installation
.... custodian Σ 0..1 Reference(Organization) Organization that manages the data
... fhirVersion Σ 1..1 code FHIR Version the system supports
Binding: FHIRVersion (required): All published FHIR Versions.
... format Σ 1..* code formats supported (xml | json | ttl | mime type)
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
... patchFormat Σ 0..* code Patch formats supported
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
... implementationGuide Σ 0..* canonical(ImplementationGuide) Implementation guides supported
... rest ΣC 0..* BackboneElement If the endpoint is a RESTful one
Constraints: cpb-9
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... mode Σ 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
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... cors Σ 0..1 boolean Adds CORS Headers (http://enable-cors.org/)
..... service Σ 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
Binding: RestfulSecurityService (extensible): Types of security services used with FHIR.
..... description 0..1 markdown General description of how security works
.... resource ΣC 0..* BackboneElement Resource served on the REST interface
Constraints: cpb-12
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... type Σ 1..1 code A resource type that is supported
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
....... extension:type 0..1 code R4: type
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-CapabilityStatement.rest.resource.type
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-resource-types-for-R4B (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
...... value 0..1 code Primitive value for code
..... profile Σ 0..1 canonical(StructureDefinition) Base System profile for all uses of resource
..... supportedProfile Σ 0..* canonical(StructureDefinition) Profiles for use cases supported
..... documentation 0..1 markdown Additional information about the use of the resource type
..... interaction 0..* BackboneElement What operations are supported?
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... code 1..1 code read | vread | update | patch | delete | history-instance | history-type | create | search-type
Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level.
...... documentation 0..1 markdown Anything special about operation behavior
..... versioning 0..1 code no-version | versioned | versioned-update
Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource.
..... readHistory 0..1 boolean Whether vRead can return past versions
..... updateCreate 0..1 boolean If update can commit to a new identity
..... conditionalCreate 0..1 boolean If allows/uses conditional create
..... conditionalRead 0..1 code not-supported | modified-since | not-match | full-support
Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read.
..... conditionalUpdate 0..1 boolean If allows/uses conditional update
..... conditionalDelete 0..1 code not-supported | single | multiple - how conditional delete is supported
Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete.
..... referencePolicy 0..* code literal | logical | resolves | enforced | local
Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported.
..... searchInclude 0..* string _include values supported by the server
..... searchRevInclude 0..* string _revinclude values supported by the server
..... searchParam 0..* BackboneElement Search parameters supported by implementation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... name 1..1 string Name of search parameter
...... definition 0..1 canonical(SearchParameter) Source of definition for parameter
...... type 1..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.
...... documentation 0..1 markdown Server-specific usage
..... operation Σ 0..* BackboneElement Definition of a resource operation
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... name Σ 1..1 string Name by which the operation/query is invoked
...... definition Σ 1..1 canonical(OperationDefinition) The defined operation/query
...... documentation 0..1 markdown Specific details about operation behavior
.... interaction 0..* BackboneElement What operations are supported?
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... code 1..1 code transaction | batch | search-system | history-system
Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level.
..... documentation 0..1 markdown Anything special about operation behavior
.... searchParam 0..* See searchParam (CapabilityStatement) Search parameters for searching all resources
.... operation Σ 0..* See operation (CapabilityStatement) Definition of a system level operation
.... compartment 0..* canonical(CompartmentDefinition) Compartments served/used by system
... messaging ΣC 0..* BackboneElement If messaging is supported
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... endpoint 0..* BackboneElement Where messages should be sent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... mode Σ 1..1 code sender | receiver
Binding: EventCapabilityMode (required): The mode of a message capability statement.
..... definition Σ 1..1 canonical(MessageDefinition) Message supported by this system
... document ΣC 0..* BackboneElement Document definition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... mode Σ 1..1 code producer | consumer
Binding: DocumentMode (required): Whether the application produces or consumes documents.
.... documentation 0..1 markdown Description of document support
.... profile Σ 1..1 canonical(StructureDefinition) Constraint on the resources used in the document

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
cpb-0 warning CapabilityStatement Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
cpb-1 error CapabilityStatement A Capability Statement SHALL have at least one of REST, messaging or document element. rest.exists() or messaging.exists() or document.exists()
cpb-2 error CapabilityStatement A Capability Statement SHALL have at least one of description, software, or implementation element. (description.count() + software.count() + implementation.count()) > 0
cpb-3 error CapabilityStatement Messaging end-point is required (and is only permitted) when a statement is for an implementation. messaging.endpoint.empty() or kind = 'instance'
cpb-7 error CapabilityStatement The set of documents must be unique by the combination of profile and mode. document.select(profile&mode).isDistinct()
cpb-9 error CapabilityStatement.rest A given resource can only be described once per RESTful mode. resource.select(type).isDistinct()
cpb-12 error CapabilityStatement.rest.resource Search parameter names must be unique in the context of a resource. searchParam.select(name).isDistinct()
cpb-14 error CapabilityStatement If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
cpb-15 error CapabilityStatement If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
cpb-16 error CapabilityStatement If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
dom-2 error CapabilityStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CapabilityStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error CapabilityStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CapabilityStatement A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning CapabilityStatement.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error CapabilityStatement.meta, CapabilityStatement.implicitRules, CapabilityStatement.language, CapabilityStatement.text, CapabilityStatement.extension, CapabilityStatement.modifierExtension, CapabilityStatement.url, CapabilityStatement.version, CapabilityStatement.name, CapabilityStatement.title, CapabilityStatement.status, CapabilityStatement.experimental, CapabilityStatement.date, CapabilityStatement.publisher, CapabilityStatement.contact, CapabilityStatement.description, CapabilityStatement.useContext, CapabilityStatement.jurisdiction, CapabilityStatement.purpose, CapabilityStatement.copyright, CapabilityStatement.kind, CapabilityStatement.instantiates, CapabilityStatement.imports, CapabilityStatement.software, CapabilityStatement.software.extension, CapabilityStatement.software.modifierExtension, CapabilityStatement.software.name, CapabilityStatement.software.version, CapabilityStatement.software.releaseDate, CapabilityStatement.implementation, CapabilityStatement.implementation.extension, CapabilityStatement.implementation.modifierExtension, CapabilityStatement.implementation.description, CapabilityStatement.implementation.url, CapabilityStatement.implementation.custodian, CapabilityStatement.fhirVersion, CapabilityStatement.format, CapabilityStatement.patchFormat, CapabilityStatement.implementationGuide, CapabilityStatement.rest, CapabilityStatement.rest.extension, CapabilityStatement.rest.modifierExtension, CapabilityStatement.rest.mode, CapabilityStatement.rest.documentation, CapabilityStatement.rest.security, CapabilityStatement.rest.security.extension, CapabilityStatement.rest.security.modifierExtension, CapabilityStatement.rest.security.cors, CapabilityStatement.rest.security.service, CapabilityStatement.rest.security.description, CapabilityStatement.rest.resource, CapabilityStatement.rest.resource.extension, CapabilityStatement.rest.resource.modifierExtension, CapabilityStatement.rest.resource.type, CapabilityStatement.rest.resource.type.extension, CapabilityStatement.rest.resource.type.extension:type, CapabilityStatement.rest.resource.profile, CapabilityStatement.rest.resource.supportedProfile, CapabilityStatement.rest.resource.documentation, CapabilityStatement.rest.resource.interaction, CapabilityStatement.rest.resource.interaction.extension, CapabilityStatement.rest.resource.interaction.modifierExtension, CapabilityStatement.rest.resource.interaction.code, CapabilityStatement.rest.resource.interaction.documentation, CapabilityStatement.rest.resource.versioning, CapabilityStatement.rest.resource.readHistory, CapabilityStatement.rest.resource.updateCreate, CapabilityStatement.rest.resource.conditionalCreate, CapabilityStatement.rest.resource.conditionalRead, CapabilityStatement.rest.resource.conditionalUpdate, CapabilityStatement.rest.resource.conditionalDelete, CapabilityStatement.rest.resource.referencePolicy, CapabilityStatement.rest.resource.searchInclude, CapabilityStatement.rest.resource.searchRevInclude, CapabilityStatement.rest.resource.searchParam, CapabilityStatement.rest.resource.searchParam.extension, CapabilityStatement.rest.resource.searchParam.modifierExtension, CapabilityStatement.rest.resource.searchParam.name, CapabilityStatement.rest.resource.searchParam.definition, CapabilityStatement.rest.resource.searchParam.type, CapabilityStatement.rest.resource.searchParam.documentation, CapabilityStatement.rest.resource.operation, CapabilityStatement.rest.resource.operation.extension, CapabilityStatement.rest.resource.operation.modifierExtension, CapabilityStatement.rest.resource.operation.name, CapabilityStatement.rest.resource.operation.definition, CapabilityStatement.rest.resource.operation.documentation, CapabilityStatement.rest.interaction, CapabilityStatement.rest.interaction.extension, CapabilityStatement.rest.interaction.modifierExtension, CapabilityStatement.rest.interaction.code, CapabilityStatement.rest.interaction.documentation, CapabilityStatement.rest.searchParam, CapabilityStatement.rest.operation, CapabilityStatement.rest.compartment, CapabilityStatement.messaging, CapabilityStatement.messaging.extension, CapabilityStatement.messaging.modifierExtension, CapabilityStatement.messaging.endpoint, CapabilityStatement.messaging.endpoint.extension, CapabilityStatement.messaging.endpoint.modifierExtension, CapabilityStatement.messaging.endpoint.protocol, CapabilityStatement.messaging.endpoint.address, CapabilityStatement.messaging.reliableCache, CapabilityStatement.messaging.documentation, CapabilityStatement.messaging.supportedMessage, CapabilityStatement.messaging.supportedMessage.extension, CapabilityStatement.messaging.supportedMessage.modifierExtension, CapabilityStatement.messaging.supportedMessage.mode, CapabilityStatement.messaging.supportedMessage.definition, CapabilityStatement.document, CapabilityStatement.document.extension, CapabilityStatement.document.modifierExtension, CapabilityStatement.document.mode, CapabilityStatement.document.documentation, CapabilityStatement.document.profile All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error CapabilityStatement.extension, CapabilityStatement.modifierExtension, CapabilityStatement.software.extension, CapabilityStatement.software.modifierExtension, CapabilityStatement.implementation.extension, CapabilityStatement.implementation.modifierExtension, CapabilityStatement.rest.extension, CapabilityStatement.rest.modifierExtension, CapabilityStatement.rest.security.extension, CapabilityStatement.rest.security.modifierExtension, CapabilityStatement.rest.resource.extension, CapabilityStatement.rest.resource.modifierExtension, CapabilityStatement.rest.resource.type.extension, CapabilityStatement.rest.resource.type.extension:type, CapabilityStatement.rest.resource.interaction.extension, CapabilityStatement.rest.resource.interaction.modifierExtension, CapabilityStatement.rest.resource.searchParam.extension, CapabilityStatement.rest.resource.searchParam.modifierExtension, CapabilityStatement.rest.resource.operation.extension, CapabilityStatement.rest.resource.operation.modifierExtension, CapabilityStatement.rest.interaction.extension, CapabilityStatement.rest.interaction.modifierExtension, CapabilityStatement.messaging.extension, CapabilityStatement.messaging.modifierExtension, CapabilityStatement.messaging.endpoint.extension, CapabilityStatement.messaging.endpoint.modifierExtension, CapabilityStatement.messaging.supportedMessage.extension, CapabilityStatement.messaging.supportedMessage.modifierExtension, CapabilityStatement.document.extension, CapabilityStatement.document.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from CapabilityStatement

 

Other representations of profile: CSV, Excel, Schematron