Finnish Implementation Guide for SMART App Launch
1.0.1-cibuild - ci-build
Finnish Implementation Guide for SMART App Launch, published by HL7 Finland ry. This guide is not an authorized publication; it is the continuous build for version 1.0.1-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fhir-fi/finnish-smart/ and changes regularly. See the Directory of published versions
Official URL: https://hl7.fi/fhir/finnish-smart/StructureDefinition/fi-smart-server-profile | Version: 1.0.1-cibuild | |||
Draft as of 2024-09-05 | Computable Name: FiSmartServerProfile |
This CapabilityStatement profile describes the basic rules for a server actor providing SMART App Launch in Finland.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CapabilityStatement
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CapabilityStatement | 0..* | CapabilityStatement | A statement of system capabilities | |
Slices for format | 1..* | code | JSON is mandatory Slice: Unordered, Open by value:$this | |
format:json | 1..* | code | formats supported (xml | json | ttl | mime type) | |
value | 0..1 | string | Primitive value for code Required Pattern: json | |
implementationGuide | 0..* | canonical(ImplementationGuide) | Implementation guides supported Required Pattern: http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch | |
rest | ||||
mode | 1..1 | code | client | server Required Pattern: server | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CapabilityStatement | C | 0..* | CapabilityStatement | A statement of system capabilities cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element. cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element. cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation. cpb-7: The set of documents must be unique by the combination of profile and mode. cpb-14: If kind = instance, implementation must be present and software may be present cpb-15: If kind = capability, implementation must be absent, software must be present cpb-16: If kind = requirements, implementation and software must be absent |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
date | Σ | 1..1 | dateTime | Date last changed |
kind | ΣC | 1..1 | code | instance | capability | requirements Binding: CapabilityStatementKind (required): How a capability statement is intended to be used. |
implementation | ΣC | 0..1 | BackboneElement | If this describes a specific instance |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description | Σ | 1..1 | string | Describes this specific instance |
fhirVersion | Σ | 1..1 | code | FHIR Version the system supports Binding: FHIRVersion (required): All published FHIR Versions. |
Slices for format | Σ | 1..* | code | JSON is mandatory Slice: Unordered, Open by value:$this Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. |
format:json | Σ | 1..* | code | formats supported (xml | json | ttl | mime type) Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. |
value | 0..1 | string | Primitive value for code Required Pattern: json | |
implementationGuide | Σ | 0..* | canonical(ImplementationGuide) | Implementation guides supported Required Pattern: http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch |
Documentation for this format |
Path | Conformance | ValueSet | URI |
CapabilityStatement.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | |
CapabilityStatement.kind | required | CapabilityStatementKindhttp://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1 from the FHIR Standard | |
CapabilityStatement.fhirVersion | required | FHIRVersionhttp://hl7.org/fhir/ValueSet/FHIR-version|4.0.1 from the FHIR Standard | |
CapabilityStatement.format | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | |
CapabilityStatement.format:json | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cpb-0 | warning | CapabilityStatement | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
cpb-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 in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-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 | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
CapabilityStatement | C | 0..* | CapabilityStatement | A statement of system capabilities cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element. cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element. cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation. cpb-7: The set of documents must be unique by the combination of profile and mode. cpb-14: If kind = instance, implementation must be present and software may be present cpb-15: If kind = capability, implementation must be absent, software must be present cpb-16: If kind = requirements, implementation and software must be absent | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 0..1 | uri | Canonical identifier for this capability statement, represented as a URI (globally unique) | ||||
version | Σ | 0..1 | string | Business version of the capability statement | ||||
name | ΣC | 0..1 | string | Name for this capability statement (computer friendly) | ||||
title | Σ | 0..1 | string | Name for this capability statement (human friendly) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
date | Σ | 1..1 | dateTime | Date last changed | ||||
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | C | 0..1 | markdown | Natural language description of the capability statement | ||||
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for capability statement (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
purpose | 0..1 | markdown | Why this capability statement is defined | |||||
copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
kind | ΣC | 1..1 | code | instance | capability | requirements Binding: CapabilityStatementKind (required): How a capability statement is intended to be used. | ||||
instantiates | Σ | 0..* | canonical(CapabilityStatement) | Canonical URL of another capability statement this implements | ||||
imports | Σ | 0..* | canonical(CapabilityStatement) | Canonical URL of another capability statement this adds to | ||||
software | ΣC | 0..1 | BackboneElement | Software that is covered by this capability statement | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | Σ | 1..1 | string | A name the software is known by | ||||
version | Σ | 0..1 | string | Version covered by this statement | ||||
releaseDate | Σ | 0..1 | dateTime | Date this version was released | ||||
implementation | ΣC | 0..1 | BackboneElement | If this describes a specific instance | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
description | Σ | 1..1 | string | Describes this specific instance | ||||
url | Σ | 0..1 | url | Base URL for the installation | ||||
custodian | Σ | 0..1 | Reference(Organization) | Organization that manages the data | ||||
fhirVersion | Σ | 1..1 | code | FHIR Version the system supports Binding: FHIRVersion (required): All published FHIR Versions. | ||||
Slices for format | Σ | 1..* | code | JSON is mandatory Slice: Unordered, Open by value:$this Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
format:json | Σ | 1..* | code | formats supported (xml | json | ttl | mime type) Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
value | 0..1 | string | Primitive value for code Required Pattern: json | |||||
patchFormat | Σ | 0..* | code | Patch formats supported Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
implementationGuide | Σ | 0..* | canonical(ImplementationGuide) | Implementation guides supported Required Pattern: http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch | ||||
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 | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
mode | Σ | 1..1 | code | client | server Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement. Required Pattern: server | ||||
documentation | 0..1 | markdown | General description of implementation | |||||
security | Σ | 0..1 | BackboneElement | Information about security of implementation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
cors | Σ | 0..1 | boolean | Adds CORS Headers (http://enable-cors.org/) | ||||
service | Σ | 0..* | CodeableConcept | OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates Binding: RestfulSecurityService (extensible): Types of security services used with FHIR. | ||||
description | 0..1 | markdown | General description of how security works | |||||
resource | ΣC | 0..* | BackboneElement | Resource served on the REST interface cpb-12: Search parameter names must be unique in the context of a resource. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
type | Σ | 1..1 | code | A resource type that is supported Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR. | ||||
profile | Σ | 0..1 | canonical(StructureDefinition) | Base System profile for all uses of resource | ||||
supportedProfile | Σ | 0..* | canonical(StructureDefinition) | Profiles for use cases supported | ||||
documentation | 0..1 | markdown | Additional information about the use of the resource type | |||||
interaction | 0..* | BackboneElement | What operations are supported? | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 1..1 | code | read | vread | update | patch | delete | history-instance | history-type | create | search-type Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level. | |||||
documentation | 0..1 | markdown | Anything special about operation behavior | |||||
versioning | 0..1 | code | no-version | versioned | versioned-update Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource. | |||||
readHistory | 0..1 | boolean | Whether vRead can return past versions | |||||
updateCreate | 0..1 | boolean | If update can commit to a new identity | |||||
conditionalCreate | 0..1 | boolean | If allows/uses conditional create | |||||
conditionalRead | 0..1 | code | not-supported | modified-since | not-match | full-support Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read. | |||||
conditionalUpdate | 0..1 | boolean | If allows/uses conditional update | |||||
conditionalDelete | 0..1 | code | not-supported | single | multiple - how conditional delete is supported Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete. | |||||
referencePolicy | 0..* | code | literal | logical | resolves | enforced | local Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported. | |||||
searchInclude | 0..* | string | _include values supported by the server | |||||
searchRevInclude | 0..* | string | _revinclude values supported by the server | |||||
searchParam | 0..* | BackboneElement | Search parameters supported by implementation | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | 1..1 | string | Name of search parameter | |||||
definition | 0..1 | canonical(SearchParameter) | Source of definition for parameter | |||||
type | 1..1 | code | number | date | string | token | reference | composite | quantity | uri | special Binding: SearchParamType (required): Data types allowed to be used for search parameters. | |||||
documentation | 0..1 | markdown | Server-specific usage | |||||
operation | Σ | 0..* | BackboneElement | Definition of a resource operation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | Σ | 1..1 | string | Name by which the operation/query is invoked | ||||
definition | Σ | 1..1 | canonical(OperationDefinition) | The defined operation/query | ||||
documentation | 0..1 | markdown | Specific details about operation behavior | |||||
interaction | 0..* | BackboneElement | What operations are supported? | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 1..1 | code | transaction | batch | search-system | history-system Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level. | |||||
documentation | 0..1 | markdown | Anything special about operation behavior | |||||
searchParam | 0..* | See searchParam (CapabilityStatement) | Search parameters for searching all resources | |||||
operation | Σ | 0..* | See operation (CapabilityStatement) | Definition of a system level operation | ||||
compartment | 0..* | canonical(CompartmentDefinition) | Compartments served/used by system | |||||
messaging | ΣC | 0..* | BackboneElement | If messaging is supported | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
endpoint | 0..* | BackboneElement | Where messages should be sent | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
protocol | 1..1 | Coding | http | ftp | mllp + Binding: MessageTransport (extensible): The protocol used for message transport. | |||||
address | 1..1 | url | Network address or identifier of the end-point | |||||
reliableCache | 0..1 | unsignedInt | Reliable Message Cache Length (min) | |||||
documentation | 0..1 | markdown | Messaging interface behavior details | |||||
supportedMessage | Σ | 0..* | BackboneElement | Messages supported by this system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
mode | Σ | 1..1 | code | sender | receiver Binding: EventCapabilityMode (required): The mode of a message capability statement. | ||||
definition | Σ | 1..1 | canonical(MessageDefinition) | Message supported by this system | ||||
document | ΣC | 0..* | BackboneElement | Document definition | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
mode | Σ | 1..1 | code | producer | consumer Binding: DocumentMode (required): Whether the application produces or consumes documents. | ||||
documentation | 0..1 | markdown | Description of document support | |||||
profile | Σ | 1..1 | canonical(StructureDefinition) | Constraint on the resources used in the document | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
CapabilityStatement.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
CapabilityStatement.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.jurisdiction | extensible | Jurisdiction ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | ||||
CapabilityStatement.kind | required | CapabilityStatementKindhttp://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.fhirVersion | required | FHIRVersionhttp://hl7.org/fhir/ValueSet/FHIR-version|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.format | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.format:json | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.patchFormat | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.mode | required | Pattern: serverhttp://hl7.org/fhir/ValueSet/restful-capability-mode|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.security.service | extensible | RestfulSecurityServicehttp://hl7.org/fhir/ValueSet/restful-security-service from the FHIR Standard | ||||
CapabilityStatement.rest.resource.type | required | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.interaction.code | required | TypeRestfulInteractionhttp://hl7.org/fhir/ValueSet/type-restful-interaction|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.versioning | required | ResourceVersionPolicyhttp://hl7.org/fhir/ValueSet/versioning-policy|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.conditionalRead | required | ConditionalReadStatushttp://hl7.org/fhir/ValueSet/conditional-read-status|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.conditionalDelete | required | ConditionalDeleteStatushttp://hl7.org/fhir/ValueSet/conditional-delete-status|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.referencePolicy | required | ReferenceHandlingPolicyhttp://hl7.org/fhir/ValueSet/reference-handling-policy|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.searchParam.type | required | SearchParamTypehttp://hl7.org/fhir/ValueSet/search-param-type|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.interaction.code | required | SystemRestfulInteractionhttp://hl7.org/fhir/ValueSet/system-restful-interaction|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.messaging.endpoint.protocol | extensible | MessageTransporthttp://hl7.org/fhir/ValueSet/message-transport from the FHIR Standard | ||||
CapabilityStatement.messaging.supportedMessage.mode | required | EventCapabilityModehttp://hl7.org/fhir/ValueSet/event-capability-mode|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.document.mode | required | DocumentModehttp://hl7.org/fhir/ValueSet/document-mode|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cpb-0 | warning | CapabilityStatement | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
cpb-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 in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-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 | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from CapabilityStatement
Summary
Mandatory: 1 element
Slices
This structure defines the following Slices:
Differential View
This structure is derived from CapabilityStatement
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CapabilityStatement | 0..* | CapabilityStatement | A statement of system capabilities | |
Slices for format | 1..* | code | JSON is mandatory Slice: Unordered, Open by value:$this | |
format:json | 1..* | code | formats supported (xml | json | ttl | mime type) | |
value | 0..1 | string | Primitive value for code Required Pattern: json | |
implementationGuide | 0..* | canonical(ImplementationGuide) | Implementation guides supported Required Pattern: http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch | |
rest | ||||
mode | 1..1 | code | client | server Required Pattern: server | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CapabilityStatement | C | 0..* | CapabilityStatement | A statement of system capabilities cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element. cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element. cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation. cpb-7: The set of documents must be unique by the combination of profile and mode. cpb-14: If kind = instance, implementation must be present and software may be present cpb-15: If kind = capability, implementation must be absent, software must be present cpb-16: If kind = requirements, implementation and software must be absent |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
date | Σ | 1..1 | dateTime | Date last changed |
kind | ΣC | 1..1 | code | instance | capability | requirements Binding: CapabilityStatementKind (required): How a capability statement is intended to be used. |
implementation | ΣC | 0..1 | BackboneElement | If this describes a specific instance |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description | Σ | 1..1 | string | Describes this specific instance |
fhirVersion | Σ | 1..1 | code | FHIR Version the system supports Binding: FHIRVersion (required): All published FHIR Versions. |
Slices for format | Σ | 1..* | code | JSON is mandatory Slice: Unordered, Open by value:$this Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. |
format:json | Σ | 1..* | code | formats supported (xml | json | ttl | mime type) Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. |
value | 0..1 | string | Primitive value for code Required Pattern: json | |
implementationGuide | Σ | 0..* | canonical(ImplementationGuide) | Implementation guides supported Required Pattern: http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch |
Documentation for this format |
Path | Conformance | ValueSet | URI |
CapabilityStatement.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | |
CapabilityStatement.kind | required | CapabilityStatementKindhttp://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1 from the FHIR Standard | |
CapabilityStatement.fhirVersion | required | FHIRVersionhttp://hl7.org/fhir/ValueSet/FHIR-version|4.0.1 from the FHIR Standard | |
CapabilityStatement.format | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | |
CapabilityStatement.format:json | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cpb-0 | warning | CapabilityStatement | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
cpb-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 in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-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 | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
CapabilityStatement | C | 0..* | CapabilityStatement | A statement of system capabilities cpb-0: Name should be usable as an identifier for the module by machine processing applications such as code generation cpb-1: A Capability Statement SHALL have at least one of REST, messaging or document element. cpb-2: A Capability Statement SHALL have at least one of description, software, or implementation element. cpb-3: Messaging end-point is required (and is only permitted) when a statement is for an implementation. cpb-7: The set of documents must be unique by the combination of profile and mode. cpb-14: If kind = instance, implementation must be present and software may be present cpb-15: If kind = capability, implementation must be absent, software must be present cpb-16: If kind = requirements, implementation and software must be absent | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 0..1 | uri | Canonical identifier for this capability statement, represented as a URI (globally unique) | ||||
version | Σ | 0..1 | string | Business version of the capability statement | ||||
name | ΣC | 0..1 | string | Name for this capability statement (computer friendly) | ||||
title | Σ | 0..1 | string | Name for this capability statement (human friendly) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
date | Σ | 1..1 | dateTime | Date last changed | ||||
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | C | 0..1 | markdown | Natural language description of the capability statement | ||||
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for capability statement (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
purpose | 0..1 | markdown | Why this capability statement is defined | |||||
copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
kind | ΣC | 1..1 | code | instance | capability | requirements Binding: CapabilityStatementKind (required): How a capability statement is intended to be used. | ||||
instantiates | Σ | 0..* | canonical(CapabilityStatement) | Canonical URL of another capability statement this implements | ||||
imports | Σ | 0..* | canonical(CapabilityStatement) | Canonical URL of another capability statement this adds to | ||||
software | ΣC | 0..1 | BackboneElement | Software that is covered by this capability statement | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | Σ | 1..1 | string | A name the software is known by | ||||
version | Σ | 0..1 | string | Version covered by this statement | ||||
releaseDate | Σ | 0..1 | dateTime | Date this version was released | ||||
implementation | ΣC | 0..1 | BackboneElement | If this describes a specific instance | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
description | Σ | 1..1 | string | Describes this specific instance | ||||
url | Σ | 0..1 | url | Base URL for the installation | ||||
custodian | Σ | 0..1 | Reference(Organization) | Organization that manages the data | ||||
fhirVersion | Σ | 1..1 | code | FHIR Version the system supports Binding: FHIRVersion (required): All published FHIR Versions. | ||||
Slices for format | Σ | 1..* | code | JSON is mandatory Slice: Unordered, Open by value:$this Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
format:json | Σ | 1..* | code | formats supported (xml | json | ttl | mime type) Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
value | 0..1 | string | Primitive value for code Required Pattern: json | |||||
patchFormat | Σ | 0..* | code | Patch formats supported Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
implementationGuide | Σ | 0..* | canonical(ImplementationGuide) | Implementation guides supported Required Pattern: http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch | ||||
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 | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
mode | Σ | 1..1 | code | client | server Binding: RestfulCapabilityMode (required): The mode of a RESTful capability statement. Required Pattern: server | ||||
documentation | 0..1 | markdown | General description of implementation | |||||
security | Σ | 0..1 | BackboneElement | Information about security of implementation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
cors | Σ | 0..1 | boolean | Adds CORS Headers (http://enable-cors.org/) | ||||
service | Σ | 0..* | CodeableConcept | OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates Binding: RestfulSecurityService (extensible): Types of security services used with FHIR. | ||||
description | 0..1 | markdown | General description of how security works | |||||
resource | ΣC | 0..* | BackboneElement | Resource served on the REST interface cpb-12: Search parameter names must be unique in the context of a resource. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
type | Σ | 1..1 | code | A resource type that is supported Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR. | ||||
profile | Σ | 0..1 | canonical(StructureDefinition) | Base System profile for all uses of resource | ||||
supportedProfile | Σ | 0..* | canonical(StructureDefinition) | Profiles for use cases supported | ||||
documentation | 0..1 | markdown | Additional information about the use of the resource type | |||||
interaction | 0..* | BackboneElement | What operations are supported? | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 1..1 | code | read | vread | update | patch | delete | history-instance | history-type | create | search-type Binding: TypeRestfulInteraction (required): Operations supported by REST at the type or instance level. | |||||
documentation | 0..1 | markdown | Anything special about operation behavior | |||||
versioning | 0..1 | code | no-version | versioned | versioned-update Binding: ResourceVersionPolicy (required): How the system supports versioning for a resource. | |||||
readHistory | 0..1 | boolean | Whether vRead can return past versions | |||||
updateCreate | 0..1 | boolean | If update can commit to a new identity | |||||
conditionalCreate | 0..1 | boolean | If allows/uses conditional create | |||||
conditionalRead | 0..1 | code | not-supported | modified-since | not-match | full-support Binding: ConditionalReadStatus (required): A code that indicates how the server supports conditional read. | |||||
conditionalUpdate | 0..1 | boolean | If allows/uses conditional update | |||||
conditionalDelete | 0..1 | code | not-supported | single | multiple - how conditional delete is supported Binding: ConditionalDeleteStatus (required): A code that indicates how the server supports conditional delete. | |||||
referencePolicy | 0..* | code | literal | logical | resolves | enforced | local Binding: ReferenceHandlingPolicy (required): A set of flags that defines how references are supported. | |||||
searchInclude | 0..* | string | _include values supported by the server | |||||
searchRevInclude | 0..* | string | _revinclude values supported by the server | |||||
searchParam | 0..* | BackboneElement | Search parameters supported by implementation | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | 1..1 | string | Name of search parameter | |||||
definition | 0..1 | canonical(SearchParameter) | Source of definition for parameter | |||||
type | 1..1 | code | number | date | string | token | reference | composite | quantity | uri | special Binding: SearchParamType (required): Data types allowed to be used for search parameters. | |||||
documentation | 0..1 | markdown | Server-specific usage | |||||
operation | Σ | 0..* | BackboneElement | Definition of a resource operation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
name | Σ | 1..1 | string | Name by which the operation/query is invoked | ||||
definition | Σ | 1..1 | canonical(OperationDefinition) | The defined operation/query | ||||
documentation | 0..1 | markdown | Specific details about operation behavior | |||||
interaction | 0..* | BackboneElement | What operations are supported? | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 1..1 | code | transaction | batch | search-system | history-system Binding: SystemRestfulInteraction (required): Operations supported by REST at the system level. | |||||
documentation | 0..1 | markdown | Anything special about operation behavior | |||||
searchParam | 0..* | See searchParam (CapabilityStatement) | Search parameters for searching all resources | |||||
operation | Σ | 0..* | See operation (CapabilityStatement) | Definition of a system level operation | ||||
compartment | 0..* | canonical(CompartmentDefinition) | Compartments served/used by system | |||||
messaging | ΣC | 0..* | BackboneElement | If messaging is supported | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
endpoint | 0..* | BackboneElement | Where messages should be sent | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
protocol | 1..1 | Coding | http | ftp | mllp + Binding: MessageTransport (extensible): The protocol used for message transport. | |||||
address | 1..1 | url | Network address or identifier of the end-point | |||||
reliableCache | 0..1 | unsignedInt | Reliable Message Cache Length (min) | |||||
documentation | 0..1 | markdown | Messaging interface behavior details | |||||
supportedMessage | Σ | 0..* | BackboneElement | Messages supported by this system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
mode | Σ | 1..1 | code | sender | receiver Binding: EventCapabilityMode (required): The mode of a message capability statement. | ||||
definition | Σ | 1..1 | canonical(MessageDefinition) | Message supported by this system | ||||
document | ΣC | 0..* | BackboneElement | Document definition | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
mode | Σ | 1..1 | code | producer | consumer Binding: DocumentMode (required): Whether the application produces or consumes documents. | ||||
documentation | 0..1 | markdown | Description of document support | |||||
profile | Σ | 1..1 | canonical(StructureDefinition) | Constraint on the resources used in the document | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
CapabilityStatement.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
CapabilityStatement.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.jurisdiction | extensible | Jurisdiction ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | ||||
CapabilityStatement.kind | required | CapabilityStatementKindhttp://hl7.org/fhir/ValueSet/capability-statement-kind|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.fhirVersion | required | FHIRVersionhttp://hl7.org/fhir/ValueSet/FHIR-version|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.format | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.format:json | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.patchFormat | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.mode | required | Pattern: serverhttp://hl7.org/fhir/ValueSet/restful-capability-mode|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.security.service | extensible | RestfulSecurityServicehttp://hl7.org/fhir/ValueSet/restful-security-service from the FHIR Standard | ||||
CapabilityStatement.rest.resource.type | required | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.interaction.code | required | TypeRestfulInteractionhttp://hl7.org/fhir/ValueSet/type-restful-interaction|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.versioning | required | ResourceVersionPolicyhttp://hl7.org/fhir/ValueSet/versioning-policy|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.conditionalRead | required | ConditionalReadStatushttp://hl7.org/fhir/ValueSet/conditional-read-status|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.conditionalDelete | required | ConditionalDeleteStatushttp://hl7.org/fhir/ValueSet/conditional-delete-status|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.referencePolicy | required | ReferenceHandlingPolicyhttp://hl7.org/fhir/ValueSet/reference-handling-policy|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.resource.searchParam.type | required | SearchParamTypehttp://hl7.org/fhir/ValueSet/search-param-type|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.rest.interaction.code | required | SystemRestfulInteractionhttp://hl7.org/fhir/ValueSet/system-restful-interaction|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.messaging.endpoint.protocol | extensible | MessageTransporthttp://hl7.org/fhir/ValueSet/message-transport from the FHIR Standard | ||||
CapabilityStatement.messaging.supportedMessage.mode | required | EventCapabilityModehttp://hl7.org/fhir/ValueSet/event-capability-mode|4.0.1 from the FHIR Standard | ||||
CapabilityStatement.document.mode | required | DocumentModehttp://hl7.org/fhir/ValueSet/document-mode|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
cpb-0 | warning | CapabilityStatement | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
cpb-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 in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-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 | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from CapabilityStatement
Summary
Mandatory: 1 element
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron