Publish-box (todo)
Terminology Infrastructure Work Group | Maturity Level: 1 | Trial Use | Security Category: Anonymous | Compartments: No defined compartments |
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.
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.
No references for this Resource.
Structure
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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..1 | uri | 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..1 | string | Business version of the terminology capabilities | ||||
versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: Version Algorithm (Extensible) | |||||
versionAlgorithmString | string | |||||||
versionAlgorithmCoding | Coding | |||||||
name | ΣC | 0..1 | string | Name for this terminology capabilities (computer friendly) | ||||
title | ΣT | 0..1 | string | Name for this terminology capabilities (human friendly) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (Required) | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
date | Σ | 1..1 | dateTime | Date last changed | ||||
publisher | ΣT | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | TC | 0..1 | markdown | 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..1 | markdown | Why this terminology capabilities is defined | ||||
copyright | ΣT | 0..1 | markdown | Use and/or publishing restrictions | ||||
copyrightLabel | T | 0..1 | string | Copyright holder and year(s) | ||||
kind | ΣC | 1..1 | code | instance | capability | requirements Binding: Capability Statement Kind (Required) | ||||
software | ΣC | 0..1 | BackboneElement | Software that is covered by this terminology capability statement | ||||
name | Σ | 1..1 | string | A name the software is known by | ||||
version | Σ | 0..1 | string | Version covered by this statement | ||||
implementation | ΣC | 0..1 | BackboneElement | If this describes a specific instance | ||||
description | ΣT | 1..1 | markdown | Describes this specific instance | ||||
url | Σ | 0..1 | url | Base URL for the implementation | ||||
lockedDate | Σ | 0..1 | boolean | 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..1 | canonical(CodeSystem) | Canonical identifier for the code system, represented as a URI | ||||
version | C | 0..* | BackboneElement | Version of Code System supported | ||||
code | ΣC | 0..1 | string | Version identifier for this version | ||||
isDefault | ΣC | 0..1 | boolean | If this is the default version for this code system | ||||
compositional | 0..1 | boolean | If compositional grammar is supported | |||||
language | 0..* | code | Language Displays supported Binding: All Languages (Required)
| |||||
filter | 0..* | BackboneElement | Filter Properties supported | |||||
code | 1..1 | code | Code of the property supported | |||||
op | 1..* | code | Operations supported for the property | |||||
property | 0..* | code | Properties supported for $lookup | |||||
content | Σ | 1..1 | code | not-present | example | fragment | complete | supplement Binding: Code System Content Mode (Required) | ||||
subsumption | 0..1 | boolean | Whether subsumption is supported | |||||
expansion | 0..1 | BackboneElement | Information about the [ValueSet/$expand](valueset-operation-expand.html) operation | |||||
hierarchical | 0..1 | boolean | Whether the server can return nested value sets | |||||
paging | 0..1 | boolean | Whether the server supports paging on expansion | |||||
incomplete | 0..1 | boolean | Allow request for incomplete expansions? | |||||
parameter | 0..* | BackboneElement | Supported expansion parameter | |||||
name | 1..1 | code | Name of the supported expansion parameter | |||||
documentation | 0..1 | markdown | Description of support for parameter | |||||
textFilter | 0..1 | markdown | Documentation about text searching works | |||||
codeSearch | 0..1 | code | in-compose | in-expansion | in-compose-or-expansion Binding: Code Search Support (Required) | |||||
validateCode | 0..1 | BackboneElement | Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation | |||||
translations | 1..1 | boolean | Whether translations are validated | |||||
translation | 0..1 | BackboneElement | Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation | |||||
needsMap | 1..1 | boolean | Whether the client must identify the map | |||||
closure | 0..1 | BackboneElement | Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation | |||||
translation | 0..1 | boolean | If cross-system closure is supported | |||||
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<TerminologyCapabilities xmlns="http://hl7.org/fhir"> <!-- 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="[markdown]"/><!-- 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="[markdown]"/><!-- 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
{ "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" : "<markdown>", // 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" : "<markdown>" // 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/> . [ 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 [ markdown ] ; # 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 [ markdown ] ; # 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 | |
TerminologyCapabilities.identifier |
|
TerminologyCapabilities.versionAlgorithm[x] |
|
TerminologyCapabilities.copyrightLabel |
|
TerminologyCapabilities.implementation.description |
|
TerminologyCapabilities.codeSystem.version.language |
|
TerminologyCapabilities.codeSystem.content |
|
TerminologyCapabilities.expansion.parameter.documentation |
|
TerminologyCapabilities.codeSearch |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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..1 | uri | 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..1 | string | Business version of the terminology capabilities | ||||
versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: Version Algorithm (Extensible) | |||||
versionAlgorithmString | string | |||||||
versionAlgorithmCoding | Coding | |||||||
name | ΣC | 0..1 | string | Name for this terminology capabilities (computer friendly) | ||||
title | ΣT | 0..1 | string | Name for this terminology capabilities (human friendly) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (Required) | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
date | Σ | 1..1 | dateTime | Date last changed | ||||
publisher | ΣT | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | TC | 0..1 | markdown | 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..1 | markdown | Why this terminology capabilities is defined | ||||
copyright | ΣT | 0..1 | markdown | Use and/or publishing restrictions | ||||
copyrightLabel | T | 0..1 | string | Copyright holder and year(s) | ||||
kind | ΣC | 1..1 | code | instance | capability | requirements Binding: Capability Statement Kind (Required) | ||||
software | ΣC | 0..1 | BackboneElement | Software that is covered by this terminology capability statement | ||||
name | Σ | 1..1 | string | A name the software is known by | ||||
version | Σ | 0..1 | string | Version covered by this statement | ||||
implementation | ΣC | 0..1 | BackboneElement | If this describes a specific instance | ||||
description | ΣT | 1..1 | markdown | Describes this specific instance | ||||
url | Σ | 0..1 | url | Base URL for the implementation | ||||
lockedDate | Σ | 0..1 | boolean | 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..1 | canonical(CodeSystem) | Canonical identifier for the code system, represented as a URI | ||||
version | C | 0..* | BackboneElement | Version of Code System supported | ||||
code | ΣC | 0..1 | string | Version identifier for this version | ||||
isDefault | ΣC | 0..1 | boolean | If this is the default version for this code system | ||||
compositional | 0..1 | boolean | If compositional grammar is supported | |||||
language | 0..* | code | Language Displays supported Binding: All Languages (Required)
| |||||
filter | 0..* | BackboneElement | Filter Properties supported | |||||
code | 1..1 | code | Code of the property supported | |||||
op | 1..* | code | Operations supported for the property | |||||
property | 0..* | code | Properties supported for $lookup | |||||
content | Σ | 1..1 | code | not-present | example | fragment | complete | supplement Binding: Code System Content Mode (Required) | ||||
subsumption | 0..1 | boolean | Whether subsumption is supported | |||||
expansion | 0..1 | BackboneElement | Information about the [ValueSet/$expand](valueset-operation-expand.html) operation | |||||
hierarchical | 0..1 | boolean | Whether the server can return nested value sets | |||||
paging | 0..1 | boolean | Whether the server supports paging on expansion | |||||
incomplete | 0..1 | boolean | Allow request for incomplete expansions? | |||||
parameter | 0..* | BackboneElement | Supported expansion parameter | |||||
name | 1..1 | code | Name of the supported expansion parameter | |||||
documentation | 0..1 | markdown | Description of support for parameter | |||||
textFilter | 0..1 | markdown | Documentation about text searching works | |||||
codeSearch | 0..1 | code | in-compose | in-expansion | in-compose-or-expansion Binding: Code Search Support (Required) | |||||
validateCode | 0..1 | BackboneElement | Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation | |||||
translations | 1..1 | boolean | Whether translations are validated | |||||
translation | 0..1 | BackboneElement | Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation | |||||
needsMap | 1..1 | boolean | Whether the client must identify the map | |||||
closure | 0..1 | BackboneElement | Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation | |||||
translation | 0..1 | boolean | If cross-system closure is supported | |||||
Documentation for this format |
See the Extensions for this resource
XML Template
<TerminologyCapabilities xmlns="http://hl7.org/fhir"> <!-- 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="[markdown]"/><!-- 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="[markdown]"/><!-- 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
{ "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" : "<markdown>", // 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" : "<markdown>" // 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/> . [ 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 [ markdown ] ; # 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 [ markdown ] ; # 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 | |
TerminologyCapabilities.identifier |
|
TerminologyCapabilities.versionAlgorithm[x] |
|
TerminologyCapabilities.copyrightLabel |
|
TerminologyCapabilities.implementation.description |
|
TerminologyCapabilities.codeSystem.version.language |
|
TerminologyCapabilities.codeSystem.content |
|
TerminologyCapabilities.expansion.parameter.documentation |
|
TerminologyCapabilities.codeSearch |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) , the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
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 while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) . |
TerminologyCapabilities.kind | CapabilityStatementKind | Required | How a capability statement is intended to be used. |
TerminologyCapabilities.codeSystem.version.language | AllLanguages (a valid code from Tags for the Identification of Languages ) | Required | This value set includes all possible codes from BCP-47 (see http://tools.ietf.org/html/bcp47) |
Common Languages | starter | ||
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. |
UniqueKey | Level | Location | Description | Expression |
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}$') |
cnl-1 | Warning | TerminologyCapabilities.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
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()) |
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 |
tcp-3 | Rule | (base) | If kind = instance, implementation must be present and software may be present | (kind != 'instance') or implementation.exists() |
tcp-4 | Rule | (base) | If kind = capability, implementation must be absent, software must be present | (kind != 'capability') or (implementation.exists().not() and software.exists()) |
tcp-5 | Rule | (base) | If kind = requirements, implementation and software must be absent | (kind!='requirements') or (implementation.exists().not() and software.exists().not()) |
tcp-6 | Rule | (base) | Each instance of the codeSystem element must represent a distinct code system. | codeSystem.uri.isDistinct() |
tcp-7 | Rule | TerminologyCapabilities.codeSystem | Each version.code element must be distinct for a particular code system. | version.code.isDistinct() |
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 |
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 | 36 Resources |
jurisdiction | token | Intended jurisdiction for the terminology capabilities | TerminologyCapabilities.jurisdiction | 26 Resources |
name | string | Computationally friendly name of the terminology capabilities | TerminologyCapabilities.name | 27 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 | 36 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 | 35 Resources |
version | token | The business version of the terminology capabilities | TerminologyCapabilities.version | 31 Resources |