Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

4.12 Resource TerminologyCapabilities - Content

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

4.12.1 Scope and Usage

The TerminologyCapabilities resource provides for a terminology server to describe how the underlying terminology service works.

A client can get the TerminologyCapabilities statement for a Terminology Service by using the capabilities API:

 GET [base]/metadata?mode=terminology

This will return the TerminologyCapabilities resource that applies to the service itself.

4.12.2 Boundaries and Relationships

  • The TerminologyCapabilities resource does not describe the API - see CapabilityStatement for this.
  • The CodeSystem resource documents the inherent structure and capabilities of code system, whereas the TerminologyCapabilities resource documents what a server hosting the code system is capable of

4.12.3 References to this Resource

No references for this Resource.

4.12.4 Resource Content

Structure

Name Flags Card. Type Description & Constraints doco
.. TerminologyCapabilities TU DomainResource A statement of system capabilities
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: A Terminology Capability statement SHALL have at least one of description, software, or implementation element
+ Rule: If kind = instance, implementation must be present and software may be present
+ Rule: If kind = capability, implementation must be absent, software must be present
+ Rule: If kind = requirements, implementation and software must be absent
+ Rule: Each instance of the codeSystem element must represent a distinct code system.

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: CanonicalResource
... url Σ C 0..1uri Canonical identifier for this terminology capabilities, represented as a URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..*Identifier Additional identifier for the terminology capabilities

... version Σ 0..1string Business version of the terminology capabilities
... versionAlgorithm[x] Σ 0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name Σ C 0..1string Name for this terminology capabilities (computer friendly)
... title Σ T 0..1string Name for this terminology capabilities (human friendly)
... status ?! Σ 1..1code draft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ 0..1boolean For testing purposes, not real usage
... date Σ 1..1dateTime Date last changed
... publisher Σ T 0..1string Name of the publisher/steward (organization or individual)
... contact Σ 0..*ContactDetail Contact details for the publisher

... description T C 0..1markdown Natural language description of the terminology capabilities
... useContext Σ 0..*UsageContext The context that the content is intended to support

... jurisdiction Σ XD 0..*CodeableConcept Intended jurisdiction for terminology capabilities (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T 0..1markdown Why this terminology capabilities is defined
... copyright Σ T 0..1markdown Use and/or publishing restrictions
... copyrightLabel T 0..1string Copyright holder and year(s)
... kind Σ C 1..1code instance | capability | requirements
Binding: Capability Statement Kind (Required)
... software Σ C 0..1BackboneElement Software that is covered by this terminology capability statement
.... name Σ 1..1string A name the software is known by
.... version Σ 0..1string Version covered by this statement
... implementation Σ C 0..1BackboneElement If this describes a specific instance
.... description Σ T 1..1string Describes this specific instance
.... url Σ 0..1url Base URL for the implementation
... lockedDate Σ 0..1boolean Whether lockedDate is supported
... codeSystem C 0..*BackboneElement A code system supported by the server
+ Rule: If there is more than one version, a version code must be defined
+ Rule: Each version.code element must be distinct for a particular code system.
+ Rule: A codeSystem element instance may have at most one version.isDefault element with a value of 'true'.

.... uri C 0..1canonical(CodeSystem)Canonical identifier for the code system, represented as a URI
.... version C 0..*BackboneElement Version of Code System supported

..... code Σ C 0..1string Version identifier for this version
..... isDefault Σ C 0..1boolean If this is the default version for this code system
..... compositional 0..1boolean If compositional grammar is supported
..... language 0..*code Language Displays supported
Binding: Common Languages (Required)

..... filter 0..*BackboneElement Filter Properties supported

...... code 1..1code Code of the property supported
...... op 1..*code Operations supported for the property

..... property 0..*code Properties supported for $lookup

.... content Σ 1..1code not-present | example | fragment | complete | supplement
Binding: Code System Content Mode (Required)
.... subsumption 0..1boolean Whether subsumption is supported
... expansion 0..1BackboneElement Information about the [ValueSet/$expand](valueset-operation-expand.html) operation
.... hierarchical 0..1boolean Whether the server can return nested value sets
.... paging 0..1boolean Whether the server supports paging on expansion
.... incomplete 0..1boolean Allow request for incomplete expansions?
.... parameter 0..*BackboneElement Supported expansion parameter

..... name 1..1code Name of the supported expansion parameter
..... documentation 0..1string Description of support for parameter
.... textFilter 0..1markdown Documentation about text searching works
... codeSearch 0..1code in-compose | in-expansion | in-compose-or-expansion
Binding: Code Search Support (Required)
... validateCode 0..1BackboneElement Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation
.... translations 1..1boolean Whether translations are validated
... translation 0..1BackboneElement Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation
.... needsMap 1..1boolean Whether the client must identify the map
... closure 0..1BackboneElement Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation
.... translation 0..1boolean If cross-system closure is supported

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

TerminologyCapabilities (DomainResource) +CanonicalResource 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 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 serversurl : uri [0..1]A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]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 sequenceversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »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 generationname : string [0..1] « This element has or is affected by some invariantsC »A short, descriptive, user-friendly title for the terminology capabilitiestitle : string [0..1]The status of this terminology capabilities. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)PublicationStatus! »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 usageexperimental : boolean [0..1]The date (and optionally time) when the terminology capabilities was last significantly changed. 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 changesdate : dateTime [1..1]The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilitiespublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]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 RFPdescription : markdown [0..1] « This element has or is affected by some invariantsC »The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate terminology capabilities instancesuseContext : UsageContext [0..*]A legal or geographic region in which the terminology capabilities is intended to be usedjurisdiction : CodeableConcept [0..*] « null (Strength=Extensible)JurisdictionValueSet+ »Explanation of why this terminology capabilities is needed and why it has been designed as it haspurpose : markdown [0..1]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 capabilitiescopyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]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)kind : code [1..1] « null (Strength=Required)CapabilityStatementKind! » « This element has or is affected by some invariantsC »Whether the server supports lockedDatelockedDate : boolean [0..1]The degree to which the server supports the code search parameter on ValueSet, if it is supportedcodeSearch : code [0..1] « null (Strength=Required)CodeSearchSupport! »SoftwareName the software is known byname : string [1..1]The version identifier for the software covered by this statementversion : string [0..1]ImplementationInformation about the specific installation that this terminology capability statement relates todescription : string [1..1]An absolute base URL for the implementationurl : url [0..1]CodeSystemCanonical identifier for the code system, represented as a URIuri : canonical [0..1] « CodeSystem » « This element has or is affected by some invariantsC »The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instancecontent : code [1..1] « null (Strength=Required)CodeSystemContentMode! »True if subsumption is supported for this version of the code systemsubsumption : boolean [0..1]VersionFor version-less code systems, there should be a single version with no identifiercode : string [0..1] « This element has or is affected by some invariantsC »If this is the default version for this code systemisDefault : boolean [0..1] « This element has or is affected by some invariantsC »If the compositional grammar defined by the code system is supportedcompositional : boolean [0..1]Language Displays supportedlanguage : code [0..*] « null (Strength=Required)CommonLanguages! »Properties supported for $lookupproperty : code [0..*]FilterCode of the property supportedcode : code [1..1]Operations supported for the propertyop : code [1..*]ExpansionWhether the server can return nested value setshierarchical : boolean [0..1]Whether the server supports paging on expansionpaging : boolean [0..1]True if requests for incomplete expansions are allowedincomplete : boolean [0..1]Documentation about text searching workstextFilter : markdown [0..1]ParameterName of the supported expansion parametername : code [1..1]Description of support for parameterdocumentation : string [0..1]ValidateCodeWhether translations are validatedtranslations : boolean [1..1]TranslationWhether the client must identify the mapneedsMap : boolean [1..1]ClosureIf cross-system closure is supportedtranslation : boolean [0..1]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 installationsoftware [0..1]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 programimplementation [0..1]Filter Properties supportedfilter [0..*]For the code system, a list of versions that are supported by the serverversion [0..*]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 resourcecodeSystem [0..*]Supported expansion parameterparameter [0..*]Information about the [ValueSet/$expand](valueset-operation-expand.html) operationexpansion [0..1]Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operationvalidateCode [0..1]Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operationtranslation [0..1]Whether the $closure operation is supportedclosure [0..1]

XML Template

<TerminologyCapabilities xmlns="http://hl7.org/fhir"> doco 
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri ]"/><!-- 0..1 Canonical identifier for this terminology capabilities, represented as a URI (globally unique)  -->
 <identifier><!-- 0..* Identifier  Additional identifier for the terminology capabilities  --></identifier>
 <version value="[string ]"/><!-- 0..1 Business version of the terminology capabilities  -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding  How to compare versions  --></versionAlgorithm[x]>
 <name value="[string ]"/><!-- I 0..1 Name for this terminology capabilities (computer friendly)  -->
 <title value="[string ]"/><!-- 0..1 Name for this terminology capabilities (human friendly)  -->
 <status value="[code ]"/><!-- 1..1 draft | active | retired | unknown  -->
 <experimental value="[boolean ]"/><!-- 0..1 For testing purposes, not real usage  -->
 <date value="[dateTime ]"/><!-- 1..1 Date last changed  -->
 <publisher value="[string ]"/><!-- 0..1 Name of the publisher/steward (organization or individual)  -->
 <contact><!-- 0..* ContactDetail  Contact details for the publisher  --></contact>
 <description value="[markdown ]"/><!-- I 0..1 Natural language description of the terminology capabilities  -->
 <useContext><!-- 0..* UsageContext  The context that the content is intended to support  --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept  Intended jurisdiction for terminology capabilities (if applicable)  --></jurisdiction>
 <purpose value="[markdown ]"/><!-- 0..1 Why this terminology capabilities is defined  -->
 <copyright value="[markdown ]"/><!-- 0..1 Use and/or publishing restrictions  -->
 <copyrightLabel value="[string ]"/><!-- 0..1 Copyright holder and year(s)  -->
 <kind value="[code ]"/><!-- I 1..1 instance | capability | requirements  -->
 <software> <!-- I 0..1 Software that is covered by this terminology capability statement -->
 <name value="[string ]"/><!-- 1..1 A name the software is known by  -->
 <version value="[string ]"/><!-- 0..1 Version covered by this statement  -->
 </software>
 <implementation> <!-- I 0..1 If this describes a specific instance -->
 <description value="[string ]"/><!-- 1..1 Describes this specific instance  -->
 <url value="[url ]"/><!-- 0..1 Base URL for the implementation  -->
 </implementation>
 <lockedDate value="[boolean ]"/><!-- 0..1 Whether lockedDate is supported  -->
 <codeSystem> <!-- I 0..* A code system supported by the server -->
 <uri><!-- I 0..1 canonical(CodeSystem) Canonical identifier for the code system, represented as a URI  --></uri>
 <version> <!-- I 0..* Version of Code System supported -->
 <code value="[string ]"/><!-- I 0..1 Version identifier for this version  -->
 <isDefault value="[boolean ]"/><!-- I 0..1 If this is the default version for this code system  -->
 <compositional value="[boolean ]"/><!-- 0..1 If compositional grammar is supported  -->
 <language value="[code ]"/><!-- 0..* Language Displays supported  -->
 <filter> <!-- 0..* Filter Properties supported -->
 <code value="[code ]"/><!-- 1..1 Code of the property supported  -->
 <op value="[code ]"/><!-- 1..* Operations supported for the property  -->
 </filter>
 <property value="[code ]"/><!-- 0..* Properties supported for $lookup  -->
 </version>
 <content value="[code ]"/><!-- 1..1 not-present | example | fragment | complete | supplement  -->
 <subsumption value="[boolean ]"/><!-- 0..1 Whether subsumption is supported  -->
 </codeSystem>
 <expansion> <!-- 0..1 Information about the [ValueSet/$expand](valueset-operation-expand.html) operation -->
 <hierarchical value="[boolean ]"/><!-- 0..1 Whether the server can return nested value sets  -->
 <paging value="[boolean ]"/><!-- 0..1 Whether the server supports paging on expansion  -->
 <incomplete value="[boolean ]"/><!-- 0..1 Allow request for incomplete expansions?  -->
 <parameter> <!-- 0..* Supported expansion parameter -->
 <name value="[code ]"/><!-- 1..1 Name of the supported expansion parameter  -->
 <documentation value="[string ]"/><!-- 0..1 Description of support for parameter  -->
 </parameter>
 <textFilter value="[markdown ]"/><!-- 0..1 Documentation about text searching works  -->
 </expansion>
 <codeSearch value="[code ]"/><!-- 0..1 in-compose | in-expansion | in-compose-or-expansion  -->
 <validateCode> <!-- 0..1 Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation -->
 <translations value="[boolean ]"/><!-- 1..1 Whether translations are validated  -->
 </validateCode>
 <translation> <!-- 0..1 Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation -->
 <needsMap value="[boolean ]"/><!-- 1..1 Whether the client must identify the map  -->
 </translation>
 <closure> <!-- 0..1 Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation -->
 <translation value="[boolean ]"/><!-- 0..1 If cross-system closure is supported  -->
 </closure>
</TerminologyCapabilities>

JSON Template

{doco 
 "resourceType" : "TerminologyCapabilities",
 // from Resource: id, meta, implicitRules, and language
 // from DomainResource: text, contained, extension, and modifierExtension
 "url" : "<uri >", // Canonical identifier for this terminology capabilities, represented as a URI (globally unique) 
 "identifier" : [{ Identifier  }], // Additional identifier for the terminology capabilities 
 "version" : "<string >", // Business version of the terminology capabilities 
 // versionAlgorithm[x]: How to compare versions. One of these 2:
 "versionAlgorithmString" : "<string >",
 "versionAlgorithmCoding" : { Coding  },
 "name" : "<string >", // I  Name for this terminology capabilities (computer friendly) 
 "title" : "<string >", // Name for this terminology capabilities (human friendly) 
 "status" : "<code >", // R! draft | active | retired | unknown 
 "experimental" : <boolean >, // For testing purposes, not real usage 
 "date" : "<dateTime >", // R! Date last changed 
 "publisher" : "<string >", // Name of the publisher/steward (organization or individual) 
 "contact" : [{ ContactDetail  }], // Contact details for the publisher 
 "description" : "<markdown >", // I  Natural language description of the terminology capabilities 
 "useContext" : [{ UsageContext  }], // The context that the content is intended to support 
 "jurisdiction" : [{ CodeableConcept  }], // Intended jurisdiction for terminology capabilities (if applicable) 
 "purpose" : "<markdown >", // Why this terminology capabilities is defined 
 "copyright" : "<markdown >", // Use and/or publishing restrictions 
 "copyrightLabel" : "<string >", // Copyright holder and year(s) 
 "kind" : "<code >", // I  R! instance | capability | requirements 
 "software" : { // I  Software that is covered by this terminology capability statement 
 "name" : "<string >", // R! A name the software is known by 
 "version" : "<string >" // Version covered by this statement 
 },
 "implementation" : { // I  If this describes a specific instance 
 "description" : "<string >", // R! Describes this specific instance 
 "url" : "<url >" // Base URL for the implementation 
 },
 "lockedDate" : <boolean >, // Whether lockedDate is supported 
 "codeSystem" : [{ // I  A code system supported by the server 
 "uri" : "<canonical (CodeSystem)>", // I  Canonical identifier for the code system, represented as a URI 
 "version" : [{ // I  Version of Code System supported 
 "code" : "<string >", // I  Version identifier for this version 
 "isDefault" : <boolean >, // I  If this is the default version for this code system 
 "compositional" : <boolean >, // If compositional grammar is supported 
 "language" : ["<code >"], // Language Displays supported 
 "filter" : [{ // Filter Properties supported 
 "code" : "<code >", // R! Code of the property supported 
 "op" : ["<code >"] // R! Operations supported for the property 
 }],
 "property" : ["<code >"] // Properties supported for $lookup 
 }],
 "content" : "<code >", // R! not-present | example | fragment | complete | supplement 
 "subsumption" : <boolean > // Whether subsumption is supported 
 }],
 "expansion" : { // Information about the [ValueSet/$expand](valueset-operation-expand.html) operation 
 "hierarchical" : <boolean >, // Whether the server can return nested value sets 
 "paging" : <boolean >, // Whether the server supports paging on expansion 
 "incomplete" : <boolean >, // Allow request for incomplete expansions? 
 "parameter" : [{ // Supported expansion parameter 
 "name" : "<code >", // R! Name of the supported expansion parameter 
 "documentation" : "<string >" // Description of support for parameter 
 }],
 "textFilter" : "<markdown >" // Documentation about text searching works 
 },
 "codeSearch" : "<code >", // in-compose | in-expansion | in-compose-or-expansion 
 "validateCode" : { // Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation 
 "translations" : <boolean > // R! Whether translations are validated 
 },
 "translation" : { // Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation 
 "needsMap" : <boolean > // R! Whether the client must identify the map 
 },
 "closure" : { // Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation 
 "translation" : <boolean > // If cross-system closure is supported 
 }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco 
[ a fhir:TerminologyCapabilities;
 fhir:nodeRole fhir:treeRoot; # if this is the parser root
 # from Resource: .id, .meta, .implicitRules, and .language
 # from DomainResource: .text, .contained, .extension, and .modifierExtension
 fhir:url[ uri ] ; # 0..1 Canonical identifier for this terminology capabilities, represented as a URI (globally unique)
 fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the terminology capabilities
 fhir:version[ string ] ; # 0..1 Business version of the terminology capabilities
 # versionAlgorithm[x]: 0..1 How to compare versions. One of these 2
 fhir:versionAlgorithm[ a fhir:string ; string ]
 fhir:versionAlgorithm[ a fhir:Coding ; Coding ]
 fhir:name[ string ] ; # 0..1 I  Name for this terminology capabilities (computer friendly)
 fhir:title[ string ] ; # 0..1 Name for this terminology capabilities (human friendly)
 fhir:status[ code ] ; # 1..1 draft | active | retired | unknown
 fhir:experimental[ boolean ] ; # 0..1 For testing purposes, not real usage
 fhir:date[ dateTime ] ; # 1..1 Date last changed
 fhir:publisher[ string ] ; # 0..1 Name of the publisher/steward (organization or individual)
 fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
 fhir:description[ markdown ] ; # 0..1 I  Natural language description of the terminology capabilities
 fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
 fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for terminology capabilities (if applicable)
 fhir:purpose[ markdown ] ; # 0..1 Why this terminology capabilities is defined
 fhir:copyright[ markdown ] ; # 0..1 Use and/or publishing restrictions
 fhir:copyrightLabel[ string ] ; # 0..1 Copyright holder and year(s)
 fhir:kind[ code ] ; # 1..1 I  instance | capability | requirements
 fhir:software[ # 0..1 I  Software that is covered by this terminology capability statement
 fhir:name[ string ] ; # 1..1 A name the software is known by
 fhir:version[ string ] ; # 0..1 Version covered by this statement
 ] ;
 fhir:implementation[ # 0..1 I  If this describes a specific instance
 fhir:description[ string ] ; # 1..1 Describes this specific instance
 fhir:url[ url ] ; # 0..1 Base URL for the implementation
 ] ;
 fhir:lockedDate[ boolean ] ; # 0..1 Whether lockedDate is supported
 fhir:codeSystem( [ # 0..* I  A code system supported by the server
 fhir:uri[ canonical(CodeSystem) ] ; # 0..1 I  Canonical identifier for the code system, represented as a URI
 fhir:version( [ # 0..* I  Version of Code System supported
 fhir:code[ string ] ; # 0..1 I  Version identifier for this version
 fhir:isDefault[ boolean ] ; # 0..1 I  If this is the default version for this code system
 fhir:compositional[ boolean ] ; # 0..1 If compositional grammar is supported
 fhir:language ( [ code ] ... ) ; # 0..* Language Displays supported
 fhir:filter( [ # 0..* Filter Properties supported
 fhir:code[ code ] ; # 1..1 Code of the property supported
 fhir:op ( [ code ] ... ) ; # 1..* Operations supported for the property
 ] ... ) ;
 fhir:property ( [ code ] ... ) ; # 0..* Properties supported for $lookup
 ] ... ) ;
 fhir:content[ code ] ; # 1..1 not-present | example | fragment | complete | supplement
 fhir:subsumption[ boolean ] ; # 0..1 Whether subsumption is supported
 ] ... ) ;
 fhir:expansion[ # 0..1 Information about the [ValueSet/$expand](valueset-operation-expand.html) operation
 fhir:hierarchical[ boolean ] ; # 0..1 Whether the server can return nested value sets
 fhir:paging[ boolean ] ; # 0..1 Whether the server supports paging on expansion
 fhir:incomplete[ boolean ] ; # 0..1 Allow request for incomplete expansions?
 fhir:parameter( [ # 0..* Supported expansion parameter
 fhir:name[ code ] ; # 1..1 Name of the supported expansion parameter
 fhir:documentation[ string ] ; # 0..1 Description of support for parameter
 ] ... ) ;
 fhir:textFilter[ markdown ] ; # 0..1 Documentation about text searching works
 ] ;
 fhir:codeSearch[ code ] ; # 0..1 in-compose | in-expansion | in-compose-or-expansion
 fhir:validateCode[ # 0..1 Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation
 fhir:translations[ boolean ] ; # 1..1 Whether translations are validated
 ] ;
 fhir:translation[ # 0..1 Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation
 fhir:needsMap[ boolean ] ; # 1..1 Whether the client must identify the map
 ] ;
 fhir:closure[ # 0..1 Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation
 fhir:translation[ boolean ] ; # 0..1 If cross-system closure is supported
 ] ;
]

Changes from both R4 and R4B

TerminologyCapabilities.identifier
  • Added Element
TerminologyCapabilities.versionAlgorithm[x]
  • Added Element
TerminologyCapabilities.copyrightLabel
  • Added Element
TerminologyCapabilities.codeSystem.version.language
  • Add Binding `http://hl7.org/fhir/ValueSet/languages|5.0.0` (required)
TerminologyCapabilities.codeSystem.content
  • Added Mandatory Element
TerminologyCapabilities.codeSearch
  • Remove codes explicit, all
  • Add codes in-compose, in-expansion, in-compose-or-expansion

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Structure

Name Flags Card. Type Description & Constraints doco
.. TerminologyCapabilities TU DomainResource A statement of system capabilities
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: A Terminology Capability statement SHALL have at least one of description, software, or implementation element
+ Rule: If kind = instance, implementation must be present and software may be present
+ Rule: If kind = capability, implementation must be absent, software must be present
+ Rule: If kind = requirements, implementation and software must be absent
+ Rule: Each instance of the codeSystem element must represent a distinct code system.

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: CanonicalResource
... url Σ C 0..1uri Canonical identifier for this terminology capabilities, represented as a URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..*Identifier Additional identifier for the terminology capabilities

... version Σ 0..1string Business version of the terminology capabilities
... versionAlgorithm[x] Σ 0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name Σ C 0..1string Name for this terminology capabilities (computer friendly)
... title Σ T 0..1string Name for this terminology capabilities (human friendly)
... status ?! Σ 1..1code draft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ 0..1boolean For testing purposes, not real usage
... date Σ 1..1dateTime Date last changed
... publisher Σ T 0..1string Name of the publisher/steward (organization or individual)
... contact Σ 0..*ContactDetail Contact details for the publisher

... description T C 0..1markdown Natural language description of the terminology capabilities
... useContext Σ 0..*UsageContext The context that the content is intended to support

... jurisdiction Σ XD 0..*CodeableConcept Intended jurisdiction for terminology capabilities (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T 0..1markdown Why this terminology capabilities is defined
... copyright Σ T 0..1markdown Use and/or publishing restrictions
... copyrightLabel T 0..1string Copyright holder and year(s)
... kind Σ C 1..1code instance | capability | requirements
Binding: Capability Statement Kind (Required)
... software Σ C 0..1BackboneElement Software that is covered by this terminology capability statement
.... name Σ 1..1string A name the software is known by
.... version Σ 0..1string Version covered by this statement
... implementation Σ C 0..1BackboneElement If this describes a specific instance
.... description Σ T 1..1string Describes this specific instance
.... url Σ 0..1url Base URL for the implementation
... lockedDate Σ 0..1boolean Whether lockedDate is supported
... codeSystem C 0..*BackboneElement A code system supported by the server
+ Rule: If there is more than one version, a version code must be defined
+ Rule: Each version.code element must be distinct for a particular code system.
+ Rule: A codeSystem element instance may have at most one version.isDefault element with a value of 'true'.

.... uri C 0..1canonical(CodeSystem)Canonical identifier for the code system, represented as a URI
.... version C 0..*BackboneElement Version of Code System supported

..... code Σ C 0..1string Version identifier for this version
..... isDefault Σ C 0..1boolean If this is the default version for this code system
..... compositional 0..1boolean If compositional grammar is supported
..... language 0..*code Language Displays supported
Binding: Common Languages (Required)

..... filter 0..*BackboneElement Filter Properties supported

...... code 1..1code Code of the property supported
...... op 1..*code Operations supported for the property

..... property 0..*code Properties supported for $lookup

.... content Σ 1..1code not-present | example | fragment | complete | supplement
Binding: Code System Content Mode (Required)
.... subsumption 0..1boolean Whether subsumption is supported
... expansion 0..1BackboneElement Information about the [ValueSet/$expand](valueset-operation-expand.html) operation
.... hierarchical 0..1boolean Whether the server can return nested value sets
.... paging 0..1boolean Whether the server supports paging on expansion
.... incomplete 0..1boolean Allow request for incomplete expansions?
.... parameter 0..*BackboneElement Supported expansion parameter

..... name 1..1code Name of the supported expansion parameter
..... documentation 0..1string Description of support for parameter
.... textFilter 0..1markdown Documentation about text searching works
... codeSearch 0..1code in-compose | in-expansion | in-compose-or-expansion
Binding: Code Search Support (Required)
... validateCode 0..1BackboneElement Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation
.... translations 1..1boolean Whether translations are validated
... translation 0..1BackboneElement Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation
.... needsMap 1..1boolean Whether the client must identify the map
... closure 0..1BackboneElement Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation
.... translation 0..1boolean If cross-system closure is supported

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

TerminologyCapabilities (DomainResource) +CanonicalResource 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 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 serversurl : uri [0..1]A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]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 sequenceversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »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 generationname : string [0..1] « This element has or is affected by some invariantsC »A short, descriptive, user-friendly title for the terminology capabilitiestitle : string [0..1]The status of this terminology capabilities. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)PublicationStatus! »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 usageexperimental : boolean [0..1]The date (and optionally time) when the terminology capabilities was last significantly changed. 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 changesdate : dateTime [1..1]The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilitiespublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]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 RFPdescription : markdown [0..1] « This element has or is affected by some invariantsC »The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate terminology capabilities instancesuseContext : UsageContext [0..*]A legal or geographic region in which the terminology capabilities is intended to be usedjurisdiction : CodeableConcept [0..*] « null (Strength=Extensible)JurisdictionValueSet+ »Explanation of why this terminology capabilities is needed and why it has been designed as it haspurpose : markdown [0..1]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 capabilitiescopyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]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)kind : code [1..1] « null (Strength=Required)CapabilityStatementKind! » « This element has or is affected by some invariantsC »Whether the server supports lockedDatelockedDate : boolean [0..1]The degree to which the server supports the code search parameter on ValueSet, if it is supportedcodeSearch : code [0..1] « null (Strength=Required)CodeSearchSupport! »SoftwareName the software is known byname : string [1..1]The version identifier for the software covered by this statementversion : string [0..1]ImplementationInformation about the specific installation that this terminology capability statement relates todescription : string [1..1]An absolute base URL for the implementationurl : url [0..1]CodeSystemCanonical identifier for the code system, represented as a URIuri : canonical [0..1] « CodeSystem » « This element has or is affected by some invariantsC »The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instancecontent : code [1..1] « null (Strength=Required)CodeSystemContentMode! »True if subsumption is supported for this version of the code systemsubsumption : boolean [0..1]VersionFor version-less code systems, there should be a single version with no identifiercode : string [0..1] « This element has or is affected by some invariantsC »If this is the default version for this code systemisDefault : boolean [0..1] « This element has or is affected by some invariantsC »If the compositional grammar defined by the code system is supportedcompositional : boolean [0..1]Language Displays supportedlanguage : code [0..*] « null (Strength=Required)CommonLanguages! »Properties supported for $lookupproperty : code [0..*]FilterCode of the property supportedcode : code [1..1]Operations supported for the propertyop : code [1..*]ExpansionWhether the server can return nested value setshierarchical : boolean [0..1]Whether the server supports paging on expansionpaging : boolean [0..1]True if requests for incomplete expansions are allowedincomplete : boolean [0..1]Documentation about text searching workstextFilter : markdown [0..1]ParameterName of the supported expansion parametername : code [1..1]Description of support for parameterdocumentation : string [0..1]ValidateCodeWhether translations are validatedtranslations : boolean [1..1]TranslationWhether the client must identify the mapneedsMap : boolean [1..1]ClosureIf cross-system closure is supportedtranslation : boolean [0..1]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 installationsoftware [0..1]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 programimplementation [0..1]Filter Properties supportedfilter [0..*]For the code system, a list of versions that are supported by the serverversion [0..*]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 resourcecodeSystem [0..*]Supported expansion parameterparameter [0..*]Information about the [ValueSet/$expand](valueset-operation-expand.html) operationexpansion [0..1]Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operationvalidateCode [0..1]Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operationtranslation [0..1]Whether the $closure operation is supportedclosure [0..1]

XML Template

<TerminologyCapabilities xmlns="http://hl7.org/fhir"> doco 
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri ]"/><!-- 0..1 Canonical identifier for this terminology capabilities, represented as a URI (globally unique)  -->
 <identifier><!-- 0..* Identifier  Additional identifier for the terminology capabilities  --></identifier>
 <version value="[string ]"/><!-- 0..1 Business version of the terminology capabilities  -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding  How to compare versions  --></versionAlgorithm[x]>
 <name value="[string ]"/><!-- I 0..1 Name for this terminology capabilities (computer friendly)  -->
 <title value="[string ]"/><!-- 0..1 Name for this terminology capabilities (human friendly)  -->
 <status value="[code ]"/><!-- 1..1 draft | active | retired | unknown  -->
 <experimental value="[boolean ]"/><!-- 0..1 For testing purposes, not real usage  -->
 <date value="[dateTime ]"/><!-- 1..1 Date last changed  -->
 <publisher value="[string ]"/><!-- 0..1 Name of the publisher/steward (organization or individual)  -->
 <contact><!-- 0..* ContactDetail  Contact details for the publisher  --></contact>
 <description value="[markdown ]"/><!-- I 0..1 Natural language description of the terminology capabilities  -->
 <useContext><!-- 0..* UsageContext  The context that the content is intended to support  --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept  Intended jurisdiction for terminology capabilities (if applicable)  --></jurisdiction>
 <purpose value="[markdown ]"/><!-- 0..1 Why this terminology capabilities is defined  -->
 <copyright value="[markdown ]"/><!-- 0..1 Use and/or publishing restrictions  -->
 <copyrightLabel value="[string ]"/><!-- 0..1 Copyright holder and year(s)  -->
 <kind value="[code ]"/><!-- I 1..1 instance | capability | requirements  -->
 <software> <!-- I 0..1 Software that is covered by this terminology capability statement -->
 <name value="[string ]"/><!-- 1..1 A name the software is known by  -->
 <version value="[string ]"/><!-- 0..1 Version covered by this statement  -->
 </software>
 <implementation> <!-- I 0..1 If this describes a specific instance -->
 <description value="[string ]"/><!-- 1..1 Describes this specific instance  -->
 <url value="[url ]"/><!-- 0..1 Base URL for the implementation  -->
 </implementation>
 <lockedDate value="[boolean ]"/><!-- 0..1 Whether lockedDate is supported  -->
 <codeSystem> <!-- I 0..* A code system supported by the server -->
 <uri><!-- I 0..1 canonical(CodeSystem) Canonical identifier for the code system, represented as a URI  --></uri>
 <version> <!-- I 0..* Version of Code System supported -->
 <code value="[string ]"/><!-- I 0..1 Version identifier for this version  -->
 <isDefault value="[boolean ]"/><!-- I 0..1 If this is the default version for this code system  -->
 <compositional value="[boolean ]"/><!-- 0..1 If compositional grammar is supported  -->
 <language value="[code ]"/><!-- 0..* Language Displays supported  -->
 <filter> <!-- 0..* Filter Properties supported -->
 <code value="[code ]"/><!-- 1..1 Code of the property supported  -->
 <op value="[code ]"/><!-- 1..* Operations supported for the property  -->
 </filter>
 <property value="[code ]"/><!-- 0..* Properties supported for $lookup  -->
 </version>
 <content value="[code ]"/><!-- 1..1 not-present | example | fragment | complete | supplement  -->
 <subsumption value="[boolean ]"/><!-- 0..1 Whether subsumption is supported  -->
 </codeSystem>
 <expansion> <!-- 0..1 Information about the [ValueSet/$expand](valueset-operation-expand.html) operation -->
 <hierarchical value="[boolean ]"/><!-- 0..1 Whether the server can return nested value sets  -->
 <paging value="[boolean ]"/><!-- 0..1 Whether the server supports paging on expansion  -->
 <incomplete value="[boolean ]"/><!-- 0..1 Allow request for incomplete expansions?  -->
 <parameter> <!-- 0..* Supported expansion parameter -->
 <name value="[code ]"/><!-- 1..1 Name of the supported expansion parameter  -->
 <documentation value="[string ]"/><!-- 0..1 Description of support for parameter  -->
 </parameter>
 <textFilter value="[markdown ]"/><!-- 0..1 Documentation about text searching works  -->
 </expansion>
 <codeSearch value="[code ]"/><!-- 0..1 in-compose | in-expansion | in-compose-or-expansion  -->
 <validateCode> <!-- 0..1 Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation -->
 <translations value="[boolean ]"/><!-- 1..1 Whether translations are validated  -->
 </validateCode>
 <translation> <!-- 0..1 Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation -->
 <needsMap value="[boolean ]"/><!-- 1..1 Whether the client must identify the map  -->
 </translation>
 <closure> <!-- 0..1 Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation -->
 <translation value="[boolean ]"/><!-- 0..1 If cross-system closure is supported  -->
 </closure>
</TerminologyCapabilities>

JSON Template

{doco 
 "resourceType" : "TerminologyCapabilities",
 // from Resource: id, meta, implicitRules, and language
 // from DomainResource: text, contained, extension, and modifierExtension
 "url" : "<uri >", // Canonical identifier for this terminology capabilities, represented as a URI (globally unique) 
 "identifier" : [{ Identifier  }], // Additional identifier for the terminology capabilities 
 "version" : "<string >", // Business version of the terminology capabilities 
 // versionAlgorithm[x]: How to compare versions. One of these 2:
 "versionAlgorithmString" : "<string >",
 "versionAlgorithmCoding" : { Coding  },
 "name" : "<string >", // I  Name for this terminology capabilities (computer friendly) 
 "title" : "<string >", // Name for this terminology capabilities (human friendly) 
 "status" : "<code >", // R! draft | active | retired | unknown 
 "experimental" : <boolean >, // For testing purposes, not real usage 
 "date" : "<dateTime >", // R! Date last changed 
 "publisher" : "<string >", // Name of the publisher/steward (organization or individual) 
 "contact" : [{ ContactDetail  }], // Contact details for the publisher 
 "description" : "<markdown >", // I  Natural language description of the terminology capabilities 
 "useContext" : [{ UsageContext  }], // The context that the content is intended to support 
 "jurisdiction" : [{ CodeableConcept  }], // Intended jurisdiction for terminology capabilities (if applicable) 
 "purpose" : "<markdown >", // Why this terminology capabilities is defined 
 "copyright" : "<markdown >", // Use and/or publishing restrictions 
 "copyrightLabel" : "<string >", // Copyright holder and year(s) 
 "kind" : "<code >", // I  R! instance | capability | requirements 
 "software" : { // I  Software that is covered by this terminology capability statement 
 "name" : "<string >", // R! A name the software is known by 
 "version" : "<string >" // Version covered by this statement 
 },
 "implementation" : { // I  If this describes a specific instance 
 "description" : "<string >", // R! Describes this specific instance 
 "url" : "<url >" // Base URL for the implementation 
 },
 "lockedDate" : <boolean >, // Whether lockedDate is supported 
 "codeSystem" : [{ // I  A code system supported by the server 
 "uri" : "<canonical (CodeSystem)>", // I  Canonical identifier for the code system, represented as a URI 
 "version" : [{ // I  Version of Code System supported 
 "code" : "<string >", // I  Version identifier for this version 
 "isDefault" : <boolean >, // I  If this is the default version for this code system 
 "compositional" : <boolean >, // If compositional grammar is supported 
 "language" : ["<code >"], // Language Displays supported 
 "filter" : [{ // Filter Properties supported 
 "code" : "<code >", // R! Code of the property supported 
 "op" : ["<code >"] // R! Operations supported for the property 
 }],
 "property" : ["<code >"] // Properties supported for $lookup 
 }],
 "content" : "<code >", // R! not-present | example | fragment | complete | supplement 
 "subsumption" : <boolean > // Whether subsumption is supported 
 }],
 "expansion" : { // Information about the [ValueSet/$expand](valueset-operation-expand.html) operation 
 "hierarchical" : <boolean >, // Whether the server can return nested value sets 
 "paging" : <boolean >, // Whether the server supports paging on expansion 
 "incomplete" : <boolean >, // Allow request for incomplete expansions? 
 "parameter" : [{ // Supported expansion parameter 
 "name" : "<code >", // R! Name of the supported expansion parameter 
 "documentation" : "<string >" // Description of support for parameter 
 }],
 "textFilter" : "<markdown >" // Documentation about text searching works 
 },
 "codeSearch" : "<code >", // in-compose | in-expansion | in-compose-or-expansion 
 "validateCode" : { // Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation 
 "translations" : <boolean > // R! Whether translations are validated 
 },
 "translation" : { // Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation 
 "needsMap" : <boolean > // R! Whether the client must identify the map 
 },
 "closure" : { // Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation 
 "translation" : <boolean > // If cross-system closure is supported 
 }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco 
[ a fhir:TerminologyCapabilities;
 fhir:nodeRole fhir:treeRoot; # if this is the parser root
 # from Resource: .id, .meta, .implicitRules, and .language
 # from DomainResource: .text, .contained, .extension, and .modifierExtension
 fhir:url[ uri ] ; # 0..1 Canonical identifier for this terminology capabilities, represented as a URI (globally unique)
 fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the terminology capabilities
 fhir:version[ string ] ; # 0..1 Business version of the terminology capabilities
 # versionAlgorithm[x]: 0..1 How to compare versions. One of these 2
 fhir:versionAlgorithm[ a fhir:string ; string ]
 fhir:versionAlgorithm[ a fhir:Coding ; Coding ]
 fhir:name[ string ] ; # 0..1 I  Name for this terminology capabilities (computer friendly)
 fhir:title[ string ] ; # 0..1 Name for this terminology capabilities (human friendly)
 fhir:status[ code ] ; # 1..1 draft | active | retired | unknown
 fhir:experimental[ boolean ] ; # 0..1 For testing purposes, not real usage
 fhir:date[ dateTime ] ; # 1..1 Date last changed
 fhir:publisher[ string ] ; # 0..1 Name of the publisher/steward (organization or individual)
 fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
 fhir:description[ markdown ] ; # 0..1 I  Natural language description of the terminology capabilities
 fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
 fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for terminology capabilities (if applicable)
 fhir:purpose[ markdown ] ; # 0..1 Why this terminology capabilities is defined
 fhir:copyright[ markdown ] ; # 0..1 Use and/or publishing restrictions
 fhir:copyrightLabel[ string ] ; # 0..1 Copyright holder and year(s)
 fhir:kind[ code ] ; # 1..1 I  instance | capability | requirements
 fhir:software[ # 0..1 I  Software that is covered by this terminology capability statement
 fhir:name[ string ] ; # 1..1 A name the software is known by
 fhir:version[ string ] ; # 0..1 Version covered by this statement
 ] ;
 fhir:implementation[ # 0..1 I  If this describes a specific instance
 fhir:description[ string ] ; # 1..1 Describes this specific instance
 fhir:url[ url ] ; # 0..1 Base URL for the implementation
 ] ;
 fhir:lockedDate[ boolean ] ; # 0..1 Whether lockedDate is supported
 fhir:codeSystem( [ # 0..* I  A code system supported by the server
 fhir:uri[ canonical(CodeSystem) ] ; # 0..1 I  Canonical identifier for the code system, represented as a URI
 fhir:version( [ # 0..* I  Version of Code System supported
 fhir:code[ string ] ; # 0..1 I  Version identifier for this version
 fhir:isDefault[ boolean ] ; # 0..1 I  If this is the default version for this code system
 fhir:compositional[ boolean ] ; # 0..1 If compositional grammar is supported
 fhir:language ( [ code ] ... ) ; # 0..* Language Displays supported
 fhir:filter( [ # 0..* Filter Properties supported
 fhir:code[ code ] ; # 1..1 Code of the property supported
 fhir:op ( [ code ] ... ) ; # 1..* Operations supported for the property
 ] ... ) ;
 fhir:property ( [ code ] ... ) ; # 0..* Properties supported for $lookup
 ] ... ) ;
 fhir:content[ code ] ; # 1..1 not-present | example | fragment | complete | supplement
 fhir:subsumption[ boolean ] ; # 0..1 Whether subsumption is supported
 ] ... ) ;
 fhir:expansion[ # 0..1 Information about the [ValueSet/$expand](valueset-operation-expand.html) operation
 fhir:hierarchical[ boolean ] ; # 0..1 Whether the server can return nested value sets
 fhir:paging[ boolean ] ; # 0..1 Whether the server supports paging on expansion
 fhir:incomplete[ boolean ] ; # 0..1 Allow request for incomplete expansions?
 fhir:parameter( [ # 0..* Supported expansion parameter
 fhir:name[ code ] ; # 1..1 Name of the supported expansion parameter
 fhir:documentation[ string ] ; # 0..1 Description of support for parameter
 ] ... ) ;
 fhir:textFilter[ markdown ] ; # 0..1 Documentation about text searching works
 ] ;
 fhir:codeSearch[ code ] ; # 0..1 in-compose | in-expansion | in-compose-or-expansion
 fhir:validateCode[ # 0..1 Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation
 fhir:translations[ boolean ] ; # 1..1 Whether translations are validated
 ] ;
 fhir:translation[ # 0..1 Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation
 fhir:needsMap[ boolean ] ; # 1..1 Whether the client must identify the map
 ] ;
 fhir:closure[ # 0..1 Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation
 fhir:translation[ boolean ] ; # 0..1 If cross-system closure is supported
 ] ;
]

Changes from both R4 and R4B

TerminologyCapabilities.identifier
  • Added Element
TerminologyCapabilities.versionAlgorithm[x]
  • Added Element
TerminologyCapabilities.copyrightLabel
  • Added Element
TerminologyCapabilities.codeSystem.version.language
  • Add Binding `http://hl7.org/fhir/ValueSet/languages|5.0.0` (required)
TerminologyCapabilities.codeSystem.content
  • Added Mandatory Element
TerminologyCapabilities.codeSearch
  • Remove codes explicit, all
  • Add codes in-compose, in-expansion, in-compose-or-expansion

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) , the spreadsheet version & the dependency analysis

4.12.4.1 Terminology Bindings

PathValueSetTypeDocumentation
TerminologyCapabilities.versionAlgorithm[x] VersionAlgorithm Extensible

Indicates the mechanism used to compare versions to determine which is more current.

TerminologyCapabilities.status PublicationStatus Required

The lifecycle status of an artifact.

TerminologyCapabilities.jurisdiction JurisdictionValueSet Extensible

This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.

Note: The codes for countries and country subdivisions are taken from ISO 3166 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

TerminologyCapabilities.kind CapabilityStatementKind Required

How a capability statement is intended to be used.

TerminologyCapabilities.codeSystem.version.language CommonLanguages Required

This value set includes common codes from BCP-47 (see http://tools.ietf.org/html/bcp47)

TerminologyCapabilities.codeSystem.content CodeSystemContentMode Required

The extent of the content of the code system (the concepts and codes it defines) are represented in a code system resource.

TerminologyCapabilities.codeSearch CodeSearchSupport Required

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

4.12.4.2 Constraints

UniqueKey Level Location Description Expression
img cnl-0 Warning (base) 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_]){1,254}$')
img cnl-1 Warning TerminologyCapabilities.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
img tcp-1 Rule TerminologyCapabilities.codeSystem If there is more than one version, a version code must be defined version.count() > 1 implies version.all(code.exists())
img tcp-2 Rule (base) A Terminology Capability statement SHALL have at least one of description, software, or implementation element (description.count() + software.count() + implementation.count()) > 0
img tcp-3 Rule (base) If kind = instance, implementation must be present and software may be present (kind != 'instance') or implementation.exists()
img tcp-4 Rule (base) If kind = capability, implementation must be absent, software must be present (kind != 'capability') or (implementation.exists().not() and software.exists())
img tcp-5 Rule (base) If kind = requirements, implementation and software must be absent (kind!='requirements') or (implementation.exists().not() and software.exists().not())
img tcp-6 Rule (base) Each instance of the codeSystem element must represent a distinct code system. codeSystem.uri.isDistinct()
img tcp-7 Rule TerminologyCapabilities.codeSystem Each version.code element must be distinct for a particular code system. version.code.isDistinct()
img tcp-8 Rule TerminologyCapabilities.codeSystem A codeSystem element instance may have at most one version.isDefault element with a value of 'true'. version.where(isDefault = true).count() <= 1

4.12.5 Search Parameters

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
context token A use context assigned to the terminology capabilities (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) 30 Resources
context-quantity quantity A quantity- or range-valued use context assigned to the terminology capabilities (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) 30 Resources
context-type token A type of use context assigned to the terminology capabilities TerminologyCapabilities.useContext.code 30 Resources
context-type-quantity composite A use context type and quantity- or range-based value assigned to the terminology capabilities On TerminologyCapabilities.useContext:
context-type: code
context-quantity: value.ofType(Quantity) | value.ofType(Range) 30 Resources
context-type-value composite A use context type and value assigned to the terminology capabilities On TerminologyCapabilities.useContext:
context-type: code
context: value.ofType(CodeableConcept) 30 Resources
date date The terminology capabilities publication date TerminologyCapabilities.date 30 Resources
description string The description of the terminology capabilities TerminologyCapabilities.description 28 Resources
identifier token External identifier for the terminology capabilities TerminologyCapabilities.identifier 34 Resources
jurisdiction token Intended jurisdiction for the terminology capabilities TerminologyCapabilities.jurisdiction 26 Resources
name string Computationally friendly name of the terminology capabilities TerminologyCapabilities.name 26 Resources
publisher string Name of the publisher of the terminology capabilities TerminologyCapabilities.publisher 30 Resources
status token The current status of the terminology capabilities TerminologyCapabilities.status 35 Resources
title string The human-friendly name of the terminology capabilities TerminologyCapabilities.title 27 Resources
url uri The uri that identifies the terminology capabilities TerminologyCapabilities.url 34 Resources
version token The business version of the terminology capabilities TerminologyCapabilities.version 30 Resources

AltStyle によって変換されたページ (->オリジナル) /