R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Vocabulary Work GroupMaturity Level: 0 Trial Use Compartments: Not linked to any defined compartments

Detailed Descriptions for the elements in the TerminologyCapabilities resource.

TerminologyCapabilities
Element IdTerminologyCapabilities
Definition

A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.

Control1..1
TypeDomainResource
Invariants
Defined on this element
tcp-0Warning Name should be usable as an identifier for the module by machine processing applications such as code generationname.matches('[A-Z]([A-Za-z0-9_]){0,254}')
tcp-2Rule A Capability Statement SHALL have at least one of description, software, or implementation element.(description.count() + software.count() + implementation.count()) > 0
tcp-3Rule If kind = instance, implementation must be present and software may be present(kind != 'instance') or implementation.exists()
tcp-4Rule If kind = capability, implementation must be absent, software must be present(kind != 'capability') or (implementation.exists().not() and software.exists())
tcp-5Rule If kind = requirements, implementation and software must be absent(kind!='requirements') or (implementation.exists().not() and software.exists().not())
TerminologyCapabilities.url
Element IdTerminologyCapabilities.url
Definition

An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.

Control0..1
Typeuri
Requirements

Allows the terminology capabilities to be referenced by a single globally unique identifier.

Summarytrue
Comments

Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version.

The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions.

TerminologyCapabilities.version
Element IdTerminologyCapabilities.version
Definition

The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.

NoteThis is a business versionId, not a resource version id (see discussion)
Control0..1
Typestring
Summarytrue
Comments

There may be different terminology capabilities instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the terminology capabilities with the format [url]|[version].

TerminologyCapabilities.name
Element IdTerminologyCapabilities.name
Definition

A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.

Control0..1
Typestring
Requirements

Support human navigation and code generation.

Summarytrue
Comments

The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.

Invariants
Affect this element
inv-0Warning Name should be usable as an identifier for the module by machine processing applications such as code generationname.matches('[A-Z]([A-Za-z0-9_]){0,254}')
TerminologyCapabilities.title
Element IdTerminologyCapabilities.title
Definition

A short, descriptive, user-friendly title for the terminology capabilities.

Control0..1
Typestring
Summarytrue
Comments

This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

TerminologyCapabilities.status
Element IdTerminologyCapabilities.status
Definition

The status of this terminology capabilities. Enables tracking the life-cycle of the content.

Control1..1
Terminology BindingPublicationStatus (Required)
Typecode
Is Modifiertrue (Reason: This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration)
Summarytrue
Comments

Allows filtering of terminology capabilitiess that are appropriate for use versus not.This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems.

TerminologyCapabilities.experimental
Element IdTerminologyCapabilities.experimental
Definition

A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.

Control0..1
Typeboolean
Requirements

Enables experimental content to be developed following the same lifecycle that would be used for a production-level terminology capabilities.

Summarytrue
Comments

Allows filtering of terminology capabilitiess that are appropriate for use versus not.

TerminologyCapabilities.date
Element IdTerminologyCapabilities.date
Definition

The date (and optionally time) when the terminology capabilities was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the terminology capabilities changes.

Control1..1
TypedateTime
Alternate NamesRevision Date
Summarytrue
Comments

Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the terminology capabilities. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

TerminologyCapabilities.publisher
Element IdTerminologyCapabilities.publisher
Definition

The name of the organization or individual that published the terminology capabilities.

Control0..1
Typestring
Requirements

Helps establish the "authority/credibility" of the terminology capabilities. May also allow for contact.

Summarytrue
Comments

Usually an organization but may be an individual. The publisher (or steward) of the terminology capabilities is the organization or individual primarily responsible for the maintenance and upkeep of the terminology capabilities. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the terminology capabilities. This item SHOULD be populated unless the information is available from context.

TerminologyCapabilities.contact
Element IdTerminologyCapabilities.contact
Definition

Contact details to assist a user in finding and communicating with the publisher.

Control0..*
TypeContactDetail
Summarytrue
Comments

May be a web site, an email address, a telephone number, etc.

TerminologyCapabilities.description
Element IdTerminologyCapabilities.description
Definition

A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.

Control0..1
Typemarkdown
Comments

This description can be used to capture details such as why the terminology capabilities was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the terminology capabilities as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the terminology capabilities is presumed to be the predominant language in the place the terminology capabilities was created).This does not need to be populated if the description is adequately implied by the software or implementation details.

TerminologyCapabilities.useContext
Element IdTerminologyCapabilities.useContext
Definition

The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate terminology capabilities instances.

Control0..*
TypeUsageContext
Requirements

Assist in searching for appropriate content.

Summarytrue
Comments

When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.

TerminologyCapabilities.jurisdiction
Element IdTerminologyCapabilities.jurisdiction
Definition

A legal or geographic region in which the terminology capabilities is intended to be used.

Control0..*
Terminology BindingJurisdiction (Extensible)
TypeCodeableConcept
Summarytrue
Comments

It may be possible for the terminology capabilities to be used in jurisdictions other than those for which it was originally designed or intended.

TerminologyCapabilities.purpose
Element IdTerminologyCapabilities.purpose
Definition

Explanation of why this terminology capabilities is needed and why it has been designed as it has.

Control0..1
Typemarkdown
Comments

This element does not describe the usage of the terminology capabilities. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this terminology capabilities.

TerminologyCapabilities.copyright
Element IdTerminologyCapabilities.copyright
Definition

A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.

Control0..1
Typemarkdown
Requirements

Consumers must be able to determine any legal restrictions on the use of the terminology capabilities and/or its content.

Alternate NamesLicense; Restrictions
Summarytrue
TerminologyCapabilities.kind
Element IdTerminologyCapabilities.kind
Definition

The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).

Control1..1
Terminology BindingCapabilityStatementKind (Required)
Typecode
Requirements

Allow searching the 3 modes.

Summarytrue
Invariants
Affect this element
tcp-3Rule If kind = instance, implementation must be present and software may be present(kind != 'instance') or implementation.exists()
tcp-4Rule If kind = capability, implementation must be absent, software must be present(kind != 'capability') or (implementation.exists().not() and software.exists())
tcp-5Rule If kind = requirements, implementation and software must be absent(kind!='requirements') or (implementation.exists().not() and software.exists().not())
TerminologyCapabilities.software
Element IdTerminologyCapabilities.software
Definition

Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation.

Control0..1
Summarytrue
Invariants
Affect this element
tcp-2Rule A Capability Statement SHALL have at least one of description, software, or implementation element.(description.count() + software.count() + implementation.count()) > 0
TerminologyCapabilities.software.name
Element IdTerminologyCapabilities.software.name
Definition

Name the software is known by.

Control1..1
Typestring
Summarytrue
TerminologyCapabilities.software.version
Element IdTerminologyCapabilities.software.version
Definition

The version identifier for the software covered by this statement.

NoteThis is a business versionId, not a resource version id (see discussion)
Control0..1
Typestring
Summarytrue
Comments

If possible, a version should be specified, as statements are likely to be different for different versions of software.

TerminologyCapabilities.implementation
Element IdTerminologyCapabilities.implementation
Definition

Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.

Control0..1
Summarytrue
Invariants
Affect this element
tcp-2Rule A Capability Statement SHALL have at least one of description, software, or implementation element.(description.count() + software.count() + implementation.count()) > 0
tcp-5Rule If kind = requirements, implementation and software must be absent(kind!='requirements') or (implementation.exists().not() and software.exists().not())
TerminologyCapabilities.implementation.description
Element IdTerminologyCapabilities.implementation.description
Definition

Information about the specific installation that this terminology capability statement relates to.

Control1..1
Typestring
Summarytrue
TerminologyCapabilities.implementation.url
Element IdTerminologyCapabilities.implementation.url
Definition

An absolute base URL for the implementation.

Control0..1
Typeurl
Summarytrue
TerminologyCapabilities.lockedDate
Element IdTerminologyCapabilities.lockedDate
Definition

Whether the server supports lockedDate.

Control0..1
Typeboolean
Summarytrue
TerminologyCapabilities.codeSystem
Element IdTerminologyCapabilities.codeSystem
Definition

Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource.

Control0..*
Alternate Names1
Comments

The code system - identified by it's system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be.

Invariants
Defined on this element
tcp-1Rule If there is more than one version, a version code must be definedversion.count() > 1 implies version.all(code.exists())
TerminologyCapabilities.codeSystem.uri
Element IdTerminologyCapabilities.codeSystem.uri
Definition

URI for the Code System.

Control0..1
Typecanonical(CodeSystem)
TerminologyCapabilities.codeSystem.version
Element IdTerminologyCapabilities.codeSystem.version
Definition

For the code system, a list of versions that are supported by the server.

NoteThis is a business versionId, not a resource version id (see discussion)
Control0..*
Comments

Language translations might not be available for all codes.

TerminologyCapabilities.codeSystem.version.code
Element IdTerminologyCapabilities.codeSystem.version.code
Definition

For version-less code systems, there should be a single version with no identifier.

Control0..1
Typestring
Summarytrue
Invariants
Affect this element
tcp-1Rule If there is more than one version, a version code must be definedversion.count() > 1 implies version.all(code.exists())
TerminologyCapabilities.codeSystem.version.isDefault
Element IdTerminologyCapabilities.codeSystem.version.isDefault
Definition

If this is the default version for this code system.

Control0..1
Typeboolean
Summarytrue
TerminologyCapabilities.codeSystem.version.compositional
Element IdTerminologyCapabilities.codeSystem.version.compositional
Definition

If the compositional grammar defined by the code system is supported.

Control0..1
Typeboolean
TerminologyCapabilities.codeSystem.version.language
Element IdTerminologyCapabilities.codeSystem.version.language
Definition

Language Displays supported.

Control0..*
Typecode
TerminologyCapabilities.codeSystem.version.filter
Element IdTerminologyCapabilities.codeSystem.version.filter
Definition

Filter Properties supported.

Control0..*
TerminologyCapabilities.codeSystem.version.filter.code
Element IdTerminologyCapabilities.codeSystem.version.filter.code
Definition

Code of the property supported.

Control1..1
Typecode
TerminologyCapabilities.codeSystem.version.filter.op
Element IdTerminologyCapabilities.codeSystem.version.filter.op
Definition

Operations supported for the property.

Control1..*
Typecode
TerminologyCapabilities.codeSystem.version.property
Element IdTerminologyCapabilities.codeSystem.version.property
Definition

Properties supported for $lookup.

Control0..*
Typecode
TerminologyCapabilities.codeSystem.subsumption
Element IdTerminologyCapabilities.codeSystem.subsumption
Definition

True if subsumption is supported for this version of the code system.

Control0..1
Typeboolean
TerminologyCapabilities.expansion
Element IdTerminologyCapabilities.expansion
Definition

Information about the ValueSet/$expand operation.

Control0..1
TerminologyCapabilities.expansion.hierarchical
Element IdTerminologyCapabilities.expansion.hierarchical
Definition

Whether the server can return nested value sets.

Control0..1
Typeboolean
TerminologyCapabilities.expansion.paging
Element IdTerminologyCapabilities.expansion.paging
Definition

Whether the server supports paging on expansion.

Control0..1
Typeboolean
TerminologyCapabilities.expansion.incomplete
Element IdTerminologyCapabilities.expansion.incomplete
Definition

Allow request for incomplete expansions?

Control0..1
Typeboolean
TerminologyCapabilities.expansion.parameter
Element IdTerminologyCapabilities.expansion.parameter
Definition

Supported expansion parameter.

Control0..*
TerminologyCapabilities.expansion.parameter.name
Element IdTerminologyCapabilities.expansion.parameter.name
Definition

Expansion Parameter name.

Control1..1
Typecode
TerminologyCapabilities.expansion.parameter.documentation
Element IdTerminologyCapabilities.expansion.parameter.documentation
Definition

Description of support for parameter.

Control0..1
Typestring
TerminologyCapabilities.expansion.textFilter
Element IdTerminologyCapabilities.expansion.textFilter
Definition

Documentation about text searching works.

Control0..1
Typemarkdown
Comments

This documentation should cover things like case sensitivity, use of punctuation if not ignored, what wild cards are supported (if any), whether text is starts with or contains, and whether word order matters.

TerminologyCapabilities.codeSearch
Element IdTerminologyCapabilities.codeSearch
Definition

The degree to which the server supports the code search parameter on ValueSet, if it is supported.

Control0..1
Terminology BindingCodeSearchSupport (Required)
Typecode
Comments

See notes on the ValueSet resource.

TerminologyCapabilities.validateCode
Element IdTerminologyCapabilities.validateCode
Definition

Information about the ValueSet/$validate-code operation.

Control0..1
TerminologyCapabilities.validateCode.translations
Element IdTerminologyCapabilities.validateCode.translations
Definition

Whether translations are validated.

Control1..1
Typeboolean
TerminologyCapabilities.translation
Element IdTerminologyCapabilities.translation
Definition

Information about the ConceptMap/$translate operation.

Control0..1
TerminologyCapabilities.translation.needsMap
Element IdTerminologyCapabilities.translation.needsMap
Definition

Whether the client must identify the map.

Control1..1
Typeboolean
TerminologyCapabilities.closure
Element IdTerminologyCapabilities.closure
Definition

Whether the $closure operation is supported.

Control0..1
TerminologyCapabilities.closure.translation
Element IdTerminologyCapabilities.closure.translation
Definition

If cross-system closure is supported.

Control0..1
Typeboolean