Package | hl7.fhir.uv.extensions |
Type | StructureDefinition |
Id | preferredTerminologyServer |
FHIR Version | R5 |
Source | http://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-extensions/StructureDefinition-preferredTerminologyServer.html |
URL | http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer |
Version | 5.3.0-ballot |
Status | active |
Date | 2025-07-19T23:10:53+00:00 |
Name | PreferredTerminologyServer |
Title | Preferred Terminology Server |
Realm | uv |
Authority | hl7 |
Description | Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers. |
Purpose | Not all terminology servers will necessarily have access to the codes. If a questionnaire points to value sets, the rendering engine needs to know where to get a current expansion. |
Type | Extension |
Kind | complex-type |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureDefinition preferredTerminologyServer
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
![]() ![]() | 0..* | Extension | Preferred terminology server | |
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer" | |
![]() ![]() ![]() | 0..1 | url | Value of extension | |
{ "resourceType": "StructureDefinition", "id": "preferredTerminologyServer", "text": { "status": "extensions", "div": "<!-- snip (see above) -->" }, "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", "valueCode": "fhir" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", "valueInteger": 4 }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "trial-use" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics", "valueCode": "can-bind" } ], "url": "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer", "version": "5.3.0-ballot", "name": "PreferredTerminologyServer", "title": "Preferred Terminology Server", "status": "active", "date": "2025-07-19T23:10:53+00:00", "publisher": "HL7 International / FHIR Infrastructure", "contact": [ { "name": "HL7 International / FHIR Infrastructure", "telecom": [ { "system": "url", "value": "http://www.hl7.org/Special/committees/fiwg" } ] } ], "description": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers.", "jurisdiction": [ { "coding": [ { "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "code": "001" } ] } ], "purpose": "Not all terminology servers will necessarily have access to the codes. If a questionnaire points to value sets, the rendering engine needs to know where to get a current expansion.", "fhirVersion": "5.0.0", "mapping": [ { "identity": "rim", "uri": "http://hl7.org/v3", "name": "RIM Mapping" } ], "kind": "complex-type", "abstract": false, "context": [ { "type": "element", "expression": "Questionnaire" }, { "type": "element", "expression": "Questionnaire.item" }, { "type": "element", "expression": "ElementDefinition" } ], "type": "Extension", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", "derivation": "constraint", "snapshot": { "extension": [ { "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version", "valueString": "5.0.0" } ], "element": [ { "id": "Extension", "path": "Extension", "short": "Preferred terminology server", "definition": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers.", "min": 0, "max": "*", "base": { "path": "Extension", "min": 0, "max": "*" }, "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "source": "http://hl7.org/fhir/StructureDefinition/Element" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "source": "http://hl7.org/fhir/StructureDefinition/Extension" } ], "isModifier": false }, { "id": "Extension.id", "path": "Extension.id", "representation": [ "xmlAttr" ], "short": "Unique id for inter-element referencing", "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", "valueUrl": "id" } ], "code": "http://hl7.org/fhirpath/System.String" } ], "condition": [ "ele-1" ], "isModifier": false, "isSummary": false, "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Extension.extension", "path": "Extension.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Extension", "definition": "An Extension", "min": 0, "max": "0", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "source": "http://hl7.org/fhir/StructureDefinition/Element" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "source": "http://hl7.org/fhir/StructureDefinition/Extension" } ], "isModifier": false, "isSummary": false }, { "id": "Extension.url", "path": "Extension.url", "representation": [ "xmlAttr" ], "short": "identifies the meaning of the extension", "definition": "Source of the definition for the extension code - a logical name or a URL.", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "min": 1, "max": "1", "base": { "path": "Extension.url", "min": 1, "max": "1" }, "type": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", "valueUrl": "uri" } ], "code": "http://hl7.org/fhirpath/System.String" } ], "fixedUri": "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer", "isModifier": false, "isSummary": false, "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension.value[x]", "path": "Extension.value[x]", "short": "Value of extension", "definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", "min": 0, "max": "1", "base": { "path": "Extension.value[x]", "min": 0, "max": "1" }, "type": [ { "code": "url" } ], "condition": [ "ext-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "source": "http://hl7.org/fhir/StructureDefinition/Element" } ], "isModifier": false, "isSummary": false, "mapping": [ { "identity": "rim", "map": "N/A" } ] } ] }, "differential": { "element": [ { "id": "Extension", "path": "Extension", "short": "Preferred terminology server", "definition": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers." }, { "id": "Extension.extension", "path": "Extension.extension", "max": "0" }, { "id": "Extension.url", "path": "Extension.url", "fixedUri": "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer" }, { "id": "Extension.value[x]", "path": "Extension.value[x]", "type": [ { "code": "url" } ] } ] } }